
# Publish llms.txt

[llms.txt](https://llmstxt.org) is a convention for serving documentation to AI assistants as plain text at well-known URLs. When your app publishes markdown content, Sovrium can expose it that way with no work from you.

Two routes are served:

| Route            | Contents                                                                      |
| ---------------- | ----------------------------------------------------------------------------- |
| `/llms.txt`      | A compact index — the site title, a one-line description, and links to pages. |
| `/llms-full.txt` | The same index plus every page's full markdown body, concatenated.            |

Both are derived from your [content-directory pages](/en/docs/pages-collections#contentdir), so a documentation site gets them automatically.

## Configuration

The whole `llms` block is optional. Declare it only to turn the feature off or to override what the generated header says:

```yaml
llms:
  title: Acme Handbook
  description: Everything the team needs to know.
  full: true
```

| Property      | Description                                                                                  |
| ------------- | -------------------------------------------------------------------------------------------- |
| `enabled`     | Serve the routes. Defaults to `true` when the app has content pages; `false` makes both 404. |
| `title`       | The H1 at the top of `/llms.txt`. Defaults to the app name.                                  |
| `description` | The blockquote under the H1. Defaults to the app description, when set.                      |
| `full`        | Serve `/llms-full.txt`. Defaults to `true` when the feature is enabled.                      |

Turning `full` off is the usual adjustment for a large corpus — the index stays useful while the concatenated body, which can run to thousands of lines, is not served.

```yaml
llms:
  full: false
```

## Verify

```bash
curl -fsS http://localhost:3000/llms.txt | head -20
```

Every content page you expect should appear as a link. A page missing from the index is a page outside a content directory.

:::callout
**This is your app's llms.txt, not Sovrium's.** Sovrium publishes its own at [sovrium.com/llms.txt](https://sovrium.com/llms.txt) so AI tools can help you write configs — see [LLM Reference](/en/docs/llm-reference). The `llms` block configures the one _your_ app serves to _its_ readers.
:::

## Related Pages

- [LLM Reference](/en/docs/llm-reference) — Sovrium's own llms.txt, for AI tools that write configs.
- [Pages Overview](/en/docs/pages-overview) — the content-directory pages the index is built from.
- [SEO & Metadata](/en/docs/seo-meta) — the human-facing half of the same discoverability question.
- [App Metadata](/en/docs/app-metadata) — the app name and description used as defaults.
