Skip to content

AGENTS.md ファイル仕様

AGENTS.md ファイルは、各種 AI コード開発ツールにおいて AI エージェントの動作を設定するための標準化されたスキームを提供します。このファイルを通じて、開発者はプロジェクト固有の指示、コーディング標準、規範を定義し、AI エージェントがコードベースを処理する際に統一された要求に従うように指示できます。

AGENTS.md の定義

AGENTS.md は、ソフトウェアプロジェクトにおいて AI エージェントの動作パターンを設定するために使用されます。これはプロジェクトのルートディレクトリに配置される軽量な Markdown ファイルで、AI コードアシスタント向けの指示セットが含まれています。現在、この標準は複数の主要な AI コードツールでサポートされています。

AGENTS.md はAI エージェント向けの README ファイルと理解できます。特定のプロジェクトにどのように適応するか、どのコーディング規約に従うべきか、遵守すべき制約条件を AI エージェントに明確に伝えます。

AGENTS.md を使用するメリット

  • クロスツール互換性: 修正なしで複数の AI コードツールで動作
  • バージョン管理: プロジェクトコードと共にコードリポジトリに保存され、バージョン追跡が可能
  • チームコラボレーションの一貫性: チーム全員の AI アシスタントが統一された規範に従うことを保証
  • プロジェクトのカスタマイズ適応: プロジェクトの固有の要件とコーディング規約に基づいて設定可能
  • シンプルな文法: 純粋な Markdown 形式で記述され、特殊な文法や設定ルールを習得する必要がない

ファイル命名と配置パス

プロジェクトレベルの AGENTS.md ファイル

AGENTS.md ファイルはプロジェクトのルートディレクトリに配置する必要があります。ディレクトリ構造の例は以下の通りです。

plaintext
my-project/
├── AGENTS.md  # メイン設定ファイル(推奨)
├── src/
├── package.json
└── README.md

ファイル命名の優先度(認識順に並べられています):

  1. AGENTS.md(大文字複数形、推奨)
  2. AGENT.md(大文字単数形、代替)

⚠️ ファイル名の大文字小文字ルール:

ファイル名はすべて大文字(AGENTS.md)である必要があり、小文字形式(agents.md)はサポートされていません。この設計により、異なるオペレーティングシステムや開発ツール間での一貫性が保証されます。

サブディレクトリレベルの AGENTS.md ファイル

開発者はサブディレクトリにも AGENTS.md ファイルを配置し、コンテキスト固有の指示を定義できます。ディレクトリ構造の例は以下の通りです。

plaintext
my-project/
├── AGENTS.md          # ルートディレクトリレベルのグローバル指示
├── src/
│   └── backend/
│       └── AGENTS.md  # バックエンドモジュール固有の指示
└── docs/
    └── AGENTS.md      # ドキュメントモジュール固有の指示

サブディレクトリで開発する場合、VJSP ツールはルートディレクトリの AGENTS.md と現在のサブディレクトリの AGENTS.md の両方を読み込みます。指示が競合した場合、サブディレクトリのファイルの指示が優先されます

ファイル保護メカニズム

VJSP ツールでは、AGENTS.mdAGENT.md はいずれも書き込み保護ファイルです。具体的なルールは以下の通りです。

  • ユーザーの明示的な許可なしに、AI エージェントはこれらのファイルを変更できません
  • ツールは確認プロンプトを表示し、ファイルの変更操作を実行するにはユーザーの手動確認が必要です
  • このメカニズムにより、AI エージェントの誤操作によるプロジェクトの AI 設定ファイルの改ざんを効果的に防止します

基本的な文法とファイル構造

AGENTS.md ファイルは標準的な Markdown 文法で記述され、強制的な構造はありません。ただし、見出しとリストでコンテンツを整理することで、AI モデルによる指示の解析効率と理解度が向上します。

推奨されるファイル構造

markdown
# プロジェクト名

プロジェクトの簡単な説明とコアな用途

## コーディングスタイル

- すべての新規ファイルは TypeScript で開発する
- ESLint の設定規範を厳格に遵守する
- インデントはスペース 2 つを使用する

## アーキテクチャ設計

- MVC デザインパターンに従う
- コンポーネントのコード行数は 200 行以内に制限する
- 依存性注入パターンを採用する

## テスト規範

- すべてのビジネスロジックコードにはユニットテストを作成する
- コードカバレッジは 80% 以上に維持する
- テストフレームワークは Jest を統一して使用する

## セキュリティ規範

- API キーや機密情報をコードリポジトリにコミットすることを厳禁する
- すべてのユーザー入力に対して正当性検証を実行する
- データベース操作にはパラメータ化クエリを使用する

作成のベストプラクティス

  • 指示の明確化: 「循環的複雑度の上限は 10」など具体的で定量化可能なルールを採用し、「高品質なコードを作成する」といった曖昧な表現を避ける
  • 例の具体化: エラー処理、命名規則、アーキテクチャ設計の標準的なパターンを示すコード例を埋め込む
  • 分類と構造化: 関連する規範を明確な見出し(コーディングスタイル、アーキテクチャ設計、テスト規範、セキュリティ規範など)の下にグループ化する
  • コンテンツの簡潔化: 箇条書きと直接的な文を使用し、長い段落を避ける
  • メンテナンスの常態化: プロジェクトのコーディング規約の進化に伴い、定期的にファイル内容をレビューおよび改訂する

VJSP における AGENTS.md の動作メカニズム

ファイル読み込みプロセス

VJSP で開発タスクを開始する際、ツールは以下の操作を実行します。

  1. プロジェクトのルートディレクトリに AGENTS.md または AGENT.md ファイルが存在するかを確認する
  2. ファイルが検出された場合、その内容を読み込み、AI エージェントのコンテキスト環境に注入する
  3. AI エージェントは対話全体を通じてファイル内の指示に従う
  4. AGENTS.md ファイルを変更した後、新しいルールは新規タスクで有効になります(ツールの再起動が必要な場合があります)

他のルールシステムとの優先度関係

AGENTS.md は VJSP の他の設定システムと連携して動作し、優先度は高い順から低い順に以下の通りです。

設定の種類範囲配置パス主な用途優先度
モード固有のカスタムルールプロジェクト.vjsp/rules-{mode}/特定の開発モード向けのルール制約1(最高)
カスタムルールプロジェクト.vjsp/rules/VJSP ツール固有のルール設定2
AGENTS.md ルールプロジェクトルートディレクトリ / サブディレクトリクロスツール互換のプロジェクトレベル規範3
グローバルカスタムルールグローバル~/.vjsp/rules/VJSP ツールのグローバルルール設定4
カスタム指示グローバルIDE 設定すべてのプロジェクトに適用される個人的な設定5(最低)

機能の有効化と無効化

VJSP では AGENTS.md 機能はデフォルトで有効になっています。無効にするには、settings.json 設定ファイルに以下のパラメータを追加してください。

json
{
  "VJSP.useAgentRules": false
}

関連機能モジュール