Hunk 徹底解説 — コードレビューと AI エージェント統合に最適化したターミナル diff ビューア、hunk diff / hunk show CLI、AI 注釈のインライン表示 + Watch モード + Graphite / Midnight / Catppuccin 等の複数テーマ Node.js 18+ / MIT ライセンス / npm・Homebrew・Nix 対応
Hunk はコードレビューと AI エージェント統合に最適化されたターミナルベース diff ビューア — 従来の git diff の代替として、レビュー体験を第一級で設計。キー機能: (1) マルチファイルレビューサイドバー — チェンジセット全体を俯瞰、ファイル間ナビゲーションと変更カウント、(2) AI 注釈のインライン表示 — Claude Code / Cursor 等の AI エージェントの reasoning を該当コードの隣に表示、(3) アダプティブレイアウト — split / stacked / auto-responsive をターミナル幅に応じ自動選択、(4) Watch モード — working tree の変更を自動リフレッシュ、(5) シンタックスハイライト + 複数テーマ — Graphite / Midnight / Ember / Zenburn / Catppuccin、(6) キーボード + マウス + pager 統合 の複数入力方式。CLI コマンド: hunk diff(未コミット変更の表示)と hunk show(コミットの表示)の 2 種類。技術スタック: Node.js 18+、MIT ライセンス で完全無料、npm / Homebrew / Nix の 3 系統で配布。位置付けは Crit.md(ブラウザ PR レビュー体験) の ターミナル版、Herdr(複数エージェント並列運用) と同じ『ターミナルネイティブ AI エージェント時代』の潮流。想定ユーザー: コードレビューを行う開発者、AI ツールを開発ワークフローに統合するチーム、ターミナル志向のエンジニア。
TL;DR — Hunk とは
Hunk はコードレビューと AI エージェント統合に最適化されたターミナル diff ビューア — git diff の代替として、レビュー体験を第一級で設計。
4 つの要点:
1. git diff の後継 — マルチファイルサイドバー、AI 注釈、Watch モードを標準搭載
2. AI 注釈のインライン表示 — Claude Code 等の reasoning を該当コード隣に表示
3. アダプティブレイアウト + 複数テーマ — Graphite / Midnight / Ember / Zenburn / Catppuccin
4. MIT ライセンス — npm / Homebrew / Nix で無料インストール、Node.js 18+
課題認識 — `git diff` はレビューには不十分
現代のコードレビューで git diff が抱える限界:
- マルチファイル俯瞰がない — 変更ファイル一覧が別コマンド、行き来が面倒
- AI エージェント時代に対応していない — Claude Code / Cursor 等の reasoning を表示できない
- 静的表示 — Watch モードなし、変更を確認するたびに再実行
- 画面幅を活かせない — split view や adaptive layout に非対応
- カラーテーマは端末依存 — Graphite / Midnight 等のカスタムテーマがない
Hunk の答え: 『レビュー体験』を第一級に置いた再設計、ターミナルネイティブな体験を保ちつつ GUI IDE の diff ビューアに匹敵する機能を実装。
主要機能 6 選
① マルチファイルレビューサイドバー
チェンジセット全体をサイドバーで俯瞰:
- 変更ファイル一覧と各ファイルの +/- カウント
- ファイル間ナビゲーション(↑↓ キー or マウスクリック)
- 現在ファイルの位置がハイライト
GitHub PR の Files タブと同種の UX をターミナルで実現。
② AI 注釈のインライン表示
AI エージェントの reasoning を該当コードの隣に表示:
- Claude Code が生成した変更に対して、なぜその変更をしたかの説明を diff の右側に表示
- Cursor や OpenCode が付けたコメントも同様
- 『AI が書いたコード + AI が説明した理由』を同時に読める
この機能は AI コーディングエージェント時代のレビュー基本設計、Crit.md がブラウザで実現したことを Hunk はターミナルで実現。
③ アダプティブレイアウト
ターミナル幅に応じてレイアウト自動選択:
- split: 左右分割、before / after を並列表示(広い画面向け)
- stacked: 上下スタック、狭い画面向け
- auto-responsive: 端末幅を検知して自動選択
iTerm2 全画面から SSH 接続の狭いウィンドウまで、常に最適な表示。
④ Watch モード
Working tree の変更を自動リフレッシュ:
- hunk diff --watch で常時起動、ファイル変更を検知して即座に diff 更新
- Herdr 上でエージェントが書き換えるコードを別ペインで Watch
- リアルタイムに変更内容を追える、tmux + Herdr + Hunk の 3 段構成で理想的な観察環境
⑤ シンタックスハイライト + 複数テーマ
内蔵テーマ:
- Graphite — 落ち着いたグレースケール
- Midnight — 暗色ベース(夜間作業向け)
- Ember — 暖色系
- Zenburn — 目に優しい低コントラスト
- Catppuccin — 人気のカラースキーム
言語別シンタックスハイライトも自動適用、JavaScript / TypeScript / Python / Rust / Go / Ruby 等主要言語対応。
⑥ 複数入力方式
キーボード + マウス + pager 統合:
- キーボード: Vim / Emacs 系のショートカット、j/k で行移動、n/N でファイル移動
- マウス: サイドバークリック、スクロール、ペイン選択
- pager 統合: less / bat 等の pager と協調動作、CI ログ内に埋め込み可能
Vim ネイティブから GUI 派まで幅広く対応。
CLI コマンド
主要 2 コマンド:
- hunk diff — 未コミット変更の表示(git diff の代替)
- hunk show — 特定コミットの表示(git show の代替)
追加オプション:
- --watch — Watch モード
- --theme <name> — テーマ選択
- --layout <split|stacked|auto> — レイアウト指定
- --no-mouse — マウス無効化
インストール
3 系統の配布:
# npm
npm install -g @hunk/cli
# Homebrew(macOS / Linux)
brew install hunk
# Nix
nix profile install nixpkgs#hunk要件: Node.js 18 以上(npm 経由の場合)。ライセンス: MIT、完全無料、商用利用可、ソースコード公開。
AI エージェントとの連携パターン
パターン A: Claude Code + Hunk
ワークフロー:
1. Claude Code に「この機能を実装して」と指示
2. 生成完了後、hunk diff で変更内容を確認
3. AI 注釈欄で Claude の思考過程 を確認
4. 承認 or 修正指示
パターン B: [Herdr](../columns/herdr-terminal-agent-multiplexer-2026-07) + Hunk
ワークフロー:
1. Herdr のペイン A で Claude Code が長時間タスク実行中
2. ペイン B で hunk diff --watch を起動、リアルタイムに変更追跡
3. 気になる変更があったらペイン A で即座に指示 or 中断
パターン C: [Crit.md](../columns/crit-md-local-first-agent-review-2026-07) との使い分け
役割分担:
- Hunk — 個人が 『今すぐこの変更を見たい』 時のターミナル diff ビューア
- Crit.md — チームや反復レビューで 『行単位コメント + 永続化』 が必要な時のブラウザ PR レビュー
両者は競合ではなく補完関係、Hunk が即席、Crit.md が本格レビュー用。
位置付け — ターミナルネイティブ AI エージェント時代
2026 年後半の『ターミナルネイティブ AI 開発スタック』:
| ツール | 役割 | 関連コラム |
|---|---|---|
| Herdr | エージェント多重化 | 本記事の姉妹コラム |
| Hunk(本記事) | Diff レビュー | — |
| Crit.md | ブラウザ PR レビュー | ローカルファースト |
| Claude Code | エージェント本体 | ターミナル型 |
| Cursor CLI | エージェント本体 | ターミナル + iOS |
| Nous Portal | モデル基盤 | 300+ フロンティア |
Hunk の独自ポジション: 『ターミナルネイティブでも AI 注釈込みの高品質 diff を見たい』 という新しい需要を的確にキャプチャ、Crit.md 併用で 2026 年の理想的なレビュー環境が完成。
留保・注意点
(1) Node.js 依存: npm インストール時は Node.js 18+ 必須、Node ランタイム嫌いには Nix / Homebrew 経由 を推奨。
(2) AI 注釈対応エージェント: 全 AI エージェントの注釈を自動表示できるわけではない、エージェント側の注釈出力フォーマット対応 が前提。主要エージェントは対応済み。
(3) 大規模 diff のパフォーマンス: 数千ファイル・数万行の diff では起動に時間がかかる可能性、リポジトリの大きさに応じ運用検討。
(4) 端末互換性: Terminal.app / iTerm2 / Alacritty / Kitty / WezTerm 等主要端末は対応、古い端末や Windows Terminal の古い版 ではハイライトや Unicode 表示に注意。
(5) チーム標準化: 個人ツールとしては最適だが、組織全体でレビューフォーマットを統一 したい場合は Crit.md や GitHub PR との使い分け設計が必要。
推奨アクション
個人開発者: git diff を Hunk に置換、.zshrc / .bashrc で alias gd="hunk diff" を設定して即座に体験改善。
チーム開発: Watch モードを常時起動 し、エージェントの作業を横目で追跡。個人レビューは Hunk、チームレビューは Crit.md や GitHub PR。
AI エージェント統合: Claude Code / Cursor / OpenCode 等が生成した diff を Hunk で確認する習慣化。AI 注釈込みで内容を理解 してから採用。
結論
Hunk は AI エージェント時代のターミナルネイティブレビューインフラ。git diff の限界(マルチファイル俯瞰なし、AI 注釈非対応、静的表示、レイアウト固定)を全て解消し、Node.js 18+ / MIT / npm・Homebrew・Nix の 3 系統配布で導入障壁ゼロ。Herdr(エージェント並列運用)・Crit.md(HITL レビュー)・Claude Code / Cursor と組み合わせて 2026 年後半のターミナルネイティブ AI 開発スタック を完成させる欠かせない部品。
本トピックに関連する弊社サービスとして ソフトウェア開発・AI コンサルティング・Hermes Agent 導入セットアップ があります。ターミナルネイティブ AI 開発環境の企業向け設計、エージェント + Hunk + Herdr の統合ワークフロー構築のご相談は お問い合わせ から。
References
お気軽にご相談ください
お問い合わせ