LLM-friendly output#
2026-06-10
4 min read time
rocm-docs-core supports three features that make documentation more accessible to AI coding assistants and agents:
A per-page download button that lets users and agents copy page content directly into an AI context window.
A curated
llms.txtindex file that AI agents can discover and use as an entry point to the documentation.A generated
llms-full.txtfile that aggregates prose content from all source files into a single plain-text document.
All three features are opt-in and configured in conf.py.
llms.txt#
llms.txt is a curated index of your documentation pages, following the llmstxt.org convention for AI agent documentation discovery. It is also compatible with Read the Docs llms-txt support.
Creating the index file#
Create a llms.txt file in your documentation source directory (the same directory as conf.py). Write it as a Markdown document with a project description followed by links to your key pages:
# Project name
> One-sentence description of the project.
## User guide
- [Page title](https://your-docs-url/page-slug): Short description of the page.
- [Another page](https://your-docs-url/another-page): Short description.
Publishing the index file#
Add llms.txt to html_extra_path in conf.py so Sphinx copies it to the output root:
html_extra_path = ["llms.txt"]
After a successful build, llms.txt is available at {project_url}/llms.txt.
Header behavior in the full-text file#
If llms.txt is present in the source directory, it is also used as the header section of llms-full.txt. If no llms.txt is present, the Sphinx project name from conf.py is used as the header instead.
llms-full.txt#
llms-full.txt is generated by rocm-docs-core after each successful build. It aggregates prose content from all .md and .rst source files into a single plain-text document.
Enabling generation#
Set rocm_docs_generate_llms_full = True in conf.py:
rocm_docs_generate_llms_full = True
The file is not generated if the build fails.
Output location#
llms-full.txt is written to the Sphinx output directory alongside the built HTML. For a standard build this is docs/_build/html/llms-full.txt, making it available at {project_url}/llms-full.txt.
Content filtering#
The generator filters source files to keep only meaningful prose:
Files with fewer than 10 prose lines are skipped entirely, excluding navigation-only or boilerplate pages.
Files in
_build,_static,_templates,.git, and.venvdirectories are excluded.Markup noise is stripped from included files: directive syntax, anchor labels, table separator rows, raw HTML blocks, and RST section underlines.
Code blocks are preserved.
Each included file is appended as a section separated by ---, with its path relative to the source directory used as the section heading.
Example configuration#
The following example enables all three features together:
html_theme_options = {
"use_download_button": True,
}
html_extra_path = ["llms.txt"]
rocm_docs_generate_llms_full = True