Which AI Agents Are Supported by No-Mistakes: Complete Back-End Reference
No-mistakes supports eight AI agent back-ends including Claude, Codex, Copilot, Rovo Dev, OpenCode, Pi AI, and dynamic ACP agents, with an auto-detection mode that selects the first available implementation.
The no-mistakes repository provides a flexible pipeline for code review and automation by integrating with multiple AI agent providers. Understanding which AI agents are supported by no-mistakes helps developers configure the right back-end for their specific workflow and infrastructure requirements.
Supported AI Agent Back-Ends
The complete list of supported agents is defined in internal/types/types.go as the AgentName constants. These constants map to specific implementations in the internal/agent/ package.
Auto-Detection Mode
The AgentAuto constant ("auto") enables automatic discovery. When selected, no-mistakes scans the host environment during startup via the factory in internal/agent/agent.go and selects the first available concrete agent implementation.
Anthropic Claude
Constant: AgentClaude ("claude")
Implementation: internal/agent/claude.go
Integrates with the Anthropic Claude Code CLI for code generation and review tasks.
AWS Code Codex
Constant: AgentCodex ("codex")
Implementation: internal/agent/codex.go
Drives the pipeline using the AWS Code Codex CLI.
Rovo Dev
Constant: AgentRovoDev ("rovodev")
Implementation: internal/agent/rovodev.go
Connects to the Rovo Dev environment for enterprise development workflows.
OpenCode
Constant: AgentOpenCode ("opencode")
Implementation: internal/agent/opencode.go
Provides a vendor-neutral OpenCode driver for standardized AI interactions.
Pi AI
Constant: AgentPi ("pi")
Implementation: internal/agent/pi.go
Integrates with GitHub's Pi AI system.
GitHub Copilot
Constant: AgentCopilot ("copilot")
Implementation: internal/agent/copilot.go
Supports the GitHub Copilot CLI as a back-end agent.
Dynamic ACP Agents
Constant: AgentACP ("acp")
Implementation: internal/agent/acpx.go
Supports dynamic ACP agent resolution using the format acp:<target>. The target name is supplied at runtime, allowing connection to custom ACP back-ends without hardcoded constants.
How Agent Selection Works
Agent instantiation is handled by the factory function in internal/agent/agent.go. This factory receives the selected AgentName from the configuration and returns the corresponding concrete implementation.
The selection process follows this priority:
- Check for explicit agent configuration via CLI flag, config file, or programmatic API
- If
AgentAutois specified, probe each concrete agent in order of availability - Instantiate the first responsive agent or return an error if none are found
Configuration Methods
You can specify which AI agents are supported by no-mistakes through three primary interfaces.
YAML Configuration
Create a .no-mistakes.yaml file in your project root:
# Explicit selection
agent: claude
# Auto-detection
agent: auto
# ACP dynamic target
agent: acp:my-custom-backend
CLI Flags
Override configuration file settings at runtime:
no-mistakes run --agent claude
Programmatic Selection
When using no-mistakes as a library in Go:
import (
"github.com/kunchenguid/no-mistakes/internal/config"
"github.com/kunchenguid/no-mistakes/internal/types"
)
func configurePipeline() {
cfg := &config.Config{
Agent: types.AgentClaude, // Explicitly select Claude
}
// Pass cfg to the pipeline executor
}
Implementation Architecture
Each agent integration resides in a dedicated file within internal/agent/:
internal/types/types.go– Declares theAgentNametype and constantsinternal/agent/agent.go– Factory that creates agent instances based onAgentNameinternal/agent/claude.go– Claude CLI integrationinternal/agent/codex.go– AWS Code Codex CLI integrationinternal/agent/rovodev.go– Rovo Dev CLI integrationinternal/agent/opencode.go– Vendor-neutral OpenCode driverinternal/agent/pi.go– Pi AI integrationinternal/agent/copilot.go– GitHub Copilot CLI integrationinternal/agent/acpx.go– Dynamic ACP agent loader foracp:<target>values
Summary
- Eight built-in agents are supported: Claude, Codex, Copilot, Rovo Dev, OpenCode, Pi AI, and dynamic ACP agents, plus an auto-detection mode
- Agent constants are defined in
internal/types/types.gowith implementations ininternal/agent/ - Auto-detection via
AgentAutoselects the first available agent on the host system - Configuration supports YAML files, CLI flags (
--agent), and programmatic Go API - Dynamic ACP agents allow runtime resolution using the
acp:<target>syntax for custom back-ends
Frequently Asked Questions
How do I check which AI agents are available on my system?
Run no-mistakes with agent: auto in your configuration file. According to the internal/agent/agent.go implementation, the tool probes each concrete agent and selects the first one that responds successfully. If no agents are detected, the pipeline exits with an error indicating that no back-end could be initialized.
Can I use multiple AI agents simultaneously in one project?
No, no-mistakes operates with a single active agent per execution context. The factory in internal/agent/agent.go instantiates exactly one back-end based on the AgentName constant specified in your configuration. To switch agents, you must modify the configuration or use the --agent CLI flag to override the current setting.
What is the difference between OpenCode and other vendor-specific agents?
AgentOpenCode (internal/agent/opencode.go) provides a vendor-neutral abstraction layer that standardizes interactions across different AI providers, while vendor-specific implementations like AgentClaude or AgentCopilot directly invoke their respective CLIs with provider-specific optimizations. Choose OpenCode when you need portability across environments, or select a specific agent when you require native CLI features.
How do I configure a custom ACP agent that is not in the default list?
Use the dynamic ACP syntax with the format acp:your-target-name in your configuration file or CLI. The internal/agent/acpx.go implementation resolves this at runtime by parsing the target identifier after the colon and connecting to the specified ACP endpoint. This requires no code changes to the no-mistakes repository.
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 →