Skip to content

Repository files navigation

mark

QualityLatest releaseLicense: MIT

A fast, keyboard-first Git diff reviewer for the terminal.

Mark reviewing a syntax-highlighted diff

Review local changes, commits, patches, pager input, difftool pairs, and pull requests in one focused interface.

Install

Homebrew on macOS or Linux:

brew install phongndo/tap/mark-cli

Or use the portable installer on macOS or Linux. Both methods support aarch64 and x86_64:

curl -fsSL https://raw.githubusercontent.com/phongndo/mark/main/scripts/install.sh | sh

Update with the same method used to install Mark:

brew upgrade mark-cli # Homebrew
mark update # portable installer

Quick start

mark diff # local changes
mark compare main # workspace against main
mark compare main feature # two revisions
mark show HEAD~1 # one commit
mark review 123 # pull request
mark patch changes.diff # patch file
git diff | mark pager # pager input
mark diff --watch # live reload

Run a review command directly; bare mark currently exits without opening the interface.

Built for review

  • Split and unified layouts with syntax highlighting.
  • File filtering, diff search, expandable context, and full-file view.
  • Inline line, hunk, and file annotations with reviewed-state tracking.
  • Stable snapshots by default; continuous reload only with --watch.
  • Custom themes, keybindings, and editor integration.
  • Viewport-bounded rendering for very large diffs.
  • Private local sessions for review automation, with no daemon or hosted state.

Controls

KeyAction
j / kMove down / up
[ / ]Previous / next hunk
Shift-Tab / TabPrevious / next file
f / /Filter files / search the diff
EnterAdd an annotation
sToggle split / unified layout
rReload
?Show all controls
qQuit

Motions accept counts such as 3j.

Git integration

Use Mark as a pager:

git config --global core.pager "mark pager"

Use Mark as a difftool:

git config --global diff.tool mark
git config --global difftool.mark.cmd 'mark difftool -- "$LOCAL" "$REMOTE" "$MERGED"'

Documentation

Mark works without configuration. Run mark config to find the config file and mark --help for the complete command list.

Usage · Configuration · Development · Contributing

License

MIT

About

Performant diff reviewer.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages