> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. # `llms.txt` > Fern automatically generates an llms.txt Markdown file so AI tools can discover and index your documentation. [`llms.txt`](https://llmstxt.org/) is a standard for exposing website content to AI developer tools. Fern implements this standard, automatically generating and maintaining an `llms.txt` Markdown file so AI tools can discover and index your documentation. For single pages, agents can also fetch [Markdown directly](/learn/docs/ai-features/markdown). `llms.txt` is a root-level file Fern serves to non-human consumers, alongside [`robots.txt`](/learn/docs/seo/robots-txt). `robots.txt` decides which crawlers reach your site and what AI training signals you broadcast; `llms.txt` shapes what AI agents receive once they do. ![Example of using llms.txt](/learn/_fern-img/1c185b18406eca1fab6e4bb38b78cccf02f4eb6de5fbb5f179230f1ccd600730.webp) ## What `llms.txt` contains `llms.txt` contains a lightweight summary of your documentation site with each page distilled into a one-sentence description and URL. For sites with API endpoints, it also links to your [OpenAPI specification](/learn/docs/developer-tools/openapi-spec) as a standalone, machine-readable file so AI tools can parse your full API schema directly. For sites with WebSocket channels, it also links to your [AsyncAPI specification](/learn/docs/developer-tools/asyncapi-spec). Fetching an endpoint page listed in `llms.txt` returns its [parameters, body, response, and authentication as a readable property list](/learn/docs/ai-features/markdown#api-reference-pages). `llms.txt` is available at any level of your documentation hierarchy (`/llms.txt`, `/docs/llms.txt`, `/docs/ai-features/llms.txt`, etc.). Example: [Eleven Labs llms.txt](https://elevenlabs.io/docs/llms.txt). Fern doesn't generate `llms-full.txt`. Full-site concatenation exceeded most model context windows, added heavy serving overhead, and saw little use compared to `llms.txt` combined with per-page [Markdown access](/learn/docs/ai-features/markdown). Use `llms.txt` to discover pages and fetch them individually. ## Page descriptions `llms.txt` includes page descriptions pulled from [frontmatter](/learn/docs/configuration/page-level-settings). Fern uses the `description` field if present, otherwise falls back to `subtitle`. **`Frontmatter`** ```mdx title="Frontmatter" --- title: Fern Docs subtitle: Build beautiful documentation websites with Fern. --- ``` The output format depends on whether you're requesting an individual page or a section: #### Individual pages **`.../page/llms.txt`** ```txt title=".../page/llms.txt" # Fern Docs > Build beautiful documentation websites with Fern. ``` #### Section **`.../section/llms.txt`** ```txt title=".../section/llms.txt" - [Fern Docs](https://example.com/docs): Build beautiful documentation websites with Fern. ``` ## Learn more #### [Customize LLM output](/learn/docs/ai-features/customize-llm-output) Exclude pages, filter content with tags, or serve your own custom files. #### [Agent directives](/learn/docs/ai-features/agent-directives) Configure the default directive prepended to every page served to AI agents. #### [Analytics and integration](/learn/docs/ai-features/llms-txt-analytics) Track LLM traffic and surface `llms.txt` endpoints to readers. > Fern automatically generates an llms.txt Markdown file so AI tools can discover and index your documentation.