{
  "markdown": "<h1 align=\"center\"><code>git push no-mistakes</code></h1>\n<p align=\"center\">\n  <a href=\"https://github.com/kunchenguid/no-mistakes/actions/workflows/release.yml\"\n    ><img\n      alt=\"Release\"\n      src=\"https://img.shields.io/github/actions/workflow/status/kunchenguid/no-mistakes/release.yml?style=flat-square&label=release\"\n  /></a>\n  <a href=\"https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-blue?style=flat-square\"\n    ><img\n      alt=\"Platform\"\n      src=\"https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-blue?style=flat-square\"\n  /></a>\n  <a href=\"https://x.com/kunchenguid\"\n    ><img\n      alt=\"X\"\n      src=\"https://img.shields.io/badge/X-@kunchenguid-black?style=flat-square\"\n  /></a>\n  <a href=\"https://discord.gg/Wsy2NpnZDu\"\n    ><img\n      alt=\"Discord\"\n      src=\"https://img.shields.io/discord/1439901831038763092?style=flat-square&label=discord\"\n  /></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://trendshift.io/repositories/27829?utm_source=repository-badge&amp;utm_medium=badge&amp;utm_campaign=badge-repository-27829\" target=\"_blank\" rel=\"noopener noreferrer\"><img src=\"https://trendshift.io/api/badge/repositories/27829\" alt=\"kunchenguid%2Fno-mistakes | Trendshift\" width=\"250\" height=\"55\"/></a>\n</p>\n\n<h3 align=\"center\">Kill all the slop. Raise clean PR.</h3>\n\n<p align=\"center\"><strong>English</strong> · <a href=\"README.zh-CN.md\">简体中文</a></p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/demo.gif\" alt=\"no-mistakes demo\" width=\"800\" />\n</p>\n\n`no-mistakes` puts a local git proxy in front of your real remote.\nPush 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.\n\n- **Non-blocking** - the pipeline runs in an isolated worktree without disrupting your work.\n- **Agent-agnostic** - `claude`, `codex`, `grok`, `rovodev`, `opencode`, `pi`, `copilot`, `antigravity`, or `cursor` / `acp:<target>` via `acpx`, with ordered fallbacks; every gate requires a runnable configured pipeline agent.\n- **Agent-native** - `/no-mistakes` lets 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.\n- **Human stays in charge** - auto-fix or review findings, your call.\n- **Clean PRs by default** - push, open PR, watch CI, and auto-fix failures in one shot.\n\nFull documentation: <https://kunchenguid.github.io/no-mistakes/>\n\n## How it works\n\n```\n        your branch\n            │  git push no-mistakes\n            ▼\n   ┌────────────────────────────────────────────────┐\n   │  disposable worktree — your work stays put     │\n   │  review → test → docs → lint → push → PR → CI  │\n   └────────────────────────────────────────────────┘\n            │  every check green\n            ▼\n        clean PR, opened for you\n```\n\nEach step either passes on its own or stops with a **finding** for you to act on.\nSafe, mechanical fixes are applied automatically; anything that touches your intent is escalated for you to **approve**, **fix**, or **skip**.\nThe initial change reaches the configured push target only after every local gate is green.\n\nWhen CI itself fails, the pipeline repairs it and publishes that repair through the same guarded force-push path - but only when it can prove the repair builds on the head you already reviewed. When it cannot prove that, the repair goes back through Review before it is published, so unrelated history cannot replace the reviewed commit. Merge-conflict repairs rewrite history, so they always take that safer route.\nSet [`ci.revalidate_repairs: true`](https://kunchenguid.github.io/no-mistakes/reference/repo-config/#cirevalidate_repairs) if *every* CI repair must itself be reviewed, at the cost of another full pass over your change each time CI is repaired.\n\n## Install\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/docs/install.sh | sh\n```\n\nWindows, Go install, and build-from-source instructions are in the [installation guide](https://kunchenguid.github.io/no-mistakes/start-here/installation/).\n\n## Quick Start\n\n```sh\n$ no-mistakes init\n  ✓ Gate initialized\n\n    repo  /Users/you/src/my-repo\n    gate  no-mistakes → /Users/you/.no-mistakes/repos/abc123def456.git\n  remote  git@github.com:you/my-repo.git\n   skill  /no-mistakes installed for agents at user level\n\n  Push through the gate with:\n  git push no-mistakes <branch>\n\n$ git checkout my-branch\n\n# do some work in the branch...\n\n$ git push no-mistakes\n  * Pipeline started\n\n  Run no-mistakes to review.\n\n$ no-mistakes\n# opens the TUI for the active run\n```\n\nFor GitHub fork contributions, keep `origin` pointed at the parent repository and initialize with `no-mistakes init --fork-url <your-fork-url>`.\n\nFrom 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.\nOnce 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.\nPrefer to let your coding agent drive the same flow headlessly?\nUse `/no-mistakes` (see below).\n\n## Three ways to trigger the gate\n\nEvery change runs through the same pipeline. Pick the entry point that fits how you're working when the change is ready:\n\n- **`git push no-mistakes`** - the explicit Git path. Push a committed branch to the gate remote instead of `origin`.\n- **`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 -y` does all of that automatically.\n- **`/no-mistakes`** - the agent skill. Tell the coding agent to do a task and gate it with `/no-mistakes <task>`, or use bare `/no-mistakes` to 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.\n\n`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.\n\nSee the [quick start](https://kunchenguid.github.io/no-mistakes/start-here/quick-start/) for the full first-run walkthrough.\n\n## Development\n\n```sh\nmake build   # Build bin/no-mistakes with version info\nmake test    # Run go test -race ./... (excludes the e2e suite)\nmake e2e     # Run the tagged end-to-end agent journey suite\nmake e2e-record # Re-record e2e fixtures when agent wire formats change\nmake lint    # Check generated skill drift and run go vet ./...\nmake skill   # Regenerate committed no-mistakes skill files\nmake fmt     # Run gofmt -w .\nmake demo    # Regenerate demo.gif and demo.mp4 (needs vhs and ffmpeg)\nmake docs    # Build the Astro docs site in docs/dist\n```\n\nSee `Makefile` for the full target list.\n\n`make e2e-record` overwrites `internal/e2e/fixtures/` from the real `claude`, `codex`, `opencode`, and `antigravity` CLIs, spends real API quota, and should be reviewed before committing.\n\n## Star History\n\n<a href=\"https://www.star-history.com/?repos=kunchenguid%2Fno-mistakes&type=date&legend=top-left\">\n <picture>\n   <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/chart?repos=kunchenguid/no-mistakes&type=date&theme=dark&legend=top-left\" />\n   <source media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/chart?repos=kunchenguid/no-mistakes&type=date&legend=top-left\" />\n   <img alt=\"Star History Chart\" src=\"https://api.star-history.com/chart?repos=kunchenguid/no-mistakes&type=date&legend=top-left\" />\n </picture>\n</a>\n",
  "bytes": 7903,
  "sha": "67bd74f27b6d6a4df710be61572cf4f3475dd587eac48723613e8dcfb5262d0c",
  "repo_slug": "kunchenguid/no-mistakes",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_kunchenguid_no_mistakes_no_mistakes_d11c756f/readme"
}