3
0

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 に挑戦してみることにした。

まずは、「やってみる」ってことで

やってみて感じた最初に設定したほうがよいもの

日本語化:但し、Review のみで、UIは未対応っぽい

途中で気付いて、設定したけど、英語勉強したいならその限りではない :laughing:

ちなみに、UI 自体は、日本語版にする方法がなさそう。
とはいえ、ブラウザの翻訳機能で今時は十分っちゃ十分。
便利な世の中になりましたね :laughing:

image.png

まずはインストールから

  1. フリートライアル開始
    image.png

  2. 連携サービスの選択
    image.png

  3. アカウント連携へ
    image.png

  4. Install へ
    image.png

  5. 実行する Repository の指定。とりあえず試すとこだけ選んでみる
    image.png

  6. 認証へ。パスキーが一番楽ですよね。(キャンセル一度したのでエラーになってるけど :sweat:
    image.png

  7. インストール完了。
    image.png
    今後、不要になったらここにきて、Suspend or Uninstall すればOKってこと
    image.png

  8. で、あらためて、Code Rabbit へ

なぜか、GitHub のページから、再ログインできず :thinking:

とりあえず、ブラウザを変えたところログインできたので、なんらかのキャッシュ問題? :thinking:

image.png

初期設定終わったんか、と思ったら、まだ 14% だった :sweat:

  1. まずはアクセス直後
    image.png

で、何かしら PR 作ってこないとどうしようもないので、とりあえず、ちょっとした改修をあげてみることにする

  1. で、PR してみたら

ちょっと進んで 29% になった。

image.png

  • PR 自体は、GitHub 連携してるので、GitHub 側からでも見られる。こんな感じでimage.png

GitHub の PR へは、Checkout your first CodeRabbit review からも飛べる

image.png

PR したら 29% になったので、もうちょっとあげたい

ってことで、 Personalize CodeRabbit を進めることにしよう

image.png

Set your review profile

PR を動レビューするかの設定っぽい

image.png

Profile(Chill / Assertive)

個人開発なら、Assertive で十分か

Request Changes Workflow

Changes requrested になって、全部解消すると、Approved にしてくれるらしい

業務で使うには True のほうが断然よさそう

High Level Summary

まぁ、あえて Off にする必要はないかな。
人間が Summary 作るの面倒だし。
GitHub Copilot もSummary 作ってくれるけどほんとありがたい :pray:

High Level Summary Instructions

プロンプトで、サマリーの出し方を指示できるので、業務の場合、こういうのもありかも。
とはいえ、お任せでいいなら、空白のままで。

‘Create concise release notes as a bullet-point list, followed by a Markdown table showing lines added and removed by each contributing author.’


全部みていくと量があるので、以降は気になったのだけ

Default False になっているやつを中心に、かな。True のはそのままでもいいだろうし


Fail Commit Status

業務なら、迷わず On にしておいた方がよさそう。
Review 失敗した理由を調査した方がよさそうだし

今回は個人なので、Off のままか

Collapse Walkthrough

個人的にはこういうのは、全部 On

というのも、折りたたんでおいてくれた方が、気になった際に開けて、見通しが良いから。
まぁ、読んだ後で閉じるってのでもいいんだけど。

Auto Apply Labels

自動でラベルがつくってことで、一見便利そうだけど、
付け方の指示がないと動かないみたい

なので、使うときには、直前の Instructions を追加しておこう。

個人なので今回はパス

image.png

動かないって報告は以下

気が変わって設定してみた。

image.png

あとで、どうなるかはお楽しみ


Auto Assign Reviewers

なんか面白そうって思ったけど、 Instructions がないし、どうやって Assign 対象決めるのかがよくわからない。

preview 機能?? :thinking:

まぁ、個人なら、設定しても無意味なので放置

Path Filters

レビュー対象を、Path で指定する感じ。 include/exclude 両面で
まぁ、今回はパスで


Review 設定をしたら、Apply Changes で Get Started

image.png

元の Getting Started へは、以下の部分をクリックして戻る

image.png

Personalize CodeRabbit セクションは、どうやら、Review Settings のことだったみたいだ

image.png

てっきりその項目ごとに設定群があるかと思ったが、
代表的な5点を説明し、それらの設定ページとして、Review.Settings を案内しているだけっぽい。UIって難しいよね

image.png

他に気になる設定を探してみる

Review.Auto Review

Review の On/Off を制御する軽なんかな。フィルター的な
個人だとあまり恩恵はないけど、業務ならめっちゃ便利な機能

Ignore Title Keywords

ドキュメントの修正だけとかの場合に、Review を除外したいようなと気に使えそう

Labels

Title Keywords でもフィルター出来るとはいえ、やっぱり Lables みたいな項目でフィルターはしたほうがいいね。こっちがあるのであれば

Title を自動でつけて対処するくらいならメタデータで管理した方がいい

Drafts

下書き状態で Review してくれるのは、PR出す前に✅して、Reviewer の負荷を下げるためにはよいよね。

GitHub Copilot Review でもこれ便利 :heart:

Tools

外部ツールの連携系かな。

Linterや性的解析ツールを追加して精度高くする感じにみえる

Kotlin 使うなら Detekt とか使うんかな?

Finishing Touches

レビュー後に、PR の説明欄を自動で整える機能らしい

ただ、この辺は、Review に頼るより、別途 CI で 自動生成や、TDD で開発すべきかな。漏れを防ぐために、最後のチェックとしては有効だけど。

Docstring

Docstring の提案もしてくれるっぽい

Unit Tests

Docstring と同様に、Unit Tests も提案してくれるっぽい

まだ beta っぽい
image.png


Pre-merge Checks

Merge Check をしてくれるっぽい。

GitHub がやってくれるものと違って、以下四点
一気に決めるのは大変なので、チームの状況に合わせて追加していくといい感じにはなりそう

  • Docstring Coverage
  • Pull Request Title
  • Pull Request Description
  • Issue Assessment

Save CHanges しても、2/3 が変わらなかったので、Skip して次へ

image.png

Setup Integrations and MCP servers

  • CI
  • MCP

の連携っぽいけど、GitHub 上のものとは違って、CodeRabbit がよりよく使えるようになるんかな?

とりあえず個人利用では、パスで。MCP は GitHub 側で設定できるけど、実際使うとなったら、何がよりよくなるのかは気になるね。

image.png

Build your first report

リポートを作成して、定期的に通知してくれる感じ
とりあえず、Teams に Incoming Webhook で設定してみた。

会社だと使えない機能なんで、会社でやるなら Mail に飛ばして、Automate とかで Adaptive Card 整形して、Teamsに飛ばす感じになるかな

image.png

Explore analytics dashboard

なんもない Dashboard :laughing:

image.png

いよいよ、88%

長かったけど終わりが見えてきた

image.png

Boost productivity: Install CodeRabbit in your IDE/ CLI

普段の Editor との連携だね。
VSCode 用のマーケットプレースは以下。

拡張から探してもすぐ
image.png

100%!!

さて、設定回りは一通りみたことになるのかな :thinking:

image.png

で、もう一度 GitHub に戻ると・・

いつの間にかReviewがついてた

image.png

⚠️ Outside diff range comments (2)

差分外だったので湖面後付けられなかったので、コメント内に説明があるって感じ。
見にくくはなるけど、GitHub の仕様上許可することはできないっぽい

🧹 Nitpick comments (3)

修正は不要だけど、直した方がいいんじゃないって話。

📜 Review details

Configuration used: defaults

設定前に動作したので、Default 動作だよって話か

指摘について

二件の指摘が素晴らしく完璧

cell index 間違ってない?

直さなきゃって思ってたやつを指摘してくれてた。

diff 外にも拘らず、コードを全部みて、内容を理解したうえで判断してそうで素敵 :hear_no_evil:

table の Header と data が一致してないよ?

うん、その通り、これも直そうとおもってて後回しにしてたやつ

修正後の反応

push したら速攻で応答が返ってきた。

ここは、

image.png

使ってみた感想

効率化用のブックマークレットってこともあって、結構適当に作ってたわけで、まぁまぁ指摘をもらいました。

当初は、差分に対する指摘程度をもらって動作を見ようと思ってたんだけど、

  • 差分以外もちゃんとみてくれる
  • Dry 原則など、きちんと理由を説明してくれる
  • GitHub Copilot Review と違って、動作の指示が豊富
    • instructions で決めるのではないところが特に使いやすいと感じた
  • bookmarklet という javascript としては微妙なものもちゃんと見てくれた。
    • Copilot 君だと、コメント入れたり、そのままじゃ動かないものを結構作ってくるので、あまり期待してなかった :sweat:

今回、 Assertive にしたからそれほど煩わしく出なかったのかもしれないので、次は Chill で試してみたいところ

あとがき

GitHub Copilot Review で困ってるのが、ひたすら Review が続くので、そのイメージで使ってみたところ、かなり使いやすくは感じた。

カスタマイズすればもっといい感じに使えそうで、やっぱ Review 機能で勝負してるだけあるなと感じた。

参考:今回試した Repo

3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?