1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CodeRabbitとGemini CLIを統合してAIエージェントループを構築する

Posted at

CodeRabbit Documentation - AI code reviews on pull requests, IDE, and CLIの意訳です。

この記事では、Google の Gemini CLI と CodeRabbit を完全なAIエージェントループで使用する手順を解説します。Gemini でコードを書き、CodeRabbit で変更をレビューし、さらにGemini でレビューでの指摘を修正します。

Gemini へのプロンプトの与え方、実行する CodeRabbit コマンド、Gemini.md ファイルに追加する内容についても解説します。

ビデオデモ

前提条件

1. Gemini CLI のインストール

各プラットフォームごとの手順に従って Gemini CLI をインストールします。インストールしたらログインし、ターミナルから Gemini を起動できることを確認してください。

2. CodeRabbit CLI のインストール

CodeRabbit CLI をシステムにグローバルインストールします。

curl -fsSL https://cli.coderabbit.ai/install.sh | sh

シェルを再起動します。

source ~/.zshrc

3. CodeRabbit へのログイン

ターミナルで以下のコマンドを実行して CodeRabbit にログインします。

coderabbit auth login

認証は Gemini インスタンス間で永続に利用されますので、マシンごとに一度だけ実行すれば問題ありません。

4. 認証の確認

ターミナルで以下のコマンドを実行すれば、ログインが成功したことをテストできます。

coderabbit auth status

成功すると、ログイン状態が表示され、CodeRabbit にログインしていることが確認できます。

新機能の構築の一環として CodeRabbit を使用する

1. Gemini CLI 向けの CodeRabbit 使用手順

Gemini.md ファイルに以下を追加します。

Run the CodeRabbit CLI by running the command:

`coderabbit --prompt-only -t uncommitted`

It's a long running task and may take up to 30 minutes. Check every 2 minutes if it's complete and once it's done review and validate critical fixes and recommended fixes, while ignoring nits or unecessary changes. Then fix those and run CodeRabbit again. You can run this loop up to 3 times. Let the user know the outcomes.

日本語訳すると、以下のようになります。

CodeRabbit CLI は、以下のコマンドで実行します:

```
coderabbit --prompt-only -t uncommitted
```

これは長時間実行されるタスクで、最大30分かかる場合があります。2分ごとに完了したかどうかを確認し、完了したら重要な修正と推奨される修正をレビューして検証し、些細な変更や不要な変更は無視してください。その後、それらを修正して再度 CodeRabbit を実行してください。このループは最大3回実行できます。結果をユーザーに知らせてください。

必要に応じてプロンプトをカスタマイズしてください。プロンプトでは、以下を伝える必要があります。

  • CodeRabbit の実行方法、つまり --prompt-only フラグの使用と、既にインストールされている CLI ツールであること。
  • 長時間実行されるタスクであり、時間がかかる可能性があること。そうしないとタイムアウトする可能性があります。
  • Gemini に変更をレビューして実装する方法に関するガイドライン。例:重要な問題のみを修正する。
  • 一部のエージェントは CodeRabbit を複数回実行するため、実行すべき合計回数を知らせてください。

2. 実装とレビューのリクエスト

Gemini に機能の実装と CodeRabbit 分析による問題修正を依頼します。たとえば、以下のような内容です。

計画書のフェーズ7.3を実装してから、CodeRabbit を実行してください

Gemini.md ファイルに CodeRabbit の実行方法を追加したので、Gemini は正しく実行するはずです。しかし、LLMは非決定的なので、Gemini.md ファイルを参照して、手順を確認するよう促す必要がある場合があります。

3. エージェントステップ:Gemini が機能を実装し CodeRabbit を実行

Gemini側のエージェントステップでは、以下を行います。

  1. 要求された機能を実装
  2. coderabbit --prompt-only を実行
  3. CodeRabbit の進行状況を定期的に確認

4. エージェントステップ:CodeRabbit の分析とタスク作成

CodeRabbit が完了すると、Gemini は以下を行います。

  1. --prompt-only の出力を読み取る
  2. CodeRabbit が指摘した内容をレビューする
  3. 修正を実装する

5. エージェントステップ:停止または解決へのループ

Gemini は修正を検証し、他の問題が発生していないことを確認するために、再度 CodeRabbit を実行します。このループは、すべての重要な問題が解決されるか、ループ制限に達するまで続きます。

最適化のヒント

効率化のために prompt-only モードを使用する

Gemini 向けに手動で CodeRabbit を実行する場合は、AI エージェント統合のために --prompt-only を使用してください。

coderabbit --prompt-only

このモードは、以下のような意味を持ちます。

  • 簡潔な問題コンテキストを提供
  • トークン効率の良いフォーマットを使用
  • 特定のファイルの場所と行番号を含む
  • 詳細すぎない修正アプローチを提案

Gemini 向けに CodeRabbit を設定する

CodeRabbit は自動的に gemini.md ファイルを読み取ります。コードレビューの実行方法、コーディング標準、アーキテクチャの好みに関するコンテキストを追加してください。

なお、この機能は Pro 有料プランでのみ利用可能です。

トラブルシューティング

CodeRabbit が問題を見つけられない場合

CodeRabbit が期待される問題を検出していない場合:

  1. 認証ステータスを確認する: coderabbit auth status を実行(認証によりレビュー品質が向上しますが、必須ではありません)
  2. git ステータスを確認する: CodeRabbit は追跡された変更を分析します - git status を確認してください
  3. レビュータイプを検討する: --type フラグを使用してレビュー対象を指定してください
    • coderabbit --type uncommitted - コミットされていない変更のみ
    • coderabbit --type committed - コミットされた変更のみ
    • coderabbit --type all - コミットされた変更とされていない変更の両方(デフォルト)
  4. ベースブランチを指定する: メインブランチが main でない場合は、--base を使用してください
    • coderabbit --base develop
    • coderabbit --base master
  5. ファイルタイプを確認する: CodeRabbit CLIはコードファイルに焦点を当て、ドキュメントや設定ファイルは対象外です

レビュー時間の管理

CodeRabbit のレビューは、変更の範囲に応じて7分から30分以上かかる場合があります。

  1. バックグラウンド実行を確保する: 作業を続けられるように、Gemini が CodeRabbit をバックグラウンドで実行するよう設定してください
  2. より小さな変更セットをレビューする: レビュー対象を調整して分析時間を短縮します
    • --type uncommitted を使用してコミットされていない変更のみをレビュー
    • main と比較して小さな機能ブランチで作業
    • 大きな機能を小さなレビュー可能なチャンクに分割
  3. diff の範囲を設定する: 分析される変更を制御するには、以下を検討してください
    • コミットされていない変更のみをレビュー: --type uncommitted を使用して作業ディレクトリの変更のみを分析
    • ベースブランチを設定: --base develop または --base main を使用して比較ポイントを設定
    • 機能ブランチを使用: 大きなステージングブランチではなく、焦点を絞った機能ブランチで作業

まとめ

Gemini CLI と CodeRabbit CLI を組み合わせることで、強力なAI駆動のコード作成およびレビュー体験が実現します。Gemini に新機能の実装を依頼し、CodeRabbit で変更をレビューし、指摘された問題を修正することで、コード品質と信頼性を向上させられるでしょう。

ぜひCodeRabbit をお試しください!

AI Code Reviews | CodeRabbit | Try for Free

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?