hunkでエージェントの変更を端末上でレビューする
エージェントコーダー向けのレビューファーストのターミナル差分ビューア。要件: Node.js 18 以降 macOS、Linux、または Windows ほとんどのワークフローに Git を推奨 Nix ユーザーは、代わりに flake.nix にエクスポートされたデフォルトのパッケージを使用できます。
ひと目でわかる
- これは何?
- Git、Jujutsu、Saplingの差分を複数ファイルのレビュー画面で確認し、AI注釈やwatch更新も扱えるTypeScript製ターミナルビューア。
- 誰に向いている?
- 端末中心の開発で、生成された変更をマージ前に細かく確認したい人に向く。Node.js 18+を要求するnpm版と単体バイナリ版を区別し、まず hunk diff、hunk show HEAD~1、hunk diff --watch を自分のリポジトリで試して、未追跡ファイル、端末幅、Git以外のVCSの表示を確認する。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 1 日前です。
- 何の言語で書かれている?
- 主に TypeScript です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
READMEが定義する対象: このツールの概要
hunk は、エージェントが生成した変更セットのための、レビュー優先のターミナル差分ビューアであり、OpenTUI と @pierre/diffs の上に構築されています。その焦点は、ターミナルにプレーンテキストの差分を出力するのではなく、変更セット全体をレビューするための対話型 UI を提供することにあります。インストールは `npm i -g hunkdiff` または Homebrew の `brew install hunk` で行います。Node.js 18 以降が必要で、macOS、Linux、または Windows をサポートしており、ほとんどのワークフローで Git が推奨されています。
hunkについてREADMEが明記する範囲をこの節の判断材料にします。記載のない性能、可用性、セキュリティ効果は補わず、実行したコマンド、対象バージョン、入力、ログを分けて記録してください。対象機能とREADMEの説明が一致するかを確認します。 このhunk固有の確認点は、端末中心の開発で、生成された変更をマージ前に細かく確認したい人に向く。
入力と処理の境界: 主な機能
README には、サイドバーナビゲーションを備えたマルチファイルレビューストリーム、コードの横に表示されるインライン AI およびエージェントアノテーション、分割・スタック・レスポンシブ自動レイアウト、ファイルおよび Git バックアップレビューの自動リロードのためのウォッチモード、キーボード・マウス・ページャー・Git difftool のサポートなど、いくつかの主要な機能が記載されています。このツールは、変更セット全体を対話的にレビューすることに最適化されています。
hunkについてREADMEが明記する範囲をこの節の判断材料にします。記載のない性能、可用性、セキュリティ効果は補わず、実行したコマンド、対象バージョン、入力、ログを分けて記録してください。入力形式、出力形式、依存関係を実際の設定と照合します。 このhunk固有の確認点は、端末中心の開発で、生成された変更をマージ前に細かく確認したい人に向く。
導入コマンドを一つ通す: インストールと要件
インストールは、npm のグローバルコマンド `npm i -g hunkdiff` または Homebrew の `brew install hunk` で行います。README には、以前に `modem-dev/tap` 経由で hunk をインストールした場合は、最初にアンインストールする必要があるという注意書きがあります。Nix ユーザーは、`flake.nix` でエクスポートされている `default` パッケージを使用できます。要件は Node.js 18+ と macOS、Linux、または Windows であり、ほとんどのワークフローで Git が推奨されています。
hunkについてREADMEが明記する範囲をこの節の判断材料にします。記載のない性能、可用性、セキュリティ効果は補わず、実行したコマンド、対象バージョン、入力、ログを分けて記録してください。導入コマンドの終了コードと生成物を保存します。 このhunk固有の確認点は、端末中心の開発で、生成された変更をマージ前に細かく確認したい人に向く。
運用で見る状態: 使用方法
クイックスタートコマンドは `hunk` と `hunk --version` です。Git で使用する場合、hunk は `hunk diff`(未追跡ファイルを含む現在のリポジトリの変更をレビュー)、`hunk diff --watch`(自動リロード)、`hunk show` および `hunk show HEAD~1`(コミットのレビュー)を提供します。また、`hunk diff before.ts after.ts` による直接ファイル比較と、`git diff --no-color | hunk patch -` による標準入力からのパッチレビューもサポートしています。
hunkについてREADMEが明記する範囲をこの節の判断材料にします。記載のない性能、可用性、セキュリティ効果は補わず、実行したコマンド、対象バージョン、入力、ログを分けて記録してください。通常時と失敗時のログ、再実行時の状態を比べます。 このhunk固有の確認点は、端末中心の開発で、生成された変更をマージ前に細かく確認したい人に向く。
互換性と制約: 他のバージョン管理システムとの統合
hunk は Jujutsu と Sapling のチェックアウトを自動検出し、`hunk diff [revset]` と `hunk show [revset]` をネイティブの revset でサポートします。VCS 検出をオーバーライドするには、`vcs = "git"`、`vcs = "jj"`、または `vcs = "sl"` を設定します。Git の場合、`core.pager` を `hunk pager` に設定すると、`git diff` と `git show` が hunk で開きます。Jujutsu と Sapling のページャー統合手順も提供されています。
hunkについてREADMEが明記する範囲をこの節の判断材料にします。記載のない性能、可用性、セキュリティ効果は補わず、実行したコマンド、対象バージョン、入力、ログを分けて記録してください。対応OS、版、権限、ネットワーク条件を分けて記録します。 このhunk固有の確認点は、端末中心の開発で、生成された変更をマージ前に細かく確認したい人に向く。
ライセンスと保守: エージェントワークフローと拡張機能
エージェント型コーダー向けに、hunk はエージェントと連携するワークフローを提供しています。1つのターミナルで `hunk diff` または `hunk show` を開き、`hunk skill path` が返すスキルファイルを取得し、エージェントにそのスキルを使用するよう依頼します。リッチな STML ノート本文用の実験的な `--experimental` フラグもあります。拡張 API は実験的であり、破壊的な変更が発生する可能性があります。拡張機能は、テーマ、言語マッピング、VCS バックエンドの追加、変更セットの変換、サイドバーの置き換えなどを行うことができます。拡張機能は `~/.config/hunk/extensions/` またはリポジトリの `.hunk/extensions/` からロードされ、`--extension <path>` をサポートしています。
hunkについてREADMEが明記する範囲をこの節の判断材料にします。記載のない性能、可用性、セキュリティ効果は補わず、実行したコマンド、対象バージョン、入力、ログを分けて記録してください。ライセンス本文と依存コンポーネントの扱いを確認します。 このhunk固有の確認点は、端末中心の開発で、生成された変更をマージ前に細かく確認したい人に向く。
採用前の判定: 設定とカスタマイズ
設定は `~/.config/hunk/config.toml` または `.hunk/config.toml` に保存されます。設定例では、テーマ、モード(auto、split、stack)、VCS、watch、exclude_untracked、line_numbers、tab_width、wrap_lines、menu_bar、agent_notes、transparent_background のオプションが示されています。キーボードショートカットは名前付きコマンドであり、`[keybindings]` テーブルで再マップできます。hunk はまた、`HunkDiffView` という OpenTUI コンポーネントと、`hunkdiff/opentui` からの低レベルプリミティブを公開しており、独自の OpenTUI アプリに埋め込むことができます。
hunkについてREADMEが明記する範囲をこの節の判断材料にします。記載のない性能、可用性、セキュリティ効果は補わず、実行したコマンド、対象バージョン、入力、ログを分けて記録してください。結論に記した検証を終えるまで、本番用途とは判定しません。 端末中心の開発で、生成された変更をマージ前に細かく確認したい人に向く。Node.js 18+を要求するnpm版と単体バイナリ版を区別し、まず hunk diff、hunk show HEAD~1、hunk diff --watch を自分のリポジトリで試して、未追跡ファイル、端末幅、Git以外のVCSの表示を確認する。
編集部の結論
端末中心の開発で、生成された変更をマージ前に細かく確認したい人に向く。Node.js 18+を要求するnpm版と単体バイナリ版を区別し、まず hunk diff、hunk show HEAD~1、hunk diff --watch を自分のリポジトリで試して、未追跡ファイル、端末幅、Git以外のVCSの表示を確認する。
コミュニティノート