Markdown without drift
The feature
Every route projects a markdown surface: GET /why.md, GET /docs/<slug>.md. For content-backed pages the projection serves original —
the file you wrote, byte for byte, frontmatter included:
content/posts/*.md → june gen → app/_content.ts → POSTS / DOCS
│
HTML view ◄──── one manifest ────┼──── .md projection (original, verbatim)
└──── search_site / get_page MCP tools
Dev and the built worker read the SAME frozen manifest, so there is no "works locally, differs deployed" for content. Most frameworks reconstruct markdown from rendered HTML; June serves the source, so a diff against your repo is empty.
Try it on this page
curl -s https://june.build/docs/features-markdown.md
That response IS this file in our repo — the same bytes git show would give
you. Our site tests assert it with strict equality, not a contains.
Why it matters
Markdown is the densest, least ambiguous surface you can serve an agent. Serving the authored source means what an agent reads is exactly what you wrote — and frontmatter arrives as structured metadata instead of being boiled away by a renderer.