🤖
What The Diff を使って AI にレビューを手伝ってもらう
what the diff とは?
Github と連携することで以下のような事が出来るサービスです
- 修正内容の提案を文章から自動生成
- コミット内容から変更点のサマリを生成
- 1週間の変更点をまとめて Slack に送信
類似サービスとして Github も同様のサービスを開発中のようです
設定
リポジトリへの設定
Github 経由で登録できます
What The Diff(以下 WTD)を使用するリポジトリも選択可能です
今回はサンプル用のリポジトリを選択しました
登録完了後、アプリのダッシュボードが表示されるので Enable で有効化
有効化したリポジトリは各種個別設定が可能です
大まかに以下の設定内容です
- PR 一覧(ここから変更点のサマリを生成することも出来ます)
- WTD を実行するタイミング、実行対象外とする条件
- 1週間の変更点を通知する Slack のチャンネル(現時点では有料プラン限定でした)
機能
コミットから変更サマリを生成
全く情報を持たないコミットメッセージで PR を作成してみましょう
$ git log --oneline
a5d4c91 (HEAD -> feat/hoge, origin/feat/hoge) wip
f6bca37 wip
4d29011 wip
cf4df16 (origin/master, master) create next-app
もちろん PR にも何も情報はありません
PR の作成をトリガーに WTD がサマリをコメントしてくれました
Changed the title of index.tsx
Added a function to sum two numbers in index.tsx
Increased padding from 6rem to 8rem in Home module css file
修正内容は以下なので問題なくサマリが作成できています
- index のタイトルを変更
- 2つの引数を足し算する関数の作成
- padding を 6rem -> 8rem に変更
変更提案を文章から作成
提案したい行を指定し /wtd
とコメントすることで WTD が適切なコードを提案してくれます
(今回のコードは適切だったようです)
/wtd
に続けて具体的な内容をコメントすることで、コメント内容から提案も行ってくれます
期待通りのコードを提案してくれました
感想
雑なコミットからサマリを生成する機能は確かに便利ですが、コミットログとしては不適切なので WTD が生成したサマリを元にコミットメッセージを修正するなど、作業の補助として使うのがよさそうです
変更提案の作成は議論のベースとしてサンプルコードをサクッと作れるので活用できるシーンもありそうです
今後 CI への組み込みや日本語対応等が進むと活用の幅が広がりそうですね
Discussion