Skip to content

Commit 1acda08

Browse files
hqwuzhaoyiprajnaosolmaz
authored
feat: add built-in trae agent backed by trae-cli (#171)
* feat: add built-in trae agent mapping * docs: sync acpx skill built-ins * fix: use traecli for built-in trae agent --------- Co-authored-by: prajna <prajna@Mac-mini.local> Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
1 parent f08ea5b commit 1acda08

File tree

6 files changed

+19
-2
lines changed

6 files changed

+19
-2
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,7 @@ Built-ins:
333333
| `kiro` | native (`kiro-cli acp`) | [Kiro CLI](https://kiro.dev) |
334334
| `opencode` | `npx -y opencode-ai acp` | [OpenCode](https://opencode.ai) |
335335
| `qwen` | native (`qwen --acp`) | [Qwen Code](https://github.com/QwenLM/qwen-code) |
336+
| `trae` | native (`traecli acp serve`) | [Trae CLI](https://docs.trae.cn/cli) |
336337

337338
`factory-droid` and `factorydroid` also resolve to the built-in `droid` adapter.
338339

agents/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Built-in agents:
1616
- `kiro -> kiro-cli acp`
1717
- `opencode -> npx -y opencode-ai acp`
1818
- `qwen -> qwen --acp`
19+
- `trae -> traecli acp serve`
1920

2021
Harness-specific docs in this directory:
2122

@@ -30,3 +31,4 @@ Harness-specific docs in this directory:
3031
- [Kiro](Kiro.md): built-in `kiro -> kiro-cli acp`
3132
- [OpenCode](OpenCode.md): built-in `opencode -> npx -y opencode-ai acp`
3233
- [Qwen](Qwen.md): built-in `qwen -> qwen --acp`
34+
- [Trae](Trae.md): built-in `trae -> traecli acp serve`

agents/Trae.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Trae
2+
3+
- Built-in name: `trae`
4+
- Default command: `traecli acp serve`
5+
- Upstream: https://docs.trae.cn/cli

skills/acpx/SKILL.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,13 @@ Friendly agent names resolve to commands:
7979
- `cursor` -> `cursor-agent acp`
8080
- `copilot` -> `copilot --acp --stdio`
8181
- `droid` -> `droid exec --output-format acp` (`factory-droid` and `factorydroid` also resolve to `droid`)
82+
- `iflow` -> `iflow --experimental-acp`
83+
- `kilocode` -> `npx -y @kilocode/cli acp`
8284
- `kimi` -> `kimi acp`
83-
- `opencode` -> `npx -y opencode-ai acp`
8485
- `kiro` -> `kiro-cli acp`
85-
- `kilocode` -> `npx -y @kilocode/cli acp`
86+
- `opencode` -> `npx -y opencode-ai acp`
8687
- `qwen` -> `qwen --acp`
88+
- `trae` -> `traecli acp serve`
8789
8890
Rules:
8991

src/agent-registry.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export const AGENT_REGISTRY: Record<string, string> = {
1919
kiro: "kiro-cli acp",
2020
opencode: "npx -y opencode-ai acp",
2121
qwen: "qwen --acp",
22+
trae: "traecli acp serve",
2223
};
2324

2425
const AGENT_ALIASES: Record<string, string> = {

test/agent-registry.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ test("resolveAgentCommand prefers explicit alias overrides over built-in alias m
3232
);
3333
});
3434

35+
test("trae built-in uses the standard traecli executable", () => {
36+
assert.equal(AGENT_REGISTRY.trae, "traecli acp serve");
37+
assert.equal(resolveAgentCommand("trae"), "traecli acp serve");
38+
});
39+
3540
test("listBuiltInAgents preserves the required example prefix and alphabetical tail", () => {
3641
const agents = listBuiltInAgents();
3742
assert.deepEqual(agents, Object.keys(AGENT_REGISTRY));
@@ -52,6 +57,7 @@ test("listBuiltInAgents preserves the required example prefix and alphabetical t
5257
"kiro",
5358
"opencode",
5459
"qwen",
60+
"trae",
5561
]);
5662
});
5763

0 commit comments

Comments
 (0)