Docs Platforms That Generate llms.txt Automatically (2026)

Abdullah Enes Gules10 min read

Mintlify, GitBook, Fern, ReadMe, and Docs7 generate llms.txt automatically for every hosted docs site. Docusaurus and Starlight need a community plugin, Fumadocs ships helpers you wire into routes, and Nextra has no built-in option yet.

For AI agents, the file matters less than what sits behind it: Markdown versions of each page, pages that make sense on their own, and docs indexed where coding agents look things up. This guide compares what each platform generates, checked against each vendor's documentation in October 2026, and covers the parts llms.txt does not solve. Docs7 is our product, so we say where another platform is the better pick.

What Is llms.txt?

An llms.txt file is a Markdown file at the root of a website that gives language models a short map of the site. Jeremy Howard proposed it at llmstxt.org in September 2024 and published a revised version 2 in August 2026. The file can also sit under a subpath, such as a docs folder, and then covers the pages below it.

The format is small. An H1 with the project name is the only required part. After it come a blockquote with a one-line summary, optional detail paragraphs, and H2 sections that list links, each with a short note. A section titled Optional holds secondary links that an agent can skip when it needs shorter context.

The proposal also suggests serving a clean Markdown version of each page at the same URL, with .md added or replacing the file extension. That part does most of the work: the index tells an agent where to look, and the Markdown page gives it the content without navigation, scripts, or footers.

Two things llms.txt is not. It is not robots.txt: it does not control crawling or grant permission. And it is mainly used at inference time, when an agent needs a page while helping someone, not as training data. The llms-full.txt file you see on many sites is a separate convention that puts all the docs in one file; it is not part of the proposal.

llms.txt

# Acme SDK

> Acme SDK is a TypeScript client for the Acme payments API.

The SDK supports Node.js 20 and later, and edge runtimes.

## Docs

- [Quickstart](https://docs.acme.dev/quickstart.md): Install the SDK and make a first charge
- [Authentication](https://docs.acme.dev/authentication.md): API keys and key rotation
- [Webhooks](https://docs.acme.dev/webhooks.md): Verify and handle webhook events

## Optional

- [Changelog](https://docs.acme.dev/changelog.md)

Which Docs Platforms Generate llms.txt Automatically?

Hosted platforms generate the file on every publish. Static site generators need a plugin or a route you add. The table reflects each vendor's own documentation as of October 2026.

Platformllms.txtMarkdown versions of pagesNotes
MintlifyBuilt in, kept up to dateYes: add .md to a URL, or send Accept: text/markdownAlso llms-full.txt and a hosted search MCP server. A custom llms.txt overrides the generated one.
GitBookBuilt inYes: add .md to any page URLAlso llms-full.txt and an MCP server for each published site.
FernBuilt in, at the root and in each navigation sectionYes: add .md to a page URLNo llms-full.txt by design. MCP server on sites with Ask Fern enabled.
ReadMeBuilt in, on by default on all plansYes, for Accept: text/markdown requests once Markdown for Agents is onBoth settings live under AI > Discoverability. An optional MCP server is also available.
Docs7Built inYes: add .md to a page URL, or send Accept: text/markdownAlso llms-full.txt. Mintlify-compatible. Can add the site to Context7 and shows which AI providers read which pages.
DocusaurusCommunity plugin (docusaurus-plugin-llms)Optional per-page .md files from the same pluginThe plugin also writes llms-full.txt. Other community plugins exist.
StarlightCommunity plugin (starlight-llms-txt)Not built in; small community plugins existWrites llms.txt, llms-full.txt, and llms-small.txt. Needs site set in the Astro config.
FumadocsBuilt-in helpers; you add the routesYes, through .md routes and Accept-header negotiationA CLI command sets up the llms.txt and llms-full.txt routes for you.
NextraNot built inNot documentedOpen feature request. Use a Next.js route handler or a build script.

Is llms.txt Enough to Make Docs Usable by AI Agents?

No. An llms.txt file is an index. It helps an agent find pages, and that is all it does. Whether the agent then writes correct code depends on four other things.

Markdown versions of pages

Best for: Less noise per token

An index that links to HTML pages sends the agent back into navigation, scripts, and cookie banners. Markdown pages give it the content alone. Every hosted platform in the table can serve them, so check that your llms.txt links point to the Markdown URLs.

Pages that stand on their own

Best for: Chunks an agent can use

Agents retrieve pieces of pages, not whole sites. One topic per page, headings that say what a section does, code examples that include their imports, and the version a page applies to all make a piece usable on its own. A page that only makes sense after reading three others gets misquoted.

Being indexed where coding agents look

Best for: Claude Code, Cursor, Codex, and other MCP clients

A coding agent with the Context7 MCP server installed can look up library docs through Context7 instead of browsing your site. Docs7's Add to Context7 makes your site a Context7 library when you connect it and refreshes it on every successful production deploy. On any other platform, you can submit your public llms.txt URL to Context7; it reads the Markdown files the index links to and indexes the pages that contain code examples.

Up-to-date docs for coding agents →

Measuring AI traffic

Best for: Knowing which pages agents read

Without data, you are guessing which pages matter to agents. Docs7's AI Visibility tab shows which AI providers read which pages, including OpenAI, Claude, Perplexity, Cursor, OpenCode, Meta, and Mistral. It needs Docs7 hosting, because those requests are recorded where the site is served. Mintlify, GitBook, and Fern also report AI agent traffic in their analytics.

Which Docs Platform Is Best for AI Agents and LLMs?

Every hosted platform in the table covers the basics, so choose on everything else. If you are on Mintlify and it works, stay. If non-developers write the docs, use GitBook. If you sell an API and need SDKs, look at Fern. If you run an open-source project on a budget, use Docusaurus or Starlight with a plugin. If your docs live in a Git repo with docs.json and you want them on Context7 and want to see what AI tools read, use Docs7.

Docs7

Best for: docs.json repos that want Context7 indexing and AI traffic data

Website: context7.com/docs7 · Price: Free for up to three sites from public GitHub repos; Pro $200 a month with three sites included

Docs7 reads docs.json or mint.json, MDX, snippets, and OpenAPI files, so a Mintlify repo builds without rewrites; check the preview build's warnings for components it does not support. It serves llms.txt, llms-full.txt, and Markdown pages. With Add to Context7 on, it refreshes the site's Context7 library on every production deploy, and AI Visibility shows which AI providers read which pages. Its Git integration is GitHub only, and there is no web editor. There is a Free plan.

Best Mintlify alternatives →

Mintlify

Best for: Every agent format built in, with no setup

Mintlify generates llms.txt, llms-full.txt, Markdown pages, and a hosted search MCP server. If you already use it and are happy, llms.txt alone is not a reason to move.

GitBook

Best for: Writers who do not work in Git

GitBook publishes llms.txt, llms-full.txt, Markdown pages, and an MCP server for each published site. Its web editor is the main reason to choose it: non-developers can write and publish without a pull request.

Fern

Best for: API companies that also need SDKs

Fern generates SDKs from your API definition and serves llms.txt and Markdown pages, including API reference endpoints with their parameters and responses. It skips llms-full.txt on purpose and tells agents to fetch pages one at a time.

ReadMe

Best for: API reference portals

ReadMe turns on llms.txt by default on every plan and can serve Markdown to agents that ask for it in the Accept header. A good fit if your docs are mostly an API reference and you want a hosted portal.

Docusaurus, Starlight, or Fumadocs

Best for: Open-source projects that self-host

Free and fully under your control. You add llms.txt with a plugin or a few routes, and you own the build and the Markdown output. You get no AI traffic reports out of the box, so server or CDN logs are where you start.

How to Add llms.txt Without Switching Platforms

You do not need a new platform to publish llms.txt. Pick the smallest step that works for your site.

Write it by hand. For a small site, a hand-written file is often better than a generated one, because you choose which pages matter. Use the format above, link to Markdown versions of pages where you have them, and put secondary pages under Optional.

Use a plugin. Docusaurus and Starlight have community plugins, and Fumadocs has a CLI command that adds the routes. The examples below are the minimal setup for each.

Point agents to the Markdown. The llms.txt proposal suggests a rel="alternate" link with type text/markdown on each HTML page, and a rel="describedby" link to the llms.txt that covers it. Both can be HTML link elements or HTTP Link headers.

Add the file to Context7. Submit your public llms.txt URL at context7.com/add-library, and coding agents that use the Context7 MCP server can look up your docs.

Or connect the repo to Docs7 without moving hosting. With Keep my hosting, Docs7 does not build or serve your site, so it adds no llms.txt, but Add to Context7 refreshes your Context7 library whenever the docs branch changes.

docusaurus.config.js

// npm install docusaurus-plugin-llms --save-dev
module.exports = {
  plugins: [
    [
      "docusaurus-plugin-llms",
      {
        generateLLMsTxt: true,
        generateLLMsFullTxt: true,
        generateMarkdownFiles: true,
      },
    ],
  ],
};

astro.config.mjs (Starlight)

// npm install starlight-llms-txt
import starlight from "@astrojs/starlight";
import { defineConfig } from "astro/config";
import starlightLlmsTxt from "starlight-llms-txt";

export default defineConfig({
  site: "https://docs.example.com",
  integrations: [
    starlight({
      title: "My Docs",
      plugins: [starlightLlmsTxt()],
    }),
  ],
});

bash (Fumadocs)

$ npx @fumadocs/cli feature llms

HTML head of each page

<link rel="alternate" type="text/markdown" href="https://docs.example.com/quickstart.md" />
<link rel="describedby" href="https://docs.example.com/llms.txt" />

Frequently asked questions

Which docs platforms generate llms.txt automatically?

Mintlify, GitBook, Fern, ReadMe, and Docs7 generate llms.txt for hosted docs sites with no setup. Docusaurus and Starlight need community plugins, Fumadocs provides helpers and a CLI command that add the routes, and Nextra has no built-in option as of October 2026.

Which docs platform is best for AI agents and LLMs?

There is no single winner, because every major hosted platform now ships llms.txt and Markdown pages. Mintlify and GitBook have the widest built-in set, including llms-full.txt and an MCP server, and GitBook also suits writers who do not use Git. Fern suits API companies that need SDKs. Docs7 fits Git-based docs.json repos that want the docs indexed on Context7 on every deploy and a view of which AI providers read which pages.

What is the difference between llms.txt and llms-full.txt?

llms.txt is an index: a title, a summary, and links to the pages that matter. llms-full.txt is a convention, not part of the llmstxt.org proposal, that puts the full text of the docs in one file. The index suits agents that fetch pages on demand; the full file is handy for pasting into a chat but grows large quickly.

Does Docusaurus generate llms.txt?

Not by itself. The community plugin docusaurus-plugin-llms generates llms.txt and llms-full.txt and can also write a Markdown file for each page. Install it with npm and add it to the plugins array in docusaurus.config.js.

Does llms.txt make ChatGPT or Claude cite my docs?

Not on its own. The proposal is meant for inference time, when an agent needs a page while helping someone, and AI tools differ in whether they read the file. Clean Markdown pages, being indexed in tools like Context7, and checking which AI providers actually read your pages matter more than the file itself.

How can I see which AI tools read my docs?

On Docs7, the AI Visibility tab shows requests from AI providers including OpenAI, Claude, Perplexity, Cursor, OpenCode, Meta, and Mistral, and which pages they read. It needs Docs7 hosting. Mintlify, GitBook, and Fern include AI traffic in their analytics too. On a self-hosted site, server or CDN logs filtered by AI crawler user agents are the usual place to start.

Make Your Docs Readable and Measurable for AI Agents

Docs7 serves llms.txt, llms-full.txt, and Markdown pages, keeps your docs current on Context7, and shows which AI providers read which pages.

More guides

View all guides