imu-note
いむたろ
いむたろ
@imutaroh
新卒エンジニア / データ基盤 × AI

What — コメントの実体はデーモンが握っている

AI にコードを書かせる時代の困りごとは「差分が大きくて、どこに何を指摘したか AI に伝えづらい」こと。 これまでは PR を立てて GitHub 上でコメント → AI に読ませる、という遠回りが必要だった。

hunk は差分ビューアの中で行にインラインコメントを残せて、そのコメントを CLI から読み出せる。 つまり PR を立てずに、ターミナル2枚だけで「人間が指摘 → AI が直して返信」の往復が回る。 push 前の下ごしらえ・ペアレビューが一気に速くなる。

構成要素は3つ。

  • TUI(差分ビューア): 人間が差分を眺め、c キーで行コメントを残す画面
  • ローカルデーモン: 起動中の TUI セッションを束ねる loopback サーバー(127.0.0.1
  • hunk session CLI: デーモン越しに、開いている TUI のコメントを読み書きする窓口

ポイントは コメントの実体はデーモン(=起動中のセッション)が握っていること。 ファイルにも .git にも保存されない。TUI が起動している間だけ、CLI からコメントを読める。

ターミナルA: hunk diff  ──登録──▶ ローカルデーモン ◀──問い合わせ── ターミナルB: hunk session ...(Claude)
      (人間がcでコメント)              (127.0.0.1)              (コメントを読んで修正・返信)
最大の制約:TUI を閉じるとコメントは消える

コメントは永続化されない。「コメントして閉じて、後で AI に読ませる」はできない。 人間の TUI と Claude の CLI を、同時に開きっぱなしにするのが前提。

位置づけ:GitHub の PR レビュー(GitHub Flowというチーム開発の流儀)のpush 前ローカル版。リモート連携なしで完結するのが差分。

How — ターミナル2枚で回す

導入は brew install hunk。Claude Code 側は hunk-review スキルを配置済みなので、「hunk のコメントを読んで」と頼めば自動で使われる。

1. 人間:差分を開く(ターミナルA)

cd <リポジトリ>
hunk diff            # 作業ツリーの差分をレビューUIで開く
hunk show HEAD~1     # 特定コミットをレビューする場合

UI 上で気になる行にカーソルを合わせ、c キーでコメントを残す。 この画面は開いたままにしておく(閉じるとコメントが消える)。

2. AI:読んで直して返す(ターミナルB / Claude Code)

Claude に「hunk のコメントを読んで直して」と頼むだけ。裏で走る hunk session の各コマンドと返信・差し替え・つまずきどころは hunk sessionコマンドの使い方とつまずき へ。

関連