English · 简体中文
no-mistakes puts a local git proxy in front of your real remote. Push to no-mistakes instead of origin, and it spins up a disposable worktree, runs an AI-driven validation pipeline, forwards upstream only after every check passes, and opens a clean PR automatically.
- Non-blocking - the pipeline runs in an isolated worktree without disrupting your work.
- Agent-agnostic -
claude,codex,rovodev,opencode,pi, oracp:<target>viaacpx. - Agent-native -
/no-mistakeslets your coding agent do a task and gate it, or gate existing committed work: it runs the pipeline, has the pipeline apply safe fixes, and escalates the rest to you. - Human stays in charge - auto-fix or review findings, your call.
- Clean PRs by default - push, open PR, watch CI, and auto-fix failures in one shot.
Full documentation: https://kunchenguid.github.io/no-mistakes/
your branch
│ git push no-mistakes
▼
┌──────────────────────────────────────────────┐
│ disposable worktree — your work stays put │
│ review → test → docs → lint → push → PR → CI │
└──────────────────────────────────────────────┘
│ every check green
▼
clean PR, opened for you
Each step either passes on its own or stops with a finding for you to act on. Safe, mechanical fixes are applied automatically; anything that touches your intent is escalated for you to approve, fix, or skip. Nothing reaches your real remote until every check is green.
curl -fsSL https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/docs/install.sh | shWindows, Go install, and build-from-source instructions are in the installation guide.
$ no-mistakes init
✓ Gate initialized
repo /Users/you/src/my-repo
gate no-mistakes → /Users/you/.no-mistakes/repos/abc123def456.git
remote git@github.com:you/my-repo.git
skill /no-mistakes installed for agents at user level
Push through the gate with:
git push no-mistakes <branch>
$ git checkout my-branch
# do some work in the branch...
$ git push no-mistakes
* Pipeline started
Run no-mistakes to review.
$ no-mistakes
# opens the TUI for the active runFrom the TUI you act on each finding: auto-fix ones are applied for you (or approve to let them), ask-user ones are a judgement call you approve, fix, or skip. Once every check is green, the gate forwards your branch upstream and opens the PR for you — no manual git push origin, no hand-written PR body. Prefer to let your coding agent drive the same flow headlessly? Use /no-mistakes (see below).
Every change runs through the same pipeline. Pick the entry point that fits how you're working when the change is ready:
git push no-mistakes- the explicit Git path. Push a committed branch to the gate remote instead oforigin.no-mistakes- the TUI. Run it after making changes (no commit needed) and a wizard walks you through creating a branch, committing, and pushing through the gate, then attaches to the run.no-mistakes -ydoes all of that automatically./no-mistakes- the agent skill. Tell the coding agent to do a task and gate it with/no-mistakes <task>, or use bare/no-mistakesto gate existing committed work. It runs the pipeline, has the pipeline apply safe fixes, and stops to ask you about anything that needs a human call.
no-mistakes init installs the /no-mistakes skill for Claude Code and other agents. Under the hood the skill drives no-mistakes axi, a non-interactive TOON interface to the same approval flow.
See the quick start for the full first-run walkthrough.
make build # Build bin/no-mistakes with version info
make test # Run go test -race ./... (excludes the e2e suite)
make e2e # Run the tagged end-to-end agent journey suite
make e2e-record # Re-record e2e fixtures when agent wire formats change
make lint # Check generated skill drift and run go vet ./...
make skill # Regenerate committed no-mistakes skill files
make fmt # Run gofmt -w .
make demo # Regenerate demo.gif and demo.mp4 (needs vhs and ffmpeg)
make docs # Build the Astro docs site in docs/distSee Makefile for the full target list.
make e2e-record overwrites internal/e2e/fixtures/ from the real claude, codex, and opencode CLIs, spends real API quota, and should be reviewed before committing.
