From 5642fcfdf48b418c69a1fd3171400efd825fbc5f Mon Sep 17 00:00:00 2001 From: prajna Date: Mon, 23 Mar 2026 11:30:28 +0800 Subject: [PATCH 1/3] feat: add built-in trae agent mapping --- README.md | 1 + agents/README.md | 2 ++ agents/Trae.md | 5 +++++ src/agent-registry.ts | 1 + test/agent-registry.test.ts | 1 + 5 files changed, 10 insertions(+) create mode 100644 agents/Trae.md diff --git a/README.md b/README.md index 658c2cfd..a3f6ada3 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 (`trae-cli 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..81597816 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 -> trae-cli 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 -> trae-cli acp serve` diff --git a/agents/Trae.md b/agents/Trae.md new file mode 100644 index 00000000..f68501bd --- /dev/null +++ b/agents/Trae.md @@ -0,0 +1,5 @@ +# Trae + +- Built-in name: `trae` +- Default command: `trae-cli acp serve` +- Upstream: https://docs.trae.cn/cli diff --git a/src/agent-registry.ts b/src/agent-registry.ts index 0ec23a0e..797e7bd9 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: "trae-cli acp serve", }; const AGENT_ALIASES: Record = { diff --git a/test/agent-registry.test.ts b/test/agent-registry.test.ts index ad021b50..ff8547f4 100644 --- a/test/agent-registry.test.ts +++ b/test/agent-registry.test.ts @@ -52,6 +52,7 @@ test("listBuiltInAgents preserves the required example prefix and alphabetical t "kiro", "opencode", "qwen", + "trae", ]); }); From 50ea9fce9ed9be9ae3a48dcf8ad08df23f9a7b97 Mon Sep 17 00:00:00 2001 From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com> Date: Sat, 28 Mar 2026 01:49:52 +0100 Subject: [PATCH 2/3] docs: sync acpx skill built-ins --- skills/acpx/SKILL.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/skills/acpx/SKILL.md b/skills/acpx/SKILL.md index 5ab7f435..6da60cf0 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` -> `trae-cli acp serve` Rules: From 9680ceddf80be359366e1c8e3eba23beedce81d0 Mon Sep 17 00:00:00 2001 From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com> Date: Sat, 28 Mar 2026 01:56:45 +0100 Subject: [PATCH 3/3] fix: use traecli for built-in trae agent --- README.md | 2 +- agents/README.md | 4 ++-- agents/Trae.md | 2 +- skills/acpx/SKILL.md | 2 +- src/agent-registry.ts | 2 +- test/agent-registry.test.ts | 5 +++++ 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a3f6ada3..1e4716cc 100644 --- a/README.md +++ b/README.md @@ -333,7 +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 (`trae-cli acp serve`) | [Trae CLI](https://docs.trae.cn/cli) | +| `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 81597816..2059d5c1 100644 --- a/agents/README.md +++ b/agents/README.md @@ -16,7 +16,7 @@ Built-in agents: - `kiro -> kiro-cli acp` - `opencode -> npx -y opencode-ai acp` - `qwen -> qwen --acp` -- `trae -> trae-cli acp serve` +- `trae -> traecli acp serve` Harness-specific docs in this directory: @@ -31,4 +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 -> trae-cli acp serve` +- [Trae](Trae.md): built-in `trae -> traecli acp serve` diff --git a/agents/Trae.md b/agents/Trae.md index f68501bd..ebb74394 100644 --- a/agents/Trae.md +++ b/agents/Trae.md @@ -1,5 +1,5 @@ # Trae - Built-in name: `trae` -- Default command: `trae-cli acp serve` +- Default command: `traecli acp serve` - Upstream: https://docs.trae.cn/cli diff --git a/skills/acpx/SKILL.md b/skills/acpx/SKILL.md index 6da60cf0..52fff851 100644 --- a/skills/acpx/SKILL.md +++ b/skills/acpx/SKILL.md @@ -85,7 +85,7 @@ Friendly agent names resolve to commands: - `kiro` -> `kiro-cli acp` - `opencode` -> `npx -y opencode-ai acp` - `qwen` -> `qwen --acp` -- `trae` -> `trae-cli acp serve` +- `trae` -> `traecli acp serve` Rules: diff --git a/src/agent-registry.ts b/src/agent-registry.ts index 797e7bd9..cbb191ab 100644 --- a/src/agent-registry.ts +++ b/src/agent-registry.ts @@ -19,7 +19,7 @@ export const AGENT_REGISTRY: Record = { kiro: "kiro-cli acp", opencode: "npx -y opencode-ai acp", qwen: "qwen --acp", - trae: "trae-cli acp serve", + trae: "traecli acp serve", }; const AGENT_ALIASES: Record = { diff --git a/test/agent-registry.test.ts b/test/agent-registry.test.ts index ff8547f4..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));