Routabout in your editor — smart routing across every model, cross-model verification by default, and your code as context. The IDE-bound surface of the Pro Coder tier (D-RA-87 #11): "Pro Coder talks to your stack."
What it does
- Chat panel in the activity bar that streams answers from Routabout.
- Editor context — your selection (or the active file) is attached to each question with its path, language, and line range, so answers are grounded in your actual code.
- Pro Coder routing — requests go through the three-rung waterfall (Devstral → GPT-5 → Sonnet) with the Magistral reviewer, and the panel shows which model answered + the per-query cost (path transparency).
- Ask about selection — select code,
Cmd/Ctrl+Alt+R(or right-click → Routabout: Ask about selection), type a question.
Setup
- Generate an API key in the Routabout app (API Keys → create). It looks
like
sk-rb-…. - In VS Code, run Routabout: Set API key (Command Palette) and paste it.
The key is stored in VS Code's secret store, not
settings.json. - Open the Routabout view in the activity bar and ask away.
Settings
| Setting | Default | Description |
|---|---|---|
routabout.apiUrl |
https://routabout-production.up.railway.app |
API base URL. |
routabout.tier |
procoder |
standard or procoder. |
routabout.includeEditorContext |
true |
Attach the active selection/file as context. |
routabout.maxContextLines |
400 |
Cap on attached context lines (head+tail kept, middle elided). |
The API key can also be set via
routabout.apiKey, but the secret store (Routabout: Set API key) is preferred — it keeps the key out of synced settings.
Develop
npm install
npm run compile # tsc → out/
npm test # compile + node --test out/test/ (pure-logic unit tests)
npm run typecheck # tsc --noEmit
Press F5 in VS Code to launch an Extension Development Host with the extension
loaded.
Architecture
Pure, vscode-free modules (unit-tested): types.ts, sse.ts (stream parsing),
api.ts (client + request building), editorContextFormat.ts (context
formatting). The vscode-touching modules (config.ts, editorContext.ts,
chatPanel.ts, extension.ts) are thin shells over them. The conversation is
held client-side (the full message list is re-sent each turn) — no server-side
conversation_id for the MVP.
Roadmap
- Frontier-reviewer / session toggles in the composer (backend ships #3).
- Inline code-action edits (apply a suggested diff).
- Server-side conversations + history.