🍣
difitとpecoを組み合わせてAIのコードをレビューする
背景
最近、AI が書いたコードを difit でレビューしてみる、ということを試しています。 便利そうだな〜と思っていたところ、こちらの記事を見つけました。
記事中のコマンドで「なるほどこうやるのか」と思って試してみたのですが、自分の環境ではうまく動きませんでした。
そこで少しコマンドをいじって、いい感じに動いたので、その備忘録です。
原因
papix さんの記事にあった以下のコマンド
git log --oneline --decorate | peco --prompt 'COMMIT >' | head -n 1 | awk '{print $1}' | xargs npx difit
ぱっと見よさそうだったのですが、実行するとエラーが出てしまいました。
Error: No diff content received from stdin
調べてみると、どうやら npx difit にコミットハッシュだけ渡しても動かない ようで、差分の中身を標準入力で渡す必要があるっぽいです。
修正コマンド
git show {}で差分を全て渡して動かしました。
git log --oneline --decorate | peco --prompt 'COMMIT >' | head -n 1 | awk '{print $1}' | xargs -I {} git show {} | npx difit
以下のような流れとなってます。
-
git log --oneline --decorate
=> コミット一覧を取得 -
peco
=> 対話的にコミットを選択 -
awk '{print $1}'
=> 選択した行からコミットハッシュを抽出 -
git show {commit}
=> 該当コミットの差分を出力 -
npx difit
=> 差分を difit に渡してレビュー実行
さいごに
というわけで、difitを使ってコミット単位でレビューするためのコマンドの短い備忘記事でした。
HappyなAIコードレビューライフを!
Discussion