# Developer Setup Guide for no-mistakes: Binary Install and Source Build Instructions

> Master the no-mistakes developer setup. Follow clear instructions for binary install, source builds with Make, and environment verification using doctor. Get started quickly and effectively.

- Repository: [Kun Chen/no-mistakes](https://github.com/kunchenguid/no-mistakes)
- Tags: developer-setup-guide
- Published: 2026-07-20

---

**The no-mistakes repository provides comprehensive setup guides for developers covering binary installation via install scripts, building from source using Make targets, and verifying environments with the `doctor` command.**

If you are contributing to **no-mistakes** or integrating it into your workflow, several official resources outline the complete developer onboarding experience. These setup guides for developers live in the repository's documentation site and README, detailing everything from one-line installers to the full test suite and skill regeneration pipeline.

## Installing the Binary

The fastest way to start developing with no-mistakes is to install a pre-built binary. According to the source code in [`docs/src/content/docs/start-here/installation.md`](https://github.com/kunchenguid/no-mistakes/blob/main/docs/src/content/docs/start-here/installation.md), you have three cross-platform options.

### curl Installer (macOS and Linux)

Run the official installer script to place the binary in `~/.no-mistakes/bin` and create a symlink in your user-wide bin directory:

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

```

### PowerShell Installer (Windows)

Windows developers can use the PowerShell equivalent to install the binary and configure the background service.

### Go Install

If you have Go installed, fetch the latest version directly:

```bash
go install github.com/kunchenguid/no-mistakes/cmd/no-mistakes@latest

```

## Building from Source

For developers modifying the core logic or adding new agent skills, building from source is required. The `Makefile` at the repository root defines the relevant targets.

Clone the repository and use the build pipeline:

```bash
git clone git@github.com:kunchenguid/no-mistakes.git
cd no-mistakes
make build     # produces ./bin/no-mistakes

make install   # installs binary and configures daemon

```

The `make install` target automatically restarts the background daemon using the platform-native service manager—**launchd** on macOS, **systemd** user service on Linux, or **Task Scheduler** on Windows.

## Verifying Your Environment

Before writing code, confirm that supported agent runners (Claude, Codex, Rovo Dev, etc.) and provider CLIs (`gh`, `glab`, `az`) are accessible:

```bash
no-mistakes doctor

```

This command, documented in the installation prerequisites section, validates that your local environment meets all runtime dependencies.

## Development Workflow and Testing

The **Development** section of [`README.md`](https://github.com/kunchenguid/no-mistakes/blob/main/README.md) outlines the standard commands for maintaining code quality and running tests.

### Code Quality and Formatting

- **`make fmt`** – Auto-format the entire codebase.
- **`make lint`** – Run static analysis and skill-drift checks.

### Running the Test Suite

- **`make test`** – Execute unit and integration tests via `go test -race ./...`.
- **`make e2e`** – Run the end-to-end suite located in `internal/e2e/`. This requires the `e2e` build tag and functioning agent runners.

### Regenerating Skills

When modifying agent capabilities in [`internal/skill/skill.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/skill/skill.go), regenerate the generated skill files:

```bash
make skill

```

### Documentation

Rebuild the Astro documentation site locally with:

```bash
make docs

```

## Initialization and Gate Setup

To set up the `no-mistakes` gate for a repository you own (or a fork), initialize the configuration:

```bash
no-mistakes init --fork-url git@github.com:yourname/no-mistakes.git

```

Refer to [`CONTRIBUTING.md`](https://github.com/kunchenguid/no-mistakes/blob/main/CONTRIBUTING.md) for the workflow required when submitting changes through the gate.

## Updating and Uninstalling

Maintain your development installation using the CLI's built-in update mechanism:

- **`no-mistakes update`** – Upgrade to the latest stable release.
- **`no-mistakes update --beta`** – Install the latest beta version.
- **`no-mistakes eject`** – Remove the gate from a repository and delete associated state files.

Uninstallation scripts are also documented in [`docs/src/content/docs/start-here/installation.md`](https://github.com/kunchenguid/no-mistakes/blob/main/docs/src/content/docs/start-here/installation.md) under the "Uninstall" section.

## Summary

- **Quick start**: Use the curl script or `go install` for immediate binary access; use `make build` and `make install` for source builds.
- **Environment check**: Run `no-mistakes doctor` to validate agent runners and provider CLI dependencies.
- **Development cycle**: Use `make fmt`, `make lint`, `make test`, and `make e2e` to maintain code quality.
- **Skill development**: Edit [`internal/skill/skill.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/skill/skill.go) and run `make skill` to regenerate agent capabilities.
- **Service management**: The installer configures platform-native daemons (launchd, systemd, or Task Scheduler) automatically.

## Frequently Asked Questions

### How do I install no-mistakes for local development?

You can install a binary quickly using the curl installer script or `go install github.com/kunchenguid/no-mistakes/cmd/no-mistakes@latest`. For development work, clone the repository and run `make build` followed by `make install` to compile from source and configure the background daemon.

### What Make targets are available for testing?

The `Makefile` provides `make test` for unit and integration tests with race detection enabled, and `make e2e` for end-to-end tests that require the `e2e` build tag. Additionally, `make lint` performs static analysis and skill-drift validation.

### How do I verify that my development environment is configured correctly?

Execute `no-mistakes doctor` to check for supported agent runners (Claude, Codex, Rovo Dev) and required provider CLIs such as `gh`, `glab`, and `az`. This command confirms prerequisites before you begin development.

### How do I contribute to no-mistakes?

Contributions must flow through the `no-mistakes` gate as outlined in [`CONTRIBUTING.md`](https://github.com/kunchenguid/no-mistakes/blob/main/CONTRIBUTING.md). Initialize the gate in your fork using `no-mistakes init --fork-url <your-fork>`, then follow the skill-based workflow defined in the contributing guide.