no-mistakes README

The project's README from github.com/kunchenguid/no-mistakes. As one markdown file: README.md.

git push no-mistakes

Release Platform X Discord

kunchenguid%2Fno-mistakes | Trendshift

Kill all the slop. Raise clean PR.

English · 简体中文

no-mistakes demo

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.

Full documentation: https://kunchenguid.github.io/no-mistakes/

How it works

        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. The initial change reaches the configured push target only after every local gate is green.

When 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. Set ci.revalidate_repairs: true if every CI repair must itself be reviewed, at the cost of another full pass over your change each time CI is repaired.

Install

curl -fsSL https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/docs/install.sh | sh

Windows, Go install, and build-from-source instructions are in the installation guide.

Quick Start

$ no-mistakes init
  ✓ Gate initialized

    repo  /Users/you/src/my-repo
    gate  no-mistakes → /Users/you/.no-mistakes/repos/abc123def456.git
  remote  [email protected]: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 run

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:

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

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/dist

See Makefile for the full target list.

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.

Star History

Star History Chart

no-mistakes (kunchenguid/no-mistakes)

Searching Database…

这是什么?这是一个本地的 git 代理,位于你真正的 git 远程仓库前面:你把代码推送到 no-mistakes 而不是 origin,它会开启一个一次性的工作树,运行由 AI 驱动的校验流水线,只有在所有检查都通过后,才会把分支转发到你真正的远程仓库,并打开一个干净的 PR。
这是命令行工具还是托管服务?这是一个用 Go 编写的本地命令行工具和 TUI,运行在你自己的电脑上;它充当 git 远程代理,而不是托管服务。
我该怎么让它运行起来?运行 'no-mistakes init' 来安装闸门和 /no-mistakes 智能体技能,然后可以通过以下任一方式触发闸门:把已提交的分支推送到 no-mistakes 远程仓库,运行 no-mistakes TUI 向导,或在你的编程智能体中调用 /no-mistakes。
哪些编程智能体可以驱动校验流水线?它不绑定某一种智能体:支持 claude、codex、grok、rovodev、opencode、pi、copilot、antigravity,以及通过 acpx 使用的 cursor/acp,并可以设置有先后顺序的备用方案;但每个闸门都至少需要一个可以运行的已配置流水线智能体。
检查我的代码时,闸门会阻塞我吗?不会。流水线在隔离的工作树中运行,因此不会打扰你正在进行的工作;需要人工判断的问题会交给你处理,而不会被自动应用。
触发闸门的三种方式是什么?直接推送到 no-mistakes 的 git 远程仓库;运行 no-mistakes TUI 向导,通过闸门完成分支创建、提交和推送;或使用 /no-mistakes 智能体技能,让你的编程智能体完成任务并经过闸门检查。
所有检查通过后会发生什么?闸门会把你的分支转发到已配置的推送目标,并自动为你打开 PR,因此无需手动执行 git push 推送到 origin,也无需手写 PR 描述。
由谁决定如何修复发现的问题?由你决定。自动修复的问题会替你应用(或在你批准后应用),而需要询问用户的问题属于判断性问题,你可以在 TUI 中批准、修复或跳过。
axi 是什么?no-mistakes axi 是同一审批流程的非交互式 TOON 接口,/no-mistakes 技能在内部使用它,以无界面的方式驱动流水线。
Size
14 MB
Stars
8.9K
Age
6mo
Commits · 90 Days