diff --git a/README.md b/README.md index 658c2cfd..1e4716cc 100644 --- a/README.md +++ b/README.md @@ -333,6 +333,7 @@ Built-ins: | `kiro` | native (`kiro-cli acp`) | [Kiro CLI](https://kiro.dev) | | `opencode` | `npx -y opencode-ai acp` | [OpenCode](https://opencode.ai) | | `qwen` | native (`qwen --acp`) | [Qwen Code](https://github.com/QwenLM/qwen-code) | +| `trae` | native (`traecli acp serve`) | [Trae CLI](https://docs.trae.cn/cli) | `factory-droid` and `factorydroid` also resolve to the built-in `droid` adapter. diff --git a/agents/README.md b/agents/README.md index 2235c2fd..2059d5c1 100644 --- a/agents/README.md +++ b/agents/README.md @@ -16,6 +16,7 @@ Built-in agents: - `kiro -> kiro-cli acp` - `opencode -> npx -y opencode-ai acp` - `qwen -> qwen --acp` +- `trae -> traecli acp serve` Harness-specific docs in this directory: @@ -30,3 +31,4 @@ Harness-specific docs in this directory: - [Kiro](Kiro.md): built-in `kiro -> kiro-cli acp` - [OpenCode](OpenCode.md): built-in `opencode -> npx -y opencode-ai acp` - [Qwen](Qwen.md): built-in `qwen -> qwen --acp` +- [Trae](Trae.md): built-in `trae -> traecli acp serve` diff --git a/agents/Trae.md b/agents/Trae.md new file mode 100644 index 00000000..ebb74394 --- /dev/null +++ b/agents/Trae.md @@ -0,0 +1,5 @@ +# Trae + +- Built-in name: `trae` +- Default command: `traecli acp serve` +- Upstream: https://docs.trae.cn/cli diff --git a/skills/acpx/SKILL.md b/skills/acpx/SKILL.md index 5ab7f435..52fff851 100644 --- a/skills/acpx/SKILL.md +++ b/skills/acpx/SKILL.md @@ -79,11 +79,13 @@ Friendly agent names resolve to commands: - `cursor` -> `cursor-agent acp` - `copilot` -> `copilot --acp --stdio` - `droid` -> `droid exec --output-format acp` (`factory-droid` and `factorydroid` also resolve to `droid`) +- `iflow` -> `iflow --experimental-acp` +- `kilocode` -> `npx -y @kilocode/cli acp` - `kimi` -> `kimi acp` -- `opencode` -> `npx -y opencode-ai acp` - `kiro` -> `kiro-cli acp` -- `kilocode` -> `npx -y @kilocode/cli acp` +- `opencode` -> `npx -y opencode-ai acp` - `qwen` -> `qwen --acp` +- `trae` -> `traecli acp serve` Rules: diff --git a/src/agent-registry.ts b/src/agent-registry.ts index 0ec23a0e..cbb191ab 100644 --- a/src/agent-registry.ts +++ b/src/agent-registry.ts @@ -19,6 +19,7 @@ export const AGENT_REGISTRY: Record = { kiro: "kiro-cli acp", opencode: "npx -y opencode-ai acp", qwen: "qwen --acp", + trae: "traecli acp serve", }; const AGENT_ALIASES: Record = { diff --git a/test/agent-registry.test.ts b/test/agent-registry.test.ts index ad021b50..0e274470 100644 --- a/test/agent-registry.test.ts +++ b/test/agent-registry.test.ts @@ -32,6 +32,11 @@ test("resolveAgentCommand prefers explicit alias overrides over built-in alias m ); }); +test("trae built-in uses the standard traecli executable", () => { + assert.equal(AGENT_REGISTRY.trae, "traecli acp serve"); + assert.equal(resolveAgentCommand("trae"), "traecli acp serve"); +}); + test("listBuiltInAgents preserves the required example prefix and alphabetical tail", () => { const agents = listBuiltInAgents(); assert.deepEqual(agents, Object.keys(AGENT_REGISTRY)); @@ -52,6 +57,7 @@ test("listBuiltInAgents preserves the required example prefix and alphabetical t "kiro", "opencode", "qwen", + "trae", ]); });