gitmyhub

roach-code

Go ★ 35 updated 1d ago

A config- and plugin-driven terminal AI coding agent (multi-model: DeepSeek, Codex/OpenAI, MiniMax, GLM). Multi-model rewrite of deepseek-reasonix.

A terminal AI coding agent that reads files, writes code, and runs tests based on plain-text instructions, supporting multiple AI providers through a single TOML config file and shipping as a single static Go binary with no external dependencies.

GoTOMLMCPsetup: easycomplexity 2/5

Roach Code is an AI coding agent that runs in the terminal, letting you describe a task in plain text and have an AI model carry it out: reading files, writing code, running tests, and making edits across your project. It is a multi-provider rewrite of an earlier project called deepseek-reasonix, extended to support many AI services rather than just one.

The tool is config-driven. You declare which AI providers to use, which models to assign to which roles, and which built-in tools to allow, all in a single TOML file. Supported providers include DeepSeek, OpenAI and Codex, MiniMax, GLM, and Anthropic, as well as any service that follows the OpenAI API format. You can optionally run two models at once: one that executes tasks step by step and a separate planner model that reasons at a higher level between steps.

Roach Code is built in Go and ships as a single static binary with no external dependencies beyond a TOML parser. You can install it on macOS, Linux, or Windows with a one-line shell command that downloads the correct version and adds it to your path. Cross-compilation to six targets is supported with a single build command.

Plugins work by running external programs as subprocesses over a JSON-RPC protocol called MCP, which Roach Code supports as a client. This means any MCP-compatible tool server can be wired in through a config entry. A built-in reference plugin is included as a starting point.

Permissions control what the agent is allowed to do. Each tool call can be set to always allow, always deny, or prompt you for a decision. File writes are sandboxed to the current project directory by default, and on macOS, shell commands are further restricted from touching paths outside the defined workspace. The readme is thorough and covers configuration, sandboxing, plugins, and the full set of commands.

Where it fits