🚀

Gemini CLI 快速キャッチアップ

に公開

▼ このブログ記事を使って解説した動画 ▼
https://youtu.be/C-hfqYlhjyU?si=5CT99EwmO1Bpe-fY


目次

  • 主な特徴
  • セットアップ
  • 基本的な挙動
  • 基本的なコマンド
  • コンテクストの設定
  • Google検索機能の活用
  • システムの構成
  • まとめ

Gemini CLIは、Googleが2025/6/25に公開したオープンソース(Apache 2.0ライセンス)のコマンドラインAIエージェントです。ターミナル環境で直接Geminiと対話でき、ファイル操作やシェルコマンド実行、Web検索などが行えます。

下記はやり取りの例です。指示を踏まえて自律的にフォルダやファイルを探索したり、Web検索などを行なってくれます。

> コードベースの全体像を把握してください

 ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 │ ✔  ReadFolder ml-demo                                                                                    │
 │                                                                                                          │
 │    Listed 7 item(s).                                                                                     │
 ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯
✦ ml-demoのコードベースの全体像を把握するため、まずREADME.mdを読んでプロジェクトの目的を理解し、次にfrontendとbacken
  dディレクトリの内容をリストアップして、それぞれの構造を把握します。必要であれば、srcディレクトリの内容も確認します
  。


  まずは、README.mdを読みます。
 ╭────────────────────────────────╮
 │ ✔  ReadFile ml-demo/README.md  │
 ╰────────────────────────────────╯
✦ プロジェクトの概要を把握するには、もう少し情報が必要です。

  次に、frontendとbackendディレクトリの内容を確認します。
 ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 │ ✔  ReadFolder ml-demo/frontend                                                                           │
 │                                                                                                          │
 │    Listed 10 item(s).                                                                                    │
 │ ✔  ReadFolder ml-demo/backend                                                                            │
 │                                                                                                          │
 │    Listed 7 item(s).                                                                                     │
 ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯

他サービスはWeb検索のクオリティが体感いまひとつなので、Googleの検索機能がビルトインされているのが特に助かるところかなと個人的には思います。

この記事では、基本的な特徴と、実践ですぐに必要になりそうなコマンド、コンテクスト設定を整理します。

主な特徴

無料枠がめちゃくちゃでっかいのと、検索にGoogleのエンジンが使えるのは特に嬉しいところです。

  • 100万トークンのコンテキストウィンドウ
  • 毎分60回リクエスト、日次1000回リクエストの無料利用枠
  • Google検索機能が標準搭載、自律的にWebサーチ

That free license gets you access to Gemini 2.5 Pro and its massive 1 million token context window. To ensure you rarely, if ever, hit a limit during this preview, we offer the industry’s largest allowance: 60 model requests per minute and 1,000 requests per day at no charge.
Gemini CLI: your open-source AI agent より引用(2025/6/26 時点で閲覧)

セットアップ

必要な環境

セットアップに必要な環境は以下の通りです:

  • Node.js
  • ターミナル環境(Windows/macOS/Linux)

インストール方法

単発で立ち上げて利用する場合は以下のコマンドを使用します:

# 試しに使ってみる場合
npx @google/gemini-cli

継続的に利用する場合は、以下コマンドでグローバルインストールします:

# グローバルインストール
npm install -g @google/gemini-cli

# geminiコマンドで起動できるようになる
gemini

初回起動時や前回ログインから時間が空いた際はGoogleアカウントへのログインが要求されるので、案内通りに進めます。

基本的な挙動

Gemini CLIは、対話モードと非対話モードの2つの動作モードを持ちます。非対話モードでWeb検索をgeminiに依頼して、後続処理へのインプットとして使いやすいのは便利です。

対話モード

geminiコマンドを実行すると対話モードが開始されます:

gemini

やたらかっこいいです:

Geminiへのメッセージは下記のボックスに入力します:

╭─────────────────────────────────────────────────────────────────────╮
│ >   Type your message or @path/to/file                              │
╰─────────────────────────────────────────────────────────────────────╯

この後に紹介するコマンドなども含めて、上のボックスに入力していきます。/quitまたは/exitと打つと、対話モードを終了できます。

非対話モード

アウトプットを標準出力させる場合には、-pオプションで非対話モードを使用します:

gemini -p "React 18の新機能について教えて"

例えば、パイプを使って後続処理と繋げることも可能です。

特定のキーワードでフィルタリング:

$ gemini -p "おすすめのプログラミング言語5選" | grep -i "Python"

1.  **Python**
どの言語を学ぶかは、何を作りたいかによって決めるのがおすすめです。例えば、Webサイトを作りたいならJavaScriptやTypeScript、AIやデータ分析に興味があるならPythonから始めると良いでしょう

ファイルに書き出す:

gemini -p "React 18の新機能について教えて" > react_docs.md

もちろん、他のコマンドの実行結果をGeminiに渡すことも可能です。

cat retrieval.py | gemini -p "このコードが行っている処理を説明してください"

基本的なコマンド

Gemini CLIには大きく3種類の特殊コマンドがあります。

  • ファイル読み込み(@
  • シェルコマンド実行(!
  • システム管理コマンド(/

ファイル読み込み

@記号を使って、参照すべきファイルやディレクトリの内容を指定できます:

# 単一ファイルの読み込み
> @src/App.tsx このコンポーネントを解析して

# ディレクトリ全体の読み込み
> @components/ 全コンポーネントをレビューして

# 複数ファイルの同時読み込み
> @README.md @package.json プロジェクトの概要を教えて

シェルコマンド実行

!記号を使ってシェルコマンドを実行できます:

# ファイル一覧の表示
> !ls -la

# Gitログの確認
> !git log --oneline

# ビルドの実行
> !npm run build

システム管理コマンド(/記号)

/記号を使ってGemini CLI自体の機能を制御します:

/help        # ヘルプ表示
/tools       # 使用可能ツール一覧
/clear       # 画面クリア
/memory show # AIの記憶内容表示
/stats       # 使用統計表示

標準搭載されているツール

/tools コマンドを実行すると、Geminiが使用できるツールが返ってきます。

ℹ Available Gemini CLI tools:
 
    - ReadFolder
    - ReadFile
    - SearchText
    - FindFiles
    - Edit
    - WriteFile
    - WebFetch
    - ReadManyFiles
    - Shell
    - Save Memory
    - GoogleSearch

ファイル・フォルダの閲覧や編集、Webサイトの情報取得に加えて、新たな知見を長期化するSave Memoryと、Google検索を行うGoogleSearchが使用可能です。Save Memoryはユーザーの好みや一貫して守るべき約束事を長期記憶化するツールで、プロジェクトを横断して適用されます。

プロジェクト固有のルール設定

先ほど言及したSave Memoryによる長期記憶のほかに、プロジェクト別の指示・ルールを設定できます。Claude CodeのCLAUDE.md、Cursorの.cursor/rules/*.mdcと同じ役割です。

プロジェクトルールはマークダウンファイルで制御します。プロジェクトのルートディレクトリにGEMINI.mdファイルを作成することで設定可能です:

# 開発ルール

## 基本原則
このプロジェクトでは `uv` パッケージマネージャーとテスト駆動開発(TDD)手法
による厳格な開発環境実践を採用し、再現可能で信頼性があり保守しやすいコードを保証します。

## uvによるパッケージ管理

### プロジェクト構造要件
すべての開発セッションは適切なuvプロジェクト構造内で作業する必要があります:

.
├── .venv/                  # 仮想環境(uvによって自動作成)
├── .python-version         # Pythonバージョン指定
├── pyproject.toml         # プロジェクトメタデータと依存関係
├── uv.lock               # 再現可能インストール用ロックファイル
└── README.md             # プロジェクト文書

...

この設定により、AIはプロジェクトの規約に従ったコードを生成し、適切なアドバイスを提供します。

設定ファイル(~/.gemini/settings.json)

より詳細な設定は、.gemini/settings.jsonファイルで行えます。"contextFileName"の値を変更することで、プロジェクトルールのファイル名を任意に設定できます:

{
  "theme": "GitHub",
  "autoAccept": false,
  "sandbox": true,
  "contextFileName": "GEMINI.md"
}

主要な設定項目:

  • theme: 表示テーマの設定
  • autoAccept: 危険な操作の自動承認(通常はfalse推奨)
  • sandbox: サンドボックス環境での実行
  • contextFileName: コンテクストファイル名の指定

Google検索機能の活用

Gemini CLIにはGoogle検索機能がビルトインされています。

# 最新技術情報の取得
> Next.js 15の新機能を調べて

# 問題解決
> "React useEffect infinite loop" について調べて解決方法を教えて

# ライブラリ比較
> VueとReactの2025年時点での比較を調べて

「調べて」とか「サーチして」とか明示的に伝えないとWeb検索してくれない感がありますが、この辺りはコンテクストでうまく調整できそうです。

数理の弾丸について試しに聞いてみました。

> 数理の弾丸についてサーチして教えてください

 ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 │ ✔  GoogleSearch Searching the web for: "数理の弾丸"                                                        │
 │                                                                                                          │
 │    Search results for "数理の弾丸" returned.                                                               │
 ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯
✦ 「数理の弾丸」は、AIや言語に関する専門的な知識を分かりやすく解説するYouTubeチャンネルです。

  主な特徴は以下の通りです。


   * 内容: Python、機械学習、大規模言語モデル(LLM)、LangChain、RAG(Retrieval-Augmented
     Generation)など、AI関連の技術を初心者にも理解しやすく解説しています。動画と連動したスライド資料がSpeaker
     Deckで、記事がZennで公開されており、復習に役立ちます。
   * 形式: 複数のスピーカーによる対話形式で進行することが多く、初学者が抱きやすい疑問を解消しながら学べる構成になっ
     ています。
   * 対象者: AIや機械学習に興味があるエンジニアや学生、AI製品を提供する企業のセールス職、AIを活用したい非IT部署の方
     など、幅広い層を対象としています。


  より詳しい情報にご興味がありますか?例えば、特定の動画の内容や、特定の技術解説についてなど、お気軽にご質問くださ
  い。

gemini -p "...について調べて"的なコマンドを打つことで手軽に検索結果を貰えるし、これ自体をツール化して他のLLMに使わせるのも良い気がしています。

システムの構成

Gemini CLIのソースコードも公開されています。Claude 4 Sonnetに構成を書き出してもらいました。下図のようになっているようです(以下の出力をくまなく精査したわけではないので、参考程度にご覧ください)。

  • CLI Package - ユーザーインターフェース層

    • Inkベースのリアクティブコンポーネント
    • @, !, /の特殊コマンド処理
    • テーマシステム
  • Core Package - ビジネスロジック層

    • Gemini APIクライアント
    • ツールレジストリ
    • セキュリティ制御
  • Built-in Tools - 機能実装層

    • ファイル操作ツール群
    • Web関連ツール
    • シェル実行ツール
    • メモリ管理ツール
  • External Services - 外部連携

    • Gemini API
    • Google検索
    • MCPサーバー
  • Configuration & Security - 設定・セキュリティ

    • 設定ファイル管理
    • サンドボックス実行

まとめ

Gemini CLIの基本的な機能と使い方について解説しました。

主な利点:

  • ターミナル環境での操作
  • 充実した無料利用枠(毎分60回、日次1000回)
  • Google検索によるWeb情報へのアクセス
  • プロジェクト固有のコンテクスト設定

無料枠が大きいのは明確な差別点だと思います。


「数理の弾丸」は、人工知能や言語にまつわる学術知をわかりやすく、誤魔化さずに伝えることを目指すチャンネルです。

Discussion