feat: extend capa wrap to Cursor agent and other CLI providers - #154
Conversation
Add wrap.aliases so Cursor GUI and agent CLI can share provider config, and declare wrap for gemini, opencode, copilot, qwen, kiro, iflow, and kimi. Co-authored-by: Cursor <cursoragent@cursor.com>
PR Summary by QodoExtend
AI Description
Diagram
High-Level Assessment
Files changed (12)
|
Code Review by Qodo
1.
|
Top-level wrap exclusions would hide entire .github/.vscode trees from the shadow workspace. Co-authored-by: Cursor <cursoragent@cursor.com>
Check PATH before shadow workspace install, and interactively select a wrappable provider when none is specified. Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
wrap.aliasesandresolveWrapTargetso a provider can expose alternate launch binaries (Cursor GUI vsagentCLI) while sharing the same shadow workspace/install paths.capa wrap agentfor Cursor CLI, plus wrap forgemini-cli,opencode,qwen-code,kiro-cli,iflow-cli, andkimi-cli.launchProviderto take an explicit launch config; leave Claude Code and Codex wrap unchanged.github-copilot: its owned paths live under shared.github/.vscode, and wrap exclusions are top-level only (would hide those entire trees).Test plan
bun test src/shared/providers/__tests__/wrap.test.ts src/cli/utils/wrap/__tests__/capa wrap agentprepares a cursor shadow workspace and launches theagentbinarycapa wrap cursorstill launches GUI (cursor --new-window --wait)capa wrap github-copilot/capa wrap copilotare rejected (not wrappable)capa wrapwith a missing provider lists new ids and aliases (agent)capa wrap gemini-cli/opencodelaunch their respective binaries when installed