llms.txt is the llmstxt.org standard for pointing LLM crawlers at the canonical, machine-readable version of a documentation site. NookDocs hosts two files on every tenant automatically:
/llms.txt— sitemap-style index: H1 + tagline + list of[title](url)links to every docs page, grouped by section./llms-full.txt— the entire MDX body of every page concatenated, ready to paste into a prompt or ingest into a vector DB.
Both regenerate whenever a page syncs from the repo. No nookdocs.config.json flag to set; no build step to run; no plugin to install.
Where to find them
Every tenant exposes them at the docs root:
https://{your-subdomain}.nookdocs.site/llms.txt
https://{your-subdomain}.nookdocs.site/llms-full.txtCustom domains serve them from the same path:
https://docs.yourcompany.com/llms.txt
https://docs.yourcompany.com/llms-full.txtTry it on this very site: /llms.txt, /llms-full.txt.
What's inside
llms.txt format
Follows the llmstxt.org spec: Markdown H1 + blockquote tagline + grouped list of H2 sections with [title](url) links. Example:
# Acme Documentation
> Build, deploy, and scale with Acme.
## Getting started
- [Introduction](https://docs.acme.com/introduction)
- [Quickstart](https://docs.acme.com/quickstart)
## API
- [Authentication](https://docs.acme.com/api/authentication)
- [Rate limits](https://docs.acme.com/api/rate-limits)Hidden pages (hidden: true in frontmatter) are excluded. Section grouping comes from your navigation config.
llms-full.txt format
Every page's MDX body, concatenated with # {title} headings as section markers:
# Introduction
Acme Docs is the fastest way to ship API documentation...
# Quickstart
Sign up at acme.com, then...Binary assets (images, PDFs) are skipped. Frontmatter is stripped. The file is plain UTF-8, no HTML escaping.
How AI tools discover the file
Most LLM products that support documentation fetching will probe /llms.txt at the root of the domain you give them. Tested clients:
Claude.ai Projects — paste your docs URL; Claude checks
/llms.txt+/llms-full.txtautomatically.ChatGPT Custom GPTs — set the
openapi_urlto your docs root; GPT Actions crawler follows/llms.txtlinks.Cursor / Windsurf / Claude Code — use the contextual menu "Open in …" items, which deep-link these tools to your docs with
$path/$mdxplaceholders.Perplexity — indexes
/llms.txtas a sitemap alongside/sitemap.xml.
Customising with contextual menu
The Copy page dropdown that appears next to every page title exposes both files as one-click operations. See contextual menu for how to enable additional items (Cursor, VS Code, Grok) and custom template variables.
Limitations
No HTTP discovery headers yet. Mintlify advertises
llms.txtvia anX-Llms-Txtresponse header and an HTML<link rel="describedby">tag. NookDocs ships the files but doesn't yet advertise them in headers — on the roadmap. Crawlers that probe/llms.txtdirectly work fine today.No custom
llms.txtoverride. The generated file reflects your navigation. If you need a custom sort, drop a file atpublic/llms.txtin your repo and we'll start respecting it (planned).Non-public pages excluded. Pages with
seo.indexing: "noindex"or frontmatterhidden: trueare excluded from both files.
Related
Markdown export — companion
/<slug>.mdURL convention for per-page raw MDXContextual menu — "Open in ChatGPT / Claude / Cursor" dropdown
SEO — sitemap.xml + robots.txt + canonical URLs
Copy for LLMs — user-facing overview of the AI discovery stack