LLM-optimized documentation
The build pipeline generates LLM-optimized versions of every page and several index files, designed for use by AI coding agents and AI search engines.
Output files
The make dist command (specifically the make llm-docs step) produces the following
in each variant’s dist/docs/v2/{variant}/ directory:
| File | Description |
|---|---|
page.md |
Per-page LLM-optimized Markdown, generated alongside every index.html. Links between pages use relative page.md references, then are converted to absolute URLs in a final pass. |
section.md |
A single-file bundle concatenating all pages in a section. Only generated for sections with llm_readable_bundle: true in frontmatter. Internal links become hierarchical bold references; external links become absolute URLs. |
llms.txt |
Page index listing every page grouped by section, with H2/H3 headings for discoverability. Sections with bundles are marked with a “Section bundle” link. |
llms-full.txt |
The entire documentation for one variant as a single file, with all internal links converted to hierarchical bold references (e.g. **Configure tasks > Resources**). |
Discovery hierarchy
dist/docs/llms.txt # Root: lists versions
dist/docs/v2/llms.txt # Version: lists variants
dist/docs/v2/{variant}/llms.txt # Variant: page index with headings
dist/docs/v2/{variant}/llms-full.txt # Full consolidated doc
dist/docs/v2/{variant}/**/page.md # Per-page Markdown
dist/docs/v2/{variant}/**/section.md # Section bundles (where enabled)How page.md files are generated
- Hugo builds the site into
dist/and also outputs a Markdown format intotmp-md/. process_shortcodes.pyreads fromtmp-md/, resolves all shortcodes (variants, code includes, tabs, notes, etc.), and writes the result aspage.mdalongside eachindex.html.fix_internal_links_post_processing()converts all internal links inpage.mdfiles to point to otherpage.mdfiles using relative paths.build_llm_docs.pythen enhances subpage listings with H2/H3 headings, generates section bundles, converts all relative links to absolute URLs, and creates thellms.txtandllms-full.txtindex files.
Enabling section bundles
To produce a section.md bundle for a documentation section:
-
Add
llm_readable_bundle: trueto the frontmatter of the section’s_index.md:--- title: Configure tasks weight: 8 variants: +flyte +union llm_readable_bundle: true ---
That is all that is required. The bundle is generated at build time and listed in
llms.txt, which is how agents discover it.
The LLM-optimized files are not surfaced as links on the pages they cover. They exist
in the build and are reached through llms.txt, so there is nothing to add to the page
body.
The llms-full.txt link conversion
In llms-full.txt, all internal page.md links are converted to hierarchical bold references:
- Cross-page:
[Resources](../resources/page.md)becomes**Configure tasks > Resources** - Same-page anchor:
[Image building](#image-building)becomes**Container images > Image building** - External links (
http/https) are preserved unchanged.
This makes the file self-contained with no broken references.
Regenerating
LLM documentation is regenerated automatically as part of make dist.
To regenerate only the LLM files without a full rebuild:
make llm-docsNew pages are included automatically if linked via ## Subpages in their parent’s Hugo output.