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 +serverless +byoc +selfmanaged llm_readable_bundle: true --- -
Add the
{{< llm-bundle-note >}}shortcode in the body of the same_index.md, right after the page title:# Configure tasks {{< llm-bundle-note >}} As we saw in ...This renders a note on the HTML page pointing readers to the
section.mdfile.
Both the frontmatter parameter and the shortcode are required.
A CI check (check-llm-bundle-notes) verifies they are always in sync.
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.