Koda Rising — VS Code extension
AI coding priced for here: run agent tasks against the Koda gateway with local (Naira) prepaid billing, preview and apply
structured edits, keep a live wallet balance in the status bar, and index your repo for smarter retrieval — all without
leaving the editor. Thin surface over @koda-rising/sdk.
Setup
- Set the gateway URL in Settings → Koda Rising →
koda.baseUrl (default http://localhost:8080).
- Run Koda: Set API Token and paste your org token (stored in VS Code secret storage, never in settings).
Commands
- Koda: Run Task — describe a coding task; the active file is sent as context. Streams the model decision, plan, and
proposed edits, then lets you preview a diff and apply.
- Koda: Index Workspace for Retrieval — embeds your workspace files into the org's persistent index (
repo_chunks)
so agent runs retrieve from your codebase. Honours koda.indexInclude / koda.indexExclude and the size caps; charged
as open-lane usage. Requires the gateway in vector mode (KODA_RETRIEVER=vector).
- Koda: Repo Index Status — shows how many chunks/paths are indexed (or that indexing is disabled).
- Koda: Clear Repo Index — clears the org's index (with confirmation).
Incremental (index on save)
Enable koda.indexOnSave to keep the index fresh as you work: on each save, the saved file is re-embedded (debounced,
silent — progress goes to the Koda Rising output channel). A single-file index replaces just that path's chunks
server-side, so it stays cheap and incremental. Requires vector mode; skipped silently otherwise.
- Koda: Explain Selection / Koda: Refactor Selection — right-click a selection (or the Command Palette). Explain
streams an analysis to the output channel; Refactor asks for an instruction and offers to apply the resulting edits.
Also available from the lightbulb (Code Actions / ⌘.) when text is selected.
- Koda: Show Wallet Balance / Koda: Top Up Wallet — check balance and create a top-up.
Repo Index view
The Explorer → Koda Repo Index view lists the org's indexed paths. Use the title-bar buttons to index the workspace
or refresh, click a path to open it, and use the inline trash action to clear a single path. Paths are grouped by
folder. It refreshes automatically after indexing, clearing, and index-on-save.
Koda: Re-index Changed Files (also the sync button in the view title) re-embeds only files modified since the last
full index — cheap to run often. The first run (no prior index) indexes everything.
Settings
| Setting |
Default |
Purpose |
koda.baseUrl |
http://localhost:8080 |
Gateway URL |
koda.indexInclude |
common source extensions |
Files to index |
koda.indexExclude |
node_modules,.git,dist,… |
Paths to skip |
koda.indexMaxFiles |
200 |
Max files per index run |
koda.indexMaxFileKB |
128 |
Skip files larger than this |
koda.indexOnSave |
false |
Re-index a file automatically when you save it (incremental) |
Build & package
- Build —
pnpm build esbuild-bundles src/extension.ts (with @koda-rising/sdk and its deps inlined, vscode
external) to dist/extension.cjs. pnpm check-types runs tsc --noEmit.
- Package —
pnpm package produces a koda-rising-<version>.vsix (via @vscode/vsce, fetched on demand). The
.vsix bundles only dist/extension.cjs + icon.png + README.md + package.json (see .vscodeignore).
- Publish — prefer the tag: push
vscode-v<version> and publish-vscode.yml publishes it (see
docs/koda-rising-publishing-runbook-v1.md). pnpm publish (vsce publish) is the manual fallback. Either way it
needs a publisher PAT (VSCE_PAT secret in CI, or vsce login mangozestlabs locally) — note Azure DevOps retires
global PATs on 2026-12-01 and a Marketplace PAT must be global, so this has a shelf life. Bump version first.
To sideload without publishing: code --install-extension koda-rising-<version>.vsix.
Runtime testing uses the VS Code extension host (F5 in this folder) — see the smoke checklist. CI verifies the
extension by type-check + bundle only (it isn't in the node:test suite).