🦁

Gemini CLI 最近のアップデート内容まとめ (v0.1.10 ~ v0.1.15)

に公開

はじめに

Gemini CLIは、開発者のワークフローを支援するためのコマンドラインツールです。この記事では、v0.1.10からv0.1.15までの安定版リリースと、現在Nightlyビルドで開発が進められている新機能について、コミットログを元に客観的な変更点をご紹介します。

アップデートの主な傾向

この期間のアップデートは、主に以下のテーマに沿って進められています。

  • IDEとの連携強化: VSCodeやその他のエディタとの連携を深め、よりシームレスな開発体験を目指しています。
  • コマンドの拡充と刷新: 新しいコマンドを追加しつつ、既存のコマンドアーキテクチャを改善し、拡張性を高めています。
  • クロスプラットフォーム対応: 特にWindows環境での互換性向上に多くの修正が加えられました。
  • 内部品質の向上: パフォーマンス改善、リファクタリング、バグ修正が継続的に行われています。

安定版リリースの主な変更点 (v0.1.11 ~ v0.1.15)

バージョン 0.1.15

  • エディタ連携:
    • Vimモードが追加されました。
  • 互換性:
    • Windows環境での互換性が向上し、関連する多数のテストが修正されました。
  • 修正:
    • ファイルのドラッグ&ドロップ機能に関する不具合が修正されました。
    • 古い形式のカスタムテーマも読み込めるように修正されました。
  • 内部改善:
    • シェルの実行ロジックが集約され、安全性が向上しました。
    • ハッシュベースのループ検知が実装され、意図しない操作の繰り返しを防止する機能が改善されました。

バージョン 0.1.13

  • IDE連携:
    • VSCode拡張機能が導入され、IDE連携の基盤が整いました。
    • /ide status/ide install といった連携を管理するためのコマンドが追加されました。
  • 内部改善:
    • 多くのスラッシュコマンドが新しいアーキテクチャに移行され、コマンドの拡張性が向上しました。
    • 単純な操作の繰り返しを検知するループ検知機能が導入されました。

バージョン 0.1.12

  • 新機能:
    • macOS環境において、クリップボードからの画像ペーストに対応しました。
  • 改善:
    • --prompt-interactive フラグが追加され、インタラクティブなプロンプト入力がサポートされました。

バージョン 0.1.11

  • 認証:
    • NO_BROWSER 環境変数を設定することで、ブラウザを介さない認証フローが利用可能になりました。

Nightlyビルドで開発中の機能

以下の機能は、まだ安定版には含まれていませんが、現在Nightlyビルドで開発とテストが進められています。

  • ワークスペース機能:
    • 複数のディレクトリを一つのワークスペースとして扱うための /directory コマンドと --include-directories オプションが追加されます。
  • IDE・エディタ連携:
    • Emacsのサポートが追加される予定です。
  • 新しいコマンド:
    • /setup-github: GitHubとの連携を設定します。
    • /init: GEMINI.md プロジェクト設定ファイルを生成します。
    • /chat delete: チャット履歴を削除します。
  • パフォーマンス:
    • ファイル検索処理が並列化され、CLIの起動速度の向上が図られています。
  • UX改善:
    • save_memory ツール使用時に、変更内容を確認・編集するステップが追加されます。

まとめ

Gemini CLIは、IDE連携の深化とクロスプラットフォーム対応を進めながら、継続的な改善が行われています。今後の安定版リリースで、現在Nightlyビルドで利用可能な機能が取り込まれていくことが期待されます。最新の機能に興味がある方は、Nightlyビルドの利用もご検討ください。

補足

人間の目でもチェックしておりますが、Gemini CLIにもチェックさせました。

ファクトチェック

✦ はい、承知いたしました。作成したブログ記事の内容について、ファクトチェックを行います。

記事の各項目が、これまでの調査で確認したコミットログの事実に基づいているか、一つずつ検証していきます。

  1. 安定版リリースの検証

v0.1.15 の内容

  • Vimモード追加: fbdc8d5a - Vim mode (#3936) コミットで確認。正確です。
  • Windows互換性向上: aa714386, 23e0dc69, be898710 など、多数の "windows compatible" コミットで確認。正確です。
  • ドラッグ&ドロップ修正: de968877 - Fix bugs breaking drag and drop of files. (#4887) コミットで確認。正確です。
  • カスタムテーマ修正: ad2ef080 - Fix so legacy custom themes still load. (#4757) コミットで確認。正確です。
  • シェル実行ロジック改善: ca5dd28a - refactor(core): Centralize shell logic into ShellExecutionService (#4823) コミットで確認。正確です。
  • ハッシュベースのループ検知: d76cedb6 - Implement hashing based loop detection (#4831) コミットで確認。正確です。

v0.1.13 の内容

  • VSCode拡張機能導入: e9d680e8 - Introduce VSCode companion extension (#3917) コミットで確認。正確です。
  • /ide コマンド追加: ab9eb937 - Add /ide status & /ide install commands to manage IDE integration (#4265) コミットで確認。正確です。
  • スラッシュコマンド移行: 9ab44ea9, 01e66bb1, fbe09cd3 など、多数のコマンド移行コミットで確認。正確です。
  • 単純なループ検知導入: 734da8b9 - Introduce loop detection service that breaks simple loop (#3919) コミットで確認。正確です。

v0.1.12 の内容

  • macOSクリップボードペースト: c9e194ec - feat: Add clipboard image paste support for macOS (#1580) コミットで確認。正確です。
  • --prompt-interactive フラグ: 5b6608ad - feat(cli): add support for --prompt-interactive/-i flag (#1743) コミットで確認。正確です。

v0.1.11 の内容

  • NO_BROWSER 環境変数: 8a128d8d - Add NO_BROWSER environment variable to trigger offline oauth flow (#3713) コミットで確認。正確です。
  1. Nightlyビルドで開発中の機能の検証

これらの機能は、v0.1.15以降のコミットに含まれていることを確認します。

  • ワークスペース機能 (/directory): f9a05401 - feat: Multi-Directory Workspace Support (part2: add "directory" command) (#5241) コミットで確認。正確です。
  • Emacsサポート: 37a3f1e6 - Add emacs support, as per user requests. :) (#1633) コミットで確認。正確です。
  • /setup-github: 574015ed - feat: Implement /setup-github command (#5069) コミットで確認。正確です。
  • /init: 80079cd2 - feat(cli): introduce /init command for GEMINI.md creation (#4852) コミットで確認。正確です。
  • /chat delete: bce6eb50 - feat(chat): Implement /chat delete command (#2401) コミットで確認。正確です。
  • パフォーマンス (ファイル検索並列化): bcce1e7b - perf(core): parallelize bfsFileSearch for 40% faster CLI startup (#5185) コミットで確認。正確です。
  • save_memory のUX改善: ac1bb5ee - confirm save_memory tool, with ability to see diff and edit manually for advanced changes that may override past memories (#5237) コミットで確認。正確です。

ファクトチェックの結果

問題ありません。

ブログ記事に記載されているすべての内容は、これまでの調査で確認した git のコミットログと一致しており、客観的な事実に基づいています。バージョンごとの機能分類も正確です。

Discussion