1. はじめに
この Codelab では、Gemini の機能をターミナルから直接利用できるオープンソースの AI エージェントである Gemini CLI について学習します。
学習内容
- Gemini CLI をインストールして構成する
- Gemini CLI でのツール、組み込みコマンドの確認、MCP サーバーの構成
GEMINI.mdファイルを使用して Gemini CLI をカスタマイズする- Gemini CLI のユースケースをいくつか確認する
必要なもの
この Codelab は、Gemini CLI がプリインストールされた Google Cloud Shell 内ですべて実行できます。
独自のマシンで作業する場合は、Gemini CLI をローカルにインストールするセクションをご覧ください。
必要なものは次のとおりです。
- Chrome ウェブブラウザ
- Gmail アカウント
この Codelab は、初心者を含むあらゆるレベルのユーザーとデベロッパーを対象としています。Codelab のユースケースは、デベロッパー タスクとデベロッパー以外のタスクに分類されています。デベロッパーのユースケースでは、Gemini CLI を使用したバイブ コーディングの方法と、GitHub リポジトリを使用してコードの説明/理解、ドキュメントの生成、問題の修正などの一般的な開発タスクを実行する方法を示します。この Codelab では、これらのユースケースを完了することをおすすめします。最後に、デベロッパー以外のユーザーを対象とした日常的なタスクをいくつか紹介する省略可能なセクションがあります。
2. 始める前に
プロジェクトを作成する
- Google Cloud コンソールのプロジェクト選択ページで、Google Cloud プロジェクトを選択または作成します。
- Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
- Cloud Shell(Google Cloud で動作するコマンドライン環境)を使用します。この環境には bq がプリロードされています。Google Cloud コンソールの上部にある [Cloud Shell をアクティブにする] をクリックします。
![[Cloud Shell をアクティブにする] ボタンの画像](/https://codelabs.developers.google.com/static/gemini-cli-hands-on/img/91567e2f55467574.png?hl=ja)
- Cloud Shell に接続したら、次のコマンドを使用して、すでに認証済みであることと、プロジェクトがプロジェクト ID に設定されていることを確認します。
gcloud auth list
- Cloud Shell で次のコマンドを実行して、gcloud コマンドがプロジェクトを認識していることを確認します。
gcloud config list project
- プロジェクトが設定されていない場合は、次のコマンドを使用して設定します。
gcloud config set project <YOUR_PROJECT_ID>
3. インストール
設定を行って Gemini CLI を実行する前に、ホームフォルダとして使用するフォルダを作成します。このホームフォルダの中に、すべてのプロジェクトを作成します。ホームフォルダは Gemini CLI が動作するための開始点ですが、必要に応じてシステム上の他のフォルダも参照します。これについては後で説明します。
サンプル フォルダ(gemini-cli-projects)を作成し、次のコマンドでそのフォルダに移動します。別のフォルダ名を使用する場合は、そのようにしてください。
mkdir gemini-cli-projects
そのフォルダに移動します。
cd gemini-cli-projects
gemini コマンドを使用して、Gemini CLI を直接起動できます。
次のセクション(settings.json による Gemini CLI の構成)に直接移動してください。
Gemini CLI をローカルにインストールする場合は、以下の手順に沿って操作します。Gemini CLI は Cloud Shell と Cloud Workstations にプリインストールされています。
まず、マシンに Node 20 以降をインストールします。完了したら、次のいずれかの方法で Gemini CLI をインストールして実行できます。
- まず、システムに Gemini CLI をグローバルにインストールできます。この手順を行うには、管理者権限が必要になることがあります。
# option 1: install Gemini CLI
npm install -g @google/gemini-cli
# .. and then run
gemini
- 次のコマンドで実行します。
# option 2: run without installing Gemini CLI
npx https://github.com/google-gemini/gemini-cli
次のコマンドを実行して、CLI がインストールされていることを確認できます。
gemini --version
上記のいずれかの方法で Gemini CLI を起動したとします。初回起動時に、テーマの選択を求められることがあります。テーマが用意されている場合は、デフォルトのテーマを使用するか、任意のテーマを選択できます。
次に重要なのは認証です。認証方法の入力を求められます。このラボでは、Google 以外の関連アカウントや Google Workspace 関連アカウントではなく、個人の Google アカウントを使用することをおすすめします。
Google アカウントに付与されている現在の無料割り当ての上限に達した場合は、Gemini API キーまたは Google Cloud Vertex AI を使用できます。この場合、プロジェクト ID とそのプロジェクトのロケーション名が必要になります。他の認証方法を使用する場合は、ドキュメントの認証セクションを参照してください。

[Enter] をクリックします。ブラウザで Google 認証ページが開きます。Google アカウントで認証を行い、利用規約に同意します。認証に成功すると、Gemini CLI がコマンドを受け付ける状態になります。
以下に、スクリーンショットの例を示します。

この例では Vertex AI オプションを選択していますが、実際には個人アカウントを選択することになります。Gemini 2.5 モデルが選択されていることがわかります(右下に表示されています)。/model コマンドを使用すると、いつでも特定のモデルを選択できます。
4. settings.json による Gemini CLI の構成
Cloud Shell を選択して Gemini を実行する場合、Gemini CLI のデフォルトのテーマと認証方法がすでに選択され、構成されています。
マシンに Gemini CLI をインストールして初めて起動した場合は、テーマと認証方法を選択します。
これで、Gemini CLI を次回以降実行するときに、テーマと認証方法の選択を求められることはありません。つまり、どこかに保存されており、使用されるファイルは settings.json と呼ばれ、Gemini CLI をカスタマイズする方法です。
設定は次の優先順位で適用されます(Cloud Shell ではユーザー設定のみが使用可能です)。
- システム:
/etc/gemini-cli/settings.json(すべてのユーザーに適用され、ユーザーとワークスペースの設定をオーバーライドします)。 - ワークスペース:
.gemini/settings.json(ユーザー設定をオーバーライドします)。 - ユーザー:
~/.gemini/settings.json。
Windows ユーザー: %USERPROFILE%.gemini\settings.json(通常は C:\Users<ユーザー名>.gemini\settings.json に展開されます)
システム: %ProgramData%\gemini-cli\settings.json(通常は C:\ProgramData\gemini-cli\settings.json に展開されます)
Mac ユーザー: ~/.gemini/settings.json(/Users/<ユーザー名>/.gemini/settings.json に展開されます)
システム: /etc/gemini-cli/settings.json
テーマを選択したときに、設定をユーザー設定に保存するように選択したことを思い出してください。~/.gemini folder にアクセスすると、settings.json ファイルが表示されます。
settings.json ファイルを以下に示します。別のテーマを選択していた場合は、その名前が表示されます。
{
"security": {
"auth": {
"selectedType": "oauth-personal" or "cloud-shell"
}
},
"ui": {
"theme": "Default"
}
}
5. Gemini CLI との最初のインタラクション
Gemini CLI を起動し、以下に示す最初のクエリを入力してみましょう。
Give me a famous quote on Artificial Intelligence and who said that?
想定されるレスポンスを以下に示します。
> Give me a famous quote on Artificial Intelligence and who said that?
✦ "The only way to do great work is to love what you do." - Steve Jobs (While not directly about AI, it's a famous quote related to technology and innovation, which underpins AI development.)
Alternatively:
"The development of full artificial intelligence could spell the end of the human race." - Stephen Hawking
Gemini CLI と、サポートされているコマンドを確認したい場合は、先頭にスラッシュを付けて「/help」と入力するだけで、利用可能なコマンドやキーボード ショートカットの一覧が表示されます。
ここでは Gemini CLI を終了します。これを行うには、/quit コマンドを使用するか、インタラクティブな Gemini CLI ターミナル セッションで Ctrl-C を 2 回実行します。Gemini CLI を終了すると、セッション、モデルの使用状況、その他の指標に関する分析情報を提供するセッション統計情報が表示されます。
6. Gemini CLI - コマンド パラメータ
Gemini CLI の起動時に指定できるコマンドライン パラメータがいくつかあります。オプションの全リストを取得するには、次のように --help を使用します。
gemini --help
これにより、利用可能なすべてのオプションが表示されます。こちらのドキュメントをご覧ください。
そのうちのいくつかを見てみましょう。1 つ目は、特定の Gemini モードを使用するように Gemini CLI を構成することです。このラボの更新時点では、サポートされているモデルのリストは次のとおりです。特定のモデルを使用するには、次の例に示すように、-m パラメータを使用して Gemini CLI の起動時に指定します。
gemini -m "gemini-2.5-flash"
上記の方法で開始すると、Gemini CLI ターミナルの右下でモデルを確認できます。
Gemini CLI アプリケーションで、/model コマンドを使用して、モデルを選択できるダイアログを開きます。サンプル実行を以下に示します。要件とガイダンスに応じて、モデルを切り替えて、複雑さと費用管理の必要性に応じてタスクに適したモデルを選択できます。

非インタラクティブ モード
Gemini CLI には、非インタラクティブ モードで実行するオプションもあります。このモードでは、プロンプトを直接指定することで、Gemini CLI のインタラクティブ ターミナルを開かずに Gemini が回答します。スクリプトやその他の自動化プロセスの一部として Gemini CLI を自動的に使用する場合に非常に便利です。次の例に示すように、-p パラメータを使用して、Gemini CLI にプロンプトを指定します。
gemini -p "What is the gcloud command to deploy to Cloud Run"
フォローアップの質問で会話を続けることはできないことに注意してください。このモードでは、ツール(WriteFile を含む)の認証やシェルコマンドの実行もできません。
-p パラメータを指定せずに、次のように指定すると、プロンプトで Gemini CLI が開き、その中で処理が続行されます。
gemini "What is the gcloud command to deploy to Cloud Run"
7. Gemini CLI - 組み込みツール
Gemini CLI には一連の組み込みツールが用意されており、ツールのドキュメントには「Gemini モデルはこれらのツールを使用してローカル環境と連携し、情報の取得や各種アクションを実行します。これらのツールは CLI の機能を強化し、テキスト生成だけでなく、幅広いタスクの支援にも役立ちます。」
現在の組み込みツールのリストを取得するには、次の例に示すように /tools コマンドを呼び出します。
Available Gemini CLI tools:
- Activate Skill (activate_skill)
- Ask User (ask_user)
- Edit (replace)
- Enter Plan Mode (enter_plan_mode)
- FindFiles (glob)
- GoogleSearch (google_web_search)
- Invoke Subagent (invoke_agent)
- List Background Processes (list_background_processes)
- Read Background Output (read_background_output)
- ReadFile (read_file)
- ReadFolder (list_directory)
- SearchText (grep_search)
- Shell (run_shell_command)
- Update Topic Context (update_topic)
- WebFetch (web_fetch)
- WriteFile (write_file)
まず、Gemini CLI がこれらのツールを必要に応じて簡単に呼び出せるかどうかを自問する必要があります。ローカル システムへの書き込み、外部システムからの読み取り、外部ネットワークへのアクセスなど、機密性の高い操作を行う場合、デフォルトの回答は「いいえ」です。
CLI を起動するときに --yolo を使用できます(通常は推奨されません)。この場合、Gemini CLI は選択したツールを実行する際に、権限を求めるメッセージを表示します。権限を拒否する、1 回だけ実行する、包括的な権限を付与して常に実行する、のいずれかを選択できます。これにより、すべてを完全に制御できます。
Gemini CLI に組み込みツールを 1 つ選択して実行させるプロンプトを使用します。これにより、Gemini CLI の仕組みを理解できます。
たとえば、世界中の最新の金融ニュースに関する情報を取得し、Gemini CLI を起動したローカル作業ディレクトリ内のファイルに保存するとします。次のプロンプトを使用します。
Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt
この関数が何をするべきかを考えてみましょう。理想的には、Google 検索を実行して、金融ニュースを提供できる関連性の高い情報源からニュースを取得する必要があります。次に、そのコンテンツを含む finance-news-today.txt という名前のファイルを作成する必要があります(ローカル システムへの書き込み操作には権限が必要です)。
何が起こるか見てみましょう(ご自身のマシンでも同じように進めてください)。
まず、GoogleSearch ツールを呼び出してウェブを検索し、結果を取得します。
Searching for Finance News:
I will first search for the latest finance headlines and then save them to a file.
✓ GoogleSearch Searching the web for: "latest finance headlines"
→ Search results for "latest finance headlines" returned.
Saving Finance News: I will now save the finance headlines to the file 'finance-news-today.txt'.
その後、ファイルに書き込む準備が整うと、WriteFile ツールが使用されます。書き込みは機密性の高い操作であるため、実行には権限が必要です。権限は、1 回のみ許可する、常に許可するなど、必要に応じて選択できます。ここでは、[1 回のみ許可] を選択します。
その後、情報がファイルに書き込まれ、次のような成功メッセージが表示されます。
✦ I have saved the latest finance news to finance-news-today.txt.
Finance News Saved: The task is complete.
ファイルが書き込まれているかどうかを確認するにはどうすればよいですか?@file を使用して、コンテンツの読み上げをリクエストできます。また、「@」と入力すると、作成したファイルを含む現在のフォルダ内のファイル一覧が表示されます。そのコースを選択して、プロンプトを送信します。プロンプトは次のとおりです。
read the contents of @finance-news-today.txt
これにより、必要なツール(ReadManyFiles、ReadFile)が呼び出され、次のようにコンテンツが表示されます。
✓ ReadManyFiles Attempting to read files from finance-news-today.txt → Read 1 file(s)
Topic: Summarizing the financial news headlines.
✦ The latest finance headlines as of May 15, 2026, include:
Global Markets & Economy:
* The Dow Jones Industrial Average surpassed 50,000 for the first time, driven by strong earnings from Cisco
Systems and a 2% rise in Nasdaq due to tech stocks.
* Inflation concerns are growing, hinting at potential Fed interest rate hikes.
* Kevin Warsh has been confirmed as the new Federal Reserve head.
* A "constructive" U.S.-China summit took place in Beijing between President Trump and President Xi, with
markets watching for impacts from proposed tariffs.
Corporate & Tech News:
<REST OF THE CONTENT>
8. Gemini CLI - シェルモード
Gemini CLI から直接シェルを操作する方法を学習するのに適しています。メッセージ ボックスで ! を押すと、シェルモードに切り替えることができます。シェルモードに切り替わります。! をもう一度押すか、ESC キーを押すと、前の画面に戻ることができます。
シェルモードでは、以下に示すようにプロンプトの先頭に ! が表示されます。

次の例に示すように、pwd や ls などの標準コマンドを使用して直接確認できます。コマンドは Linux タイプの OS を想定しています。別のオペレーティング システム(Windows)を使用している場合は、(cd、dir、type)などの同等のコマンドを使用してください。これらの呼び出しの出力は、モデルのコンテキスト ウィンドウに含まれます。

cat コマンド(cat finance-news-today.txt など)を使用して、ファイルの内容を出力することもできます。
演習: 以下の簡単な演習を試してみましょう。任意の RSS フィードを選択します。Gemini CLI にプロンプトを指定して、RSS フィードのコンテンツを取得し、特定の方法で結果をフォーマットします。これは、1 日の始まりに何かを自動化するのに適した方法です。Gemini CLI に、特定の分野(Google Cloud Platform リリースノートなど)の RSS フィードがあるかどうかを尋ねることもできます。
プロンプトの例を以下に示します。
Get the latest release notes for Google Cloud from its RSS Feed and display the key points in a well-formatted list.
このプロンプトは、まず GoogleSearch ツールを呼び出して Google Cloud Platform の RSS フィードを見つけ、次に WebFetch ツールを使用して RSS フィードのコンテンツを取得して表示します。これらのツールを呼び出すための権限を求められることがあります。必要な権限を付与してください。
9. Gemini CLI 拡張機能
ドキュメントに記載されているように、Gemini CLI 拡張機能は、プロンプト、MCP サーバー、カスタム コマンドを使い慣れたユーザー フレンドリーな形式でパッケージ化したものです。拡張機能を使用することで、Gemini CLI の機能を拡張し、他のユーザーと共有できます。これは、Gemini CLI の機能を組み込みツールを超えて拡張するための主要なメカニズムです。
拡張機能は、自己完結型でバージョン管理が可能で、簡単に配布できるパッケージです。これは、Gemini CLI のカスタマイズの「輸送コンテナ」のようなもので、特定のワークフローに必要なものをすべて 1 つの整然としたパッケージにバンドルします。

拡張機能は、次の任意の組み合わせをバンドルできます。
- カスタム スラッシュ コマンド(.toml ファイル)。
- MCP サーバー構成(以前は settings.json に存在していました)。
- モデルに具体的な指示とガイドラインを提供するコンテキスト ファイル(GEMINI.md)。
- より安全で集中しやすい環境を構築するためのツール制限(excludeTools)。
拡張機能ギャラリーを見る
拡張機能ギャラリーは、Google が作成した公式の拡張機能とサードパーティの拡張機能をすべて見つけることができる中央のマーケットプレイスです。
- ブラウザで次の URL を開きます。
https://geminicli.com/extensions/ - このギャラリーは、エコシステムの検出エンジンです。GitHub、Redis、DynaTrace などの企業の拡張機能が表示され、利用可能なツールの幅広さがわかります。
- 下にスクロールして Cloud Run の拡張機能カードを見つけます。または、こちらのリンクからアクセスすることもできます。
- カードには、説明、作成者(Google)、ワンクリックの
Copyコマンドボタンが表示されます。これが拡張機能のインストール コマンドを取得する最も簡単な方法です。
Gemini CLI 拡張機能 - 管理コマンド
gemini extensions コマンドは、ローカル拡張機能を管理するためのエントリ ポイントです。
ターミナルで実行すると、使用可能なコマンドのリストが表示されます。
gemini extensions <command>
Manage Gemini CLI extensions.
Commands:
gemini extensions install <source> [--auto-update] [--pre-release]
Installs an extension from a git repository URL or a local path.
gemini extensions uninstall [names..]
Uninstalls one or more extensions.
gemini extensions list
Lists installed extensions.
gemini extensions update [<name>] [--all]
Updates all extensions