Getting Started
Requirements
Section titled “Requirements”- Go 1.26 or newer to build (
go.moddeclaresgo 1.26.11; a newergodownloads the pinned toolchain automatically). gitonPATH. Jujutsu repositories additionally needjj.- A terminal with full kitty keyboard protocol support gives the best experience — Ghostty is the reference. mrman works without it; a few chords fall back to aliases. See Terminal Setup.
Install
Section titled “Install”Each release carries a
tarball for Linux and macOS (amd64 and arm64), a zip for Windows, and a
SHA256SUMS manifest. For example, on Linux amd64:
v=vX.Y.Z # the release you wantbase=https://github.com/infrashift/mrman/releases/download/$vcurl -fsSLO "$base/mrman_${v}_linux_amd64.tar.gz"curl -fsSL "$base/SHA256SUMS" | grep "mrman_${v}_linux_amd64.tar.gz" | sha256sum -c -tar -xzf "mrman_${v}_linux_amd64.tar.gz"install "mrman_${v}_linux_amd64/mrman" ~/.local/bin/git clone https://github.com/infrashift/mrmancd mrmanmake install # into GOBIN# or: make build # into ./bin/mrmango install github.com/infrashift/mrman@latestYour first review
Section titled “Your first review”-
Make some changes in any git repository, then open them:
Terminal window mrman -w-wgoes straight to your working-tree diff. With no arguments at all, mrman opens the target selector instead so you can pick a commit range. -
Move around.
j/kby line,}/{by file,]/[by hunk. Counts work everywhere:5j,3},42G.EnterorSpaceon a⋯expander pulls in the hidden context around a hunk. -
Comment. Put the cursor on a line and press
c. Type.Entersaves.Ccomments on the whole file,vselects a range first, and<leader>c(;c) comments on the review as a whole.Tabcycles the comment type, shown in the box title (Add L60 comment [ISSUE]). Four ship by default —NOTE,ISSUE,SUGGESTION,PRAISE— starting onNOTE, then an untyped entry for comments that need no classifying. Define your own to replace them. -
Track what you have read.
rmarks the current file reviewed,Rthe current hunk.m/Mjump between comments. -
Export it. With nothing selected,
ycopies the whole review as markdown to your clipboard.:clipdoes the same thing by name, and--stdoutprints it instead. -
Quit.
:q(which refuses if you have unsaved comments),:wqorZZto save and quit,:q!to discard.
Your review was saved to ~/.local/share/mrman/reviews on the way out.
Reopen the same diff later and your comments and reviewed marks are still
there.
Set your name
Section titled “Set your name”Comments are stamped with an author, which is also how mrman tells your comments apart from an agent’s. Set it once:
username = "your-name"While you are in there, the options people change first:
theme = "tokyo-night-storm" # see the Themes reference for the full listcomment_vim = true # modal editing in the comment box
[[comment_types]] # optional: replaces the four built-insid = "blocker"label = "BLOCKER"definition = "must fix before merge"color = "red"Every option is documented in Configuration.
Review a merge request
Section titled “Review a merge request”If your checkout has a remote on a supported forge, mrman can open pull requests directly:
mrman pr 125 # by number, repo inferred from the checkoutmrman pr owner/repo#125 # addressed explicitlymrman pr <MR URL> # any supported forgemrman # then Tab to the Merge Requests tabThe forge’s existing review threads render inline in the diff, read-only, and
:submit posts your review back. Start with How MR Review
Works, then your forge:
GitHub · GitHub
Enterprise · GitLab ·
Azure DevOps · Forgejo &
Gitea ⚗️ · Codeberg ⚗️.
⚗️ marks a driver that is experimental — implemented and unit-tested, but not yet run against a live instance.
Next steps
Section titled “Next steps”- Reviewing Locally — commit ranges, revsets,
--filemode, pristine mode, staging what you reviewed. - Keybindings — the full list, or press
?. - Agent Collaboration — let an AI agent read or contribute to a review.