はじめに

GitHub Copilot coding agentを使っていて、「ビルドコマンドを毎回調べ直すのが非効率」「プロジェクト固有のテスト方法を自動で理解してほしい」と感じたことはないでしょうか。AGENTS.mdは、こうしたコーディングエージェント向けの指示を一箇所にまとめるためのオープンフォーマットです。

AGENTS.mdはOpenAI、Google、GitHubなど複数の組織が共同で策定したフォーマットであり、GitHub Copilotだけでなく、Cursor、Gemini CLI、Codexなど60,000以上のオープンソースプロジェクトで採用されています。本記事では、AGENTS.mdの概要からGitHub Copilotでの活用方法、実践的な記述例まで詳しく解説します。

この記事を読むことで、以下のことができるようになります:

  • AGENTS.mdの目的と他の指示ファイルとの違いを理解する
  • GitHub Copilot coding agentでAGENTS.mdを活用する方法を習得する
  • モノレポや大規模プロジェクトでの効果的な配置戦略を学ぶ
  • 実践的なテンプレートを参考に、自分のプロジェクトに最適な設定を行う

前提条件

AGENTS.mdをGitHub Copilotで活用するには、以下の環境が必要です。

項目 要件
GitHub Copilotサブスクリプション Copilot Pro / Pro+ / Business / Enterprise
VS Code バージョン1.99以降(Agent mode対応)
GitHub Copilot拡張機能 最新版をインストール
Copilot coding agent利用 GitHub.com上でエージェントを有効化

GitHub Copilot coding agentはGitHub.comのWeb UI上で動作するエージェント機能です。VS CodeのAgent modeとは異なり、Issue起点で自動的にPull Requestを作成する高度な機能を提供します。

AGENTS.mdとは

AGENTS.mdは、コーディングエージェント専用の指示ファイルフォーマットです。READMEが人間向けのドキュメントであるのに対し、AGENTS.mdはAIエージェントが効率的に作業するために必要な情報をまとめた「エージェント版README」として位置づけられます。

AGENTS.mdの特徴

AGENTS.mdには以下の特徴があります:

  • 標準Markdownで記述でき、必須フィールドがない
  • 複数のAIツールで共通して使用できるオープンフォーマット
  • リポジトリ内の任意の場所に配置可能
  • ネストして配置することでディレクトリ単位の指示が可能

AGENTS.mdが解決する課題

AIコーディングエージェントを使用する際、以下のような課題が頻繁に発生します:

  • エージェントがビルドコマンドを試行錯誤で探し、時間を浪費する
  • テストの実行順序や依存関係を理解できず、CIが失敗する
  • コーディング規約を把握していないため、レビューで指摘が発生する
  • READMEに書かれた情報だけでは、エージェントが作業を完遂できない

AGENTS.mdにこれらの情報を明記しておくことで、エージェントは探索的な試行錯誤を最小限に抑え、効率的にタスクを完了できます。

AGENTS.mdとcopilot-instructions.mdの違い

GitHub Copilotには複数の指示ファイル形式があります。それぞれの特徴を理解して適切に使い分けましょう。

ファイル 配置場所 主な用途 対象ツール
AGENTS.md リポジトリルート(任意の場所) ビルド・テスト・開発環境の情報 複数のAIツール共通
copilot-instructions.md .github/ コーディング規約・スタイルガイド GitHub Copilot専用
*.instructions.md .github/instructions/ パス別の詳細ルール GitHub Copilot専用
CLAUDE.md リポジトリルート Claude向け指示 Claude Code
GEMINI.md リポジトリルート Gemini向け指示 Gemini CLI

使い分けの指針

AGENTS.mdは「プロジェクトを理解するための基礎情報」、copilot-instructions.mdは「コード生成時のルール」と捉えると使い分けやすくなります。

AGENTS.mdに記述すべき内容:

  • 開発環境のセットアップ手順
  • ビルドコマンドとテストコマンド
  • プロジェクト構成と主要ディレクトリの説明
  • CIパイプラインの構成
  • セキュリティ上の注意事項

copilot-instructions.mdに記述すべき内容:

  • コーディングスタイル(命名規則、インデントなど)
  • 使用するフレームワークの規約
  • エラーハンドリングのパターン
  • コメントやログの書き方

両方を併用することで、エージェントは「どうやって動かすか」と「どう書くべきか」の両方を理解できます。GitHub Copilot coding agentは、リポジトリ内に複数の指示ファイルが存在する場合、それらを統合して参照します。

AGENTS.mdの作成方法

AGENTS.mdはシンプルなMarkdownファイルです。以下の手順で作成できます。

基本的な作成手順

  1. リポジトリのルートにAGENTS.mdファイルを作成する
  2. プロジェクトに適したセクションを追加する
  3. コミットしてリポジトリに反映する
1
2
3
4
5
6
7
8
# ディレクトリ構造の例
your-project/
├── AGENTS.md           # エージェント向け指示ファイル
├── .github/
│   └── copilot-instructions.md  # Copilot専用のコーディング規約
├── src/
├── tests/
└── README.md

推奨セクション構成

AGENTS.mdには決まったフォーマットはありませんが、以下のセクションを含めることを推奨します。

Project Overview(プロジェクト概要)

プロジェクトの目的と主要な技術スタックを簡潔に説明します。

1
2
3
4
5
6
7
# AGENTS.md

## Project Overview

このリポジトリはTypeScriptで構築されたWebアプリケーションです。
フロントエンドにNext.js 15、バックエンドにNode.js + Honoを使用しています。
データベースはPostgreSQLで、ORMとしてPrismaを採用しています。

Setup Commands(セットアップコマンド)

開発環境の構築に必要なコマンドを明記します。

1
2
3
4
5
6
## Setup Commands

- 依存関係のインストール: `pnpm install`
- データベースのマイグレーション: `pnpm prisma migrate dev`
- 開発サーバーの起動: `pnpm dev`
- 本番ビルド: `pnpm build`

Testing Instructions(テスト手順)

テストの実行方法と注意事項を記載します。

1
2
3
4
5
6
7
8
9
## Testing Instructions

- 全テストの実行: `pnpm test`
- 特定のテストのみ実行: `pnpm test -- --grep "テスト名"`
- カバレッジ付き実行: `pnpm test:coverage`
- E2Eテスト: `pnpm test:e2e`(要: Docker環境)

テストを追加または変更した場合は、必ず `pnpm lint` でコードスタイルを確認してください。
コミット前に全テストがパスすることを確認してください。

Project Structure(プロジェクト構成)

主要なディレクトリとファイルの役割を説明します。

1
2
3
4
5
6
7
8
## Project Structure

- `src/app/` - Next.jsのApp Routerページコンポーネント
- `src/components/` - 再利用可能なUIコンポーネント
- `src/lib/` - ユーティリティ関数とヘルパー
- `src/server/` - バックエンドAPIハンドラ
- `prisma/` - データベーススキーマとマイグレーション
- `tests/` - ユニットテストとE2Eテスト

CI/CD Information(CI/CD情報)

CIパイプラインの構成と、エージェントが意識すべきチェック項目を記載します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## CI/CD Information

GitHub Actionsで以下のチェックが実行されます:

1. `pnpm lint` - ESLintとPrettierによるコードスタイルチェック
2. `pnpm type-check` - TypeScriptの型チェック
3. `pnpm test` - Vitestによるユニットテスト
4. `pnpm build` - 本番ビルドの成功確認

Pull Requestを作成する前に、これらすべてのチェックがローカルで通過することを確認してください。

実践的なAGENTS.mdテンプレート

以下に、一般的なプロジェクトで使用できるAGENTS.mdのテンプレートを紹介します。

Webアプリケーション向けテンプレート

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# AGENTS.md

## Project Overview

このリポジトリはNext.js 15とTypeScriptで構築されたWebアプリケーションです。
パッケージマネージャーにはpnpmを使用しています。

## Setup Commands

- 依存関係のインストール: `pnpm install`
- 開発サーバーの起動: `pnpm dev`(http://localhost:3000)
- 本番ビルド: `pnpm build`
- 本番サーバーの起動: `pnpm start`

## Testing Instructions

- ユニットテスト: `pnpm test`
- ウォッチモード: `pnpm test:watch`
- カバレッジ: `pnpm test:coverage`

コードを変更した場合は、関連するテストも追加または更新してください。

## Code Style

- TypeScript strict modeを有効化
- シングルクォートを使用
- セミコロンなし
- 関数型プログラミングパターンを推奨

## Project Structure

- `src/app/` - ページコンポーネント(App Router)
- `src/components/` - 再利用可能なUIコンポーネント
- `src/lib/` - ユーティリティ関数
- `src/types/` - 型定義ファイル

## PR Guidelines

- PRタイトルは `feat:`, `fix:`, `docs:` などのConventional Commitsプレフィックスを使用
- コミット前に `pnpm lint``pnpm test` を実行

モノレポ向けテンプレート

モノレポでは、ルートとサブパッケージにそれぞれAGENTS.mdを配置できます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# AGENTS.md(ルート)

## Monorepo Overview

このリポジトリはTurborepoで管理されたモノレポです。

## Package Navigation

- パッケージに移動: `pnpm dlx turbo run where <package_name>`
- 特定パッケージの依存関係インストール: `pnpm install --filter <package_name>`

## Testing

- 全パッケージのテスト: `pnpm turbo run test`
- 特定パッケージのテスト: `pnpm turbo run test --filter <package_name>`

## Packages

- `packages/ui` - 共有UIコンポーネントライブラリ
- `packages/config` - 共有設定ファイル
- `apps/web` - Webアプリケーション
- `apps/api` - APIサーバー

各パッケージの詳細は、パッケージディレクトリ内のAGENTS.mdを参照してください。

サブパッケージのAGENTS.md例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# AGENTS.md(packages/ui)

## Package Overview

このパッケージは共有UIコンポーネントライブラリです。
React 18とTailwind CSSを使用しています。

## Development

- Storybookの起動: `pnpm storybook`
- ビルド: `pnpm build`
- テスト: `pnpm test`

## Component Guidelines

- 各コンポーネントは独立したディレクトリに配置
- Storybookストーリーを必ず追加
- PropsはTypeScriptのinterfaceで型定義

GitHub Copilot coding agentでのAGENTS.md活用

GitHub Copilot coding agentは、Issueをアサインすることで自動的にコード変更を行い、Pull Requestを作成する機能です。AGENTS.mdを適切に設定することで、エージェントの作業精度が向上します。

AGENTS.mdの読み込み動作

GitHub Copilot coding agentは、作業対象のファイルに最も近いAGENTS.mdを優先的に参照します。ディレクトリ階層を遡って探索し、最初に見つかったAGENTS.mdの内容を使用します。

1
2
3
4
5
6
7
8
your-project/
├── AGENTS.md                    # ルートの指示
├── packages/
│   ├── ui/
│   │   ├── AGENTS.md            # packages/ui配下で優先される
│   │   └── src/
│   └── api/
│       └── src/                 # packages/api配下ではルートのAGENTS.mdが使用される

copilot-instructions.mdの自動生成

GitHub Copilot coding agentに、リポジトリのcopilot-instructions.mdを自動生成させることもできます。GitHub.comのCopilotエージェントタブで以下のようなプロンプトを送信します。

1
2
3
このリポジトリを分析して、.github/copilot-instructions.mdファイルを作成してください。
ビルド手順、テスト方法、コーディング規約を調査し、エージェントが効率的に作業できる
指示ファイルを生成してください。

これにより、エージェントがリポジトリを探索し、適切なcopilot-instructions.mdを生成してPull Requestを作成します。

優先順位と競合時の動作

複数の指示ファイルが存在する場合、以下の優先順位で適用されます:

  1. ユーザーがチャットで明示的に指示した内容(最優先)
  2. 作業対象ファイルに最も近いAGENTS.md
  3. ルートディレクトリのAGENTS.md
  4. .github/copilot-instructions.md
  5. 組織レベルの設定(最低優先)

ただし、これらは競合しない限り統合されて使用されます。明示的に矛盾する指示がある場合のみ、優先順位に従って解決されます。

効果的なAGENTS.mdを書くためのベストプラクティス

具体的なコマンドを明記する

曖昧な説明ではなく、実行可能なコマンドを具体的に記載します。

悪い例:

1
2
## Testing
テストを実行してください。

良い例:

1
2
3
4
## Testing
- ユニットテスト: `pnpm test`
- 特定のファイルのみ: `pnpm test src/utils/format.test.ts`
- カバレッジ付き: `pnpm test -- --coverage`

前提条件とエラー対処を記載する

環境構築時に発生しやすいエラーとその対処法を明記します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
## Prerequisites

- Node.js 20以上が必要です
- pnpmは `corepack enable` で有効化してください

## Common Issues

### `pnpm install` が失敗する場合
Node.jsのバージョンを確認してください。`nvm use 20` でバージョンを切り替えられます。

### テストがタイムアウトする場合
Dockerが起動していることを確認してください。E2Eテストはデータベースコンテナを使用します。

適切な長さを保つ

AGENTS.mdは2ページ程度を目安にします。長すぎるとエージェントのコンテキストウィンドウを圧迫し、重要な情報が埋もれる可能性があります。

定期的に更新する

AGENTS.mdはリビングドキュメントとして扱い、プロジェクトの変更に合わせて更新します。ビルドコマンドやディレクトリ構成が変わった際は、必ず反映してください。

サポートされているAIツール

AGENTS.mdは以下のAIツールで共通して使用できます:

  • GitHub Copilot(VS Code、JetBrains、GitHub.com)
  • OpenAI Codex
  • Cursor
  • Google Gemini CLI
  • Zed
  • Warp
  • RooCode
  • goose
  • Factory
  • UiPath Autopilot

これらのツール間でAGENTS.mdを共有することで、使用するツールを切り替えても一貫した開発体験を維持できます。

まとめ

AGENTS.mdは、コーディングエージェント向けの指示を一元管理するためのオープンフォーマットです。READMEが人間向けの説明であるのに対し、AGENTS.mdはAIエージェントが効率的に作業するための「エージェント版README」として機能します。

GitHub Copilot coding agentを活用する際は、AGENTS.mdにビルド手順やテスト方法を明記し、copilot-instructions.mdでコーディング規約を補完することで、エージェントの作業精度を大幅に向上させることができます。60,000以上のオープンソースプロジェクトで採用されているこのフォーマットを活用し、AIとの協働開発を効率化しましょう。

参考リンク