yoi/tickets/agents-md-ingestion.md

43 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AGENTS.md の取り込み
## 背景
[agents.md](https://agents.md) は AI コーディングエージェント向けにプロジェクト固有の指示を置く標準ファイルとして普及しつつある主要エージェント群が対応し、OpenAI の本体リポジトリだけでも 88 個の AGENTS.md が置かれている。Insomnia の Pod も、作業ディレクトリに配置された `AGENTS.md` を自動でシステムプロンプトの文脈として取り込めるようにしたい。
agents.md 仕様では「編集対象ファイルから見て最近接の1つ」を読むモデルだが、Insomnia の Pod は cwd が1点に固定されるため、**cwd 直下の `AGENTS.md` のみ**を対象とする。サブプロジェクト向けにカスタム文脈を与えたい場合はそのディレクトリを cwd にして Pod を立てる運用を想定する。
## 依存
- `system-prompt-template.md`: 本チケットは読み取り結果をテンプレート変数として露出する前提に立つ。テンプレート機構が無いと組み込み先が無いため、先に着手する。
## 要件
### 探索
- Pod の cwd 直下に `AGENTS.md` があれば読む。親ディレクトリへの遡及は行わない。
- 子ディレクトリのネスト AGENTS.md も扱わないcwd 直下の1ファイルのみ
- ファイルが存在しない場合は欠損ではなく「空」として扱い、エラーにしない。
### テンプレートへの露出
- `system-prompt-template.md` で定義したテンプレート変数の1つとして AGENTS.md の本文を提供する。
- 評価タイミングはテンプレート本体と同じく first turn 開始時の1回のみ。compact 後も再評価しない。
- ファイルが存在しないときに変数が参照された場合の値(空文字 / 未定義扱い)をテンプレート側の未定義変数ポリシーと整合させる。
### 例外処理
- ファイルサイズの上限と、上限超過時の扱い(切り詰め / エラー / 警告)を決める。
- 非 UTF-8 等の読み取り失敗時の扱いを決める。first turn 開始の失敗として扱うか、空として続行するかは `system-prompt-template.md` のエラー処理方針に揃える。
## 完了条件
- Pod の cwd 直下に `AGENTS.md` を置いて Pod を起動すると、その内容が first turn のシステムプロンプトに反映される。
- `AGENTS.md` を置かない場合でも Pod が正常に起動し、システムプロンプトが壊れない。
- compact を跨いで AGENTS.md の内容が再読込されないことを担保する。
## 範囲外
- 親ディレクトリ方向への遡及、ネスト AGENTS.md のマージ。
- ユーザ単位の共通設定ファイル(将来 Insomnia 独自の user config として別チケット化)。
- AGENTS.md 以外のフォーマットCLAUDE.md 等)への自動対応。必要なら各自シンボリックリンクで解決する前提。