Agentic coding assistant for Visual Studio Code, powered by the Gatishil AI gateway.

Overview
Gatishil AI brings an autonomous, tool-calling coding agent directly into the VS Code
sidebar. It connects to the Gatishil AI gateway's OpenAI-compatible /v1/chat/completions
API and drives an agent loop that can read files, list directories, write files, and run
shell commands within your workspace — with every mutating action gated behind explicit
user approval.
Key capabilities:
- Agentic tool-calling loop — the assistant plans and executes multi-step tasks against an OpenAI-compatible chat completions API.
- Workspace-aware tools — read files, list directories, write files, and run shell commands, all scoped to your open workspace.
- Approval gate — file writes and shell commands require explicit confirmation before they run, so nothing changes your project without consent.
- Native chat experience — a React-based chat interface integrated into the VS Code activity bar.
Architecture
┌──────────────┐ postMessage ┌────────────────────┐ fetch /v1/chat ┌─────────────┐
│ Webview (UI) │ ◀────────────▶ │ Extension host │ ───────────────▶ │ Gateway │
│ React + Vite │ │ agent loop + tools │ ◀─────────────── │ (tool_calls)│
└──────────────┘ └────────────────────┘ └─────────────┘
src/agent.ts— the loop: call the gateway, run the tools it asks for, feed results back, repeat until done.src/tools.ts— tool schemas + executors (read_file,list_dir,write_file,run_command).src/chatView.ts— the sidebar webview provider; bridges UI messages ↔ the agent, holds conversation + approvals.webview/— the React chat UI.
Develop
npm install
npm run build # bundles the extension (esbuild) + webview (vite) into dist/
Then press F5 in VS Code to launch an Extension Development Host. Open the Gatishil AI icon in the activity bar.
npm run watch— rebuild the extension host on change (re-runvite buildfor webview changes).npm run package— produce a.vsix(requiresdist/built first).
Configure
- Run “Gatishil AI: Set API Key” from the command palette (stored in SecretStorage, never in settings).
- Settings (
gatishil.*):baseUrl,model,maxTokens,maxSteps,autoApprove,allowInsecure.
allowInsecure defaults to true so the IP-based dev gateway's self-signed TLS cert is accepted.
Turn it off once the gateway has a valid certificate.
Status
First working skeleton: non-streamed agent turns, four core tools, approval gate on writes/commands.
Next: streamed token output, a diff view for write_file, and file-mention (@path) context.