XeroIDEXeroIDE — private AI coding for VS Code with XERO/WIZARD assistants, bring-your-own AI, gated edits, safe commands, and wrong-project protection. XeroIDE is provider-flexible and local-first in design: bring your own AI access, use local or cloud models depending on your setup, and avoid single-provider lock-in or a central token resale dependency. You stay in control of privacy, cost, context, and code changes. XeroIDE is a VS Code / VSCodium extension that adds AI-assisted coding to your existing editor. XERO is the precise engineering assistant for analysis, debugging, refactoring, careful implementation, and controlled edits. WIZARD is the creative builder assistant for scaffolds, prototypes, interfaces, games, layouts, and fast build flows. v1.0.0-rc.4 release candidate — XeroIDE has passed the commercial release-check and readiness matrix for packaged-host flows. See CHANGELOG, Release candidate status, and Known limitations. Team sync and remote skill marketplace are not included in this release. Product overviewXeroIDE turns AI coding into a controlled engineering workflow. XeroIDE is not just an AI chat panel. It is a local-first AI software workspace that plans, builds, verifies, remembers, audits, and ships code using the cheapest safe route available. Secondary positioning: Plan, build, verify, remember, audit, and ship code using the cheapest safe route available. XeroIDE is an extension-first AI coding workspace. General product positioning stays provider-generic; provider/runtime names appear only in setup and integration sections:
There is no XeroIDE central AI proxy and no bundled token plan. Release candidate statusXeroIDE 1.0.0-rc.4 is a commercial release candidate. The packaged VSIX has passed:
This means the release gates passed; it does not claim perfection, certification, or guaranteed support for every provider/model/workspace. The accessibility audit includes packaged-host DOM automation and manual checklist evidence; external assistive-technology dogfood is recommended before public marketplace launch. Recommended rollout path: internal dogfood → assistive-tech dogfood → private beta → marketplace pre-release → stable marketplace release. Install the internal dogfood RCBuild and validate the RC package from the repository root:
The internal dogfood artifact is:
Install it in VS Code / VSCodium with Extensions → ⋯ → Install from VSIX…, or from a terminal:
Use a fresh VS Code profile for first-run validation when possible. Do not publish this RC to a public stable marketplace channel; use it for internal dogfood, assistive-technology dogfood, and private beta validation. XERO and WIZARDXeroIDE provides one unified assistant with two internal execution tiers. XERO handles free/local work using deterministic tools, local models, and self-hosted engines. WIZARD handles advanced BYOK work using your existing provider API keys when the task needs more reasoning power.
You do not need to pick a model on every message. XeroIDE classifies each task, budgets context, and shows a short route reason (tier, cost, privacy). Control tier mode in settings ( See docs/xero-and-wizard.md and docs/token-saving-strategy.md. How XeroIDE saves tokens
Assistant modesAsk, Plan, Agent (build), Debug, and Multitask — each mode enforces what the assistant may do (read-only vs diff-preview edits vs terminal with approval). Run and Ship intents route through deterministic XERO tools when possible (local static server, Git summary). Route decision cardEvery assistant response can show a compact route card: tier (XERO or WIZARD), execution path, reason, cost note, and privacy note. Expand Why this route? for intent, complexity, context budget, and fallback options. Toggle with Who pays for compute
Project BrainLocal per-workspace memory in Project MapHeuristic architecture map and import dependency graph (JS/TS/Python imports, package.json). Control Center → Map. See docs/project-map.md. Goal-Based WorkflowsPersistent engineering goals with milestones, files touched, and change-set links. Control Center → Goals. See docs/goals.md. Change Sets and RollbackSnapshot-based AI edit tracking with confirmation rollback (no git commands). Created automatically on Agent apply. See docs/change-sets-and-rollback.md. XERO Verify EnginePost-edit verification: diagnostics, static site checks, security heuristics, accessibility MVP, JSX/Vite compile checks, playable game completeness, prompt/theme alignment, and visual quality evidence (local-first, deterministic — no cloud model calls). Runs after Agent file apply. See docs/xero-verify-engine.md. JSX and Vite compile verificationXERO Verify treats dev-server and browser overlay compile errors as hard failures — a running dev server does not mean the app works.
Run Playable game verificationWhen you ask XeroIDE to build a playable game (including FPS/shooter, space combat, arcade, and similar requests), XERO Verify checks generated source for real gameplay — not passive 3D demos.
Privacy-first: verification inspects local project files only. Cloud BYOK models are used only when you explicitly route generation/repair through your own keys. Targeted follow-up editsXeroIDE supports incremental follow-up edits to an active project (for example: “add windows so you can see space outside”). Follow-ups:
Run Audio/music bug reports (for example: “cannot hear music in the game”) are classified as targeted bug fixes, not gameplay regeneration:
Run Repair loop protectionWhen XERO Verify fails (for example gameplay completeness after a successful follow-up patch):
Run Single-source-of-truth task state
Run Dogfood / QA mode (pre-launch development)Dogfooding XeroIDE on real consumer projects (Vite + Three.js games) exposes platform bugs — not just project bugs. Enable internal QA capture with:
Or run XeroIDE: Toggle Dogfood QA Mode. When enabled, failed agent runs are analyzed for platform issues such as:
Reports are saved locally only under Each report includes severity, consumer impact, recommended platform fix, and regression test suggestions. The assistant shows a Dogfood Report card with Open / Copy / Create regression test / Mark fixed / Dismiss actions. Final conclusions include a Dogfood finding section when a platform bug was detected. Commands: Run Final task conclusionsXeroIDE generates a structured final conclusion (Cursor-style) when a task reaches a terminal state:
Conclusions appear as one distinct card at the end of the assistant response. Information cards and the sticky action bar do not duplicate conclusion actions. The progress step is labeled Conclusion (not auto-checked while verify is pending). Run AI WorkbenchTask scratchpad: context, files, tools, verification, cost, replay. Control Center → Workbench. See docs/ai-workbench.md. Test Generation and RepairTest planner, generation prompts (approval required), and repair loop (XERO first). Control Center → Tests. See docs/test-generation-and-repair.md. Security GatePre-ship security checks integrated with Policy Firewall. See docs/security-gate.md. Build Product ModeGuided questionnaire for static sites, React/Vite, or Next plans — no auto scaffolding commands. See docs/build-product-mode.md. Deployment AssistantChecklist-only MVP for static, GitHub Pages, Netlify, Vercel, Cloudflare, Docker, Node. No API deploy. See docs/deployment-assistant.md. Team / Agency ModeLocal workspace profiles for client/agency/enterprise constraints. See docs/team-agency-mode.md. Skill PacksTen built-in workflow packs (frontend, SaaS, security review, tests, etc.). See docs/skill-packs.md. Model BenchmarksLocal benchmark tasks stored in Cost SimulatorWIZARD cost risk class before BYOK runs. Control Center → Cost. See docs/cost-simulator.md. Ask the ProjectLocal Q&A from Project Brain, Project Map, README, and index — read-only. See docs/ask-the-project.md. Review BoardOne-page project health summary. Control Center → Review Board. See docs/review-board.md. Approval PoliciesHuman approval gates for cloud AI, multi-file edits, terminals, external tools, and ship. See docs/approval-policies.md. Session ReplayMetadata-only session replay (no full prompts/code by default). See docs/session-replay.md. Fast ActionsDeterministic actions without model calls (README template, git summary, local site, etc.). See docs/fast-actions.md. Privacy and local storageAll platform features above store data under Platform commands (selection)
Free and local AI enginesXeroIDE supports local and self-hosted AI engines so you can code with AI without a central XeroIDE proxy. These are runtimes on your machine or your server — XeroIDE does not host models or provide shared API keys.
Commands: Scan for Local AI Engines ( Other tools (KoboldCpp, TabbyAPI, LiteLLM self-hosted, etc.) can usually connect via Custom Local Endpoint when they expose an OpenAI-compatible API. See docs/local-ai-engines.md for setup and troubleshooting. OpenRouter supportXeroIDE can connect to OpenRouter using your own OpenRouter API key. OpenRouter can provide access to many models through one API. You can also configure BYOK provider keys inside OpenRouter and use OpenRouter as your routing layer. OpenRouter lets you use one API key to access many models. If you configure BYOK provider keys inside OpenRouter, your requests can route through your own provider accounts while keeping one unified XeroIDE connection. Standard OpenRouter
OpenRouter free models
OpenRouter BYOK router
Important: OpenRouter BYOK is not the same as direct provider BYOK in XeroIDE. For the strictest provider-direct or local-only workflow, use direct provider keys or local engines. See docs/openrouter.md and docs/openrouter-byok.md. Commands: External ToolsXeroIDE can connect to the web and third-party services only when Connected Mode is enabled. External requests run from your machine, require permission when configured, and are logged locally. XeroIDE does not proxy these requests through XeroIDE servers.
Includes web fetch, user-configured web search (Brave/SerpAPI/Tavily/SearXNG), GitHub/GitLab tokens, read-only database queries (SQLite via CLI), IPFS, and package metadata lookup. Unique benefits
Agent: Run site locally (static)For workspaces with
Command: XeroIDE: Run Local Site ( Project ChangesXeroIDE tracks what has changed locally since your last push using your local Git repository only.
Open Control Center → Project Changes or run XeroIDE: Open Project Changes. Optional AI actions (metadata-only by default): summarize changes, suggest commit message, push checklist. See docs/git-provider-integration.md for future optional API integration. In chat, set context to Current Changes to ask: “What changed since my last push?” Trust & data handlingXeroIDE is designed so early testers can verify these claims:
Details: docs/security-and-privacy.md No unlimited AIXeroIDE does not provide hosted AI subscriptions, does not pay model bills for users, and does not guarantee free or unlimited cloud access. Free or low-cost options are user-side only:
Quick start (developers & testers)Prerequisites
Run locally
After code changes: Package as
|
| Script | Purpose |
|---|---|
npm run compile |
Build TypeScript to out/ |
npm run check:commands |
Verify package.json commands match commandManifest.ts |
npm run watch |
Watch mode compile |
npm run lint |
Typecheck without emit (tsc --noEmit) |
npm run package |
Build VSIX via vsce |
npm run package:out |
Build VSIX as ./xeroide.vsix |
npm test |
Smoke test (command declarations, no keys in media/) |
Setup guides
| Topic | Document |
|---|---|
| Privacy modes & Air-Gapped | docs/privacy-model.md · docs/air-gapped-mode.md |
| Local AI (Ollama) | docs/local-ai.md |
| BYOK (OpenAI, Anthropic, …) | docs/byok-setup.md |
| OpenRouter & free routes | docs/byok-setup.md#openrouter |
| Policy Firewall | docs/policy-firewall.md |
| Cost Guard | docs/cost-guard.md |
| AI Flight Recorder | docs/ai-flight-recorder.md |
| Codebase Tour | docs/codebase-tour.md |
| Alpha testing checklist | docs/alpha-testing.md |
Usage modes (privacy profiles)
Set during Connect AI or via XeroIDE: Change Privacy Mode:
| Mode | Behavior |
|---|---|
| Private | Cloud providers blocked; local/demo only. |
| Balanced | Local first when Ollama is ready; cloud for harder tasks. |
| Cheap | Prefer smaller context and economical routing. |
| Power | Prefer stronger cloud models when allowed. |
| Air-Gapped | All cloud providers blocked; Ollama/mock only. |
Core features (alpha)
Policy Firewall (AI Firewall)
Filters sensitive paths, respects workspace .xeroignore, redacts likely secrets in context (API keys, JWTs, PEM blocks, database URLs), and enforces privacy-mode cloud blocks before a request leaves your machine.
→ docs/policy-firewall.md
Cost Guard (Cost Pilot)
Assesses cloud context size and file count; prompts before large BYOK sends. Optional daily cloud request cap (xeroide.costGuard.dailyCloudRequestLimit) offers local fallback when reached.
→ docs/cost-guard.md
Task receipts
After WIZARD or code-editing tasks complete, XeroIDE saves a local receipt under .xeroide/receipts/ (provider, files changed, commands, verification). View the latest receipt in Control Center → Workbench.
Agent workflow and safety
Agent mode proposes changes before applying them. Review file diffs, approve/apply when ready, and let XERO Verify run automatically after install/dev-server steps where applicable. Project writes are gated to the active project root, command execution follows workspace trust and command-risk policy, and terminal/dev-server actions can require approval depending on policy.
Cancellation and recovery
Use Cancel during active work to stop provider streaming, pending approval, file apply, command execution, verification, or repair. Cancelled tasks are terminal and stale callbacks are ignored. If VS Code reloads or the extension host restarts mid-task, XeroIDE reconciles from local receipts and recovery state; it does not automatically approve pending changes or repeat already-applied transactions.
Multi-root workspaces
XeroIDE resolves the active project by canonical workspace folder and project evidence, not by the first folder name alone. When a request is ambiguous across roots, XeroIDE asks for clarification or fails safely instead of silently targeting the wrong project.
Diagnostics and exports
Receipts, context reports, Project Brain data, and recovery records are stored locally under .xeroide/ or VS Code storage. Developer diagnostics are hidden by default; enable Developer Mode only when you need request IDs, bridge details, or deeper troubleshooting output.
Developer Mode
Normal users see a clean assistant UI. Enable xeroide.developerMode (or toggle diagnostics in the assistant) to show request IDs, reconcile internals, and raw debug output.
Model Autopilot
Chooses provider/model based on task type, privacy mode, local availability, and your defaults — and records why in the decision path.
Configured via xeroide.useLocalFirst and privacy mode.
AI Flight Recorder
Local ring buffer of request metadata (provider, file count, policy warnings — not full prompts unless you opt in).
Command: XeroIDE: AI Flight Recorder
→ docs/ai-flight-recorder.md
Codebase Tour
Command: XeroIDE: Codebase Tour — structured repo overview using your configured provider.
→ docs/codebase-tour.md
Live Health
Run XeroIDE: Review Current File (or selection). Findings appear in Control Center; fixes use diff preview via Edit Selected Code.
Background review on save is optional (xeroide.enableBackgroundReview).
Context transparency (“See what the AI sees”)
After chat or extension-host commands, open Control Center or XeroIDE: Open Context Details for files included, blocked paths, and approximate size.
Main commands
| Command | Purpose |
|---|---|
XeroIDE: Connect AI |
Onboarding wizard (editor panel) |
XeroIDE: Open Conversation |
Streaming chat (editor panel) |
XeroIDE: Open Control Center |
Advanced sidebar hub |
XeroIDE: Open Provider Settings |
Full provider panel (editor) |
XeroIDE: Index Workspace Locally |
Build local search index |
XeroIDE: Ask About Workspace |
Q&A using local index chunks |
XeroIDE: Explain Current File |
Explain active file |
XeroIDE: Edit Selected Code |
Edit selection with diff preview |
XeroIDE: Review Current File |
Review + Live Health findings |
XeroIDE: Change Privacy Mode |
Privacy profile picker |
XeroIDE: AI Policy Firewall |
Policy status panel |
XeroIDE: Cost Guard |
Cost settings / last assessment |
XeroIDE: Connect OpenRouter |
OpenRouter setup wizard |
XeroIDE: Connect OpenRouter BYOK |
OpenRouter BYOK wizard |
XeroIDE: Test OpenRouter Connection |
Validate OpenRouter API key |
XeroIDE: Remove All Cloud API Keys |
Delete all BYOK keys from SecretStorage |
XeroIDE: Enable Connected Mode |
Turn on external tools (from your machine) |
XeroIDE: Fetch URL |
Fetch a public URL with approval |
XeroIDE: Configure Web Search |
Set Brave/SerpAPI/Tavily/SearXNG |
XeroIDE: Connect GitHub |
Store GitHub PAT locally |
Key settings
| Setting | Purpose |
|---|---|
xeroide.privacyMode |
private · balanced · cheap · power · airgapped |
xeroide.defaultProvider |
Default provider id |
xeroide.ollamaEndpoint |
Ollama URL (prefer http://127.0.0.1:11434 on macOS) |
xeroide.openrouterModel |
Model id; use openrouter/free for free-route preset |
xeroide.openrouterMode |
standard · free · byok |
xeroide.costGuard.enabled |
Enable Cost Guard |
xeroide.costGuard.dailyCloudRequestLimit |
Daily cloud cap (0 = unlimited) |
xeroide.developerMode |
Show developer diagnostics in the UI |
xeroide.audit.enabled |
Enable Flight Recorder |
xeroide.audit.storeFullPrompts |
Store full prompts in audit (off by default) |
xeroide.showCostWarnings |
Modal warnings before cloud usage |
Known limitations
- Project Map dependency graph uses heuristics, not full AST — may miss dynamic imports.
- Deployment Assistant is checklist-only — no automated deploy or marketplace downloads.
- Test repair requires user approval for terminal runs and WIZARD cost confirmation.
- Agency profiles are local JSON — not synced across machines yet.
- Model quality depends entirely on your configured provider or local model — XeroIDE does not tune model weights.
- Local models require sufficient RAM/GPU on your machine; large repos may index slowly.
- Free cloud routes (e.g. OpenRouter free models) may change, rate-limit, or disappear without notice.
- No XeroIDE-hosted unlimited AI — there is no vendor-subsidized token pool.
- No backend sync in alpha — settings and indexes are local to your VS Code profile / machine.
- No team admin dashboard in alpha — single-user workflow only.
- Background review may log to Output without updating Control Center until you run an explicit review.
- Gemini and some provider features may be partially wired; validate with Validate Provider Keys.
- Release-candidate accessibility evidence does not include a separate external screen-reader transcript; assistive-technology dogfood is recommended before public marketplace launch.
- Provider availability is not guaranteed by XeroIDE. Local Ollama, OpenRouter free routes, BYOK model access, rate limits, and context windows depend on user configuration and provider-side availability.
- Command/package failures from npm, Vite, shell, or workspace trust are surfaced by XeroIDE but still depend on the local project and environment.
Documentation index
- Alpha testing checklist
- Privacy model
- Local AI
- BYOK setup
- OpenRouter
- OpenRouter BYOK
- External Tools
- Connected Mode
- Tool permissions
- Policy Firewall
- Cost Guard
- Air-Gapped mode
- AI Flight Recorder
- Codebase Tour
- Security & privacy (technical)
- Manual test notes
- Release process
- Project Brain
- Project Map
- Goals
- Change sets & rollback
- XERO Verify
- AI Workbench
- Test generation
- Security Gate
- Build Product Mode
- Deployment Assistant
- Team / Agency Mode
- Skill packs
- Model benchmarks
- Cost simulator
- Ask the Project
- Review Board
- Approval policies
- Session replay
- Fast actions
- Marketplace (future)
License
See repository license file.