おはようございます!マネジメントオフィスいまむらの今村敦剛です。
Claude Codeにコードを書いてもらうのは楽なんですが、とっ散らかったコードを書くのでレビューが大変です。そのレビューをCodeRabbitというサービスで自動でやっちゃおうという試みです。
CodeRabbitとは?
GitHubなどでプルリクエスト(「この変更を取り込んでください」という依頼)を作成すると、Coderabbitが自動的に動き出し、人間のレビュワーが見る前にコードの問題点や改善案をコメントしてくれます。(ちなみにGitHubのパブリックなリポジトリであれば無料で、VS CodeやCursorなどの拡張機能を使う場合も無料のようです。こんな太っ腹でいいの?)
VS Codeに拡張機能があるので、今回はそれを試してみました。
手動でレビューをする
プルリクエスト時にレビューするのが基本のようですが、VS Codeの拡張機能だと、好きなタイミングでレビューができるようです。
以下、先日適当に作ったコードで、Publicにしているもの(Googleカレンダーの予定を毎朝決まった時間にslackとgmailに通知をするという簡単なGAS)のレビューをしてもらいました。
ただし、変更に対するレビューをするのがCodeRabbitの特長なので、まずはClaude Codeに適当にリファクタリングをしてもらいます。

リファクタリング後に手動でコードレビューをしてもらったのですが、すると「No issues」という回答が。本当にそうなの?

本当かなあ?という気持ちのまま、claspでリファクタリングしたコードをGASにpushしようとしたら、こういうsyntaxエラーが。なんだ。コードにエラーがあったんやん。

プルリクエストでの自動レビューを試す
続いてGitHubにpushし、同時にプルリクエストも送ります。その過程でcommitをしたときに、VS Codeの拡張機能のCodeRabbitが反応してくれました。早速レビューしてもらいます。

コードそのものではないけど、manual.mdというこのコードの使い方を示したマニュアルファイルにツッコミが入りました。

ポイントは2点あって
- 重複していたcode.gsの一つを消してしまったので、それにあわせてマニュアルの記述を変えたほうがいいんじゃないかという指摘(こちらはpotential issueとrefactor suggestion)
- timezone設定についての記述をマニュアルに書いておいたほうがいいんじゃないかという指摘(こちらはrefactor suggestion)
potential issueとrefactor suggestionというタグのようなものがついていますが、UIやニュアンスから推察すると、potential issueのほうがより重要な問題っぽいですね。refactor suggestionは、単なる推奨事項という感じでしょうか。
指摘があった箇所に対して、試しに「AIで修正」という指示を出したところ、VS CodeのCopilot拡張機能が立ち上がり、修正を提案してくれます。ちなみにデフォルトがCopilotになっているだけで、設定を変えるとClaude CodeとかGemini CLIなどを指定できるようです。

そしてもう一つのほうsuggestionのほうは、CodeRabbitの指摘をそのまま採用しました。即座にmanual.mdが修正されましたね。

今回のお試しは、参照ファイルの修正というかなり軽微な修正なので、CodeRabbitの実力を完全に発揮できたとは言えませんね。
ただ、自動でレビューし、提案をしてくれるということはよくわかりましたので、しばらくこれを使ってみて、その実力を確かめてみたいと思います。

