Structured repo-wide code review for zot.
zot ext install https://github.com/patriceckhart/zot-reviewOr from a local checkout:
mkdir -p "$HOME/Library/Application Support/zot/extensions/zot-review"
cp -R . "$HOME/Library/Application Support/zot/extensions/zot-review/"Restart zot after installing or updating.
- Go 1.22+ on
$PATH(the extension runs from source viago run ., no prebuilt binary is shipped). Install Go from https://go.dev/dl.
Type:
/review
This starts a structured review of the current project. The agent maps the repository into feature slices, reads relevant files, records concrete findings, and writes a Markdown report.
You can scope the review:
/review auth and billing
/review app routes
/review packages/api
Other commands:
/review-next
/review-report
/triage f_20260723161433_5828 false-positive not actionable
| Command | Action |
|---|---|
/review [scope] |
Start a structured code review for the current project or scope |
/review-next |
Open the next open finding, ordered by severity, in a panel |
/review-report |
Open a colored, TUI-friendly findings report in a panel |
/triage <id> <status> [note] |
Mark a finding as open, fixed, false-positive, or wontfix |
Review state is stored in the reviewed project directory:
<project>/.codereview/
config.json # optional custom feature mapper
findings/*.json
reports/*.md
The render_report tool opts into zot's Markdown tool-result rendering.
Markdown display requires a zot build containing commit 60f3e43 or later.
Older zot builds display the report as plain text. The extension pins an SDK
version containing ext.MarkdownResult, so no local workspace is required.
Saved reports remain Markdown, and the panel report is optimized for zot's UI. Press q, Esc, or Ctrl+C to close a findings panel. Saved report files are Markdown and are written when the agent calls render_report with write=true, which /review asks it to do at the end of a review.
To test SDK changes against a local zot checkout, optionally use a Go
workspace. With zot-review and zot in the same parent directory, create a
local, gitignored go.work:
go 1.26.3
use (
.
../zot
)Run the extension from this checkout with a zot binary built from the matching zot checkout. The workspace is local development configuration and is not included when installing the extension from GitHub.
A project can augment automatic feature detection with a shell command in .codereview/config.json:
{
"map_features_command": "rg '^\\s*(?:local\\s+)?function\\s+[A-Za-z0-9_:.]+\\s*\\(' -g '*.lua'"
}The command runs from the reviewed project root when map_features is called. Plain-text output becomes one custom feature per non-empty line. A command can instead print a JSON array matching the Feature shape for structured names, kinds, roots, and descriptions. Commands have a 30-second timeout and bounded output. Only use project configuration you trust because the command runs through the system shell.
The extension also registers LLM-callable tools:
| Tool | Action |
|---|---|
map_features |
Detect coarse project slices and run the configured custom mapper, if any |
record_finding |
Persist a real, actionable finding |
list_findings |
List findings, optionally filtered by status or severity |
show_finding |
Show one finding by id |
triage_finding |
Mark a finding as open, fixed, false-positive, or wontfix |
next_finding |
Return the next open finding |
render_report |
Render findings as Markdown and optionally write the report |
MIT