TECH BLOG

エルカミーの技術ブログです

AIでGitHub開発を加速! Gemini CLI GitHub Actionsの始め方

はじめに

今年6月にターミナルでGeminiを活用できるオープンソース AIエージェント Gemini CLI がリリースされ、多くの開発者に利用されています。

そして、8月5日、GitHubリポジトリで利用できるAIコーディング パートナー「Gemini CLI GitHub Actions」が発表され、3つのオープンソースワークフローが提供されるようになりました。

  • インテリジェントなイシューの振り分け
  • プルリクエスト レビューの迅速化
  • オンデマンドでの共同作業

このブログでは、Gemini CLI GitHub Actionsの導入方法から実際の使用例まで、読者の皆さんが簡単に真似できるようにプロセスを記載していきます。

環境(使ったもの)

  • GitHub
  • Gemini CLI: バージョン 0.1.18 以上

事前準備

Gemini CLI GitHub Actions を利用するために、以下の準備が必要です。

  • GitHubリポジトリの作成
  • Gemini CLIのインストール
    • GitHub Actionsのワークフローをコマンドを使用して作成する場合に必要です。
    • 既に Gemini CLIをインストールしている場合はバージョンが 0.1.18 以上であることを確認してください。
      gemini --version # 0.1.18以上であることを確認
      npm install -g @google/gemini-cli@latest # 最新のバージョンにアップデート

実施手順

1. Gemini APIキーの取得

まずは、Gemini CLIを利用するために必要なAPIキーを準備します。
Google AI Studioの「APIキー」ページ( https://aistudio.google.com/apikey )から取得できます。

このAPIキーは次のステップで使用するため控えておきます。

image block
image block
2. Repository SecretにGemini APIキーを追加

GitHubリポジトリでGemini CLIを使えるようにするため、Gemini APIキーを保存します。
APIキーは安全な環境であるRepository Secretに登録します。

  • 設定内容
    Name GEMINI_API_KEY
    Secret 先ほど控えておいたGemini APIキー
image block
image block
3. GitHub Actionsワークフローの作成

GitHub Actionsのワークフローは、GitHub上で自動的に処理を実行するための作業の流れ(自動化シナリオ)を定義したものです。

GitHub上に作成しておく必要があるのですが、まずはローカル環境で準備します。

3-1. コマンドを使用する場合(推奨)

Gemini CLIの便利なコマンドを使用して、自動的にワークフローを作成できます。

  • コマンドの入力画面
    image block
  • コマンド
    # ローカルリポジトリのルートディレクトリで実行
    # Gemini CLIを起動
    gemini
    
    # Gemini CLIのチャット入力欄で実行
    # ローカルリポジトリ内にワークフローを作成
    /setup-github
3-2. 手動でワークフローを作成する場合

権限の問題などでコマンドが実行できない場合、ローカルリポジトリの.github/workflows に下記のファイルをコピーします。

  • リポジトリ

  • ファイル
    • examples/workflows/gemini-cli/gemini-cli.yml
    • examples/workflows/issue-triage/gemini-issue-automated-triage.yml
    • examples/workflows/issue-triage/gemini-issue-scheduled-triage.yml
    • examples/workflows/pr-review/gemini-pr-review.yml
4. GEMINI.mdの作成

Gemini CLIの実行ルールを定義する GEMINI.md を作成できます(任意)。

今回はGitHub Actionsで参照するため、リポジトリのルートディレクトリ直下に作成します。
※ ローカル環境でGemini CLIを使う場合は .gemini ディレクトリ配下に作成します。

GEMINI.md を充実させることで、コードレビューやイシューの分類などを期待どおりの実行結果に近づけられます。

デフォルトの言語は英語のため、今回は日本語への変更だけ指示します。

# Basic Rules
- デフォルトの言語を日本語とする。
5. GitHubへのプッシュ

最後に、これまでローカルリポジトリでの編集内容をリモートリポジトリに反映します。

これでGemini CLI GitHub Actionsを利用する準備は完了です。

実際の使用例

今回は次の3つの機能を試してみました。

  1. プルリクエスト作成後の自動のコードレビュー
  2. イシュー作成後の自動のラベリング
  3. @gemini-cliを使った任意の指示
1. プルリクエスト作成後の自動のコードレビュー

プルリクエストを作成すると自動でコードレビューをしてくれます。

全く同じ<p>タグを追加したところ、レビューによってきちんと指摘してくれました。

image block
2. イシュー作成後の自動のラベリング

イシューを作成すると、自動でラベリングをしてくれます。

レビューの指摘内容をイシューとしたところ、bugに分類されました。

image block
3. @gemini-cli を使った任意の指示

プルリクエスト、イシューに対して@gemini-cliを付けてコメントすると、任意の指示を出すことができます。

index.htmlに不足しているタグの追加を指示したところ、基本的なHTMLタグを追加したファイルが作成され、新規のブランチが発行されました。

image block
image block

おわりに

今回試したなかではプルリクエスト作成後の自動のコードレビューがとても有用であると感じました。

GEMINI.mdを充実させれば、コード規約を満たしているかを自動的にレビューすることもでき、レビュー担当者のレビュー工数を削減できるものと思います。

また、Slackワークフローを使ってGitHubイシューを作成し、Gemini CLI GitHub Actionsを実行するということも可能です。

例えば、GitHub Actions からGoogle Cloudに認証し、Terraformを実行してサンドボックス環境(VPCやGCE等)を作成できそうなので、今度試してみたいです。

このブログで紹介した手順に従えば、簡単にGemini CLI GitHub Actionsを導入できます。
リポジトリ単位で設定できるため、一部の開発にだけ試験的に導入することも可能です。
ぜひ試してみて、AIを活用した開発を体験してください!

参考