AI Coding Agents Supported by no-mistakes: Complete Implementation Guide
TLDR: The no-mistakes CLI supports eight distinct AI coding agents including Claude, Codex, Copilot, Rovo Dev, OpenCode, Pi, and dynamic ACP targets, with an auto-detection mode that selects the first available agent on your system.
The kunchenguid/no-mistakes repository provides a flexible pipeline for AI-driven code review and CI automation. Understanding which AI coding agents are supported by no-mistakes is essential for configuring your development workflow and selecting the right backend for your specific use case.
Complete List of Supported AI Agents
The supported agents are enumerated in internal/types/types.go as the AgentName constants. Each constant maps to a specific implementation in the internal/agent/ directory and is instantiated by the factory logic in internal/agent/agent.go.
- Claude (
AgentClaude/"claude"): Anthropic Claude Code implementation ininternal/agent/claude.go - Codex (
AgentCodex/"codex"): AWS Code Codex CLI integration ininternal/agent/codex.go - Rovo Dev (
AgentRovoDev/"rovodev"): Rovo Dev platform driver ininternal/agent/rovodev.go - OpenCode (
AgentOpenCode/"opencode"): Vendor-neutral OpenCode implementation ininternal/agent/opencode.go - Pi (
AgentPi/"pi"): GitHub Pi AI integration ininternal/agent/pi.go - Copilot (
AgentCopilot/"copilot"): GitHub Copilot CLI driver ininternal/agent/copilot.go - ACP (
AgentACP/"acp"): Dynamic ACP agent loader ininternal/agent/acpx.gothat resolvesacp:<target>values at runtime - Auto (
AgentAuto/"auto"): Auto-detection mode that selects the first available concrete agent on the host
How to Configure AI Agents in no-mistakes
Agent selection is handled by the factory in internal/agent/agent.go, which creates the concrete implementation based on your configuration method.
YAML Configuration
Create a .no-mistakes.yaml file in your project root to specify the agent explicitly:
# .no-mistakes.yaml
agent: claude # Explicitly use Claude Code
# or
agent: auto # Auto-detect available agents
# or for ACP targets
agent: acp:my-custom-backend
Command-Line Override
Override any configuration file setting using the --agent flag when running the CLI:
no-mistakes run --agent claude # Use Claude explicitly
no-mistakes run --agent copilot # Use GitHub Copilot
Programmatic Selection
For custom tools or Go tests, import the types and config packages to select agents programmatically:
import (
"github.com/kunchenguid/no-mistakes/internal/config"
"github.com/kunchenguid/no-mistakes/internal/types"
)
func useClaude() {
cfg := &config.Config{
Agent: types.AgentClaude, // Select Claude via constant
}
// Pass cfg to the pipeline executor; the Claude agent will be
// instantiated by internal/agent/agent.go.
}
Summary
- no-mistakes supports eight AI coding agents: Claude, Codex, Rovo Dev, OpenCode, Pi, Copilot, ACP (dynamic), and Auto-detect.
- Agent constants are defined in
internal/types/types.gowith concrete implementations residing ininternal/agent/. - Configure agents via
.no-mistakes.yaml, CLI flags (--agent), or programmatically using theconfigandtypespackages. - ACP agents support dynamic targeting via
acp:<target>syntax for custom backends without code changes. - Auto mode (
AgentAuto) selects the first available agent at runtime by probing the host system.
Frequently Asked Questions
Which AI coding agents are supported by no-mistakes?
no-mistakes supports Anthropic Claude Code, AWS Code Codex CLI, Rovo Dev, OpenCode, Pi AI, GitHub Copilot CLI, and dynamic ACP agents. An auto-detection mode is also available to automatically select the first available agent on your system according to the logic in internal/agent/agent.go.
How does the auto-detection mode work?
Auto mode (AgentAuto or "auto" in configuration) iterates through available agent implementations at startup and selects the first one that successfully launches on your host. This eliminates the need to specify a particular agent when you have multiple tools installed.
Can I use custom ACP agents with no-mistakes?
Yes. The ACP agent type supports dynamic targeting using the syntax acp:<target>. When you specify a target like acp:my-custom-backend, the implementation in internal/agent/acpx.go resolves and loads the agent at runtime without requiring modifications to the core no-mistakes codebase.
Where are the agent implementations defined?
Agent constants are declared in internal/types/types.go, while concrete implementations reside in internal/agent/claude.go, internal/agent/codex.go, internal/agent/copilot.go, internal/agent/rovodev.go, internal/agent/opencode.go, internal/agent/pi.go, and internal/agent/acpx.go. The factory logic that instantiates these agents is located in internal/agent/agent.go.
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 →