no-mistakes

module
v1.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2026 License: MIT

README

git push no-mistakes

Release Platform X Discord

Kill all the slop. Raise clean PR.

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 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, or acp:<target> via acpx.
  • 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/

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  git@github.com:you/my-repo.git

  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

You can also skip git push and run no-mistakes directly after making changes (don't even need to commit it). You will then see a wizard TUI that walks you through creating a branch, committing, and pushing through the gate, then attaches if the daemon registers the new run.

Run no-mistakes -y to let no-mistakes automatically create branch, commit changes and push through the gate for you.

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    # Run go vet ./...
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, and opencode CLIs, spends real API quota, and should be reviewed before committing.

Directories

Path Synopsis
cmd
fakeagent command
fakeagent is a deterministic stand-in for the real Claude, Codex, and OpenCode CLIs used by no-mistakes' e2e tests.
fakeagent is a deterministic stand-in for the real Claude, Codex, and OpenCode CLIs used by no-mistakes' e2e tests.
no-mistakes command
recordfixture command
recordfixture captures real agent CLI output as fixture files for the e2e test suite.
recordfixture captures real agent CLI output as fixture files for the e2e test suite.
internal
cli
db
e2e
Package e2e holds end-to-end tests that drive the real no-mistakes binary against a temporary git repo and a fake agent.
Package e2e holds end-to-end tests that drive the real no-mistakes binary against a temporary git repo and a fake agent.
git
intent
Package intent extracts a short summary of the user's original intent for a code change by reading recent transcripts from local coding agents (Claude Code, Codex CLI, OpenCode, Rovo Dev) on the developer's machine.
Package intent extracts a short summary of the user's original intent for a code change by reading recent transcripts from local coding agents (Claude Code, Codex CLI, OpenCode, Rovo Dev) on the developer's machine.
ipc
scm
scm/github
Package github implements scm.Host backed by the gh CLI.
Package github implements scm.Host backed by the gh CLI.
scm/gitlab
Package gitlab implements scm.Host backed by the glab CLI.
Package gitlab implements scm.Host backed by the glab CLI.
tui
wizard
Package wizard provides the pre-pipeline onboarding flow: it detects repo state, optionally creates a branch, commits uncommitted changes, and pushes to the no-mistakes gate, then hands off to the main TUI.
Package wizard provides the pre-pipeline onboarding flow: it detects repo state, optionally creates a branch, commits uncommitted changes, and pushes to the no-mistakes gate, then hands off to the main TUI.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL