# Production site

How to read **published** HTML and Markdown from the live site.
Configured in `project.json` → `website.productionSiteUrl` and `website.markdownAccess`.
**Do not guess** markdown URLs — use the patterns below.

## Production URL

https://www.se.studio

## Markdown access

Append `.md` to the **public HTML path** (the URL visitors see — may differ from CMS slugs; see `routing.md`).

### URL patterns

- **Homepage:** `https://www.se.studio/index.md` (public path `/` → markdown `/index.md`)
- **Pages:** `https://www.se.studio/{public-path}.md`
- **Articles:** `https://www.se.studio/{public-path}.md`

### Discovery (full URL lists)

- `https://www.se.studio/llms.txt` — site summary and sample markdown links
- `https://www.se.studio/markdown-index.txt` — complete markdown URL index
- `https://www.se.studio/site-info.md` — factual site summary

### Notes

Append .md to the public HTML path. Case studies: /work/{cms-slug}.md where cms-slug is client/title (e.g. /work/arcticdb/an-identity-with-scale.md) — never /work/{client}/{cms-slug}. Blog: /blog/{slug}.md. Video: /video/{slug}.md. Tag and people indexes are off. Homepage CMS slug is index.

## Agent rules

1. **Do not guess** — use the patterns above, `routing.md`, or fetch `llms.txt` / `markdown-index.txt`.
2. Use `cms_edit` (`open`, `list`, `snapshot`) for **editing CMS drafts**; use production `.md` URLs for **reading published content**.
3. Map CMS slugs to public paths via `routing.md` before building a markdown URL.

