🫥

Gemini CLI インストール&使い方ガイド (Created by gemini-cli)

に公開

0. 前提

このドキュメントはgemini-cliがOSSであることをいいことに、gemini-cliでgemini-cliのソースをリサーチさせて作成されたものです。
もしかするとハルシネーションを起こして間違った情報が混ざっているかもしれませんのでご注意ください🙇
※間違った情報あればコメントいただくと直します

1. はじめに

Gemini CLIは、Googleの強力なAIモデルであるGeminiと対話するためのコマンドラインインターフェースツールです。コードベースのクエリ、新しいアプリケーションの生成、定型業務の自動化など、開発ワークフローを加速させるための多くの機能を提供します。

主な機能:

  • 大規模なコードベースのクエリと編集
  • PDFやスケッチからのアプリケーション生成
  • Google検索との連携によるグラウンディング
  • ツールやMCPサーバーを介した機能拡張

2. インストールとセットアップ

インストール

Node.js v18以上が必要です。以下のコマンドで簡単に実行またはインストールできます。

npxで直接実行:

npx https://github.com/google-gemini/gemini-cli

グローバルインストール:

npm install -g @google/gemini-cli
gemini

認証

Gemini CLIを使用するには、GoogleのAIサービスへの認証が必要です。初回起動時に以下のいずれかの方法を選択します。

  • Googleアカウントでログイン: 個人のGoogleアカウント(@gmail.comなど)でログインします。ブラウザが開き、認証プロセスが案内されます。
  • Gemini APIキー: Google AI StudioでAPIキーを生成し、環境変数に設定します。
    export GEMINI_API_KEY="YOUR_API_KEY"
    
  • Google Workspace / Code Assistライセンスユーザー: Google CloudプロジェクトIDを設定し、認証を行います。
    export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"
    
  • Vertex AI: Google Cloudプロジェクトとロケーションを設定し、Application Default Credentials (ADC) を使用します。
    gcloud auth application-default login
    export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"
    export GOOGLE_CLOUD_LOCATION="YOUR_PROJECT_LOCATION"
    export GOOGLE_GENAI_USE_VERTEXAI=true
    

Note: 環境変数は、~/.bashrc~/.zshrc、またはプロジェクトルートの.envファイルに記述することで、恒久的に設定できます。


3. 基本的な使い方

geminiコマンドでCLIを起動し、プロンプトを入力して対話を開始します。

cd your-project-directory/
gemini
> このプロジェクトのアーキテクチャを説明して。

ファイルやディレクトリをコンテキストとして使用 (@コマンド)

プロンプトに@に続けてファイルパスやディレクトリパスを指定すると、その内容をコンテキストとしてGeminiに提供できます。

> @src/main.ts のコードをリファクタリングする案を教えて。

> このディレクトリの概要を教えて。 @docs/

シェルコマンドの実行 (!コマンド)

!を接頭辞として付けると、ホストマシンのシェルコマンドを直接実行できます。

> !ls -l

> !git status

!のみを入力すると、シェルモードに切り替わり、連続してコマンドを実行できます。


4. 主要コマンドリファレンス

スラッシュコマンド (/) の使い方

スラッシュコマンドは、Geminiとの対話の途中で、CLI自体の機能(設定変更、履歴管理、終了など)を呼び出すための特別な命令です。プロンプトの入力行の先頭に / を入力し、続けてコマンド名を入力して実行します。

例:

  • 画面をクリアしたい場合: /clear と入力してEnterキーを押します。
  • 現在の会話を保存したい場合: /chat save my-awesome-idea のように入力します。

以下は利用可能な主なスラッシュコマンドの一覧です。

コマンド 説明
/help or /? ヘルプ情報を表示します。
/clear ターミナル画面をクリアします。(Ctrl+Lでも可)
/chat save <tag> 現在の会話履歴をタグ付きで保存します。
/chat resume <tag> 保存した会話履歴を復元します。
/memory show 現在ロードされているコンテキスト(記憶)の内容を表示します。
/memory refresh コンテキストファイル(GEMINI.md)を再読み込みします。
/restore [id] ツールの実行前の状態にプロジェクトファイルを復元します。
/stats 現在のセッションのトークン使用量などの統計情報を表示します。
/theme CLIの見た目のテーマを変更します。
/auth 認証方法を変更します。
/tools 利用可能なツールの一覧を表示します。
/quit or /exit Gemini CLIを終了します。

5. 高度な設定

設定ファイル

settings.jsonファイルでCLIの挙動を永続的にカスタマイズできます。

  • ユーザー設定: ~/.gemini/settings.json (全プロジェクトに適用)
  • プロジェクト設定: <プロジェクトルート>/.gemini/settings.json (そのプロジェクトのみに適用)

設定例 (settings.json):

{
  "theme": "GitHub",
  "autoAccept": true,
  "sandbox": "docker"
}

プロジェクトごとのAIコンテキスト設定 (GEMINI.md)

Gemini CLIの非常に強力な機能の一つが、AIに与える指示(コンテキストや記憶とも呼ばれます)を、作業中のプロジェクトやディレクトリに合わせて動的に変更できる点です。これはGEMINI.md(ファイル名は設定で変更可能)という名前のファイルを使って実現されます。

どう機能するのか?

GEMINI.mdファイルを特定のディレクトリに配置すると、Gemini CLIはそのディレクトリ以下で実行された際にファイルの内容を自動的に読み込み、AIへのシステムプロンプトの一部として送信します。これにより、AIの応答をプロジェクトのルールや規約に合わせて調整できます。

主な利点:

  • プロジェクト固有のルールの徹底: 「このプロジェクトではTypeScriptを使い、テストはJestで書く」といったルールをAIに常に意識させることができます。
  • 精度の向上: プロジェクトの背景情報(使用ライブラリ、アーキテクチャなど)をAIに提供することで、より文脈に合った的確な回答を引き出せます。
  • 作業の効率化: 毎回同じ指示をプロンプトに含める必要がなくなります。

階層的なコンテキスト読み込み

コンテキストは階層的に読み込まれ、より内側(現在地に近く)のディレクトリの設定が優先されます。これにより、大局的なルールと局所的なルールを両立できます。

  1. グローバル設定 (~/.gemini/GEMINI.md):
    • あなた個人の一般的な指示(例:「回答は常に日本語で」など)を記述します。
  2. プロジェクトルート (/path/to/your-project/.gemini/GEMINI.md or /path/to/your-project/GEMINI.md):
    • プロジェクト全体に共通する規約(コーディングスタイル、使用するフレームワークなど)を記述します。
  3. サブディレクトリ (/path/to/your-project/src/components/GEMINI.md):
    • 特定のコンポーネントやモジュールに特化した指示(例:「このディレクトリ内のReactコンポーネントは、必ずmemoでラップする」)を記述します。

Note: /memory showコマンドを実行すると、現在どのGEMINI.mdファイルが読み込まれ、最終的にどのようなコンテキストがAIに提供されているかを確認できます。新しいコンテキストファイルを追加・編集した後は、/memory refreshコマンドで再読み込みしてください。

Discussion