Gemini CLIとは
Gemini CLIは、自然言語の対話を通じて、ファイル操作、コーディング、Web検索など、様々なタスクを効率化するコマンドラインインターフェースです。
まるで優秀なアシスタントとペアプログラミングをするような感覚で、開発作業を進めることができます。
初期設定
まずNode.jsのバージョン18以上のインストールが必要です。
もしインストールされていない場合は下記の公式サイトからインストールしてください。
https://nodejs.org/ja/
1. インストール
Gemini CLIは、以下のコマンドでインストールできます。
npx https://github.com/google-gemini/gemini-cliグローバルにインストールすることもできます。
npm install -g @google/gemini-cli2. 認証
Gemini APIを利用するためには、認証設定が必要です。
多くの場合、gcloud コマンドを通じて認証を行います。
# Google Cloud SDKの認証
gcloud auth application-default login基本的な使い方
対話による指示
基本的な操作は、自然言語での指示入力です。挨拶から複雑な依頼まで、柔軟に解釈します。
> こんにちは!今日のタスクを整理しましょう。ファイル・ディレクトリ操作
ローカルファイルの操作も、チャット形式で実行できます。
カレントディレクトリの構造をツリー表示(node_modules を除く)
> ls -R --ignore=node_modulesファイルの先頭10行だけプレビュー
> cat --limit=10 src/main.jsファイルの新規作成・追記
> "console.log('Hello, Gemini!');" > src/index.jsファイル内の文字列検索(大文字・小文字を区別しない)
> /api.endpoint/i src/**/*.ts応用的な使い方
コーディング支援
Gemini CLIの真価は、コーディング支援にあります。
関数のリファクタリング
> @src/utils.js `getUserData` 関数を async/await を使ったモダンな記法に書き換えてファイル内の複数箇所を一度に置換
> @src/constants.js 古い定数名を新しい定数名にすべて置換して --expected_replacements=5テストコードの自動生成
> @src/math.js `add` 関数のテストコードを `tests/math.test.js` に生成して正規表現の生成
> メールアドレスを検証する正規表現を教えてWeb検索と情報収集
Web上の情報を活用し、調査や学習を効率化します。
ライブラリのドキュメントを要約
> https://reactjs.org/docs/hooks-intro.html の内容を3行で要約して複数の技術ブログを比較
> https://blog.example.com/a と https://dev.to/b の記事を比較して、それぞれの長所と短所を教えて長期的な記憶
save_memory を使うことで、Geminiに特定の情報を記憶させ、以降の対話に活かすことができます。
> 私の好きなフレームワークはReactです。この情報を記憶してください。
save_memory: "好きなフレームワークはReact"トラブルシューティングと便利なオプション
詳細ログの表示
問題が発生した場合は、--verbose オプションを付けて実行すると、詳細なログを確認できます。
gemini --verbose "エラーの原因を調べて"実行前確認(ドライラン)
ファイルへの変更など、破壊的な操作を行う前に --dry-run オプションを付けると、実行されるコマンドの内容を事前に確認できます。
> @config.json `port` を `8080` に変更して --dry-run注意点と限界
Gemini CLIは強力なツールですが、万能ではありません。以下の点に留意して利用することが重要です。
- 出力の正確性:
AIは時に誤った、あるいは不完全な情報を生成することがあります(ハルシネーション)。生成されたコードやコマンドは、必ず自身の目で確認・検証してください。 - セキュリティ:
ローカルファイルへのアクセスやコマンド実行の権限をGeminiに与えることになります。機密情報や重要な設定ファイルを扱う際は、そのリスクを十分に認識してください。 - 文脈の理解:
プロジェクト固有の複雑なルールや、暗黙的なコーディング規約を完全に理解できない場合があります。最終的な判断は開発者自身が行う必要があります。 - 過度の依存:
ツールに頼りすぎると、自身の問題解決能力や技術的知識の向上が妨げられる可能性があります。あくまで「アシスタント」として活用しましょう。




