How to Install no-mistakes: Complete Setup Guide for macOS, Linux, and Windows
Run curl -fsSL https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/docs/install.sh | sh on macOS/Linux or irm https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/docs/install.ps1 | iex on Windows to install the no-mistakes CLI, daemon, and agent skill in one step.
no-mistakes is a Go-based CLI from the kunchenguid/no-mistakes repository that orchestrates Git workflows through a background daemon and agent-readable skills. Learning how to install no-mistakes requires placing three components—the binary, the daemon, and the skill file—into the correct locations on your system. This guide covers automated scripts, Go toolchain installation, and manual compilation methods.
Installation Methods
One-Liner Script (macOS and Linux)
The fastest way to install no-mistakes on Unix-like systems uses the installer script at docs/install.sh. This script queries the GitHub Releases API for the newest tag, downloads the tarball, and configures the binary.
curl -fsSL https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/docs/install.sh | sh
According to lines 31-40 of docs/install.sh, the script builds the download URL dynamically based on your architecture. Lines 48-55 copy the binary to $HOME/.no-mistakes/bin, while lines 63-74 create a symlink in $HOME/.local/bin or /usr/local/bin, using sudo only if the target directory requires root access.
PowerShell Script (Windows)
Windows users can use the equivalent PowerShell script located at docs/install.ps1.
irm https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/docs/install.ps1 | iex
This performs the same steps as the Unix installer: downloading the release, extracting the binary, adding it to your PATH, and restarting the daemon service.
Go Install (Cross-Platform)
If you have a recent Go toolchain, use go install to build locally without embedded telemetry IDs. This compiles the entry point at cmd/no-mistakes/main.go directly.
go install github.com/kunchenguid/no-mistakes/cmd/no-mistakes@latest
export PATH=$HOME/go/bin:$PATH
This method places the binary in $HOME/go/bin rather than $HOME/.no-mistakes/bin, but functions identically once added to your PATH.
Build from Source
Clone the repository and use the Makefile to build and install. This method is ideal for developers modifying internal/daemon/manager.go or internal/skill/skill.go.
git clone https://github.com/kunchenguid/no-mistakes.git
cd no-mistakes
make build
make install
The Makefile targets (lines 45-49) build the binary and execute daemon stop/start to ensure the new version is active.
What the Installer Configures
The installation process places three distinct pieces:
- Binary: The
no-mistakesexecutable fromcmd/no-mistakes/main.gothat drives the Git proxy, TUI, andaxiinterface. Installed to$HOME/.no-mistakes/bin. - Daemon: A long-running process defined in
internal/daemon/manager.gothat manages disposable worktrees, runs the pipeline, and serves theaxiAPI. Platform-specific service installers live ininternal/daemon/service_*.go. - Skill: An agent-readable text file sourced from
internal/skill/skill.goand stored atskills/no-mistakes/SKILL.mdthat the daemon registers with theaxilayer.
As implemented in lines 31-80 of docs/install.sh, the installer:
- Downloads the latest release tarball
- Copies the binary to
$HOME/.no-mistakes/bin - Symlinks to a directory in your
$PATH - Executes
"$BIN_PATH" daemon restart(line 80) to activate the background service
Prerequisites
Before installing no-mistakes, ensure you have:
- Git – Required for all installation methods
- LLM Agent binary – One of
claude,codex,opencode,pi,copilot, or anacp:<target>endpoint - Provider CLIs (optional) –
gh,glab, or Bitbucket environment variables if you intend to push to GitHub, GitLab, or Bitbucket
Verify Installation
Confirm the binary is accessible and restart the daemon to ensure the latest version is running:
which no-mistakes
# Output: ~/.local/bin/no-mistakes
no-mistakes daemon restart
Initialize your first repository gate to complete setup:
no-mistakes init
This creates a bare repository at ~/.no-mistakes/repos/<hash>.git for gate management and registers the skill with your local agent.
Summary
- One-liner scripts at
docs/install.shanddocs/install.ps1provide the fastest installation on macOS, Linux, and Windows - Three components are installed: the CLI binary (
cmd/no-mistakes/main.go), the daemon (internal/daemon/manager.go), and the agent skill (internal/skill/skill.go) - Go install builds locally without telemetry IDs using
go install github.com/kunchenguid/no-mistakes/cmd/no-mistakes@latest - Source builds use the
Makefiletargetsbuildandinstallfor development workflows - Prerequisites include Git and at least one supported LLM agent binary
Frequently Asked Questions
Where does the installer put the no-mistakes binary?
The script copies the binary to $HOME/.no-mistakes/bin and creates a symlink in $HOME/.local/bin or /usr/local/bin. According to lines 63-74 of docs/install.sh, if the target directory requires elevated permissions, the installer prompts for sudo access during the symlink creation phase.
Can I install no-mistakes without root privileges?
Yes. The default installation to $HOME/.local/bin does not require root. The installer only uses sudo if it cannot write to the target directory in your PATH, falling back to user-owned directories when possible.
What is the difference between the script install and go install?
The script install downloads pre-compiled release binaries from GitHub with embedded telemetry IDs, while go install compiles the binary locally from cmd/no-mistakes/main.go without telemetry. Both methods result in a functional no-mistakes CLI, but go install requires a Go toolchain and places the binary in $HOME/go/bin by default.
How do I update an existing no-mistakes installation?
Run the same install command again. The docs/install.sh script downloads the latest release and restarts the daemon automatically via line 80 ("$BIN_PATH" daemon restart). Alternatively, if you built from source, run make install again to trigger the daemon restart logic defined in the Makefile.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →