<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>http://mochiuwiki.e2.valueserver.jp/index.php?action=history&amp;feed=atom&amp;title=GitHub_Copilot%E3%81%AE%E8%A8%AD%E5%AE%9A_-_AGENTS.md</id>
	<title>GitHub Copilotの設定 - AGENTS.md - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="http://mochiuwiki.e2.valueserver.jp/index.php?action=history&amp;feed=atom&amp;title=GitHub_Copilot%E3%81%AE%E8%A8%AD%E5%AE%9A_-_AGENTS.md"/>
	<link rel="alternate" type="text/html" href="http://mochiuwiki.e2.valueserver.jp/index.php?title=GitHub_Copilot%E3%81%AE%E8%A8%AD%E5%AE%9A_-_AGENTS.md&amp;action=history"/>
	<updated>2026-07-04T12:03:26Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://mochiuwiki.e2.valueserver.jp/index.php?title=GitHub_Copilot%E3%81%AE%E8%A8%AD%E5%AE%9A_-_AGENTS.md&amp;diff=14197&amp;oldid=prev</id>
		<title>Wiki: ページの作成:「== 概要 == &lt;u&gt;AGENTS.md&lt;/u&gt; は、AIコーディングエージェント向けのオープンフォーマットであり、エージェント用のREADMEとして機能する。&lt;br&gt; &lt;br&gt; Linux Foundation傘下のAgentic AI Foundationが管理する標準フォーマットであり、60以上のAIコーディングツールが対応している。&lt;br&gt; &lt;br&gt; 対応ツールの例を以下に示す。&lt;br&gt; * GitHub Copilot * Cursor * Devin * Google Jules * OpenAI Codex…」</title>
		<link rel="alternate" type="text/html" href="http://mochiuwiki.e2.valueserver.jp/index.php?title=GitHub_Copilot%E3%81%AE%E8%A8%AD%E5%AE%9A_-_AGENTS.md&amp;diff=14197&amp;oldid=prev"/>
		<updated>2026-02-02T13:37:00Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「== 概要 == &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; は、AIコーディングエージェント向けのオープンフォーマットであり、エージェント用のREADMEとして機能する。&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Linux Foundation傘下のAgentic AI Foundationが管理する標準フォーマットであり、60以上のAIコーディングツールが対応している。&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; 対応ツールの例を以下に示す。&amp;lt;br&amp;gt; * GitHub Copilot * Cursor * Devin * Google Jules * OpenAI Codex…」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 概要 ==&lt;br /&gt;
&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; は、AIコーディングエージェント向けのオープンフォーマットであり、エージェント用のREADMEとして機能する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Linux Foundation傘下のAgentic AI Foundationが管理する標準フォーマットであり、60以上のAIコーディングツールが対応している。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
対応ツールの例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
* GitHub Copilot&lt;br /&gt;
* Cursor&lt;br /&gt;
* Devin&lt;br /&gt;
* Google Jules&lt;br /&gt;
* OpenAI Codex&lt;br /&gt;
* Anthropic Claude&lt;br /&gt;
* その他55以上のツール&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; は、以下に示す特徴を持つ。&amp;lt;br&amp;gt;&lt;br /&gt;
* ベンダー中立のオープンフォーマット&lt;br /&gt;
* 標準的なMarkdown形式&lt;br /&gt;
* 複数のディレクトリにネスト配置可能&lt;br /&gt;
* AIエージェントの動作をプロジェクト固有にカスタマイズ&lt;br /&gt;
* 60以上のAIツール間で互換性を持つ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; を使用することにより、以下に示すメリットが得られる。&amp;lt;br&amp;gt;&lt;br /&gt;
* プロジェクト固有のコンテキストを提供&lt;br /&gt;
*: ビルドコマンド、テストコマンド、プロジェクト構造等をエージェントに伝える。&lt;br /&gt;
* 複数のAIツール間で指示を共有&lt;br /&gt;
*: GitHub Copilot、Cursor、Devin等で同じ指示を使用できる。&lt;br /&gt;
* ディレクトリごとの詳細な制御&lt;br /&gt;
*: ネスト配置により、ディレクトリごとに異なる指示を定義できる。&lt;br /&gt;
* エージェントの動作範囲の明確化&lt;br /&gt;
*: 常時実行可能、事前確認、禁止の3段階で動作を制御できる。&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ファイルの配置 ==&lt;br /&gt;
&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; は、リポジトリルートまたはサブディレクトリに配置できる。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 配置場所 ====&lt;br /&gt;
&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; を配置可能な場所を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* リポジトリルート&lt;br /&gt;
*: プロジェクト全体の基本指示を定義する。&lt;br /&gt;
*: 例: &amp;lt;u&amp;gt;/AGENTS.md&amp;lt;/u&amp;gt;&lt;br /&gt;
* サブディレクトリ&lt;br /&gt;
*: ディレクトリ固有の詳細指示を定義する。&lt;br /&gt;
*: 例: &amp;lt;u&amp;gt;/frontend/AGENTS.md&amp;lt;/u&amp;gt;、&amp;lt;u&amp;gt;/backend/AGENTS.md&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ディレクトリ構成の例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 project/&lt;br /&gt;
 ├── .github/&lt;br /&gt;
 │   ├── copilot-instructions.md              # リポジトリ全体の基本指示&lt;br /&gt;
 │   │                                        # (コーディング規約、プロジェクト概要等)&lt;br /&gt;
 │   │&lt;br /&gt;
 │   ├── instructions/                        # パス固有の指示ファイル&lt;br /&gt;
 │   │   ├── frontend.instructions.md         # applyTo: &amp;quot;src/frontend/**/*.ts,**/*.tsx&amp;quot;&lt;br /&gt;
 │   │   ├── backend.instructions.md          # applyTo: &amp;quot;src/backend/**/*.ts&amp;quot;&lt;br /&gt;
 │   │   ├── api.instructions.md              # applyTo: &amp;quot;src/api/**/*.ts&amp;quot;&lt;br /&gt;
 │   │   ├── python.instructions.md           # applyTo: &amp;quot;**/*.py&amp;quot;&lt;br /&gt;
 │   │   ├── testing.instructions.md          # applyTo: &amp;quot;**/tests/**/*,**/*.test.*&amp;quot;&lt;br /&gt;
 │   │   └── security.instructions.md         # applyTo: &amp;quot;**/*.ts,**/*.py&amp;quot;&lt;br /&gt;
 │   │                                        # excludeAgent: &amp;quot;coding-agent&amp;quot;&lt;br /&gt;
 │   │&lt;br /&gt;
 │   └── agents/                              # カスタムエージェント定義&lt;br /&gt;
 │       ├── docs-agent.md                    # ドキュメント執筆専門&lt;br /&gt;
 │       ├── test-agent.md                    # テスト専門&lt;br /&gt;
 │       ├── security-agent.md                # セキュリティレビュー専門&lt;br /&gt;
 │       └── refactor-agent.md                # リファクタリング専門&lt;br /&gt;
 │&lt;br /&gt;
 ├── AGENTS.md                                # プロジェクト全体のエージェント指示&lt;br /&gt;
 │                                            # (ビルドコマンド、テスト手順、境界設定等)&lt;br /&gt;
 │&lt;br /&gt;
 ├── src/&lt;br /&gt;
 │   ├── frontend/&lt;br /&gt;
 │   │   ├── AGENTS.md                        # フロントエンド固有のエージェント指示&lt;br /&gt;
 │   │   └── components/&lt;br /&gt;
 │   │&lt;br /&gt;
 │   ├── backend/&lt;br /&gt;
 │   │   ├── AGENTS.md                        # バックエンド固有のエージェント指示&lt;br /&gt;
 │   │   └── services/&lt;br /&gt;
 │   │&lt;br /&gt;
 │   └── api/&lt;br /&gt;
 │       ├── AGENTS.md                        # API固有のエージェント指示&lt;br /&gt;
 │       └── routes/&lt;br /&gt;
 │&lt;br /&gt;
 ├── docs/&lt;br /&gt;
 │   └── AGENTS.md                            # ドキュメント用のエージェント指示&lt;br /&gt;
 │&lt;br /&gt;
 └── README.md&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== ネスト対応 ====&lt;br /&gt;
&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; は、複数のディレクトリにネスト配置可能である。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* 優先順位&lt;br /&gt;
*: ディレクトリツリーで最も近い &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; が優先される。&lt;br /&gt;
* 継承&lt;br /&gt;
*: 親ディレクトリの &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; と併用される。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
優先順位の例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
例えば、ソースファイルである &amp;lt;u&amp;gt;/src/frontend/components/Button.tsx&amp;lt;/u&amp;gt; を編集する場合、以下に示す優先順位で &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; が適用される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
# &amp;lt;u&amp;gt;/src/frontend/components/AGENTS.md&amp;lt;/u&amp;gt; (最優先)&lt;br /&gt;
# &amp;lt;u&amp;gt;/src/frontend/AGENTS.md&amp;lt;/u&amp;gt;&lt;br /&gt;
# &amp;lt;u&amp;gt;/src/AGENTS.md&amp;lt;/u&amp;gt;&lt;br /&gt;
# &amp;lt;u&amp;gt;/AGENTS.md&amp;lt;/u&amp;gt; (最低優先度)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== ファイル形式 ====&lt;br /&gt;
&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; は、標準的なMarkdown形式で記述する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* フォーマット&lt;br /&gt;
*: Markdown形式&lt;br /&gt;
* フロントマター&lt;br /&gt;
*: YAMLフロントマター推奨 (必須ではない)&lt;br /&gt;
* 記述言語&lt;br /&gt;
*: 自然言語 (英語推奨)&lt;br /&gt;
* 必須フィールド&lt;br /&gt;
*: 特定の必須フィールドなし&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
基本的な構造を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 name: agent_name&lt;br /&gt;
 description: エージェントの説明&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 # プロジェクトの概要&lt;br /&gt;
 &lt;br /&gt;
 プロジェクトの説明と技術スタック&lt;br /&gt;
 &lt;br /&gt;
 ## Commands&lt;br /&gt;
 &lt;br /&gt;
 ビルド、テスト、リントのコマンド&lt;br /&gt;
 &lt;br /&gt;
 ## Project Structure&lt;br /&gt;
 &lt;br /&gt;
 ディレクトリ構造と各フォルダの役割&lt;br /&gt;
 &lt;br /&gt;
 ## Boundaries&lt;br /&gt;
 &lt;br /&gt;
 エージェントの動作範囲の定義&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 他の指示ファイルとの関係 ==&lt;br /&gt;
GitHub Copilotは、複数の指示ファイルをサポートしている。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== GitHub Copilot対応の指示ファイル ====&lt;br /&gt;
GitHub Copilotが対応する指示ファイルを以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;.github/copilot-instructions.md&amp;lt;/u&amp;gt;&lt;br /&gt;
*: リポジトリ全体向けの基本指示&lt;br /&gt;
*: 配置場所: &amp;lt;u&amp;gt;.github/&amp;lt;/u&amp;gt; ディレクトリ&lt;br /&gt;
*: 適用範囲: リポジトリ全体&lt;br /&gt;
* &amp;lt;u&amp;gt;.github/instructions/*.instructions.md&amp;lt;/u&amp;gt;&lt;br /&gt;
*: パス固有の指示 (globパターンで指定)&lt;br /&gt;
*: 配置場所: &amp;lt;u&amp;gt;.github/instructions/&amp;lt;/u&amp;gt; ディレクトリ&lt;br /&gt;
*: 適用範囲: YAMLフロントマターの &amp;lt;code&amp;gt;applyTo&amp;lt;/code&amp;gt; プロパティで指定されたパターン&lt;br /&gt;
* &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt;&lt;br /&gt;
*: エージェント専用の詳細ガイダンス&lt;br /&gt;
*: 配置場所: リポジトリルートまたはサブディレクトリ&lt;br /&gt;
*: 適用範囲: 配置されたディレクトリとその子ディレクトリ&lt;br /&gt;
* &amp;lt;u&amp;gt;CLAUDE.md&amp;lt;/u&amp;gt;、&amp;lt;u&amp;gt;GEMINI.md&amp;lt;/u&amp;gt;&lt;br /&gt;
*: 代替フォーマット (エージェント固有)&lt;br /&gt;
*: 配置場所: 任意のディレクトリ&lt;br /&gt;
*: 適用範囲: 配置されたディレクトリとその子ディレクトリ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 指示ファイルの比較 ====&lt;br /&gt;
下表に、GitHub Copilot対応の指示ファイルの比較を示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ GitHub Copilot対応の指示ファイルの比較&lt;br /&gt;
! 特徴 !! copilot-instructions.md !! *.instructions.md !! AGENTS.md&lt;br /&gt;
|-&lt;br /&gt;
| 配置場所 || .github/ || .github/instructions/ || 任意のディレクトリ&lt;br /&gt;
|-&lt;br /&gt;
| 適用範囲 || リポジトリ全体 || globパターンで指定 || 配置されたディレクトリとその子ディレクトリ&lt;br /&gt;
|-&lt;br /&gt;
| ファイル数 || 1ファイル || 複数ファイル可能 || ディレクトリごとに1ファイル&lt;br /&gt;
|-&lt;br /&gt;
| パターン指定 || 不要 || YAMLフロントマター必須 || 不要&lt;br /&gt;
|-&lt;br /&gt;
| ネスト対応 || 非対応 || 非対応 || 対応 (最も近いファイル優先)&lt;br /&gt;
|-&lt;br /&gt;
| 他ツール互換性 || GitHub Copilot専用 || GitHub Copilot専用 || 60以上のツールで対応&lt;br /&gt;
|-&lt;br /&gt;
| 用途 || 全体的な原則 || 言語別・パス別ルール || エージェント専用の詳細ガイダンス&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
推奨される使い分けを以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;copilot-instructions.md&amp;lt;/u&amp;gt;&lt;br /&gt;
*: プロジェクトの概要、技術スタック、全体的なコーディング規約&lt;br /&gt;
* &amp;lt;u&amp;gt;*.instructions.md&amp;lt;/u&amp;gt;&lt;br /&gt;
*: TypeScript固有のルール、フロントエンド専用の規約、APIルートの要件&lt;br /&gt;
* &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt;&lt;br /&gt;
*: ビルドコマンド、テストコマンド、プロジェクト構造、エージェントの動作範囲、境界設定&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6つのコア領域 ==&lt;br /&gt;
&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; は、6つのコア領域を定義することを推奨する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2,500のリポジトリ分析により、これらの領域が最も頻繁に参照されることが確認されている。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Commands (コマンド) ====&lt;br /&gt;
ビルド、テスト、リントのコマンドをフラグ付きで記載する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
エージェントが頻繁に参照するため、ファイルの早期セクションに配置することを推奨する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
記述例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ## Commands&lt;br /&gt;
 &lt;br /&gt;
 - `npm test` - 全テスト実行&lt;br /&gt;
 - `pytest -v` - 詳細モードでPythonテストを実行&lt;br /&gt;
 - `npm run lint --fix` - リント実行と自動修正&lt;br /&gt;
 - `npm run build` - プロダクションビルド&lt;br /&gt;
 - `npm run dev` - 開発サーバー起動&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Testing (テスト) ====&lt;br /&gt;
テストフレームワークの仕様と実行方法を記載する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
エージェントが何を修正でき、何ができないかを定義する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
記述例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ## Testing&lt;br /&gt;
 &lt;br /&gt;
 - テストフレームワーク: Jest (JavaScript), pytest (Python)&lt;br /&gt;
 - テストファイルの配置: `tests/` ディレクトリ&lt;br /&gt;
 - テストファイルの命名規則: `*.test.ts` または `test_*.py`&lt;br /&gt;
 - カバレッジ要件: 80%以上&lt;br /&gt;
 &lt;br /&gt;
 ### エージェントの制限&lt;br /&gt;
 &lt;br /&gt;
 - ソースコードは変更しない&lt;br /&gt;
 - 失敗するテストは削除しない&lt;br /&gt;
 - テストファイルの作成と修正のみ実行可能&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Project Structure (プロジェクト構造) ====&lt;br /&gt;
ディレクトリツリーと各フォルダの役割を明確に定義する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
エージェントが何を読み取り、何に書き込めるかを指定する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
記述例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ## Project Structure&lt;br /&gt;
 &lt;br /&gt;
 - `src/` - ソースコード (読み取り専用)&lt;br /&gt;
 - `docs/` - ドキュメント (書き込み可能)&lt;br /&gt;
 - `tests/` - テストコード (書き込み可能)&lt;br /&gt;
 - `config/` - 設定ファイル (読み取り専用)&lt;br /&gt;
 - `scripts/` - ビルドスクリプト (読み取り専用)&lt;br /&gt;
 &lt;br /&gt;
 ### ディレクトリの役割&lt;br /&gt;
 &lt;br /&gt;
 - `src/frontend/` - React + TypeScriptのフロントエンドコード&lt;br /&gt;
 - `src/backend/` - Node.js + Expressのバックエンドコード&lt;br /&gt;
 - `src/api/` - RESTful APIエンドポイント&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Code Style (コードスタイル) ====&lt;br /&gt;
実際のソースコード例を記載する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
3段落の説明よりも、実際のコード例を優先する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
記述例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ## Code Style&lt;br /&gt;
 &lt;br /&gt;
 ### 命名規則&lt;br /&gt;
 &lt;br /&gt;
 良い例:&lt;br /&gt;
 ```typescript&lt;br /&gt;
 function getUserById(id: string): User {&lt;br /&gt;
    const user = await userRepository.findById(id);&lt;br /&gt;
    return user;&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 悪い例:&lt;br /&gt;
 ```typescript&lt;br /&gt;
 function GetUser(i: string): User {&lt;br /&gt;
    const u = await repo.find(i);&lt;br /&gt;
    return u;&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 ### エラーハンドリング&lt;br /&gt;
 &lt;br /&gt;
 良い例:&lt;br /&gt;
 ```typescript&lt;br /&gt;
 async function fetchData() {&lt;br /&gt;
    try {&lt;br /&gt;
       const response = await api.getData();&lt;br /&gt;
       return response.data;&lt;br /&gt;
    }&lt;br /&gt;
    catch (error) {&lt;br /&gt;
       logger.error(&amp;#039;Failed to fetch data&amp;#039;, error);&lt;br /&gt;
       throw new DataFetchError(&amp;#039;Data fetch failed&amp;#039;);&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 悪い例:&lt;br /&gt;
 ```typescript&lt;br /&gt;
 async function fetchData() {&lt;br /&gt;
    const response = await api.getData();&lt;br /&gt;
    return response.data;&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Git Workflow (Gitワークフロー) ====&lt;br /&gt;
コミット前のテスト実行要件とブランチ戦略を指定する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
記述例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ## Git Workflow&lt;br /&gt;
 &lt;br /&gt;
 - コミット前に必ずテストを実行する&lt;br /&gt;
 - ブランチ戦略: Git Flow&lt;br /&gt;
 - ブランチ命名規則: `feature/`, `bugfix/`, `hotfix/`&lt;br /&gt;
 - コミットメッセージ: Conventional Commits形式&lt;br /&gt;
 &lt;br /&gt;
 ### コミット前のチェックリスト&lt;br /&gt;
 &lt;br /&gt;
 1. `npm test` を実行し、全テストが成功することを確認&lt;br /&gt;
 2. `npm run lint` を実行し、リントエラーがないことを確認&lt;br /&gt;
 3. `npm run build` を実行し、ビルドが成功することを確認&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Boundaries (境界設定) ====&lt;br /&gt;
エージェントの動作範囲を3段階で明確に定義する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* 常に実行すること&lt;br /&gt;
*: 事前確認なしで常時実行可能な操作&lt;br /&gt;
* 確認が必要な操作&lt;br /&gt;
*: 実行前にユーザーの確認が必要な操作&lt;br /&gt;
* 絶対禁止事項&lt;br /&gt;
*: いかなる場合も実行してはならない操作&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
記述例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ## Boundaries&lt;br /&gt;
 &lt;br /&gt;
 ### 常に実行すること&lt;br /&gt;
 &lt;br /&gt;
 - テストファイルの作成と修正&lt;br /&gt;
 - ドキュメントの作成と更新&lt;br /&gt;
 - リントエラーの自動修正&lt;br /&gt;
 - コードフォーマットの適用&lt;br /&gt;
 &lt;br /&gt;
 ### 確認が必要な操作&lt;br /&gt;
 &lt;br /&gt;
 - ソースコードの変更&lt;br /&gt;
 - データベーススキーマの変更&lt;br /&gt;
 - 依存関係の追加・削除&lt;br /&gt;
 - 設定ファイルの変更&lt;br /&gt;
 &lt;br /&gt;
 ### 絶対禁止事項&lt;br /&gt;
 &lt;br /&gt;
 - 失敗するテストの削除&lt;br /&gt;
 - 本番環境へのデプロイ&lt;br /&gt;
 - 認証情報のハードコード&lt;br /&gt;
 - セキュリティ設定の変更&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 記述例 ==&lt;br /&gt;
&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; の実際の記述例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== ドキュメント専門エージェント ====&lt;br /&gt;
技術ドキュメント執筆専門のエージェント向けの記述例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* ファイル名: &amp;lt;u&amp;gt;/docs/AGENTS.md&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*: &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 name: docs_agent&lt;br /&gt;
 description: 技術ドキュメント執筆専門家&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 ## あなたの役割&lt;br /&gt;
 &lt;br /&gt;
 - Markdown と TypeScript に精通&lt;br /&gt;
 - 開発者向けに明確かつ実践的に執筆&lt;br /&gt;
 - `src/` から読み取り、`docs/` に書き込み&lt;br /&gt;
 &lt;br /&gt;
 ## 利用可能なツール&lt;br /&gt;
 &lt;br /&gt;
 - `npm run docs:build` - ドキュメントビルドとリンク検証&lt;br /&gt;
 - `npx markdownlint docs/` - マークダウン検証&lt;br /&gt;
 &lt;br /&gt;
 ## コードスタイル例&lt;br /&gt;
 &lt;br /&gt;
 良い例: 記述的な名前、エラーハンドリング完備&lt;br /&gt;
 ```typescript&lt;br /&gt;
 async function generateApiDocumentation(apiPath: string): Promise&amp;lt;void&amp;gt; {&lt;br /&gt;
    try {&lt;br /&gt;
       const apiSpec = await readApiSpec(apiPath);&lt;br /&gt;
       await writeDocumentation(apiSpec);&lt;br /&gt;
    }&lt;br /&gt;
    catch (error) {&lt;br /&gt;
       logger.error(&amp;#039;Documentation generation failed&amp;#039;, error);&lt;br /&gt;
       throw error;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 悪い例: 曖昧な名前、エラー処理なし&lt;br /&gt;
 ```typescript&lt;br /&gt;
 async function genDoc(p: string): Promise&amp;lt;void&amp;gt; {&lt;br /&gt;
    const spec = await read(p);&lt;br /&gt;
    await write(spec);&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 ## Boundaries&lt;br /&gt;
 &lt;br /&gt;
 ### 常に実行すること&lt;br /&gt;
 &lt;br /&gt;
 - ドキュメントファイルの作成と更新&lt;br /&gt;
 - リンク検証の実行&lt;br /&gt;
 - コード例の追加&lt;br /&gt;
 &lt;br /&gt;
 ### 確認が必要な操作&lt;br /&gt;
 &lt;br /&gt;
 - ドキュメント構造の大幅な変更&lt;br /&gt;
 - 目次の再構成&lt;br /&gt;
&lt;br /&gt;
 ### 絶対禁止事項&lt;br /&gt;
 &lt;br /&gt;
 - ソースコードの変更&lt;br /&gt;
 - 設定ファイルの変更&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== テスト専門エージェント ====&lt;br /&gt;
QAソフトウェアエンジニア向けの記述例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* ファイル名: &amp;lt;u&amp;gt;/tests/AGENTS.md&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*: &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 name: test_agent&lt;br /&gt;
 description: QAソフトウェアエンジニア&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 ## あなたの役割&lt;br /&gt;
 &lt;br /&gt;
 - テストコードを書き、テストを実行し、結果を分析&lt;br /&gt;
 - `/tests/` ディレクトリにのみ書き込み&lt;br /&gt;
 - ソースコードは変更しない&lt;br /&gt;
 - 失敗するテストは削除しない&lt;br /&gt;
 &lt;br /&gt;
 ## コマンド&lt;br /&gt;
 &lt;br /&gt;
 - `npm test` - 全テスト実行&lt;br /&gt;
 - `npm test -- --watch` - ウォッチモード&lt;br /&gt;
 - `npm run test:coverage` - カバレッジレポート&lt;br /&gt;
 - `npm run test:unit` - ユニットテストのみ実行&lt;br /&gt;
 - `npm run test:integration` - 統合テストのみ実行&lt;br /&gt;
 &lt;br /&gt;
 ## テストフレームワーク&lt;br /&gt;
 &lt;br /&gt;
 - フレームワーク: Jest&lt;br /&gt;
 - アサーションライブラリ: Jest組み込み&lt;br /&gt;
 - モックライブラリ: Jest組み込み&lt;br /&gt;
 &lt;br /&gt;
 ## テストの構造&lt;br /&gt;
 &lt;br /&gt;
 良い例:&lt;br /&gt;
 ```typescript&lt;br /&gt;
 describe(&amp;#039;UserService&amp;#039;, () =&amp;gt; {&lt;br /&gt;
    describe(&amp;#039;getUserById&amp;#039;, () =&amp;gt; {&lt;br /&gt;
       it(&amp;#039;should return user when user exists&amp;#039;, async () =&amp;gt; {&lt;br /&gt;
          const mockUser = { id: &amp;#039;1&amp;#039;, name: &amp;#039;John&amp;#039; };&lt;br /&gt;
          userRepository.findById.mockResolvedValue(mockUser);&lt;br /&gt;
 &lt;br /&gt;
          const result = await userService.getUserById(&amp;#039;1&amp;#039;);&lt;br /&gt;
 &lt;br /&gt;
          expect(result).toEqual(mockUser);&lt;br /&gt;
       });&lt;br /&gt;
 &lt;br /&gt;
       it(&amp;#039;should throw error when user does not exist&amp;#039;, async () =&amp;gt; {&lt;br /&gt;
          userRepository.findById.mockResolvedValue(null);&lt;br /&gt;
 &lt;br /&gt;
          await expect(userService.getUserById(&amp;#039;1&amp;#039;))&lt;br /&gt;
             .rejects.toThrow(&amp;#039;User not found&amp;#039;);&lt;br /&gt;
       });&lt;br /&gt;
    });&lt;br /&gt;
 });&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 悪い例:&lt;br /&gt;
 ```typescript&lt;br /&gt;
 test(&amp;#039;user test&amp;#039;, async () =&amp;gt; {&lt;br /&gt;
    const u = await userService.getUserById(&amp;#039;1&amp;#039;);&lt;br /&gt;
    expect(u).toBeTruthy();&lt;br /&gt;
 });&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 ## Boundaries&lt;br /&gt;
 &lt;br /&gt;
 ### 常に実行すること&lt;br /&gt;
 &lt;br /&gt;
 - テストファイルの作成&lt;br /&gt;
 - テストの実行&lt;br /&gt;
 - カバレッジレポートの確認&lt;br /&gt;
 &lt;br /&gt;
 ### 確認が必要な操作&lt;br /&gt;
 &lt;br /&gt;
 - テストフレームワークの設定変更&lt;br /&gt;
 - モックの追加&lt;br /&gt;
 &lt;br /&gt;
 ### 絶対禁止事項&lt;br /&gt;
 &lt;br /&gt;
 - ソースコードの変更&lt;br /&gt;
 - テストの削除&lt;br /&gt;
 - カバレッジ要件の緩和&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== セキュリティ専門エージェント ====&lt;br /&gt;
セキュリティレビュー専門のエージェント向けの記述例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* ファイル名: &amp;lt;u&amp;gt;/AGENTS.md&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*: &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 name: security_agent&lt;br /&gt;
 description: セキュリティレビュー専門家&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 ## あなたの役割&lt;br /&gt;
 &lt;br /&gt;
 - セキュリティの脆弱性を検出し、修正提案を行う&lt;br /&gt;
 - OWASP Top 10に準拠した検証を実施&lt;br /&gt;
 - コードレビュー時にセキュリティ観点でチェック&lt;br /&gt;
 &lt;br /&gt;
 ## チェック項目&lt;br /&gt;
 &lt;br /&gt;
 ### 認証・認可&lt;br /&gt;
 &lt;br /&gt;
 - パスワードはハッシュ化して保存 (bcrypt、Argon2等)&lt;br /&gt;
 - JWT、OAuth2等の標準認証方式を使用&lt;br /&gt;
 - アクセストークンの有効期限を設定&lt;br /&gt;
 - セッション管理の適切な実装&lt;br /&gt;
 &lt;br /&gt;
 ### データ保護&lt;br /&gt;
 &lt;br /&gt;
 - 機密情報はログに記録しない&lt;br /&gt;
 - 外部通信はHTTPS必須&lt;br /&gt;
 - 暗号化キーは環境変数で管理&lt;br /&gt;
 &lt;br /&gt;
 ### インジェクション対策&lt;br /&gt;
 &lt;br /&gt;
 良い例: プリペアドステートメント&lt;br /&gt;
 ```typescript&lt;br /&gt;
 async function getUserByEmail(email: string): Promise&amp;lt;User&amp;gt; {&lt;br /&gt;
    const query = &amp;#039;SELECT * FROM users WHERE email = $1&amp;#039;;&lt;br /&gt;
    const result = await db.query(query, [email]);&lt;br /&gt;
    return result.rows[0];&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 悪い例: SQLインジェクションの脆弱性&lt;br /&gt;
 ```typescript&lt;br /&gt;
 async function getUserByEmail(email: string): Promise&amp;lt;User&amp;gt; {&lt;br /&gt;
    const query = `SELECT * FROM users WHERE email = &amp;#039;${email}&amp;#039;`;&lt;br /&gt;
    const result = await db.query(query);&lt;br /&gt;
    return result.rows[0];&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 ### XSS対策&lt;br /&gt;
 &lt;br /&gt;
 良い例: 入力のサニタイズ&lt;br /&gt;
 ```typescript&lt;br /&gt;
 function displayUserInput(input: string): string {&lt;br /&gt;
    return escapeHtml(input);&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 悪い例: 未検証の入力をそのまま表示&lt;br /&gt;
 ```typescript&lt;br /&gt;
 function displayUserInput(input: string): string {&lt;br /&gt;
    return input;&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 ## Boundaries&lt;br /&gt;
 &lt;br /&gt;
 ### ✅ 常に実行すること&lt;br /&gt;
 &lt;br /&gt;
 - セキュリティ脆弱性の検出&lt;br /&gt;
 - 修正提案の作成&lt;br /&gt;
 - セキュリティログの記録&lt;br /&gt;
 &lt;br /&gt;
 ### 確認が必要な操作&lt;br /&gt;
 &lt;br /&gt;
 - セキュリティ設定の変更&lt;br /&gt;
 - 認証フローの変更&lt;br /&gt;
 &lt;br /&gt;
 ### 絶対禁止事項&lt;br /&gt;
 &lt;br /&gt;
 - セキュリティ設定の緩和&lt;br /&gt;
 - 認証情報のハードコード&lt;br /&gt;
 - 脆弱性のある依存関係の追加&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ベストプラクティス ==&lt;br /&gt;
2,500のリポジトリ分析から得られた &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; の記述のベストプラクティスを以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 明確なペルソナ定義 ====&lt;br /&gt;
エージェントの役割を具体的に定義する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* 良い例&lt;br /&gt;
** &amp;lt;u&amp;gt;テストエンジニア&amp;lt;/u&amp;gt;&lt;br /&gt;
** &amp;lt;u&amp;gt;セキュリティレビュー専門家&amp;lt;/u&amp;gt;&lt;br /&gt;
** &amp;lt;u&amp;gt;ドキュメント執筆者&amp;lt;/u&amp;gt;&lt;br /&gt;
* 悪い例&lt;br /&gt;
** &amp;lt;u&amp;gt;便利なアシスタント&amp;lt;/u&amp;gt;&lt;br /&gt;
** &amp;lt;u&amp;gt;コーディングヘルパー&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
ペルソナを明確にすることにより、エージェントの専門性を高め、適切な動作を促進できる。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 実装例優先 ====&lt;br /&gt;
抽象的な説明よりも、実装例を優先する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
3段落の説明文よりも、1つの実装例の方が効果的である。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* 良い例&lt;br /&gt;
*: TypeScriptのコード例を示す。&lt;br /&gt;
* 悪い例&lt;br /&gt;
*: &amp;lt;u&amp;gt;TypeScriptのベストプラクティスに従うこと&amp;lt;/u&amp;gt; という抽象的な指示&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 段階的な制限 ====&lt;br /&gt;
エージェントの動作範囲を3層構造で明確に定義する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* 常時実行可能&lt;br /&gt;
*: 事前確認なしで実行できる操作&lt;br /&gt;
* 事前確認&lt;br /&gt;
*: 実行前にユーザーの確認が必要な操作&lt;br /&gt;
* 禁止&lt;br /&gt;
*: いかなる場合も実行してはならない操作&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
この3層構造により、エージェントの動作範囲が明確になり、予期しない動作を防止できる。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== バージョン指定 ====&lt;br /&gt;
技術スタックのバージョンを明確に指定する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
バージョンを指定することにより、エージェントが適切なAPIと構文を使用できる。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* 良い例&lt;br /&gt;
*: &amp;lt;u&amp;gt;React 18 with TypeScript, Vite&amp;lt;/u&amp;gt;&lt;br /&gt;
* 悪い例&lt;br /&gt;
*: &amp;lt;u&amp;gt;React&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 反復的改善 ====&lt;br /&gt;
初期は最小限から始め、エージェントの誤りに応じて詳細化する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
# 最小限の &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; を作成する。&lt;br /&gt;
# エージェントの動作を観察する。&lt;br /&gt;
# 誤った動作があれば、指示を追加する。&lt;br /&gt;
# 繰り返し改善する。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
この反復的なアプローチにより、過度に詳細な指示を避け、実際に必要な指示のみを追加できる。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== コマンドを早期配置 ====&lt;br /&gt;
&amp;lt;code&amp;gt;npm test&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;npm run build&amp;lt;/code&amp;gt; 等のコマンドをファイル前半に配置する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
エージェントが頻繁に参照するため、ファイルの早期セクションに配置することにより、エージェントの応答速度が向上する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
推奨されるセクション順序を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
# Commands (コマンド)&lt;br /&gt;
# Testing (テスト)&lt;br /&gt;
# Project Structure (プロジェクト構造)&lt;br /&gt;
# Code Style (コードスタイル)&lt;br /&gt;
# Git Workflow (Gitワークフロー)&lt;br /&gt;
# Boundaries (境界設定)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 避けるべきパターン ==&lt;br /&gt;
&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; の記述で避けるべきパターンを以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 曖昧な役割定義 ====&lt;br /&gt;
曖昧な役割定義は避ける。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
良い例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;You are a test engineer specializing in Jest and pytest&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;You are a security reviewer focusing on OWASP Top 10&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;You are a documentation writer for developer guides&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
悪い例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;You are a helpful coding assistant&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;You are a friendly AI&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;You are a programming helper&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 実行可能なコマンドの省略 ====&lt;br /&gt;
ビルド、テスト、リントのコマンドを省略してはならない。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
良い例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;npm test&amp;lt;/code&amp;gt; - 全テスト実行&lt;br /&gt;
* &amp;lt;code&amp;gt;pytest -v&amp;lt;/code&amp;gt; - 詳細モードでPythonテストを実行&lt;br /&gt;
* &amp;lt;code&amp;gt;npm run lint --fix&amp;lt;/code&amp;gt; - リント実行と自動修正&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
悪い例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
* セクションにコマンドの記載がない&lt;br /&gt;
* &amp;lt;u&amp;gt;Run the tests&amp;lt;/u&amp;gt; という抽象的な指示のみ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== コード例なしの文章のみ説明 ====&lt;br /&gt;
抽象的な説明のみで、コード例がない記述は避ける。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
良い例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ## Code Style&lt;br /&gt;
 &lt;br /&gt;
 良い例:&lt;br /&gt;
 ```typescript&lt;br /&gt;
 async function getUserById(id: string): Promise&amp;lt;User&amp;gt; {&lt;br /&gt;
    try {&lt;br /&gt;
       const user = await userRepository.findById(id);&lt;br /&gt;
       return user;&lt;br /&gt;
    }&lt;br /&gt;
    catch (error) {&lt;br /&gt;
       logger.error(&amp;#039;Failed to get user&amp;#039;, error);&lt;br /&gt;
       throw new UserNotFoundError(`User ${id} not found`);&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &lt;br /&gt;
 悪い例:&lt;br /&gt;
 ```typescript&lt;br /&gt;
 async function GetUser(i: string): Promise&amp;lt;User&amp;gt; {&lt;br /&gt;
    const u = await repo.find(i);&lt;br /&gt;
    return u;&lt;br /&gt;
 }&lt;br /&gt;
 ```&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
悪い例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ## Code Style&lt;br /&gt;
 &lt;br /&gt;
 TypeScriptのベストプラクティスに従うこと。&lt;br /&gt;
 関数名はcamelCaseを使用すること。&lt;br /&gt;
 エラーハンドリングを実装すること。&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 禁止事項を明記しない設定 ====&lt;br /&gt;
エージェントの禁止事項を明記しないことは避ける。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
良い例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;md&amp;quot;&amp;gt;&lt;br /&gt;
 ## Boundaries&lt;br /&gt;
 &lt;br /&gt;
 ### 常に実行すること&lt;br /&gt;
 &lt;br /&gt;
 - テストファイルの作成と修正&lt;br /&gt;
 &lt;br /&gt;
 ### 確認が必要な操作&lt;br /&gt;
 &lt;br /&gt;
 - ソースコードの変更&lt;br /&gt;
 &lt;br /&gt;
 ### 絶対禁止事項&lt;br /&gt;
 &lt;br /&gt;
 - 失敗するテストの削除&lt;br /&gt;
 - 本番環境へのデプロイ&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
悪い例を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
* Boundariesセクションが無い。&lt;br /&gt;
* &amp;lt;u&amp;gt;常に実行すること&amp;lt;/u&amp;gt; のみを記載し、&amp;lt;u&amp;gt;絶対禁止事項&amp;lt;/u&amp;gt; を記載しない。&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Claude Codeとの比較 ==&lt;br /&gt;
下表に、&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; と &amp;lt;u&amp;gt;CLAUDE.md&amp;lt;/u&amp;gt; の比較を示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ AGENTS.md と CLAUDE.md の比較&lt;br /&gt;
! 項目 !! AGENTS.md !! CLAUDE.md&lt;br /&gt;
|-&lt;br /&gt;
| ファイル名 || AGENTS.md || CLAUDE.md&lt;br /&gt;
|-&lt;br /&gt;
| 配置場所 || 任意のディレクトリ&amp;lt;br&amp;gt;(リポジトリルートまたはサブディレクトリ) || 任意のディレクトリ&amp;lt;br&amp;gt;(リポジトリルートまたはサブディレクトリ)&lt;br /&gt;
|-&lt;br /&gt;
| ネスト対応 || 対応&amp;lt;br&amp;gt;(最も近いファイル優先) || 対応&amp;lt;br&amp;gt;(親と自動マージ)&lt;br /&gt;
|-&lt;br /&gt;
| フォーマット || 標準Markdown&amp;lt;br&amp;gt;(YAMLフロントマター推奨) || 標準Markdown&lt;br /&gt;
|-&lt;br /&gt;
| 6コア領域 || 推奨構造として定義&amp;lt;br&amp;gt;(Commands, Testing, Project Structure, Code Style, Git Workflow, Boundaries) || 特に定義なし&lt;br /&gt;
|-&lt;br /&gt;
| 複数エージェント対応 || 対応&amp;lt;br&amp;gt;(.github/agents/*.mdで定義可能) || 非対応&lt;br /&gt;
|-&lt;br /&gt;
| 標準化団体 || Linux Foundation&amp;lt;br&amp;gt;(Agentic AI Foundation) || なし&lt;br /&gt;
|-&lt;br /&gt;
| 他ツール互換性 || 60以上のツール&amp;lt;br&amp;gt;(Cursor、Devin、Google Jules、OpenAI Codex等) || Claude Code専用&lt;br /&gt;
|-&lt;br /&gt;
| 優先順位 || 最も近いAGENTS.mdが優先 || 親のCLAUDE.mdと自動マージ&lt;br /&gt;
|-&lt;br /&gt;
| YAMLフロントマター || 推奨 (name, description等) || 特に定義なし&lt;br /&gt;
|-&lt;br /&gt;
| 継承メカニズム || 親ディレクトリの指示と併用 || 親ディレクトリのCLAUDE.mdと自動マージ&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
推奨される使い分けを以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt;&lt;br /&gt;
*: 複数のAIツールを使用するプロジェクト、標準化されたフォーマットを重視するプロジェクト&lt;br /&gt;
* &amp;lt;u&amp;gt;CLAUDE.md&amp;lt;/u&amp;gt;&lt;br /&gt;
*: Claude Code専用のプロジェクト、Claude Codeの独自機能を活用するプロジェクト&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
両方のファイルを併用することも可能である。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
併用時の動作を以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
* GitHub Copilot&lt;br /&gt;
*: &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; を優先的に使用&lt;br /&gt;
* Claude Code&lt;br /&gt;
*: &amp;lt;u&amp;gt;CLAUDE.md&amp;lt;/u&amp;gt; を優先的に使用、&amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; も参照可能&lt;br /&gt;
* Cursor&lt;br /&gt;
*: &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; を優先的に使用&lt;br /&gt;
* Devin&lt;br /&gt;
*: &amp;lt;u&amp;gt;AGENTS.md&amp;lt;/u&amp;gt; を優先的に使用&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 関連項目 ==&lt;br /&gt;
* [[GitHub Copilotの設定 - カスタム指示]]&lt;br /&gt;
*: リポジトリ全体に適用される汎用ガイダンス&lt;br /&gt;
* [[GitHub Copilotの設定 - パス固有カスタム指示]]&lt;br /&gt;
*: パス固有の指示ファイル (.github/instructions/*.instructions.md)&lt;br /&gt;
* [[GitHub Copilotの設定 - カスタムエージェント]]&lt;br /&gt;
*: カスタムエージェントの作成方法&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki&lt;br /&gt;
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,GitHub,Copilot,AGENTS.md,AI,Configuration,Settings,Programming,Development,SUSE,Linux,Agentic AI Foundation,Claude Code,CLAUDE.md,Cursor,Devin&lt;br /&gt;
|description={{PAGENAME}} - AIコーディングエージェント向けのオープンフォーマットAGENTS.mdに関する包括的なガイド&lt;br /&gt;
|image=/resources/assets/MochiuLogo_Single_Blue.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
[[カテゴリ:設定]]&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
</feed>