Extension

patriceckhart/zot-review

Structured repo-wide code review for zot.

extension

Install from GitHub and zot copies the extension into $ZOT_HOME/extensions/. Git-installed extensions update with zot update.

shell
zot ext install https://github.com/patriceckhart/zot-review
repository
patriceckhart/zot-review
author
patriceckhart
stars
6
forks
0
open issues
0
language
Go
license
MIT
topics
zot-extension
created
May 19, 2026
updated
Oct 4, 2026

Security note: zot extensions can execute code. Review the source before installing third-party extensions.

Readme

zot-review

Structured repo-wide code review for zot.

Install

zot ext install https://github.com/patriceckhart/zot-review

Or 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.

Requirements

  • Go 1.22+ on $PATH (the extension runs from source via go run ., no prebuilt binary is shipped). Install Go from https://go.dev/dl.

Usage

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

Findings and reports

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.

Local development

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.

Custom feature mapping

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.

Tools

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

License

MIT