kunchenguid/no-mistakes
git push no-mistakes
Kill all the slop. Raise clean PR.
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 the branch to the configured push target 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,copilot, 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/
How it works
|
|
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 the configured push target until every check is green.
Install
|
|
Windows, Go install, and build-from-source instructions are in the installation guide.
Quick Start
|
|
For GitHub fork contributions, keep origin pointed at the parent repository and initialize with no-mistakes init --fork-url <your-fork-url>.
From 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 to the configured push target and opens the PR for you, so there is no manual git push origin and no hand-written PR body.
Prefer to let your coding agent drive the same flow headlessly?
Use /no-mistakes (see below).
Three ways to trigger the gate
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.
Development
|
|
See 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.