この記事はほぼすべて Gemini CLI に書いてみてもらいました。ただし、ファクトチェック&手修正済みです。もし間違えていたらこっそり教えてください。さいごにとおまけは人力です。
npx https://github.com/google-gemini/gemini-cli
ですぐに利用開始。@
でローカルファイルやディレクトリをAIのコンテキストに追加。!
でシェルコマンドを直接実行、シェルモードへの切り替えも可能。GEMINI.md
ファイルでプロジェクト毎のカスタム指示をAIに記憶させる。Gemini CLI へようこそ!
このドキュメントは、Googleが開発したオープンソース(Apache 2.0ライセンス)のコマンドラインAIエージェント「Gemini CLI」のチュートリアルです。コーディング作業の補助はもちろん、リサーチ、コンテンツ生成、日々の定型タスクの自動化まで、開発者のあらゆるワークフローを加速させる多目的ツールとして設計されています。
このガイドでは、基本的な使い方から、内部の仕組み、そして応用的なカスタマイズ方法までを網羅的に解説します。このガイドを読み終える頃には、あなたもGemini CLIを自在に操り、開発ワークフローの強力な相棒として活用できるようになるでしょう。
まずはGemini CLIを使い始めるための簡単なステップです。
ターミナルを開き、以下のコマンドを実行するだけです。
npx https://github.com/google-gemini/gemini-cli
もしくは、グローバルにインストールすることもできます。
npminstall-g @google/gemini-cli
初回起動時には、いくつかの設定を行います。
認証が完了すれば、準備はOKです!
Gemini CLIは、単なるチャットツールではありません。ローカル環境と深く連携し、様々なタスクを実行できます。
# リポジトリをクローンして、そのディレクトリに入るgit clone https://github.com/some/repositorycd repositorygemini> このシステムのアーキテクチャの主要な部分を説明して。> どのようなセキュリティ機構が導入されていますか?
gemini> GitHubのIssue#123 を実装する初稿を作成して。> このコードベースを最新版のJavaに移行するのを手伝って。まずは計画から立ててほしい。
gemini> 直近7日間のgit履歴を、機能と担当者でグループ分けしてスライド資料を作成して。> 最もインタラクションの多いGitHub Issueを表示する、壁掛けディスプレイ用のフルスクリーンWebアプリを作って。
gemini> このディレクトリにある全ての画像をpngに変換し、exifデータの日付を使ってリネームして。> PDFの請求書を、支出の月ごとに整理して。
プロジェクトのディレクトリ、あるいは新しい空のディレクトリで、以下のコマンドを打ちます。
gemini
すると、>
というプロンプトが表示され、Geminiとの対話モードが始まります。あとは自然な日本語で話しかけるだけです。
対話を終了するには、/quit
または/exit
と入力します。
シェルスクリプトに組み込むなど、単発の命令で利用したい場合は、--prompt
(または-p
) フラグを使って非対話モードで実行できます。
gemini--prompt"1から10までの素数をリストアップして"# パイプで渡すことも可能ですecho"日本の首都はどこですか?"| gemini
Gemini CLIには、3種類のコマンド形式があります。
gemini --model ...
)/help
)@
や!
)それぞれを詳しく見ていきましょう。
gemini --help
を実行すると確認できるオプションです。
--model <モデル名>
(短縮形:-m
)
使用するGeminiモデルを指定します。デフォルト以外(例:gemini-2.5-flash-latest
)を使いたい場合に指定します。
--prompt <プロンプト>
(短縮形:-p
)
非対話モードで実行する際のプロンプトを指定します。
--all-files
(短縮形:-a
)
カレントディレクトリ以下のすべてのファイルを再帰的に読み込み、コンテキストとしてプロンプトに含めます。
--sandbox
(短縮形:-s
)
ツール(特にシェルコマンド)の実行を安全なサンドボックス環境(Docker)内で行います。
--sandbox-image <イメージURI>
サンドボックスとして使用するカスタムDockerイメージを指定します。
--yolo
"You Only Live Once"モード。ツールの実行前に確認を求めず、すべて自動で承認します。サンドボックスが有効になっていることが推奨されます。
--checkpointing
ツールの実行前にファイルの状態を保存(チェックポイントを作成)し、/restore
コマンドで復元できるようにします。
--debug_mode
(短縮形:-d
)
デバッグ用の詳細なログを出力します。
--version
CLIのバージョン情報を表示します。
その他、テレメトリ(利用状況の統計)に関する--telemetry
系のフラグがあります。
対話モード中に/<コマンド>
形式で入力します。
/help
または/?
利用可能なすべてのスラッシュコマンドとその説明を表示します。
/quit
または/exit
Gemini CLIを終了します。
/clear
ターミナルの表示をクリアします。(ショートカット:Ctrl+L
)
/chat
会話の履歴を管理します。
/chat save <タグ名>
: 現在の会話に名前(タグ)を付けて保存します。/chat resume <タグ名>
: 保存した会話を呼び出します。/chat list
: 保存した会話のタグリストを表示します。/memory
GEMINI.md
ファイルによって読み込まれたAIの記憶(コンテキスト)を管理します。
/memory show
: 現在AIが記憶しているコンテキストの全内容を表示します。/memory refresh
:GEMINI.md
ファイルをすべて再読み込みします。/memory add <記憶させたいテキスト>
: 現在のセッションに限り、一時的な記憶を追加します。/tools
現在利用可能なツールの一覧を表示します。
/tools desc
: 各ツールの詳細な説明を表示します。/mcp
接続されているMCP(Model Context Protocol)サーバーと、そこから提供されるツールの一覧を表示します。
/restore [tool_call_id]
--checkpointing
が有効な場合、ツール実行前の状態にプロジェクトファイルを復元します。IDを指定しない場合は、復元可能なチェックポイントの一覧を表示します。
/compress
それまでの会話履歴をAIに要約させ、その要約でコンテキストを置き換えます。トークンを節約したい長い会話の途中で便利です。
/stats
現在のセッションにおけるトークン使用量、API呼び出し回数、時間などの統計情報を表示します。
/theme
CLIの見た目のテーマを選択するダイアログを開きます。
/auth
認証方法を変更するためのダイアログを開きます。
/editor
差分表示などに使用するエディタを選択するダイアログを開きます。
/bug
バグ報告用のURLを生成し、ブラウザで開きます。
/about
バージョンやビルド情報などを表示します。バグ報告時に役立ちます。
プロンプトに含めることで特別な動作をします。
@<ファイルパス>
または@<ディレクトリパス>
指定されたファイルまたはディレクトリの内容を読み込み、プロンプトのコンテキストに含めます。.gitignore
を尊重するため、不要なファイル(node_modules
など)は自動的に除外されます。
例:@src/utils.ts この関数のテストを書いてください。
!<シェルコマンド>
指定されたコマンドを直接シェルで実行し、結果を表示します。
例:!git diff --staged
!
(単体)
シェルモードのオン/オフを切り替えます。シェルモード中は、すべての入力がシェルコマンドとして扱われます。
settings.json
)Gemini CLIの挙動はsettings.json
ファイルで細かくカスタマイズできます。設定は以下の順で読み込まれ、後のものが優先されます。
~/.gemini/settings.json
(プロジェクトルート)/.gemini/settings.json
以下に主要な設定項目を解説します。
theme
(文字列)
CLIのテーマ名。例:"GitHub"
contextFileName
(文字列 または 文字列の配列)
コンテキストファイルとして認識するファイル名を指定します。デフォルトは"GEMINI.md"
ですが、"CONTEXT.md"
などに変更したり、["GEMINI.md", "PROMPT.md"]
のように複数指定したりできます。
fileFiltering
(オブジェクト)@
コマンドの挙動を制御します。
respectGitIgnore
(真偽値):true
の場合、.gitignore
を尊重します。デフォルトはtrue
。enableRecursiveFileSearch
(真偽値):@
の入力補完のためにファイルを再帰的に探すかどうか。デフォルトはtrue
。autoAccept
(真偽値)true
にすると、読み取り専用など安全だと判断されたツールの実行確認をスキップします。デフォルトはfalse
。
sandbox
(真偽値 または 文字列)
サンドボックスの利用設定。true
または"docker"
で有効になります。デフォルトはfalse
。
checkpointing
(オブジェクト)
チェックポイント機能を設定します。
enabled
(真偽値):true
で/restore
コマンドが有効になります。デフォルトはfalse
。preferredEditor
(文字列)
差分表示などに使うエディタを指定します。デフォルトは"vscode"
。
coreTools
/excludeTools
(文字列の配列)
モデルに提供する組み込みツールを明示的に指定したり、除外したりできます。
mcpServers
(オブジェクト)
カスタムツールを提供するMCPサーバーを定義します。サーバーごとに起動コマンドや引数、環境変数を設定できます。
Gemini CLIにプロンプトを入力すると、それは直接AIモデルに送られるわけではありません。CLIは、AIがより賢く、文脈に沿った応答を返せるように、様々な情報を付加して最終的なプロンプトを組み立てます。この仕組みを理解すると、Gemini CLIをより効果的に活用できます。
最終的にAIモデルに送られるプロンプトは、主に以下の要素から構成されます。
これはAIモデルの基本的な振る舞いを定義する指示です。ここには、GEMINI.md
から読み込まれた内容が含まれます。
CLIは、以下の場所からGEMINI.md
(またはcontextFileName
で指定されたファイル) を探し、その内容を連結してシステムインストラクションに加えます。
~/.gemini/GEMINI.md
GEMINI.md
GEMINI.md
これにより、「このプロジェクトでは必ずこの規約に従うように」といった階層的な指示が可能になります。
Gemini CLIは、read_file
やrun_shell_command
といった「ツール」を使えます。さらに、組み込みのGoogle検索ツールも利用可能です。AIモデルがこれらのツールを正しく使えるように、各ツールの機能、引数、使い方をまとめた「定義書」がプロンプトに含められます。これにより、AIは「この作業にはあのツールが使えそうだ」と判断できるようになります。
過去のやり取りも重要なコンテキストです。それまでのユーザーとAIの会話履歴がすべて含まれます。
そして最後に、ユーザーが入力した最新のプロンプトが追加されます。@
コマンドを使った場合は、ここでファイルの実際の内容が展開されて挿入されます。
Gemini CLIは、Apache 2.0ライセンスの下で公開されている完全なオープンソースプロジェクトです。これは、誰でもソースコードを閲覧、検証し、改善に貢献できることを意味します。
また、このツールはGoogleのAIコーディングアシスタントであるGemini Code Assistと技術を共有しており、VS CodeなどのIDEでも同様の強力なAIエージェント機能を利用できます。
この詳細なガイドが、あなたのGemini CLI習熟の一助となれば幸いです。
紹介したコマンドや設定を試し、GEMINI.md
を活用して、ぜひあなたのプロジェクトに最適化されたAIアシスタントを育て上げてください。
Gemini CLIと共に、より創造的で効率的な開発ライフをお楽しみください!
https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/
https://github.com/google-gemini/gemini-cli
Gemini CLI、実際使ってみて、第一印象として Google 検索と結びついていること、MCP 連携で画像・動画・音声生成に繋ぎ込みやすいということ、スラッシュコマンドのタブ補完のあと実行してくれるなど絶妙に体験が良いので、Claude Code 勢のうち一定の数はお引越しされるのではないかと思いました。ゆる開発勢には無料利用枠があるのもうれしい。gemini --prompt "<URL> <prompt>"
のように Google 検索をパイプラインで繋ぐこともできたり、応用の余地は大きいように感じています。
GEMINI.md のドメインは取得されていないようでした!CLAUDE.md はいい感じに公式ドキュメントに飛ぶのに...!
バッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。