Part of the ratified IDE program (founder 2026-09-02; see codewhale-ops PRODUCT_PRD §6 "IDE direction" and TRUTH_LEDGER 2026-09-02). Stage 2 of attach-then-fork: make Codewhale a first-class agent option inside existing editors.
Current state
extensions/vscode is a scaffold: openTerminal, startRuntime, checkRuntime commands, agent/snapshot webviews, Runtime API port/token settings (src/runtime.ts, default port 7878), and deliberately owns no background process.
Deliver
- Thread list + streaming chat panel over the Runtime API (
POST /v1/threads, POST /v1/threads/{id}/turns, SSE GET /v1/threads/{id}/events).
- Approval prompts wired to
POST /v1/approvals/{approval_id} and POST /v1/user-input/{thread_id}/{input_id}.
- Diff review of agent edits using the native VS Code diff editor.
- Provider/route/cost surface from
/v1/providers and /v1/runtime/info (the apps control plane mirrors a Continue-shaped /v1/ide/status; keep fields compatible).
- Attach-or-spawn contract mirroring the desktop shell's spawn spec (
codewhale app-server --http --host 127.0.0.1 --port <ephemeral> + runtime token, dedicated process group — see codewhale-apps clients/desktop-shell/src-tauri/src/local_runtime.rs RuntimeLaunchSpec).
- Distribute on Open VSX only (Microsoft Marketplace ToS excludes non-Visual Studio products; never publish there).
Acceptance
- Listed on Open VSX; install + connect to a local runtime without manual config beyond port/token.
- One end-to-end task: prompt → streaming turns → tool/approval flow → diff review, all inside VS Code.
- Tests cover the Runtime API client paths used.
Part of the ratified IDE program (founder 2026-09-02; see
codewhale-opsPRODUCT_PRD §6 "IDE direction" and TRUTH_LEDGER 2026-09-02). Stage 2 of attach-then-fork: make Codewhale a first-class agent option inside existing editors.Current state
extensions/vscodeis a scaffold:openTerminal,startRuntime,checkRuntimecommands, agent/snapshot webviews, Runtime API port/token settings (src/runtime.ts, default port 7878), and deliberately owns no background process.Deliver
POST /v1/threads,POST /v1/threads/{id}/turns, SSEGET /v1/threads/{id}/events).POST /v1/approvals/{approval_id}andPOST /v1/user-input/{thread_id}/{input_id}./v1/providersand/v1/runtime/info(the apps control plane mirrors a Continue-shaped/v1/ide/status; keep fields compatible).codewhale app-server --http --host 127.0.0.1 --port <ephemeral>+ runtime token, dedicated process group — seecodewhale-appsclients/desktop-shell/src-tauri/src/local_runtime.rsRuntimeLaunchSpec).Acceptance