Skip to content

Add llms.txt to the Hugo site via a custom output format #330

Description

@gnanirahulnutakki

Deferred from #329 to keep that PR reviewable.

What

The Hugo site under site/ has no llms.txt or llms-full.txt (verified: no llms*.txt anywhere in the tree). An llms.txt gives LLM-based tools a curated, plain-text index of the docs corpus instead of leaving them to scrape rendered HTML.

Suggested approach

A Hugo custom output format is the clean way to do this:

  • media type text/plain, isPlainText: true, baseName: llms
  • walk the docs corpus and emit a curated index; optionally a fuller llms-full.txt

Why it should be generated, not hand-written

site/content/source/ is already generated by site/scripts/sync_source_docs.py, and hugo-site CI runs sync_source_docs.py --check to fail on drift. A hand-maintained llms.txt would drift with nothing to catch it. Either generate it through the Hugo output format from the same corpus, or extend sync_source_docs.py so the existing --check gate covers it.

Constraints worth respecting

  • site/README.md notes the hosted Pages site deploys from main, not dev.
  • The secret-scan llm-model-names gate scans *.md/*.yml/*.json; whatever generates this must not emit specific model identifiers.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions