Dotportion VS Code Extension
The candidate/builder-facing VS Code extension (BYOE). Installs from the Microsoft
Marketplace + Open VSX. Extension ID: dotportion.dotportion-extension.
Links an attempt via vscode:// URI → session JWT, clones the challenge starter
repo, captures every edit/paste/terminal/test/AI event, hosts the budgeted AI
chat panel (via the LLM Relay), and snapshots + submits the workspace. See
docs/04-vscode-extension.md.
Status — early access (v2 Phase 2/3)
Heads up: the published serverUrl/relayUrl defaults still point at
localhost — there is no public production backend yet. Installing this
build gets you the extension shell; it won't be able to link an attempt or
talk to the AI chat until you (or a future release) point it at a real
server. Marketplace/registry accounts were created early on purpose to
start their lead-time clocks — see docs/11-build-plan.md.
In place:
- Activation (
onUri) + Dotportion activity-bar container & Challenges webview view.
vscode://dotportion.dotportion-extension/start?token=… deep-link handler.
- Session link/resume, pause/resume, submit commands.
- Event capture: edits, pastes, terminal commands, test runs.
- Budgeted AI chat panel (via the LLM Relay).
dotportion.serverUrl / dotportion.relayUrl settings (default to http://localhost:3000 / http://localhost:8080).
- esbuild bundling →
dist/extension.js; strict TypeScript.
Develop
This is a standalone package (its own node_modules, not part of the Next.js app).
cd extension
pnpm install # installs the extension toolchain
pnpm compile # tsc type-check (no emit)
pnpm build # esbuild bundle → dist/extension.js
pnpm watch # rebuild on change
Press F5 in VS Code (with extension/ open) to launch the Extension
Development Host. Open the Dotportion icon in the activity bar, or run
Dotportion: Open Invite Link from the command palette.
Test the deep link from a terminal:
code --open-url "vscode://dotportion.dotportion-extension/start?token=demo123"
Package
pnpm package # → dotportion-extension-<version>.vsix (vsce)
Publishing targets both the Microsoft Marketplace (dotportion publisher) and
Open VSX (dotportion namespace). Both were created early to start their
respective lead-time clocks (Marketplace's optional verified-domain badge
needs 6 months of history) — see the tracking issues under epic #6.