CLIツール
modem-dev/hunk avatar
modem-dev/hunk

hunkでエージェントの変更を端末上でレビューする

エージェントコーダー向けのレビューファーストのターミナル差分ビューア。要件: Node.js 18 以降 macOS、Linux、または Windows ほとんどのワークフローに Git を推奨 Nix ユーザーは、代わりに flake.nix にエクスポートされたデフォルトのパッケージを使用できます。

スター 9,289フォーク 294TypeScriptMIT

ひと目でわかる

これは何?
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の表示を確認する。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート