awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
modem-dev avatar

modem-dev/hunk

0
View on GitHub↗

Hunk

Hunk is an interactive terminal diff viewer for reviewing code changes across many files. It presents a changeset as one scrollable stream with sidebar navigation, split, unified, or responsive layouts, and syntax highlighting, controlled by keyboard or mouse. It natively understands Git, Jujutsu, and Sapling checkouts, can act as the Git pager, opens GitHub pull requests, and also compares raw files, piped diffs, and patches from standard input.

A defining focus is review alongside coding agents. Agents can supply rationale from a file or add inline notes beside the changed lines, and scripts or agents can inspect and drive a running review from the command line, adding and replying to comments, jumping to lines, and reloading or exporting. Live sessions register with a shared local background daemon, and Hunk prints or publishes agent skills that match the installed version. Hunk is also extensible and embeddable: TypeScript extensions installed from Git or npm can add commands, themes, sidebars, file views, keyboard modes, and version control backends, and the diff rendering is published as a component for other OpenTUI terminal applications.

Beyond viewing diffs, Hunk covers hunk triage (approved, investigate, or blocked), threaded inline notes, and export of saved review state to JSON. It also offers worktree status views, a commit history browser, full file and directory browsing with Markdown preview, Vim-style and search navigation, and configurable keybindings and themes. Large reviews are kept responsive through background highlighting and row virtualization, and a benchmarking suite measures load, layout, memory, and latency.

Hunk can be installed and run through Nix flakes, including a Home Manager module, a pinned development shell, and a single-command way to try it without installing. Bash and Zsh completion scripts are available.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
hunk.dev
↗

Features

  • Interactive Diff Viewers - Provides an interactive terminal diff viewer with a multi-file stream, sidebar navigation, split or unified layouts, and keyboard or mouse control.
  • Agent Change Reviews - Shows coding-agent notes beside the selected hunk during a live review, with reviewers able to show or hide them.
  • Change Review Interfaces - Reviews Git, Jujutsu, and Sapling revisions, ranges, history, and working-tree changes in one interface and can replace the default Git pager.
  • Inline Review Comments - Adds inline notes anchored to lines or selections, with editing, nested threaded replies, deletion, and keyboard navigation between notes.
  • Live Review Session Controls - Lets agents and scripts add, reply to, list and navigate comments, highlight ranges, jump to lines, and reload or export a running review.
  • Multi-VCS Diff Inspection - Reviews working-tree changes, revision history, and pull requests across Git, Jujutsu, and Sapling from one interface.
  • Terminal-Based Code Review - Reviews code changes, commits, and pull requests in a terminal diff viewer with split or unified layouts, hunk navigation, search, and inline notes.
  • Agent Review Rationale Files - Loads a JSON file of agent-written context and shows the reasoning inline next to the matching changed lines in a patch.
  • Agent Skill Installers - Prints bundled agent instructions and publishes installable skills so coding agents get guidance matching the exact installed version.
  • Unified Diff Reviewers - Watches files and Git-backed reviews for changes and refreshes the displayed diff without restarting the viewer.
  • Extension Installation Commands - Installs, lists, updates, and removes TypeScript extensions from Git or npm that add commands, themes, file views, and backends.
  • Git Integrated Interfaces - Registers as the Git pager or difftool, via aliases or declarative configuration, so diff and show open in the interactive viewer.
  • Hunk Navigation - Moves a visible cursor line by line, by page, and between hunks across files with bracket keys, plus range selection and top or bottom jumps.
  • Multi-File Review Streams - Presents a whole changeset as one scrollable stream of files in sidebar order for continuous review.
  • Daemonized Session Persistence - Runs one local background daemon that all live review sessions register with, so other clients can connect over loopback.
  • Unified Extension Registrations - Offers one public registration interface used by extensions, version control providers, core commands and interface components alike.
  • Hosted Pull Request Viewers - Opens GitHub pull requests, commits, and comparisons directly, anonymously for public repositories or with a token for private ones.
  • Review Triage and Annotation - Marks hunks as approved, investigate, or blocked, adds threaded line comments, and exports saved review notes to JSON.
  • Pluggable Backend Providers - Plugs Git, Jujutsu and Sapling backends into one shared catalog through separate provider packages so one review interface works across checkouts.
  • Large Input Responsiveness - Offloads syntax highlighting to a worker, skips generated files, windows rows in huge diffs, and avoids per-file subprocesses.
  • Diff UI Components - Publishes a reusable diff view component plus lower-level diff body and file header pieces for embedding in other OpenTUI terminal applications.
  • Working Tree Diffs - Opens working-tree changes, including untracked files, and commits from Git commands with automatic reload as files change.
  • Terminal Editor Extensions - Exposes a public TypeScript plugin interface for adding commands, themes, sidebars, file views, keyboard modes, and version control backends from Git or npm.
  • Embeddable Terminal Diff Components - Publishes a reusable diff view component and lower-level diff body and file header blocks for OpenTUI terminal applications.
  • Terminal UI Components - Builds diff bodies, file headers and sidebars from reusable low-level terminal components that can be embedded in other terminal applications.
9,791 stars·327 forks·TypeScript·MIT·2 views

Star history

Star history chart for modem-dev/hunkStar history chart for modem-dev/hunk

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Hunk

These projects share indexed features with Hunk. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sinelaw/freshsinelaw avatar

    sinelaw/fresh

    9,424View on GitHub↗

    Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge

    Rustideterminal-basedtext-editor
    View on GitHub↗9,424
  • builderio/skillsBuilderIO avatar

    BuilderIO/skills

    4,650View on GitHub↗

    This is a curated collection of installable skills that extend AI coding agents with reusable workflows, instructions, and tool integrations. Skills can be added through an interactive command line installer or a plugin marketplace, at user or project level, with optional instruction blocks and a pull request recap action. The collection centers on overseeing and steering agent work. Some skills audit another agent's output by reconstructing the original request from a transcript, pull request, or branch and reporting gaps. Others compare competing agent plans and produce a decision memo befo

    JavaScriptskills
    View on GitHub↗4,650
  • airblade/vim-gitgutterairblade avatar

    airblade/vim-gitgutter

    8,516View on GitHub↗

    This is a Vim extension that provides Git change visualization and hunk management. It displays markers in the sign column to indicate added, modified, or removed lines relative to the Git index, allowing users to visualize diffs and compare buffer versions side-by-side. The plugin extends the editor's text objects to target specific blocks of modified lines, enabling the use of standard operators on these contiguous hunks. It also provides tools to stage or undo individual blocks of changes directly within the editor. Additional capabilities include navigation utilities for jumping between

    Vim Script
    View on GitHub↗8,516
  • fakerr/git-recallFakerr avatar

    Fakerr/git-recall

    2,112View on GitHub↗

    Git-recall is a terminal-based application designed to visualize, navigate, and audit local repository commit history and file modifications. It functions as an interactive command-line interface that allows users to browse project evolution and track specific code changes directly from the shell environment. The tool distinguishes itself by providing an interactive interface for inspecting commit logs and line-level code changes. It utilizes a lazy-loaded stream to fetch repository history in incremental chunks, ensuring performance when navigating large project logs. Users can refine their

    Shellcommand-linegitlog
    View on GitHub↗2,112
Compare all 30 related projects→

Frequently asked questions

What does modem-dev/hunk do?

Hunk is an interactive terminal diff viewer for reviewing code changes across many files. It presents a changeset as one scrollable stream with sidebar navigation, split, unified, or responsive layouts, and syntax highlighting, controlled by keyboard or mouse. It natively understands Git, Jujutsu, and Sapling checkouts, can act as the Git pager, opens GitHub pull requests, and also compares raw files, piped diffs, and patches from standard input.

What are the main features of modem-dev/hunk?

The main features of modem-dev/hunk are: Interactive Diff Viewers, Agent Change Reviews, Change Review Interfaces, Inline Review Comments, Live Review Session Controls, Multi-VCS Diff Inspection, Terminal-Based Code Review, Agent Review Rationale Files.

Which projects share features with modem-dev/hunk?

Projects with overlapping indexed features include: sinelaw/fresh — Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar… builderio/skills — This is a curated collection of installable skills that extend AI coding agents with reusable workflows, instructions,… rtfpessoa/diff2html — diff2html is a Git diff visualization library that transforms unified diff text into structured HTML. It serves as a… fakerr/git-recall — Git-recall is a terminal-based application designed to visualize, navigate, and audit local repository commit history… airblade/vim-gitgutter — This is a Vim extension that provides Git change visualization and hunk management. It displays markers in the sign… banga/git-split-diffs — Git-split-diffs is a command-line utility that renders version control changes as side-by-side, syntax-highlighted…