llms.txt / llms-full.txt
This site is LLM-native. Point a model at one URL and it learns the entire Itera lesson-authoring surface — the 21 tools, the model, the auth, the results API.
What they are
Section titled “What they are”llms.txt is an emerging convention for exposing a site’s
content in a form optimised for LLM ingestion. Itera docs ship two files, both
generated at build time from the same content you’re reading (via the
starlight-llms-txt plugin) — so they never drift from the docs.
| File | Shape | Use it when |
|---|---|---|
/llms.txt | Curated index (titles + links, grouped) | You want the model to know what exists and fetch pages on demand. |
/llms-full.txt | Full corpus (all page bodies concatenated) | You want the model to learn everything at once — paste it into context. |
Teach an LLM to author
Section titled “Teach an LLM to author”# Give a model the whole authoring surface in one shot:curl -s https://docs.iterahq.dev/llms-full.txtThen ask it to author — it has the tool names, inputs, the Program → Unit →
Lesson → Activity model, the ten activity kinds, and the auth flow. A good smoke
test: “Using the Itera authoring tools, emit the create_program →
create_unit → create_lesson → create_activity call sequence for a
two-activity lesson.” The shapes should match the reference.
Parity check
Section titled “Parity check”The tool reference is hand-authored, so a CI check keeps it honest. On every
build/PR, scripts/check-docs-sync.mjs asserts that the 21 canonical
itera-mcp tool names (the source of truth is ITERA_TOOL_NAMES in
iterahq/itera-mcp, itself count-gated in that repo’s
tests/registration.test.ts) each have a documented entry under
reference/, and that no undocumented tool name sneaks in. It exits non-zero
(red CI) on any drift.