このプロジェクトについて

Hunkは、コーディングエージェントが生成した変更セットをレビューすることを中心に設計されたターミナルベースの差分ビューアです。単なるパッチを出力するのではなく、OpenTUIとPierre diffsライブラリ上に構築されたインタラクティブなレビューインターフェースを開きます。このプロジェクトはMITライセンスで、macOS、Linux、Windows向けのスタンドアロンバイナリとして配布され、npm、Homebrew、mise、Nix経由の追加インストール手段も用意されています。 基本的なワークフローは染みのあるGitコマンドを踏襲しつつ、結果をレビューUIで描画します。`hunk diff`は未追跡ファイルを含む現在のリポジトリの変更を表示し、`hunk show`は特定のコミットをレビューし、`hunk log`は履歴ブラウザを開き、リダイレクト時には静的出力にフォールバックします。ウォッチモードは、作業ツリーの変更に応じてファイルベースおよびGitベースのレビューを自動的に再読み込みします。生のファイルやパッチを直接比較することもでき、パッチはstdinからパイプで入力できます。 主要なインターェース機能には、サイドバーナビゲーション付きの複数ファイルレビューストリーム、分割・統合・レスポンシ自動レイアウト、シンタックスハイライト、マウスサポート、実行時のビュー切り替え、ページャー互換モードがあります。際立った機能は、コードの横に配置されるインラインAIおよびエージェント注釈で、エージェントがスキルファイルを読み込み、ライブのHunkセッションと対話するという文書化されたエージェントワークフローによってサポートされています。 HunkはGitに加えてJujutsuとSaplingのチェックアウトを自動検出し、これら3つのバージョン管理システムすべてのページャーとして設定できます。設定はユーザーレベルまたはリポジトリレベルのTOML設定ファイルに永続化され、テーマ、レイアウトモード、VCS選択、タブ幅、スペーシング、アニメーションなどをカバーします。すべてのキーボードショートカットは名前付きコマンドであり、キーバインディングテーブルを通じて再マッピングできます。 実験的な拡張APIでは、TypeScript拡張を読み込んで、CLIワークフローの追加、テーマと言語マッピングの提供、VCSバックエンドの追加、レビュー前の変更セット変換、サイドバーをカスタムReactコンポーネントに置き換え、ライフサイクルイベントに応答することができます。拡張はGitリポジトリからインストールでき、`hunk-extension`というGitHubトピックがコミュニティのコントリビューションを示します。同じ差分レンダラーは、他のアプリケーションに埋め込むためのOpenTUIコンポーネントとしても公開されています。 READMEには、lumen、difftastic、delta、diff-so-fancy、GNU diffとの機能比較表が含まれており、Hunkが構造的差分ではなくインタラクティブな変更セット全体のレビューに焦点を当てていることが記されています。