Repository navigation
Releases: praxis-labs-io/zen-review
Release list
v0.2.0
The second release of zen-review. It upgrades itself now, runs on Windows, and
reads the whole file when three lines of context are not enough.
New
zen-review update. It asks GitHub for the latest release, stops if you
already have it, and otherwise runs the installer into the directory the
running binary is in, so the new one replaces it in place. The reader also
says on its status bar when a newer release is out, at most one request a day,
and{ "update_check": false }in~/.zen-review/config.jsonturns that off.
No other command touches the network, so an agent or a hook never makes the
request.- A Windows installer.
install.ps1does whatinstall.shdoes: downloads
the binary for your machine, checks it against the published checksums, and
installs nothing that does not match. It lands in
%LOCALAPPDATA%\Programs\zen-review. - The whole file on
p. It fills in the rest of the file around the hunks,
at the generation the changeset is measured in, with the changed lines still
marked.candvreach the lines it fills in, so the code you needed the
context to judge is code you can ask about. Pressed again it takes the file
back out, and it lasts the file rather than the run. - Hunk comments have their own scope. A comment on a hunk hangs under that
hunk's heading and stays there while the hunk grows or shrinks, rather than
being a line range that happened to match it. - A Claude Code plugin. The repository is its own marketplace, and the
plugin ships thequeueskill, which is the review loop where an agent meets
it. Ask for the review queue and it knows what to do. The Stop hook that gates
an unattended run ships with it and is opt-in. --mockup.zen-review --mockupopens the reader over a changeset built
into the binary: no repository, no database, nothing written to disk. It is
what a demo or a screenshot runs on.
Fixed
- A comment's words survive a refused write. A save that lost the race to
another zen-review now reloads, carries the box onto the generation that
landed, clamps it to the lines that survived, and keeps everything typed into
it. Nothing is written until you pressctrl+sagain. - A tall comment card is reachable. A card taller than the window scrolls
under the cursor before the cursor leaves it, andGonto one shows its end. - The installer verifies what it downloaded. It checks the archive against
checksums.txtand stages the binary before replacing the one you are
running, so a failed download leaves the working one in place. - The licence ships with the binary. Every archive carries it.
Changed
- The chrome follows your terminal. The hues are ANSI slots, so your own
palette reaches the frame without being configured, and the shades and the
diff tints are blended off the background your terminal reports at launch. A
filled row is placed at a distance from that background rather than at a fixed
ratio, so a pale green does not read grey and a dark one keeps its lean. Radvances. Marking a whole file read now moves to the next unreviewed
hunk, which is in another file, the wayrhas always advanced.- The agent's gate asks for
open.unresolvedis every state but
resolved, so an agent that answered every comment left themaddressedand
the gate it had just cleared held it again. The documented hook now asks for
open, which is the half an agent can close.
Install
macOS and Linux:
curl -fsSL https://raw.githubusercontent.com/praxis-labs-io/zen-review/main/install.sh | shWindows:
irm https://raw.githubusercontent.com/praxis-labs-io/zen-review/main/install.ps1 | iexmacOS and Linux on arm64 and amd64, Windows on amd64. Anything else:
go install github.com/praxis-labs-io/zen-review/cmd/zen-review@latestAlready running it:
zen-review updateInstall
covers the requirements, the PATH setup and the launch check, and
the guide
covers how a review is kept.
Known gaps
- No Homebrew tap yet.
- No tree filter.
/is not a key, despite v0.1.0's notes naming one. - A source build reports
devrather than a version. Only a release stamps one,
andzen-review updatewould replace your build with a release, so upgrade
from the clone instead.
v0.1.0
The first release of zen-review.
It answers one question a diff viewer cannot: which of these machine-generated
changes have I inspected, and are they still the ones I inspected. What you have
read is stored as line ranges and carried through every new version of the
changeset, so a rewrite hands back the parts it destroyed rather than leaving a
stale mark on code nobody read.
What it does
- One changeset. The merge base with your base branch, through the working
tree, untracked files included. - A reader you burn down.
nwalks to the next unreviewed hunk,rmarks
the one you are on and advances. - Comments that survive a rewrite. Anchored to lines, carried through each
refresh, orphaned rather than silently moved when their code goes. - A CLI that answers everything the reader does, so an agent can read its own
queue and answer it.comments --exit-codegates a hook on whether anything is
still open. - Side by side on
|, syntax highlighting, and a tree you can filter.
Sessions are per repo and branch, and resume days later. State lives beside the
repo in SQLite and nothing lands in your working tree.
Install
curl -fsSL https://raw.githubusercontent.com/praxis-labs-io/zen-review/main/install.sh | shmacOS and Linux on arm64 and amd64. Windows takes the .zip from the assets
below. Anything else:
go install github.com/praxis-labs-io/zen-review/cmd/zen-review@latestInstall
covers the requirements and the PATH setup, and
the guide
covers how a review is kept.
Known gaps
- No Homebrew tap yet.
- The installer does not verify the checksums it downloads.
checksums.txtis
published beside the archives if you want to check one by hand. - A source build reports
devrather than a version. Only a release stamps one.