![[アップデート] Kiro IDE 1.0.309 でサブディレクトリの AGENTS.md がサポートされ、ディレクトリツリーごとにエージェントへの指示を分けられるようになりました](https://images.ctfassets.net/ct0aopd36mqt/4uTbTE9O9jUJCOs80dZ0Ao/e2da592b5eaaad0f5993d6ff64a12467/aws-kiro.png?w=3840&fm=webp)
[アップデート] Kiro IDE 1.0.309 でサブディレクトリの AGENTS.md がサポートされ、ディレクトリツリーごとにエージェントへの指示を分けられるようになりました
いわさです。
Kiro にはステアリング(.kiro/steering/)という仕組みがあり、マークダウンファイルでエージェントにプロジェクト固有のルールを伝えることができます。また、その際には AGENTS.md[1] が使えるので、OpenAI Codex や Cursor など複数のコーディングエージェント間で共通のフォーマットでルールを記述できます。
従来、Kiro IDE では AGENTS.md はワークスペースのルート直下か ~/.kiro/steering/ に配置した場合のみ読み込まれていました。Kiro CLI では以前からサブディレクトリの AGENTS.md を自動検出する機能があったのですが、IDE 側ではまだ未対応でした。
これが先日のアップデートで、Kiro IDE 1.0.309 からはサブディレクトリに配置した AGENTS.md が検出・読み込みされるようになりました。
モノレポのように複数サービスが同居するプロジェクトとか、サービスごとに技術スタックやコーディング規約が異なることがあると思うのですが、ディレクトリツリーごとにエージェントへの指示を分けられるので例えばバックエンド用ディレクトリにはバックエンド用のルールを、フロントエンド用ディレクトリにはフロントエンドのルールを書いておくなどできるようになりました。
今回こちらを確認してみたので紹介します。
実際に確認してみる
今回は次のようにモノレポっぽいプロジェクト構成を用意し、各サブディレクトリに AGENTS.md を配置した場合の動作を確認してみます。

ルートの AGENTS.md にはプロジェクト全体の共通ルール(TypeScript strict mode、Conventional Commits など)を書いています。
各サブディレクトリの AGENTS.md には、そのパッケージ固有の技術スタックやルールを記述しました。例えば API サービスには「Prisma ORM を使うこと」「zod でバリデーション」「async/await を使う(コールバック禁止)」、フロントエンドには「Tailwind CSS」「関数コンポーネントのみ」「named export」といった具合です。
なお、今回の検証は Kiro IDE 1.0.309 で行っています。

ルート AGENTS.md の読み込み確認
Kiro IDE で新しいセッションを開始すると、まずルート直下の AGENTS.md がワークスペースレベルのステアリングとして自動的に読み込まれます。

チャットの冒頭に「Included Steering」として AGENTS.md が表示されており、ルートの AGENTS.md に記述した共通ルールがエージェントに伝わっていることがわかります。
これは従来からの動作で、ルート直下に AGENTS.md を置くだけで常にステアリングとして認識されます。
サブディレクトリの AGENTS.md が動的に読み込まれる
サブディレクトリの AGENTS.md は、エージェントがそのディレクトリ内のファイルにアクセスしたタイミングで追加のステアリングとして注入されます。
新しいセッションで、サブディレクトリの AGENTS.md のルールについて一切触れずにファイル作成を依頼してみましょう。


上記のエージェントのレスポンスを確認してみると「AGENTS.md の指示に従い raw SQL は不使用」と明記されており、サブディレクトリの AGENTS.md が読み込まれていることがわかります。
生成されたコードも services/api/AGENTS.md に記載したルールに従っていました。
ツール呼び出しの途中で2つ目の「Included Steering」が表示されていることから、エージェントがファイルにアクセスしたタイミングでサブディレクトリの AGENTS.md が追加でコンテキストに注入される動作のようです。
別のサブディレクトリでは別のルールが適用される
サブディレクトリごとに適用されているなら、services/frontend/ のファイルを操作したときは api の AGENTS.md(Prisma、zod)ではなく frontend の AGENTS.md(Tailwind、named export)が適用されるはずですね。試してみますか。

フロントエンド側のファイルを作成した場合は、Tailwind CSS でスタイリング、named export で関数コンポーネントとして定義、アクセシビリティ対応の aria-label など、services/frontend/AGENTS.md に記載したルールが適用されていました。
エージェントの応答にも「フロントエンドの AGENTS.md に従い」と明記されており、api 側のルール(Prisma、zod)ではなく frontend 側のルールが適用されていることがわかります。
ファイル読み取りのみでも適用される
ファイルの書き込みだけでなく、読み取りだけの場合にもサブディレクトリの AGENTS.md が読み込まれるか確認してみましょう。

読み取りのみの場合でも、サブディレクトリのファイルにアクセスした時点で AGENTS.md が追加で読み込まれることが確認できました。
読み書きの種類に関わらず、そのディレクトリ内のファイルにアクセスした段階で対応する AGENTS.md がコンテキストに入るようですね。
さいごに
本日は Kiro IDE 1.0.309 でサブディレクトリの AGENTS.md がサポートされたので確認してみました。
ルート直下の AGENTS.mdが常に読み込まれつつ、サブディレクトリのルールはエージェントがそのディレクトリ内のファイルにアクセスしたタイミングで、ファイルの読み書きに関わらず読み込まれていることがわかりました。
冒頭あげた例のようにモノレポでサービスごとに技術スタックが違うプロジェクトとかだと、各ディレクトリに AGENTS.md を置いておいてもうまく Kiro IDE だと動作しそうですね。








