AIの「記憶」をデザインする:Gemini CLI における GEMINI.md 活用術
Gemini CLI を使って開発を進めていると、「さっきも同じ指摘をしたのに」「プロジェクトの規約を無視して別のライブラリを提案された」といった手戻りが発生することがあります。これらの問題の根本的な原因は、AIがプロジェクト特有の「文脈(コンテキスト)」を維持できていないことにあります。
AIを活用した開発フローを最適化するためには、チャットのたびに指示を繰り返すのではなく、AIが参照するコンテキストを Markdown ファイルとして定義しておくことが重要です。今回は、Gemini CLI の機能を最大限に引き出すための GEMINI.md 活用術を解説します。
プロジェクトの「基本ルール」を定義する:プロジェクト固有の GEMINI.md
プロジェクトのルートディレクトリに配置する GEMINI.md は、リポジトリにコミットしてチーム全体で共有するファイルです。ここには、プロジェクトの「絶対に守るべきルール」を記述します。
具体的な記載例
# プロジェクト規約
## 技術スタック
- React 18 / TypeScript
- UI ライブラリ: MUI (Material UI) v6
- スタイリング: CSS Modules (*.module.css) を使用
## 設計原則
- 完全ローカル処理: サーバーサイドAPIは使用せず、全ての処理をブラウザ内で完結させること。
- 型安全性: `any` 型の使用を禁止し、インターフェースを定義すること。
## ディレクトリ構造
- ページコンポーネント: `src/pages/`
- 共通コンポーネント: `src/components/`
このファイルがあることで、Gemini CLI はセッション開始時に自動的にプロジェクトの特性を反映し、一貫性のあるコードを提案できるようになります。
GEMINI.md は長すぎると AI のトークンを圧迫します。核心となるルールのみを記載し、詳細な仕様書は別のファイルに分けてリンク(参照)させるのがおすすめです。
プロジェクト全体の標準スタイルを定義する:グローバルな GEMINI.md
特定のプロジェクトに閉じることなく、自分があらゆる開発において共通で適用したい標準スタイルや仕事の進め方は、ホームディレクトリの ~/.gemini/GEMINI.md に記述します。
具体的な記載例
# 開発標準スタイル
- 解説は常に日本語で行い、専門用語はなるべく避けて平易な言葉で説明してください。
- 実装の提案をする前に、まずは設計の選択肢を複数提示し、メリット・デメリットを比較してください。
- コード中のコメントや、JSDoc の記述には常に日本語を使用してください。
- 「なぜその実装を選んだのか」という技術的な根拠を必ず添えて回答してください。
メリット
新規プロジェクトであっても、Gemini CLI を起動した瞬間から「いつもの開発基準」が適用された状態でスムーズに作業を開始できます。
AIが何を覚えているかを確認・更新する:/memory コマンド
AI の記憶をメンテナンスするために、Gemini CLI の対話画面(チャットインターフェース)から直接実行できる便利なコマンドが用意されています。
/memory show: 現在 AI が参照しているすべてのメモリ(グローバル、プロジェクト、サブディレクトリ単位の合算)を一覧表示します。AI にどのような指示が伝わっているかを確認するのに最適です。/memory list: 現在読み込まれているGEMINI.mdファイルのパスを一覧表示します。/memory reload: Markdownファイルを自分で編集した後、その変更を現在のセッションに即座に反映させたい場合に、CLI内で実行します。
AI に新しいことを覚えさせたい場合は、適切な GEMINI.md をエディタで開き、指示を書き加えてから、Gemini CLI 内で /memory reload を実行します。
まずは /init から始めよう
何から始めればよいかわからない方は、ま ずは Gemini CLI の対話画面で /init コマンドを実行してみてください。
AIが現在のプロジェクト構成を分析し、最適な GEMINI.md の雛形を自動で作成してくれます。生成された土台をもとに、現場のルールや固有の制約を少しずつ付け足していくことで、AIの回答精度と一貫性を向上させることができます。
まずはこのコマンドを使って、プロジェクトの土台作りから着手することをお勧めします。