CodeRabbitはAIコードレビューサービスです。GitHubやGitLabなどと連携し、PRを自動的にコードレビューします。VS Code機能拡張やCLIも提供しており、こちらは無料で利用できます。パブリックなリポジトリであれば、CodeRabbitを無料で利用できます。
最近新しくリリースした機能Suggested Reviewers Instructionsを紹介します。これは、レビュアーを推薦してくれる機能ですが、その推薦方法を自然言語で書けるのが特徴です。
一般的なレビュアー割り当て方法
GitHubでは、レビュアーを自動割り当てしてくれる機能があります。
チームのコードレビュー設定を管理する - GitHubドキュメント
このときのアルゴリズムは2つあります。
- ラウンドロビンアルゴリズム
- ロードバランスアルゴリズム
ラウンドロビンは単純に順番に割り当て、ロードバランスはレビューリクエスト数を考慮した割り当てとなっています。
ただ、いずれにしても機械的であり、自分に適していないレビューを回されても困るという現実もあります。モノレポ構成の場合、バックエンドエンジニアがフロントエンドのレビューに回される場合もあるでしょう。
Suggested Reviewers Instructionsについて
Suggested Reviewers Instructionsは、コード変更の内容に基づいてレビュアーを自動的に割り当てるルールを定義できる機能です。PRに定義された基準へ合致する操作や機能、またはフローが含まれている場合に、適切なレビュアーグループを自動的に割り当てます。
設定は、以下のような形になります。
reviews:
suggested_reviewers: true
auto_assign_reviewers: true
suggested_reviewers_instructions:
- reviewers:
- handle: security-team
type: group
- handle: octocat
type: user
instructions: "PRで認証、暗号化、またはアクセス制御のロジックが変更された場合に割り当てる。"
- reviewers:
- handle: infra-team
type: group
instructions: "PRでCI/CDパイプラインの設定を変更した際に割り当てる。"
上記は例です。たとえばパッケージマネージャの更新、特定の業務システムなど自由に記述ができます。そうした割り当てルールを自然言語で書けるのが便利です。
条件
利用する際には、幾つかの条件があります。
- GitHub向けの機能です
-
suggested_reviewersとauto_assign_reviewersが有効になっていること - 執筆現在はプレビュー機能です
- 自然言語で書けるのは3,000文字まで
まとめ
適切な人がレビューに割り当てられれば、よりスムーズな開発が可能になります。グループに割り当てるようにすれば、複数人での作業分担も可能になるでしょう。
ぜひ活用してください!