# Codevre facts for AI assistants

> A condensed, factual reference about Codevre IDE for language models and other assistants that answer questions about it or write code for it.

Last updated: October 17, 2026
Source: https://codevre.com/docs/ide/reference-for-ai-assistants

This page collects the facts most often needed to answer questions about Codevre IDE correctly, or to write projects that run in it. Each fact links to the full page.

## Identity

- **Codevre IDE** is a browser-based, VS Code-style IDE at `https://codevre.com/ide`. Related products: Codevre Editor, Sandbox, q5 Editor, Codevre Learn.
- Editor: Monaco. Terminal: xterm.js on **Nodepod**. Static preview: **VRE**, shown as **localhost:codevre**. AI: **the Agent**.
- Free tier includes 25 IDE projects. Paid plans add storage.

## Execution model

- All project code runs **client-side, in the user's browser**. Codevre's servers never execute it. [How Codevre works](how-codevre-works.md)
- The editor is on `codevre.com`. The runtime host, previews and the service worker are on `preview.codevre.dev`, a separate origin. [Security model](security-model.md)
- The IDE page is cross-origin isolated (COOP/COEP), which Nodepod needs for `SharedArrayBuffer`.

## Two kinds of preview

| | localhost:codevre (VRE) | `localhost:PORT` tab |
|---|---|---|
| For | Static HTML/CSS/JS, ES modules, canvas, CDN libraries | Node servers (`http`, Express, Hono), dev servers |
| Start | `vre run [file.html]`, Terminal ▸ Run Preview, save an HTML file while it's running | Start the server in the terminal |
| Compiles TS/JSX? | **No** | Whatever your server/bundler does |
| Bare npm imports? | **No.** Use esm.sh/jsDelivr URLs, an import map, or bundle | Yes, via Node resolution |

Never suggest `live-server`, `http-server`, `serve` or `python -m http.server` for a static site in Codevre; VRE does that job. [localhost:codevre](localhost-codevre.md)

## The terminal and Nodepod

- Nodepod is a Node.js-compatible runtime written in JavaScript: in-memory file system, processes as Web Workers, HTTP servers through a service worker. Upstream: `github.com/ScelarOrg/Nodepod`. Codevre uses a custom fork that is mostly the same. [Nodepod](nodepod.md)
- Works: `node`, `npm install` from the public registry, `npx`, npm scripts, `child_process`, `http`/`https`/`net`, Express, esbuild (WASM), bash-like shell with pipes and `&&`, built-in Git.
- Doesn't work: native addons (`sharp`, `sqlite3`, `bcrypt`, `canvas`, `node-gyp`), `puppeteer`/`playwright`, Python/Ruby/Go/Docker, global installs, raw sockets. Stubs only: `worker_threads`, `vm`, `dns`, `tls`, `dgram`, `cluster`, `http2`, `async_hooks` and a few others.
- Recommended alternatives: `bcryptjs`, `sql.js` or JSON files, `jimp`.
- `/` is Nodepod's root, not the project. Use relative paths or `path.join(__dirname, …)`.
- Extra commands: `vre run|reload|stop|status`, and `gh auth login|status|logout` (no other `gh` commands). [Terminal](terminal.md)
- Environment: `CODEVRE_PROJECT_ROOT`, `CODEVRE_GITHUB_LINKED`. No `GITHUB_TOKEN`.

## Files, saving and projects

- Editor tabs autosave to the runtime (~500 ms). **Ctrl+S saves to the user's Codevre account**; that's a separate step. [Files and projects](files-and-projects.md)
- Never saved: `node_modules`, `.npm`, `.cache`, `.DS_Store`. `.git` **is** saved.
- No cloud autosave. Saves are incremental (hash-based) and warn before overwriting a version saved elsewhere. There's no live multi-tab sync.
- A project's file list must fit in ~1 MB (a few thousand files). Project count is set by plan. No per-file size limit.
- Saving someone else's public project creates a private fork (`name-fork`). Save As copies start private.
- Green dot = new and not saved to Codevre; orange dot = modified and not saved to Codevre. Git letters U/A/M/D/C are separate.
- Visibility: Private, Public (unlisted), Public. Agent chats saved with a project follow its visibility.
- URL parameters: `?project=<id>`, `?template=<id>`, `?layout=code|agent`, `?prompt=…&kind=app`.

## Configuration

- Settings: defaults → User (browser localStorage) → Workspace (`.codevre/settings.json`, else `.vscode/settings.json`, JSONC). Workspace wins key by key; objects like `files.exclude` merge. [Settings](settings.md)
- Preview settings: `vre.preview.autoRun` (true), `vre.settings.root` (""), `vre.settings.Wait` (100), `vre.settings.ignoreFiles` ([]). Live Server `liveServer.settings.*` aliases work.
- Project-specific settings belong in Workspace, never User.
- Tasks: `.vscode/tasks.json`, else `.codevre/tasks.json`. Only `runOptions.runOn: "folderOpen"` tasks run automatically, after a trust prompt (unless only `cd`/`vre run`). Supported fields: `label`, `type: shell`, `command`, `args`, `options.cwd`, `options.env`, `dependsOn`, `dependsOrder`, `presentation.reveal`; `${workspaceFolder}`, `${workspaceFolderBasename}`. No problem matchers. [Tasks](tasks.md)

## Git and GitHub

- Git is Nodepod's own implementation, shared by the terminal and the Source Control panel. [Source Control](source-control.md)
- **No `.gitignore` support** (only `.git`, `node_modules` and `.cache` are skipped).
- Its own on-disk format (`.git/objects/store.json`). Not interchangeable with desktop Git; move projects via GitHub.
- Push/pull/fetch/clone use the GitHub API. Pull merges (fast-forward or three-way with conflict markers). Push rejects non-fast-forward unless the user confirms a force push.
- The GitHub token stays server-side and is attached only to single Git operations started from Source Control or typed by the user as one plain `git` command. Scripts, tasks and the Agent never get it. [GitHub](github.md)

## The Agent

- Providers: OpenRouter, Anthropic, OpenAI, Google Gemini, xAI. Bring your own key. Default model `openrouter/free` (free models). No local-model provider. [Providers](providers-and-keys.md)
- Keys are stored in the user's Codevre account and added server-side by Firebase functions. They're never sent to the runtime or the preview.
- Modes: **Agent** (tools) and **Chat** (no tools). Approvals: Commands and deletes (default), Any change, or auto-approve. [The Agent](agent.md)
- About 39 tools: file read/write/edit/search, run commands and terminals, run and inspect both previews, screenshots, Problems, settings, command palette, downloads. No Git authentication, no web browsing tool, no `AGENTS.md` or memory. [Tools](agent-tools.md)
- Per-message budgets; runs pause at checkpoints with Done/Found/Next and resume with "continue".
- Chats are saved with the project (latest 20), minus images, attachment contents and reasoning.
- Inline completions (Monacopilot): `ai.monacopilot.enabled` (off by default), `.delay` (800 ms), `.provider` (`chat` = same as Agent), `.model`. [The editor](editor.md#inline-ai-completions)

## Writing projects that run well in Codevre

1. Static site: `index.html` + `style.css` + `script.js`, ES modules, libraries from `https://esm.sh/<pkg>` or jsDelivr. Preview with `vre run`.
2. React: import from esm.sh with the Babel runner, or bundle with esbuild (`jsx`, `jsxImportSource`) via `build.js`, then `vre run index.html`.
3. Bundled app: `"build": "node build.js"`, `"start": "npm run build && vre run index.html"`, and `"vre.preview.autoRun": false` in `.codevre/settings.json`.
4. Node server: `require('http')` or Express on port 3000, `Cache-Control: no-store`, paths via `__dirname`. Start in the terminal; a `localhost:3000` tab opens.
5. Avoid Vite/webpack/Next.js/create-react-app for new projects; they work poorly or slowly in the browser. Prefer esbuild.
6. Optional: `.codevre/tasks.json` with a `folderOpen` task so the project starts when opened.
7. Optional: `"files.exclude": { "**/node_modules": true }` in `.codevre/settings.json`.

## Support

Community and support: [Discord](https://discord.gg/PpUWRvXjRg). Legal: [Terms](../legal/terms.md), [Privacy](../legal/privacy.md).
