zudo-docは`llms.txt`と`llms-full.txt`ファイルを自動生成し、AIツールや大規模言語モデルがドキュメントを容易に利用できるようにします。

[Dynamic content unavailable in text export]

[llms.txt標準](https://llmstxt.org/)は、AIツールがドキュメントを発見・読み取りやすくするための新しい規約です。多くのAIツールがすでにこれらのファイルを参照しています。



## 仕組み

有効にすると、zudo-docはビルド時に2つのファイルを生成します：

- **`/llms.txt`** — すべてのドキュメントページのタイトル、説明、URLを一覧にしたインデックス
- **`/llms-full.txt`** — すべてのドキュメントページの全文を1つのファイルにまとめたもの

これらのファイルは、AIツールがHTMLを解析せずに利用できる機械可読形式のドキュメントを提供します。

## llms.txtの有効化

create-zudo-doc の initializer は、この機能を**デフォルトで有効**にします。`zudoDoc()` を直接設定する場合、パッケージの既定値は `false` です。明示的に制御するには、`zfb.config.ts`で`llmsTxt`を設定します：

```ts title="zfb.config.ts"
export default defineConfig(
  zudoDoc({
    // ...
    llmsTxt: true, // initializer default; package default is false
  }),
);
```

無効にするには：

```ts
llmsTxt: false,
```

## 生成される出力

### llms.txt（インデックス）

インデックスファイルは、各ドキュメントページのタイトル、説明、URLを一覧表示します：

```
# My Documentation

> Site description from settings

## Docs

- [Introduction](/docs/getting-started/introduction): Learn what the project is and how it works.
- [Configuration](/docs/guides/configuration): Global settings and configuration reference.
```

### llms-full.txt（全文）

全文ファイルは、すべてのドキュメントページの完全なテキストを見出しで区切って含みます：

```
# My Documentation

> Site description from settings

## Introduction

Welcome to the project...

## Configuration

The project is configured through...
```

## ページの除外

以下のフロントマターフィールドを持つページは、両方の生成ファイルから自動的に除外されます：

- `draft: true` — ビルドから除外される下書きページ
- `unlisted: true` — ビルドされるが非表示のページ
- `search_exclude: true` — 検索から除外されるページ

```mdx
---
title: Internal Notes
search_exclude: true
---
```

## マルチロケール対応

ロケールが設定されている場合、zudo-docは各ロケールごとに個別のllms.txtファイルを生成します：

- **英語（デフォルト）：** `/llms.txt`と`/llms-full.txt`
- **日本語：** `/ja/llms.txt`と`/ja/llms-full.txt`

各ロケールのファイルには、そのロケールのコンテンツディレクトリのページのみが含まれます。各ファイル内のURLには適切なロケールプレフィックスが使用されます。

## HTMLによる検出

`llmsTxt`が有効な場合、zudo-docはすべてのページの`<head>`に`<link>`タグを追加し、サイトがサブパスにデプロイされている場合でもAIツールがファイルを発見できるようにします：

```html
<link rel="alternate" type="text/plain" href="/my-docs/llms.txt" title="llms.txt" />
<link rel="alternate" type="text/plain" href="/my-docs/llms-full.txt" title="llms-full.txt" />
```

これは、サイトが`/my-docs/`のような`base`パスを使用している場合に機能しない可能性がある、標準的なパスベースの検出（ドメインルートの`/llms.txt`）を補完します。

## エージェント向けエクスポートとMCPのリンク

`agentExport: true`を有効にすると、簡潔な`llms.txt`インデックスは各ページのクリーンなMarkdown代替ファイル`/agent/v1/pages/<page-key>.md`へリンクします。無効な場合、従来のページリンクは変わりません。全文ファイルには人が読むページの正規URLが残ります。`mcp: true`も有効なら、インデックスは別の`<base>/mcp`エンドポイントを案内します。生成されるMarkdownとMCPエンドポイントは[エージェント向けエクスポート](https://zudo-doc.takazudomodular.com/ja/docs/guides/agent-export)と[MCPサーバー](https://zudo-doc.takazudomodular.com/ja/docs/guides/mcp-server)で説明しています。

ホームページのURLを渡しただけで、エージェントが必ず`llms.txt`を読むわけではありません。ブラウザーだけで使う場合は、`llms.txt`のURLか生成されたMarkdownページのURLを明示的に渡してください。イニシャライザーでは`llmsTxt`はデフォルトで有効ですが、`zudoDoc`を直接設定する場合のパッケージ既定値は`false`です。

## 開発モード

生成されるファイルはzfbのdevMiddleware経由で開発中も利用可能です。`pnpm dev`実行時、`/llms.txt`と`/llms-full.txt`へのリクエストは動的に処理されます — ビルドステップは不要です。

[Dynamic content unavailable in text export]

テストのためにビルドする必要はありません。llms.txtファイルは検索と同様に`pnpm dev`ですぐに動作します。



## 本番ビルド

`pnpm build`時、ファイルはサイトの他の部分とともに`dist/`ディレクトリに静的テキストファイルとして出力されます。