「Claude Code や GitHub Copilot は使っているが、Google のエコシステムで同じことができるツールも試してみたい」——そんなニーズに応えるのが Gemini CLI です。2025年6月に Google がリリースしたオープンソースの CLI 型 AI エージェントで、Node.js さえあれば1コマンドで起動でき、個人の Google アカウントで無料(1日1,000リクエスト・毎分60リクエスト)から使い始められます。本記事では、正確なセットアップ手順から、コーディング支援・MCP 連携・CI/CD への組み込みまで、実務で役立つ活用方法を体系的に解説します。
Gemini CLI とは:Claude Code との比較で理解する
Gemini CLI は Google が提供するオープンソース(Apache 2.0)の CLI 型 AI エージェントです。ターミナルから自然言語で指示を出すと、ReAct(Reason and Act)ループと呼ばれる仕組みで「考える → ツールを使う → 結果を確認する」を繰り返しながらタスクを完遂します。単なるチャットインターフェースではなく、ファイルの読み書き・コマンド実行・Web 検索・MCP サーバー連携まで行えるエージェント型のツールです。
Claude Code と Gemini CLI は同じ「CLI 型 AI エージェント」カテゴリのツールで、基本的な設計思想は共通しています。最大の違いは利用する AI モデル(Gemini vs Claude)とエコシステムです。Google Cloud・Firebase・BigQuery などを日常的に使っている場合は Gemini CLI との親和性が高く、Gemini 2.5 Pro の100万トークンというコンテキストウィンドウを活かした大規模コードベースの解析にも強みがあります。
セットアップ:インストールから認証まで
必要な環境と注意点
Gemini CLI は Node.js 20 以上を必要とします(Python ではありません)。npm 経由でインストールします。
# Node.js バージョンの確認(20 以上が必要)
node -v
# インストール不要で即試せる方法(お試し用)
npx @google/gemini-cli
# グローバルインストール(継続利用する場合)
npm install -g @google/gemini-cli
# バージョン確認
gemini --version
認証方法の選択
初回起動時(gemini コマンド実行後)にテーマ選択と認証方法の選択が求められます。認証方法は3種類あります。
| 認証方法 | 対象 | 利用制限 |
|---|---|---|
| Google アカウントでログイン | 個人・無料利用 | 1,000 リクエスト/日・60 リクエスト/分(無料) |
| Gemini API キー | 従量課金が必要な場合 | Google AI Studio でキーを取得して設定 |
| Vertex AI | Google Cloud 利用企業 | Google Cloud の請求アカウントに紐づく |
個人利用や検証目的であれば Google アカウントでのログインが最もシンプルです。ブラウザが開いて認証が完了すると、すぐに使い始められます。API キーを使う場合は環境変数に設定します。
# API キーを使う場合(Google AI Studio で取得)
export GEMINI_API_KEY="YOUR_API_KEY"
# Vertex AI を使う場合
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"
エンジニア個人の Google アカウントで無料ティアを使う場合、1日1,000リクエストは一般的な開発用途では十分すぎるくらいの量です。Google によると「平均的な開発者の使用量の約2倍」とのことなので、まずは無料で試してみることをおすすめします。
デザイナーGoogle アカウントさえあれば始められるのは手軽ですね。pip のインストールが必要だと思っていたので、Node.js 製だったのは意外でした。npm なら開発環境にすでに入っていることが多いので、導入コストが低いですね。
基本操作:対話モードとヘッドレスモード
対話モードでの操作
gemini コマンドを引数なしで起動すると対話モードになります。プロジェクトのディレクトリで起動することで、コードベースをコンテキストとして渡しながら作業できます。
# 対話モードで起動
gemini
# プロジェクトディレクトリに移動してから起動すると
# そのコードベースをコンテキストとして扱える
cd my-project
gemini
# 起動後の対話例
> このリポジトリの概要を教えてください
> src/auth/ ディレクトリのバグを修正して
> テストカバレッジを改善するテストを追加して
ヘッドレスモード:CI/CD・シェルスクリプトへの組み込み
-p(または --prompt)フラグを使うとヘッドレスモードで実行でき、シェルスクリプトや CI/CD パイプラインに組み込めます。構造化された出力が必要な場合は --output-format json が便利です。
# 単発実行(ヘッドレスモード)
gemini -p "このコードのセキュリティ上の問題点を指摘してください"
# JSON 形式で出力(スクリプトでのパースに便利)
gemini -p "このコードの問題点を列挙してください" --output-format json
# ストリーミング JSON(長時間処理のリアルタイム監視に)
gemini -p "テストを実行してデプロイしてください" --output-format stream-json
# ファイルを添付して解析
gemini -p "このコードをレビューしてください" @src/main.ts
# 複数ファイルをグロブで指定
gemini -p "命名規則を統一してください" @src/**/*.ts
高度な活用:GEMINI.md・MCP 連携・設定ファイル
GEMINI.md:プロジェクト固有のコンテキストを永続化する
GEMINI.md はプロジェクトのルートに置くコンテキストファイルです。Claude Code の CLAUDE.md に相当する機能で、プロジェクトの技術スタック・コーディング規約・禁止事項などを記述しておくことで、毎回の指示を省略できます。チームで共有してリポジトリにコミットしておくと、全員が同じ前提でエージェントを使えます。
# GEMINI.md の例(プロジェクトルートに配置)
# プロジェクト概要
Laravel 12 + React 19 で構築した EC サイトです。
## 技術スタック
- Backend: Laravel 12 / PHP 8.2
- Frontend: React 19 / TypeScript / Tailwind CSS
- テスト: Vitest + Testing Library(フロント)/ PHPUnit(バック)
## コーディング規約
- コンポーネントは Atomic Design(atoms/molecules/organisms)で分類する
- API 呼び出しは Page 層に集約し、Organism 以下には持ち込まない
- コミットメッセージは Conventional Commits 形式を使用
## 禁止事項
- production/ ディレクトリのファイルを直接編集しない
- .env ファイルをコミットしない
MCP(Model Context Protocol)サーバー連携
Gemini CLI は MCP をサポートしており、GitHub・データベース・社内 API などの外部ツールを連携できます。設定は settings.json に記述します。
// ~/.gemini/settings.json(ユーザーグローバル設定)
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
}
}
}
# MCP 連携後の使用例
> GitHub の最新 PR を一覧表示して
> issue #123 の内容を確認して修正案を出して
実務での活用パターン
Gemini CLI が特に力を発揮するシナリオを整理します。
# 1. 大規模コードベースの解析(100万トークンのコンテキストウィンドウを活用)
cd large-project
gemini -p "このリポジトリ全体のアーキテクチャを図解して説明してください"
# 2. コードレビューの自動化(CI に組み込む例)
gemini -p "この差分のセキュリティ・パフォーマンス・可読性の問題を指摘してください" \
@$(git diff HEAD~1 --name-only | tr '\n' ' ')
# 3. ドキュメント生成
gemini -p "src/api/ のコードから OpenAPI 仕様書を生成してください" @src/api/**/*.ts
# 4. テスト追加
gemini -p "カバレッジが低い関数にテストを追加してください。Vitest + Testing Library を使用"
# 5. 新規プロジェクトのスキャフォールディング
mkdir new-discord-bot && cd new-discord-bot
gemini
> FAQ.md を読んでそれをもとに質問に答える Discord ボットを作成してください
Claude Code との使い分け
同じ CLI 型 AI エージェントとして、Gemini CLI と Claude Code をどう使い分けるかは実務上の重要な判断です。
| 観点 | Gemini CLI | Claude Code |
|---|---|---|
| AI モデル | Gemini 2.5 Pro(最大 100万トークン) | Claude Sonnet / Opus |
| 無料枠 | 1,000 リクエスト/日(Google アカウントで無料) | Claude.ai の利用プランに依存 |
| エコシステム | Google Cloud・Firebase・BigQuery との親和性が高い | 汎用・エコシステム非依存 |
| 大規模コードベース | 100万トークンで有利 | モデルによって異なる |
| 設定ファイル | GEMINI.md・settings.json | CLAUDE.md・.claude/config.yaml |
| MCP 対応 | 対応(settings.json で設定) | 対応(.claude/config.yaml で設定) |
エンジニアどちらかを選ぶというよりも、プロジェクトの文脈で使い分けるのが現実的です。Google Cloud 上のサービス開発なら Gemini CLI、エコシステムに依存しない汎用タスクは Claude Code、という判断軸が自分の中では機能しています。
デザイナーツールが増えてきて選択肢が広がることは良いことですね。どちらも GEMINI.md や CLAUDE.md でプロジェクトのルールを渡せる仕組みがあるので、まずそこを整備しておけばどちらのツールでも一貫した開発ができそうです。
トラブルシューティング
| 症状 | 原因 | 対処法 |
|---|---|---|
gemini コマンドが見つからない |
npm のグローバルパスが通っていない | npm config get prefix で確認し、bin/ を PATH に追加 |
| 認証エラーが出る | トークンの期限切れ | gemini auth login で再認証 |
| レート制限に達した | 無料ティアの上限超過 | API キー(従量課金)に切り替えるか、翌日まで待つ |
| Node.js バージョンエラー | Node.js が 20 未満 | nvm use 20 などでバージョンを切り替え |
まとめ
Gemini CLI は「個人の Google アカウントで無料から始められる CLI 型 AI エージェント」として、Claude Code と並ぶ実用的な選択肢になっています。改めてポイントを整理します。
- インストールは npm 経由(Node.js 20 以上が必要)。
pip installは不要。 - 個人の Google アカウントで無料(1日1,000リクエスト)。試すだけなら
npx @google/gemini-cliで即起動。 - ReAct ループによりファイル操作・コマンド実行・Web 検索を組み合わせた複雑なタスクを自律的にこなせる。
- GEMINI.md でプロジェクトのコンテキストを永続化し、毎回の指示を省略できる。
- MCP 連携で GitHub・DB などの外部ツールを統合し、エージェントの能力を拡張できる。
- Claude Code との使い分けは「Google Cloud エコシステム」か「エコシステム非依存」かで判断するのが実務的。
まずは npx @google/gemini-cli で試してみることが最速の第一歩です。既存のプロジェクトディレクトリで起動し、「このコードベースの概要を教えて」と聞くだけで、100万トークンのコンテキストウィンドウを活かした大規模解析の威力を体感できます。