llms.txt
The llms.txt index and llms-full.txt corpus Blume generates for coding agents and chat assistants, the details block that tells them when to use your product, and how to exclude a page.
Blume emits machine-readable versions of your docs that coding agents and chat assistants can consume. This is on by default; set llmsTxt: false to turn it off:
ai: {
llmsTxt: false,
}
While enabled, blume build writes two files to the root of your site:
/llms.txt— a compact index: your site title and description, then a linked list of every page with its summary, organized into sections that mirror your sidebar — folders and groups become headings, so an agent sees the docs’ structure, not one flat blob./llms-full.txt— the entire corpus: each page’s full Markdown body, with its source URL, in one file.
Draft pages are excluded. Set deployment.site so the links and source URLs resolve to absolute addresses.
Options
llmsTxt also takes an object form with knobs for what the files include. If your API reference documents a placeholder or example spec, set openapi: false to keep its generated pages out of both files:
ai: {
llmsTxt: {
enabled: true, // default
openapi: false, // exclude generated API reference pages
},
}
The object form also takes details: Markdown placed right after the title and summary in llms.txt, before the page sections — the llms.txt spec’s free-form “details” block. It’s the place to tell agents when to reach for your product and how to call it, which readiness scanners look for explicitly; an install command and the package name belong here too:
ai: {
llmsTxt: {
details: [
"## When to use Acme",
"",
"Reach for Acme when a project needs hosted feature flags. Install the CLI with `npm install -g acme`; the API reference below covers every endpoint.",
].join("\n"),
},
}
Generated sections
llms.txt closes with two generated sections that need no configuration. Agent skills lists each skill published through ai.skills with its description (where a skill says when to use it). Agent resources links every machine-readable artifact the build emits — llms-full.txt, the per-page raw Markdown mirror, the MCP server and its discovery document, the skills index, the API catalog, agent-readability.json, and the sitemap — each only when it exists, so an agent that reads nothing but llms.txt still finds the whole surface.
Excluding a page
To keep an individual page out of both files, set ai.exclude in its frontmatter:
---
title: Internal notes
ai:
exclude: true
---
The page still renders, stays in search, and keeps its place in the sitemap — only the llms.txt files skip it.
Bringing your own
To take full control of either file, add your own llms.txt or llms-full.txt to your public/ folder. Like a custom favicon, it’s picked up automatically and ships in place of the generated file — override one and Blume still generates the other.