---
title: llms.txt
description: >-
  Der llms.txt-Index und der llms-full.txt-Korpus, die Blume für Coding-Agents und Chat-Assistenten generiert, der Details-Block, der ihnen sagt, wann sie dein Produkt einsetzen sollen, und wie du eine Seite ausschließt.
---

Blume gibt maschinenlesbare Versionen deiner Dokumentation aus, die Coding-Agents und Chat-Assistenten verarbeiten können. Das ist standardmäßig aktiviert; setze `llmsTxt: false`, um es abzuschalten:

```ts blume.config.ts lineNumbers
ai: {
  llmsTxt: false,
}
```

Solange es aktiviert ist, schreibt `blume build` zwei Dateien in das Stammverzeichnis deiner Website:

- **`/llms.txt`** — ein kompakter Index: Titel und Beschreibung deiner Website, danach eine verlinkte Liste aller Seiten mit ihrer Zusammenfassung, gegliedert in Abschnitte, die deine Seitenleiste widerspiegeln — Ordner und Gruppen werden zu Überschriften, sodass ein Agent die Struktur der Dokumentation sieht und nicht einen einzigen flachen Klumpen.
- **`/llms-full.txt`** — der gesamte Korpus: der vollständige Markdown-Text jeder Seite samt Quell-URL, in einer Datei.

Entwurfsseiten werden ausgeschlossen. Setze [`deployment.site`](/docs/deployment), damit die Links und Quell-URLs zu absoluten Adressen aufgelöst werden.

## Optionen [#options]

`llmsTxt` nimmt auch eine Objektform mit Stellschrauben dafür an, was die Dateien enthalten. Wenn deine [API-Referenz](/docs/advanced/api-reference) eine Platzhalter- oder Beispielspezifikation dokumentiert, setze `openapi: false`, um ihre generierten Seiten aus beiden Dateien herauszuhalten:

```ts blume.config.ts lineNumbers
ai: {
  llmsTxt: {
    enabled: true, // default
    openapi: false, // exclude generated API reference pages
  },
}
```

Die Objektform nimmt außerdem `details` an: Markdown, das in `llms.txt` direkt nach Titel und Zusammenfassung steht, vor den Seitenabschnitten — der frei formulierbare „details“-Block der [llms.txt-Spezifikation](https://llmstxt.org). Hier sagst du Agents, _wann_ sie zu deinem Produkt greifen sollen und wie sie es aufrufen, wonach Readiness-Scanner ausdrücklich suchen; ein Installationsbefehl und der Paketname gehören ebenfalls hierher:

```ts blume.config.ts lineNumbers
ai: {
  llmsTxt: {
    details: [
      "## When to use Acme",
      "",
      "Reach for Acme when a project needs hosted feature flags. Install the CLI with `npm install -g acme`; the API reference below covers every endpoint.",
    ].join("\n"),
  },
}
```

## Generierte Abschnitte [#generated-sections]

`llms.txt` schließt mit zwei generierten Abschnitten, die keine Konfiguration benötigen. **Agent skills** listet jeden über [`ai.skills`](/docs/discoverability/agent-discovery#skills-discovery) veröffentlichten Skill mit seiner Beschreibung auf (wo ein Skill angibt, wann er zu verwenden ist). **Agent resources** verlinkt jedes maschinenlesbare Artefakt, das der Build ausgibt — `llms-full.txt`, das seitenweise [Raw-Markdown](/docs/discoverability/markdown)-Spiegelbild, den [MCP-Server](/docs/discoverability/mcp) und sein Discovery-Dokument, den Skills-Index, den [API-Katalog](/docs/discoverability/agent-discovery#api-catalog), [`agent-readability.json`](/docs/discoverability/agent-discovery#agent-readability) und die [Sitemap](/docs/discoverability/sitemap-and-robots#sitemap) — jeweils nur, wenn es existiert, sodass ein Agent, der nichts außer `llms.txt` liest, trotzdem die gesamte Oberfläche findet.

## Eine Seite ausschließen [#excluding-a-page]

Um eine einzelne Seite aus beiden Dateien herauszuhalten, setze `ai.exclude` in ihrem Frontmatter:

```mdx
---
title: Internal notes
ai:
  exclude: true
---
```

Die Seite wird weiterhin gerendert, bleibt in der Suche und behält ihren Platz in der Sitemap — nur die `llms.txt`-Dateien überspringen sie.

## Eigene Dateien mitbringen [#bringing-your-own]

Um die volle Kontrolle über eine der beiden Dateien zu übernehmen, lege deine eigene `llms.txt` oder `llms-full.txt` in deinen `public/`-Ordner. Wie ein eigenes Favicon wird sie automatisch erkannt und anstelle der generierten Datei ausgeliefert — überschreibst du die eine, generiert Blume die andere weiterhin.
