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, он создаёт одноразовое рабочее дерево (worktree), запускает конвейер проверки на основе ИИ и передаёт ветку в ваш настоящий удалённый репозиторий, открывая чистый PR, только когда пройдены все проверки.
Это инструмент командной строки или облачный сервис?Это локальный инструмент командной строки и TUI, написанный на Go, который вы запускаете на своём компьютере; он работает как git-прокси для удалённого репозитория, а не как облачный сервис.
Как мне его запустить?Выполните 'no-mistakes init', чтобы установить гейт и навык агента /no-mistakes, затем запустите гейт одним из способов: отправив закоммиченную ветку в удалённый репозиторий no-mistakes, запустив мастер TUI no-mistakes или вызвав /no-mistakes из вашего агента для написания кода.
Какие агенты для написания кода могут управлять конвейером проверки?Он не привязан к конкретному агенту: поддерживаются claude, codex, grok, rovodev, opencode, pi, copilot, antigravity и cursor/acp через acpx с запасными вариантами по порядку, но каждому гейту нужен хотя бы один работающий настроенный агент конвейера.
Гейт блокирует меня, пока проверяет мой код?Нет, конвейер работает в изолированном рабочем дереве, поэтому не мешает вашей текущей работе, а замечания, требующие суждения, передаются вам, а не применяются автоматически.
Какие есть три способа запустить гейт?Отправить код напрямую в удалённый git-репозиторий no-mistakes, запустить мастер TUI no-mistakes, чтобы создать ветку, закоммитить и отправить код через гейт, или использовать навык агента /no-mistakes, чтобы ваш агент для написания кода выполнил задачу и прогнал её через гейт.
Что происходит, когда все проверки пройдены?Гейт передаёт вашу ветку в настроенную цель отправки и автоматически открывает за вас PR, так что не нужно вручную делать git push в origin или писать описание PR самому.
Кто решает, как исправлять замечания?Вы. Замечания с автоисправлением применяются за вас (или после вашего одобрения), а замечания, требующие вашего решения, это вопрос суждения: вы одобряете, исправляете или пропускаете их в TUI.
Что такое axi?no-mistakes axi — это неинтерактивный интерфейс TOON к тому же потоку одобрения, который навык /no-mistakes использует внутри, чтобы управлять конвейером без участия человека в интерфейсе.
Size
14.3 MB
Stars
8.9K
Age
6mo
Commits · 90 Days