IKarmic AI Forge: VS Code extensionThe editor half of IKarmic AI Forge. Same agent engine as the CLI, surfaced through:
InstallFrom a
|
| Setting | Purpose |
|---|---|
forge.provider |
auto (default), openai, anthropic, google, openrouter, ollama |
forge.model |
Default model id |
forge.completionModel |
Model used for inline completions (fast model by default) |
forge.completionDebounceMs |
Wait this long after typing before requesting (default 350ms) |
forge.completionMaxTokens |
Response ceiling for completions (default 512) |
forge.completionTelemetry |
Opt-in: count accept/reject rates in the status bar tooltip |
forge.verify.auto |
After edits, run the project's own typecheck/lint/test: ask (default), on, off |
forge.verify.commands |
Your own check commands; they always run and replace the detected ones |
forge.suggestSpec |
Offer a spec (or a plan) when a chat message asks for a whole system |
forge.apiKeys.* |
API keys (falls back to env vars); openai, anthropic, google, openrouter |
Or set them via environment variables (OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_GENERATIVE_AI_API_KEY, OPENROUTER_API_KEY, plus FORGE_DEFAULT_PROVIDER=ollama + FORGE_DEFAULT_MODEL for local models).
Keybindings
| Action | Windows/Linux | macOS |
|---|---|---|
| Open chat | Ctrl+Shift+I |
Cmd+Shift+I |
| Run task | Ctrl+Shift+L |
Cmd+Shift+L |
Commands
Forge: Open Chat: focus the sidebar chatForge: Run Task: input box → run with approval promptsForge: Run Task (Autonomous): run without approval prompts (skips confirmations for safe tools; destructive tools still denied)Forge: Run Task on Selection: run against the selected code with language contextForge: Cancel Current Task: abort the in-flight agentForge: Configure Provider: quick links to settings + .env template
How it works
The extension embeds the same @ikarmic/forge-core package that powers the CLI. The chat webview is a self-contained HTML+JS page that talks to the extension host via postMessage; the host runs the agent loop, streams events back, and renders tool calls / approval requests.
Inline completions use a separate fast/cheap model (configurable) with a fill-in-the-middle prompt and a debounced + abortable generateText call so rapid typing doesn't pile up requests.
License
MIT: see LICENSE.