この記事では、GitHub Copilot CLI と CodeRabbit を連携させて、完全なAIエージェントループを実現する手順を解説します。GitHub Copilotでコードを書き、CodeRabbit で変更をレビューし、さらにGitHub Copilotでレビューでの指摘を修正します。
GitHub Copilot CLIへのプロンプトの与え方、実行する CodeRabbit コマンド、copilot-instructions.md ファイルに追加する内容についても解説します。
前提条件
1. GitHub Copilot CLIのインストール
各プラットフォームごとの手順に従って GitHub Copilot CLIをインストールします。インストールしたらログインし、ターミナルから GitHub Copilot CLIを起動できることを確認してください。コマンドは copilot です。
2. CodeRabbit CLI のインストール
CodeRabbit CLI をシステムにグローバルインストールします。
curl -fsSL https://cli.coderabbit.ai/install.sh | sh
シェルを再起動します。
source ~/.zshrc
3. CodeRabbit へのログイン
ターミナルで以下のコマンドを実行して CodeRabbit にログインします。
coderabbit auth login
認証は GitHub Copilot CLI インスタンス間で永続に利用されますので、マシンごとに一度だけ実行すれば問題ありません。
4. 認証の確認
ターミナルで以下のコマンドを実行すれば、ログインが成功したことをテストできます。
coderabbit auth status
成功すると、ログイン状態が表示され、CodeRabbit にログインしていることが確認できます。
新機能の構築の一環として CodeRabbit を使用する
1. GitHub Copilot CLI 向けの CodeRabbit 使用手順
今回はリポジトリレベルでの利用になります。 .github/copilot-instructions.md を作成し、以下を追加します。
# コードレビューについて
ファイルを編集したら、コミットする前にCodeRabbitを使用してコードレビューを行ってください。
CodeRabbit CLI は、以下のコマンドで実行します:
```
coderabbit --prompt-only -t uncommitted
```
これは長時間実行されるタスクで、最大30分かかる場合があります。結果は標準出力です。ファイルを作成しませんので注意してください。
2分ごとに完了したかどうかを確認し、完了したら重要な修正と推奨される修正をレビューして検証し、些細な変更や不要な変更は無視してください。
指摘内容に沿って、コードを修正して再度 CodeRabbit を実行してください。このループは最大3回実行できます。結果をユーザーに知らせてください。
必要に応じてプロンプトをカスタマイズしてください。プロンプトでは、以下を伝える必要があります。
- CodeRabbit の実行方法、つまり
--prompt-onlyフラグの使用と、既にインストールされている CLI ツールであること。 - 長時間実行されるタスクであり、時間がかかる可能性があること。そうしないとタイムアウトする可能性があります。
- GitHub Copilot CLI に変更をレビューして実装する方法に関するガイドライン。例:重要な問題のみを修正する。
- 一部のエージェントは CodeRabbit を複数回実行するため、実行すべき合計回数を知らせてください。
2. 実装とレビューのリクエスト
GitHub Copilot CLI に機能の実装と CodeRabbit 分析による問題修正を依頼します。たとえば、以下のような内容です。 custom-instructions.md ファイルを認識してくれるので、特にレビューを依頼する必要はありません。ただし、LLMは非決定的なので、 copilot-instructions.md ファイルを参照して、レビューを行うように促す必要がある場合があります。
計画書のフェーズ7.3を実装してください。
3. エージェントステップ:GitHub Copilot CLI が機能を実装し CodeRabbit を実行
GitHub Copilot CLI側のエージェントステップでは、以下を行います。
- 要求された機能を実装
-
coderabbit --prompt-onlyを実行 - CodeRabbit の進行状況を定期的に確認
4. エージェントステップ:CodeRabbit の分析とタスク作成
CodeRabbit が完了すると、GitHub Copilot CLI は以下を行います。
-
--prompt-onlyの出力を読み取る - CodeRabbit が指摘した内容をレビューする
- 修正を実装する
5. エージェントステップ:停止または解決へのループ
GitHub Copilot CLI は修正を検証し、他の問題が発生していないことを確認するために、再度 CodeRabbit を実行します。このループは、すべての重要な問題が解決されるか、ループ制限に達するまで続きます。
最適化のヒント
効率化のために prompt-only モードを使用する
GitHub Copilot CLI 向けに手動で CodeRabbit を実行する場合は、AI エージェント統合のために --prompt-only を使用してください。
coderabbit --prompt-only
このモードは、以下のような意味を持ちます。
- 簡潔な問題コンテキストを提供
- トークン効率の良いフォーマットを使用
- 特定のファイルの場所と行番号を含む
- 詳細すぎない修正アプローチを提案
GitHub Copilot CLI 向けに CodeRabbit を設定する
CodeRabbit は自動的に AGENTS.md ファイルを読み取ります。コードレビューの実行方法、コーディング標準、アーキテクチャの好みに関するコンテキストを追加してください。
なお、この機能は Pro 有料プランでのみ利用可能です。
トラブルシューティング
CodeRabbit が問題を見つけられない場合
CodeRabbit が期待される問題を検出していない場合:
-
認証ステータスを確認する:
coderabbit auth statusを実行(認証によりレビュー品質が向上しますが、必須ではありません) -
git ステータスを確認する: CodeRabbit は追跡された変更を分析します -
git statusを確認してください -
レビュータイプを検討する:
--typeフラグを使用してレビュー対象を指定してください-
coderabbit --type uncommitted- コミットされていない変更のみ -
coderabbit --type committed- コミットされた変更のみ -
coderabbit --type all- コミットされた変更とされていない変更の両方(デフォルト)
-
-
ベースブランチを指定する: メインブランチが
mainでない場合は、--baseを使用してくださいcoderabbit --base developcoderabbit --base master
- ファイルタイプを確認する: CodeRabbit CLIはコードファイルに焦点を当て、ドキュメントや設定ファイルは対象外です
レビュー時間の管理
CodeRabbit のレビューは、変更の範囲に応じて7分から30分以上かかる場合があります。
- バックグラウンド実行を確保する: 作業を続けられるように、GitHub Copilot CLI が CodeRabbit をバックグラウンドで実行するよう設定してください
-
より小さな変更セットをレビューする: レビュー対象を調整して分析時間を短縮します
-
--type uncommittedを使用してコミットされていない変更のみをレビュー - main と比較して小さな機能ブランチで作業
- 大きな機能を小さなレビュー可能なチャンクに分割
-
-
diff の範囲を設定する: 分析される変更を制御するには、以下を検討してください
-
コミットされていない変更のみをレビュー:
--type uncommittedを使用して作業ディレクトリの変更のみを分析 -
ベースブランチを設定:
--base developまたは--base mainを使用して比較ポイントを設定 - 機能ブランチを使用: 大きなステージングブランチではなく、焦点を絞った機能ブランチで作業
-
コミットされていない変更のみをレビュー:
まとめ
GitHub Copilot CLI と CodeRabbit CLI を組み合わせることで、強力なAI駆動のコード作成およびレビュー体験が実現します。GitHub Copilot CLI に新機能の実装を依頼し、CodeRabbit で変更をレビューし、指摘された問題を修正することで、コード品質と信頼性を向上させられるでしょう。
ぜひCodeRabbit をお試しください!