WritedocsWritedocs

llms.txt and llms-full.txt

Every writedocs site automatically serves two extra routes — no writedocs.json field needed to turn them on, and nothing to configure for the common case.

/llms.txt

A lightweight, one-line-per-page index: a title, a link, and (when the page’s frontmatter sets one) its description, truncated to the first line and 300 characters. Follows the llms.txt convention several AI tools already look for by default.

# Site Name

> The site's own writedocs.json description.

## Docs

- [Getting started](https://docs.example.com/getting-started/): Setup steps.
- [API reference](https://docs.example.com/api/): Endpoint list and usage.

Each link’s shape depends on two other fields you may already have set:

  • domain — if set, every link is absolute (https://docs.example.com/...); otherwise links are relative, same as sitemap.xml’s own dependency on domain (see SEO and sitemap).
  • contextMenu — if set, every link points at that page’s raw-Markdown route (/page.md, see Copy page / contextual menu) so an AI tool can fetch it directly; otherwise links point at the normal HTML page.

A page with frontmatter seo.noindex: true is left out of llms.txt, for the same reason it’s left out of sitemap.xml — both exist to help external tools discover pages, which is exactly what noindex opts out of.

/llms-full.txt

The entire site’s content, concatenated into one file — every page’s title and raw Markdown body, in order. Meant as a single blob of context for an AI tool that wants everything at once, rather than fetching page by page.

OpenAPI operation pages (generated stubs, or a hand-written page that opts into <ApiPlayground /> via openapi: frontmatter) are left out — they render almost entirely from the spec at request time, so there’s no meaningful prose body to include.

Custom overrides

Drop a hand-written llms.txt or llms-full.txt file at your project root (next to writedocs.json) to replace the auto-generated version outright — useful if you want editorial control over ordering, descriptions, or extra sections the generator doesn’t produce. Delete the file to fall back to the auto-generated version again.

See docs.json-examples/00-kitchen-sink/ in the Writedocs repo for a complete, buildable example — including a seo.noindex page (docs/core/2025-09/guides/overview.mdx) and its exclusion from both files.