Gemini CLIにおけるコンテキストMarkdownファイルの利用:Claude Codeとの比較
エグゼクティブサマリー
本報告書は、ユーザーからのGemini CLIにおけるコンテキストMarkdownファイルの存在と、それがClaude CodeのClaude.mdに類似しているかという問い合わせに対し、詳細な分析を提供します。結論として、Gemini CLIは、GEMINI.mdというMarkdownファイルを介して、Claude CodeのClaude.mdと同様のプロジェクト固有のコンテキストおよび指示提供メカニズムを提供しています。さらに、GEMINI_SYSTEM_MDという環境変数を通じて、より強力なシステムプロンプトの上書き機能も備えています。
両AIコーディングアシスタントは、Markdownファイルを「コントロールパネル」として活用し、汎用的な大規模言語モデル(LLM)と特定のコードベースの要件との間のギャップを埋める設計思想を共有しています。Claude.mdが指示をプロンプトの先頭に追加する一方で、GEMINI.mdも階層的な読み込みシステムで同様の目的を果たします。特にGEMINI_SYSTEM_MDは、デフォルトのシステムプロンプトを完全に置き換えることで、より深いレベルのカスタマイズを可能にします。しかし、これらのコンテキストファイルの使用は、開発者が十分に認識すべきセキュリティ上の重要な考慮事項を伴います。
1. Claude.mdの理解:Claude Codeのコントロールパネル
1.1. Claude.mdの目的と主要機能
Claude.mdは、Claude Codeがユーザーとの対話を開始する前に、プロジェクト固有のコンテキストを自動的に取り込むための特別なMarkdownファイルです。これはAIコーダーにとっての「コントロールパネル」または「事前ブリーフィング」として機能します。その主要な機能は、コードベースをコメントで煩雑にすることなく、「制約を設定し、プロジェクト構造を確立し、AIにスタック内での操作方法を教える」ことです。
例:「非常に意見の強いプロンプト」「AI憲法」と呼ばれるほど、Claude.mdはAIの振る舞いに深く関与しています。
1.2. Claude.mdの主要な内容とベストプラクティス
Claude.mdには、以下のような情報を簡潔かつ明確に記載することが推奨されます:
- 技術スタックとバージョン
- ディレクトリ構造とその意味
- 使用コマンド(例:npm run build)
- コーディング規約
- リポジトリエチケット
- 「触れてはならない領域」
内容は全プロンプトの先頭に挿入され、トークンを消費するため、過剰な冗長性は避け、「簡潔かつ意図的」に記述することが重要です。
1.3. Claude.mdファイルの階層的読み込み
-
~/.claude/CLAUDE.md
: 全体グローバル設定 -
your-repo/CLAUDE.md
: チーム共有用(Gitで管理) -
your-repo/feature/CLAUDE.md
: 機能別 -
CLAUDE.local.md
: 個人用(gitignore対象)
1.4. ドキュメンテーションのニュアンス
公式情報が不足している中、コミュニティドキュメント(ブログ、Redditなど)が運用方法やベストプラクティスの中心となっている。
2. Gemini CLIのコンテキストへのアプローチ
2.1. GEMINI.mdの導入
GoogleのGemini CLIでも、GEMINI.md
という同様の機能を持つファイルが使用され、プロンプトの一部として読み込まれます。
特に、README.mdも文脈理解の一部として読み込まれる設計が特徴。
2.2. 階層的読み込みと/memory show
-
~/.gemini/GEMINI.md
: グローバル -
project/GEMINI.md
: プロジェクトルート -
subdir/GEMINI.md
: 機能別 -
/memory show
: 現在使用されているコンテキスト確認
2.3. GEMINI_SYSTEM_MDの活用
export GEMINI_SYSTEM_MD="/path/to/your/system_prompt.md"
これにより、システムプロンプト全体を上書き可能。Claude.mdではここまでの置き換え機能は明示されていません。
2.4. コンテキストのモジュール化:@file.md
構文
# コンポーネントルール
@./docs/frontend-guidelines.md
これにより巨大なGEMINI.mdを分割・整理可能です。
2.5. 公式 vs コミュニティ
Gemini CLIの公式ドキュメントは機能の概要にとどまる一方で、GitHub Issue、Reddit、セキュリティレポートなどが詳細な使い方を提供しています。
3. Claude.md vs. GEMINI.md 比較表
機能 | Claude.md | GEMINI.md |
---|---|---|
ファイル名 | CLAUDE.md / CLAUDE.local.md | GEMINI.md / README.md |
自動読み込み | あり | あり |
階層的読み込み | あり | あり |
モジュール化 | 暗黙的に推奨 | 明示的に@file.md |
システム上書き | 明示なし | GEMINI_SYSTEM_MD で可能 |
コンテキスト確認 | 情報なし |
/memory show あり |
セキュリティ注意 | 一般的なLLM配慮 | v<0.1.14に脆弱性あり |
4. GEMINI.md活用Tips
- 簡潔に保つ:冗長な文は避け、箇条書き推奨。
-
モジュール化:
@file.md
構文でセクションごとに分割。 - 優先度高い指示を冒頭に:AIは後半を軽視する傾向。
-
常に
/memory show
で確認。
5. セキュリティ考慮事項
- v0.1.14未満にコード実行脆弱性あり。
- 信頼できないGEMINI.mdを読み込ませないこと。
- 実行権限設定と、サンドボックス(Docker等)利用を検討。
6. 結論と推奨
6.1. 両ツールの共通点
- Markdownファイルを「コントロールパネル」として使用。
- チーム開発、プロジェクト規約の自動化が可能。
6.2. 最終推奨事項
- Claude.md/GEMINI.mdを積極活用:AIの一貫性と精度を大幅に向上。
- 簡潔+分割:コンテキスト腐敗を防ぐ。
- セキュリティ意識:CLIのアップデートとファイル精査を忘れずに。
- ドキュメントは公式+コミュニティ両方チェック。