Google 公式の Gemini CLI(OSS)でよく使うものだけ。無料枠が太いので「とりあえず試す」用途で重宝するが、--yolo の挙動だけは事前に知っておいたほうがいい。
初めてインストールする人 → Gemini CLI 導入ガイド を先にどうぞ。
凡例
- 🟢 安全 — 読み取り専用、ローカルでの参照のみ
- 🟡 注意 — 書き込み、課金、ネットワーク送信が発生する
- 🔴 危険 — 権限スキップ、破壊的、データ消失リスクあり
クイックリファレンス
起動オプション
| コマンド | リスク | 用途 |
|---|---|---|
gemini | 🟢 | 通常起動(対話セッション) |
gemini -p "..." / --prompt | 🟡 | プロンプト一発実行 |
gemini --yolo | 🔴 | 全承認スキップ(YOLO) |
gemini -m <model> / --model | 🟢 | モデル切替(flash / pro) |
gemini --include-directories <dirs> | 🟢 | 作業外ディレクトリも参照 |
gemini -p "..." --output-format json | 🟡 | JSON 出力 |
gemini -p "..." --output-format stream-json | 🟡 | NDJSON ストリーム出力 |
gemini --checkpointing | 🟢 | 対話のチェックポイント保存 |
スラッシュコマンド(セッション中)
| コマンド | 用途 |
|---|---|
/chat | 別チャットセッションの管理 |
/memory | プロジェクト記憶(GEMINI.md)を編集 |
/mcp | MCP サーバの状態確認・再接続 |
/tools | 利用可能なツール一覧 |
/compress | 履歴を要約圧縮 |
/quit | 終了 |
インストール
npm install -g @google/gemini-cli
Homebrew、MacPorts でも入る。試すだけなら npx @google/gemini-cli でインストール不要。
認証
3通り。用途で使い分ける。
1. Googleアカウント (OAuth)
gemini
🟢 安全 / 初回起動でブラウザが開く。無料枠が太い: 60 req/min、1,000 req/day(執筆時点)。個人開発の試用は基本これでいい。
2. Gemini API キー
export GEMINI_API_KEY="your-api-key"
gemini
🟡 注意 / APIキーは Google AI Studio で発行。スクリプトに埋めないこと。
3. Vertex AI(業務利用)
export GOOGLE_API_KEY="your-key"
export GOOGLE_GENAI_USE_VERTEXAI=true
gemini
🟡 注意 / 企業ガバナンス下で使うとき用。
起動オプション
通常起動
gemini
🟢 安全 / 対話セッション開始。各操作の前に承認プロンプトが出る。
プロンプト即実行
gemini -p "リポジトリの構成を要約して"
🟡 注意 / 一発実行で終了。スクリプト組み込み用。
YOLOモード(全承認スキップ)
gemini --yolo
🔴 危険 / すべての承認プロンプトをスキップ。名前の通り。VM・Docker以外で使うのは事故のもと。
モデル切り替え
gemini -m gemini-2.5-flash
gemini -m gemini-2.5-pro
🟢 安全 / Flashは速くて安い、Proは賢い。下見はFlashで、本番はProが定石。
ディレクトリを追加で読ませる
gemini --include-directories ../shared,../docs
🟢 安全 / 作業ディレクトリの外を参照させたい時に。
スクリプト用の構造化出力
gemini -p "package.jsonの依存をJSONで返して" --output-format json
gemini -p "..." --output-format stream-json
🟡 注意 / stream-json はNDJSON。リアルタイム処理向け。
スラッシュコマンド
対話中に / で呼び出すコマンド群。よく使うものだけ。
| コマンド | 用途 |
|---|---|
/chat | 別チャットセッションの管理 |
/memory | プロジェクト記憶(GEMINI.md)を編集 |
/mcp | MCPサーバの状態確認・再接続 |
/tools | 利用可能なツール一覧 |
/compress | 履歴を要約して圧縮 |
/quit | 終了 |
詳細は対話中に /help。
@コマンド(ファイル参照)
> このバグの原因を @src/auth.ts と @tests/auth.test.ts から特定して
🟢 安全 / @ でファイルやディレクトリを参照に追加できる。ファイル名補完が効く。
GEMINI.md(プロジェクト記憶)
Claude Code の CLAUDE.md に相当。プロジェクトルートに置くと、毎回読み込まれる前提知識として使われる。
# プロジェクト概要
- TypeScript + Next.js (App Router)
- テスト実行: `npm test`
- 触ってはいけないファイル: `src/legacy/**`
階層的に読み込まれるので、サブディレクトリにも置ける。同じ説明を毎回プロンプトに書かなくて済むのが地味に効く。
設定ファイル
~/.gemini/settings.json
.gemini/settings.json # プロジェクト用(git管理対象)
MCPサーバ設定はここ。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
}
}
}
🟡 注意 / 個人用認証情報を入れるなら ~/.gemini/settings.json 側に。プロジェクト用は git に乗ることを前提にスコープを切る。
チェックポイント(対話の保存)
gemini --checkpointing
🟢 安全 / 対話を途中保存しておけるモード。長時間セッションで突然落ちても復元できるので、重い検証作業ではONにする。
セキュリティで意識すること
--yoloは本気で必要なときだけ、本気で隔離された環境で使う。alias に逃すと事故率が跳ね上がる- 無料枠の OAuth 認証で運用していると課金感覚がゼロになる。Pro モデルに切り替えたまま長時間放置しない(無料枠でも reset 後に再ログインが必要になることがある)
- MCPサーバを足すたびに、何にアクセスできるか確認
- プロジェクト
.gemini/settings.jsonを git に上げるなら、認証情報は絶対に入れない
つまづきがちな点
「フリープランで使ってたのに急に制限がかかった」 → 無料枠は分単位/日単位両方にクォータがある。立て続けに大量リクエストを送ると分制限に当たる。少し待つと回復する。
「@で参照したファイルが多すぎてコンテキストが溢れる」
→ /compress を挟む、または --include-directories で必要な範囲だけに絞る。
「APIキー認証とOAuth認証が混ざる」
→ 環境変数に GEMINI_API_KEY が設定されていると OAuth より優先される。OAuth に戻したいなら unset GEMINI_API_KEY。
このページは執筆時点の挙動。Gemini CLI は週1ペースで更新が入るので、致命的なフラグは 公式リポジトリ と突合してから使う。