marten is a Rust Git TUI for reviewing your own work without leaving the terminal.
It opens inside a Git repository and gives you a focused view of your working tree, changed files, and diffs so you can inspect your changes before committing, pushing, or opening a pull/merge request.
marten is currently focused on local working-tree review. Remote PR/MR review, additional Git views, and review-oriented workflows are planned.
marten currently supports:
- changed files grouped by status in a collapsible tree
- insertion/deletion counts per file
- staged, unstaged, partial, untracked, and conflicted file states
- continuous review mode where all files flow as one scrollable document, sidebar selection follows scroll position
- single-file mode where sidebar selection controls which file is shown
- diff hunks for the selected file
- hunk navigation and diff scrolling
- optional diff line numbers
- repository, branch, ahead/behind, and change counts in the top bar
- repository refresh without leaving the TUI
Code review often starts before a PR or MR exists. marten is meant for that moment when you want to quickly inspect your own changes, move through files and hunks, and catch obvious mistakes while staying in your terminal.
make installRequires Rust 1.85 or newer.
make runRun marten from inside a Git repository.
marten| Key | Action |
|---|---|
tab / shift+tab |
Move focus between panels |
0 |
Focus diff |
1 |
Focus files |
j / k |
Navigate files or scroll the diff |
g / G |
Jump to first or last file |
enter / space |
Collapse or expand the selected directory |
[ / ] |
Move between diff hunks |
l |
Toggle diff line numbers |
v |
Toggle between continuous and single-file review mode |
r |
Refresh repository state |
q / ctrl+c |
Quit |
To see all the available options, run make help.
make build
make run-release
make check
make test
make lint
make fmt
make ci
make ci-fullFor UI testing with local untracked files:
make dev-files
make clean-dev-filesMIT