CLAUDE.md・AGENTS.md・GEMINI.md の違いと共通化テクニック:3 ツール併用でも二重管理しない

全般 公開:

Claude Code の CLAUDE.md、Codex の AGENTS.md、Gemini CLI の GEMINI.md の読み込み場所と仕組みの違いを比較し、複数ツールを併用するときに 1 つのファイルで内容を共有する方法(インポート、シンボリックリンク、contextFileName 設定)を解説します。

検証日 2026年9月7日 仕様変更が早い分野です。最新の公式ドキュメントも併せてご確認ください。
目次
  1. 3 つのファイルの比較
  2. 方法 1:AGENTS.md を原本にして CLAUDE.md からインポートする
  3. 方法 2:Gemini CLI に AGENTS.md を読ませる
  4. 方法 3:シンボリックリンク
  5. 推奨構成
  6. ツール固有に書くべき内容の例
  7. サブディレクトリでの運用
  8. まとめ

Claude Code、Codex、Gemini CLI を併用すると、それぞれが読むコンテキストファイル(CLAUDE.mdAGENTS.mdGEMINI.md)を用意することになります。同じ内容を 3 か所に書くと、更新のたびにずれていきます。

この記事では、3 つのファイルの仕組みの違いを整理したうえで、1 つの原本から 3 つのツールに読ませる構成を紹介します。

KEY POINT

この記事で分かること

  • 3 つのファイルの配置場所、階層、読み込みの仕組みの違い
  • 共通化の 3 つの方法(インポート、シンボリックリンク、ファイル名設定)と組み合わせ
  • ツール固有の指示をどこに書くか

3 つのファイルの比較

項目CLAUDE.md(Claude Code)AGENTS.md(Codex ほか)GEMINI.md(Gemini CLI)
ユーザー共通~/.claude/CLAUDE.md~/.codex/AGENTS.md~/.gemini/GEMINI.md
プロジェクトルートの CLAUDE.md / .claude/CLAUDE.mdルートの AGENTS.mdルートの GEMINI.md
個人用(Git 管理外)CLAUDE.local.md-(.gitignore で運用)-(.gitignore で運用)
サブディレクトリ対応(該当ディレクトリ作業時に読み込み)対応(深い階層が優先)対応
他ファイルの取り込み@path インポート記法-(パスを書いて読ませる)-(パスを書いて読ませる)
ファイル名の変更不可不可settings.jsoncontextFileName で可
雛形生成/init/init/init
読み込み確認/memory/status/memory show

役割はどれも「エージェントへの前提説明」で、書くべき内容(コマンド、規約、変更禁止、進め方)も同じです。違いは読み込みの仕組みだけなので、共通化の余地が大きいです。

方法 1:AGENTS.md を原本にして CLAUDE.md からインポートする

AGENTS.md は複数ツールが採用する共通形式なので、原本に向いています。Claude Code は @ インポート記法で他のファイルを取り込めます。

<!-- CLAUDE.md -->
@AGENTS.md

## Claude Code 固有
- 3 ファイル以上の変更は Plan Mode で方針を提示してから着手する
- レビューは code-reviewer サブエージェントを使う

これで、Claude Code は AGENTS.md の内容と固有の指示の両方を読みます。

方法 2:Gemini CLI に AGENTS.md を読ませる

Gemini CLI は、読み込むファイル名を設定で変更できます。

{
  "contextFileName": ["AGENTS.md", "GEMINI.md"]
}

~/.gemini/settings.json(ユーザー)または .gemini/settings.json(プロジェクト)に書きます。配列で複数指定できる場合は、AGENTS.md を共通、GEMINI.md を固有の指示として両方読ませます。単一の文字列しか受け付けないバージョンでは "contextFileName": "AGENTS.md" とし、固有の指示は AGENTS.md 内に「Gemini CLI 向け」のセクションとして書きます。

方法 3:シンボリックリンク

インポートや設定変更ができない場合の最後の手段です。

ln -s AGENTS.md GEMINI.md

Git はシンボリックリンクを管理できますが、Windows 環境のメンバーがいると扱いに差が出ます。方法 1・2 で済むなら、そちらを優先してください。

ハードコピーのスクリプト同期は避ける

「コミット前に AGENTS.md を CLAUDE.md にコピーするスクリプト」のような同期方式は、コピーを忘れたときにずれが生じます。ツール側の仕組み(インポート、ファイル名設定)で参照させる方が確実です。

推奨構成

リポジトリ/
├── AGENTS.md            # 原本。共通のコマンド・規約・変更禁止・進め方
├── CLAUDE.md            # @AGENTS.md + Claude Code 固有
├── .gemini/
│   └── settings.json    # contextFileName で AGENTS.md を指定(+ 固有は GEMINI.md)
├── GEMINI.md            # Gemini CLI 固有(任意)
└── docs/
    └── architecture.md  # 長い文書は分離し、原本からパスで参照

原本の AGENTS.md には、ツール名に依存しない書き方をします。

# プロジェクト概要
(1〜2 行)

## コマンド
- テスト: `pnpm test`
- Lint / 型チェック: `pnpm lint && pnpm typecheck`

## 規約
- ...

## 変更禁止
- ...

## 作業の進め方
- 変更前に関連テストを読む
- 複数ファイルにまたがる変更は方針を先に提示する
- テストが通らない状態で完了報告をしない

## 参照
- アーキテクチャ: docs/architecture.md

「Plan Mode を使う」「サブエージェントを使う」のようなツール固有の機能名は、各ツールのファイル側に書きます。

ツール固有に書くべき内容の例

ツール固有の指示の例
Claude CodePlan Mode の利用条件、使うサブエージェント名、スキル名
Codex推奨プロファイル名、codex exec での実行条件
Gemini CLIチェックポイント機能の利用、/memory add で記憶させる内容

各ファイルの書き方の詳細は、CLAUDE.md の書き方Codex CLI のセットアップと AGENTS.md の書き方Gemini CLI のインストールと GEMINI.md の書き方 を参照してください。

サブディレクトリでの運用

3 ツールともサブディレクトリのファイルに対応しています。モノレポでは、ルートに全体方針、各パッケージに固有ルールを置きます。このときも原本は各階層の AGENTS.md にし、CLAUDE.md@AGENTS.md の 1 行だけにしておくと管理が楽です。

まとめ

  • 3 つのファイルは役割も書く内容も同じ。違いは読み込みの仕組みだけ
  • AGENTS.md を原本にし、CLAUDE.md は @AGENTS.md でインポート、Gemini CLI は contextFileName で読ませる
  • ツール固有の機能名(Plan Mode、プロファイル名など)は各ツールのファイルに書く
  • コピーによる同期は避け、ツール側の参照の仕組みを使う

よくある質問

3 つのファイルを全部用意しないといけませんか?
併用するツールの分だけ必要です。ただし、共通の内容を AGENTS.md に集約し、CLAUDE.md からインポート、Gemini CLI は contextFileName で AGENTS.md を読ませれば、実質 1 ファイルで管理できます。
AGENTS.md は Codex 以外でも読まれますか?
AGENTS.md は複数の AI コーディングツールが採用する共通形式です。Gemini CLI も設定で読ませることができます。Claude Code は CLAUDE.md からのインポートで取り込みます。
内容に違いを持たせたい部分はどうしますか?
共通部分を 1 ファイルにまとめ、ツール固有の指示だけを各ファイルに直接書きます。

参考にした一次情報

この記事は公式ドキュメントを基に AI が下書きを作成し、運営者が内容を確認して公開しています。誤りを見つけた場合はお問い合わせからお知らせください。