feat(runtime): add Devin CLI ACP runtime#21
Conversation
Adds Devin CLI (Cognition, formerly Windsurf) as a supported coding agent runtime, following the same pattern as the Trae CLI adapter (nexu-io#12). Changes: - packages/runtime/src/defs/devin-cli.ts — new AgentDef id: devin-cli, bin: devin, streamFormat: acp-json-rpc buildArgs() returns ['acp'] — starts the ACP JSON-RPC server over stdio - packages/runtime/src/registry.ts — registered after traeCli in AGENT_DEFS - packages/runtime/test/devin-cli.test.mjs — validates registration + ACP args - README.md + README.zh-CN.md — agent count 13 → 14, added to all tables The devin acp subcommand is officially documented at cli.devin.ai and produces a JSON-RPC 2.0 over stdio server, identical to the ACP transport used by Trae CLI and Open Design (Vela/AMR).
|
Hey @249469326i-lang 👋 — thanks again for the clean follow-up from #20; your closing comment there saved everyone the cycle. ❤️ Quick lifecycle nudge: No rush, just wanted to make sure this didn't quietly slip off the board. |
|
Internal lifecycle note (for maintainer visibility):
Technical assessment: PR is sound (follows Trae CLI pattern exactly, test coverage included, rebrand reasoning is correct — Windsurf → Devin happened June 2). |
Summary
Adds Devin CLI (Cognition / formerly Windsurf) as a supported coding-agent runtime, following the exact same pattern as the Trae CLI adapter (PR #12).
Changes
New agent def:
packages/runtime/src/defs/devin-cli.tsid: 'devin-cli',name: 'Devin CLI'streamFormat: 'acp-json-rpc'bin: 'devin',versionArgs: ['--version']buildArgs()returns['acp']— starts the ACP JSON-RPC server over stdioRegistry: registered in
AGENT_DEFSaftertraeCliTest:
packages/runtime/test/devin-cli.test.mjs— validates registration + ACP argsREADMEs: updated agent count (13 → 14), added to all agent tables in both EN and CN READMEs
ACP protocol reference
devin acpis the official ACP stdio subcommand documented at cli.devin.ai. It speaks JSON-RPC 2.0 over stdin/stdout — the same transport used by Trae CLI (traecli acp serve --yolo) and Open Design AMR (vela agent run --runtime opencode).From the official ACP registry config:
{ "cmd": "devin", "args": ["acp"] }Requires the user to have run
devin auth loginat least once, or to haveWINDSURF_API_KEYset in the environment.Verified
tsc -p packages/runtime/tsconfig.json --noEmitpasses ✅