🏓

GitHub Copilot レビューと打ち合う

に公開

はじめに

最近は GitHub に PR を push すると、Copilot がレビューをしてくれる設定の所も増えてきたのではないでしょうか?私の環境はまさにそれで、PR をあげるとレビューしてくれるようになっています。初期の頃はたいした指摘もしてこず、適当に流しておけばよかった気がするのですが、最近はちゃんと痛いところを突いてきたりするのであなどれません。適当に無視するわけにも行かないのですが、修正して push するたび新しいレビューを入れてきたりするので、モグラ叩きのように Copilot の指摘と戦うことになる始末です。

開発側も負けずと Claude Code でレビューの指摘を打ち返しますが、Claude Code は gh コマンドの利用が得意ではないのか、Copilot の指摘が増えてくると、すでに返答した指摘を適当につかんでしまって、新しい指摘に答えられずに変な方向に進んで言ってしまうことが多くあります。

そこで、Claude Code にレビューコメントを正しく取得できるツールを使わせて、Copilot の指摘と戦わせよう、というのが今回のお題です。

GitHub Extension

gh コマンドには、gh コマンドを拡張するための仕組みがあるので、この extension の形式でツールを作成して Claude Code に利用させます。ツールはもちろん Claude Code が書いてくれます。extension 形式で作成すればインストールも簡単で、gh extension install ikawaha/gh-pr-comments とするだけです。

https://github.com/ikawaha/gh-pr-comments

この extension を利用すると、まだ解決していないレビューコメント一覧などを取得できるようになります。

例:PR #123 のまだ解決していないコメント一覧を取得

# Show only unresolved threads
gh pr-comments 123 --unresolved

Claude Code にツールを使ってもらう

折角作ったツールも Claude Code が使ってくれないと意味がないです。対話的に gh pr-comments を使ってコメントを取得して などと指定してもいいですが、~/.claude/CLAUDE.md に書いておけばいいです。自分で書かなくても Claude Code にお願いすれば用意してくれます。

## GitHub CLI preferences

- PR のコメントを取得するときは `gh pr-comments` extension を使うこと(`gh api` や `gh pr view` ではなく)
  - 例: `gh pr-comments <PR番号>`

おわりに

このツールは PR のコメントを取得してくる単純なものです。人間が介在して、PR コメントを必要があれば対応したりして、やりとりするように出来ます。もう少し工夫すればまだまだ楽できそうな感じもします。

すでに、Copilot SDK を利用してコメントを分類したりいろいろやってくれるツールもあります。

https://github.com/k1LoW/gh-pr-reviews

このぐらい色々やってくれると、Claude Code と Copilot で勝手にやりとりしてくれる感じになるかもしれません。

最近は本当に、プログラマという職業自体が色あせたものになりつつあるなと感じますが、ちょっとしたツールとかシュッと 作ってくれる 作れるので、ある意味、一番楽しい時代なのかもしれませんね。

Happy hacking!

Discussion