---
title: "For your LLM"
description: "Every page here is published twice — rendered, and as plain Markdown at the same URL with .md appended — plus llms.txt and llms-full.txt for agents that would rather fetch the lot."
url: https://kaicad.barpom.xyz/docs/reference/for-your-llm
schema: "0.1"
---

# For your LLM

Half the readership of this site is a language model writing YAML on someone's behalf. So
every page is published twice, from one source.

| URL | What it is |
| --- | --- |
| `/docs/…` | The rendered page — navigation, search, table of contents |
| `/docs/….md` | The same content as plain Markdown, with front matter and no chrome |
| [`/llms.txt`](/llms.txt) | An index: one line per page, pointing at its `.md` twin |
| [`/llms-full.txt`](/llms-full.txt) | Every page concatenated, for a model with room for the lot |

Add `.md` to any docs URL in this site and you get the Markdown. Every page also carries a
**Copy for chat** button that puts exactly that text on your clipboard.

## The front matter is the useful part

```yaml
---
title: "How checks run"
url: https://example.com/docs/validation/how-checks-run
schema: "0.1"
source: packages/validate/src/index.ts
---
```

`schema` is what makes a stale copy **detectable** rather than mysterious: if the material
your model is working from names an older schema than the page it is reading, that is a fact
either of you can act on.

`source` names the file in the codebase a page describes — `packages/spec/src/anchors.ts` for
the anchors page, `packages/catalogue/data/fixtures/bed-bolt.yaml` for the bed bolts. It is a
pointer to the authoritative copy of the numbers on the page, and to the file whose change
would make the page stale.

`generated: true` is the stronger claim: that page is **written by a script** from its
`source` and is never edited by hand, so fixing one means fixing the data. Only the
[error-code reference](/docs/validation/error-codes) carries it today.

## If you are an agent reading this

The static half of this site is prerendered HTML: it needs no JavaScript, and a plain HTTP
`GET` returns the whole page. `/app/` is the opposite — a client-rendered compiler whose HTML
is an empty element — so there is nothing there for you, and `robots.txt` says so.

The [error-code reference](/docs/validation/error-codes) is generated from the registry the
validator itself reads, so a code that exists and a code that is documented cannot diverge.
The rest of the reference — [schema](/docs/schema/the-document) and
[catalogue](/docs/catalogue/how-the-catalogue-works) — is written by hand, because most of
what makes those pages useful is not in the data. The authoritative copy of any number on them
is the one the validator reads, and a finding will always carry it.

If you want the numbers without the prose, take
[`catalogue.json`](/docs/catalogue/how-the-catalogue-works) — the same machine-readable file
the authoring pack ships.
