llms.txt
コーディングエージェントやチャットアシスタント向けに Blume が生成する llms.txt インデックスと llms-full.txt コーパス、製品をいつ使うべきかをエージェントに伝える details ブロック、そしてページを除外する方法について解説します。
Blume は、コーディングエージェントやチャットアシスタントが利用できる、機械可読なバージョンのドキュメントを出力します。これはデフォルトで有効です。無効にするには llmsTxt: false を設定してください:
ai: {
llmsTxt: false,
}
有効になっている場合、blume build はサイトのルートに 2 つのファイルを書き出します:
/llms.txt— コンパクトなインデックス。サイトのタイトルと説明に続いて、各ページのリンクとその要約の一覧が、サイドバーの構成を反映したセクションに整理されて並びます。フォルダやグループは見出しになるため、エージェントはドキュメントを 1 つのフラットな塊としてではなく、構造として認識できます。/llms-full.txt— コーパス全体。各ページの Markdown 本文がソース URL とともに 1 つのファイルにまとめられます。
下書きページは除外されます。リンクとソース URL が絶対アドレスとして解決されるように、deployment.site を設定してください。
オプション
llmsTxt は、ファイルに含める内容を調整するオプションを持つオブジェクト形式でも指定できます。API リファレンスがプレースホルダーやサンプルの仕様をドキュメント化している場合は、openapi: false を設定して、生成された API リファレンスのページを両方のファイルから除外できます:
ai: {
llmsTxt: {
enabled: true, // default
openapi: false, // exclude generated API reference pages
},
}
オブジェクト形式では details も指定できます。これは llms.txt 内で、タイトルと要約の直後、ページのセクションより前に配置される Markdown で、llms.txt 仕様における自由形式の “details” ブロックにあたります。ここは、いつ あなたの製品を使うべきか、そしてどう呼び出すのかをエージェントに伝える場所であり、対応状況をチェックするスキャナーが明示的に参照する箇所でもあります。インストールコマンドやパッケージ名もここに記載するとよいでしょう:
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"),
},
}
生成されるセクション
llms.txt の末尾には、設定不要で生成される 2 つのセクションが置かれます。Agent skills には、ai.skills を通じて公開された各スキルが、その説明(スキル自身がいつ使うべきかを示している箇所)とともに一覧表示されます。Agent resources には、ビルドが出力するすべての機械可読なアーティファクトへのリンクが並びます — llms-full.txt、ページごとの生の Markdown ミラー、MCP サーバーとそのディスカバリードキュメント、スキルのインデックス、API カタログ、agent-readability.json、そしてサイトマップです。いずれも存在する場合にのみ掲載されるため、llms.txt しか読まないエージェントであっても、全体像を把握できます。
ページの除外
個々のページを両方のファイルから除外するには、そのページのフロントマターに ai.exclude を設定します:
---
title: Internal notes
ai:
exclude: true
---
そのページは引き続きレンダリングされ、検索にも残り、サイトマップ内の位置も保持されます。スキップされるのは llms.txt 系のファイルだけです。
独自のファイルを使う
いずれかのファイルを完全に制御したい場合は、public/ フォルダに独自の llms.txt または llms-full.txt を追加してください。カスタムファビコンと同様に自動的に検出され、生成されたファイルの代わりに配信されます。一方を上書きしても、Blume はもう一方を生成し続けます。