For MVP status, missing pieces, and product suggestions (Gemma packaging, hunk review, mindsets, memory layers), see MVP_AND_ROADMAP.md.
- Node.js 20+
- Rust 1.85+ (stable),
cargo,rustc— forcrates/open-code-memoryandcrates/open-code-logic(see rust-toolchain.toml) - VS Code or VSCodium for extension development
No Ollama or other local LLM installs are required for development; the default Gemma profile targets http://127.0.0.1 and is satisfied by a stub in dev or your packaged runtime later.
npm installFor a single Mac/Linux bootstrap that installs missing Node/Rust tooling into .open-code/toolchain/, builds everything, and prepares the default local Gemma model when Ollama is installed:
scripts/install-mvp-macos-linux.shThe sandboxed bootstrap uses:
OPEN_CODE_TOOLCHAIN_DIRto override the local toolchain directory.OPEN_CODE_NODE_VERSIONto override the downloaded Node.js version.OPEN_CODE_RUST_TOOLCHAINto override the Rust toolchain.OPEN_CODE_GEMMA_MODELto override the Ollama model tag.
The script still requires curl, tar, and network access when local Node/Rust tools are missing.
After a successful installer run, reuse the generated environment in future shells:
. .open-code/toolchain/env.shnpm run buildThis compiles the VS Code extension (packages/extension), the desktop frontend (packages/desktop), the Rust logic core (crates/open-code-logic), and the Rust memory daemon (crates/open-code-memory).
For the full "download, build, and use local models" proof:
npm run test:e2eThis runs the bootstrap/docs checks, extension typecheck and activation smoke test, desktop typecheck and preview workflow tests, workspace build, Rust logic and memory tests, and a local Ollama/Gemma response check. See E2E_READINESS.md for CI and model-runtime variants.
npm run dev:desktopThe desktop app is a Tauri + Svelte workspace. It uses logic/open-code.project.json as structured state, regenerates the default logic/open-code.paper.md, supports additional documentation presentations, and creates card worktrees under .open-code/worktrees/.
Run the logic core tests directly with:
npm run test:logicnpm run memoryd -- --data-dir /tmp/open-code-memorynpm run watchIn VS Code: Run and Debug → Run Extension (see .vscode/launch.json).
- Add
upstreamper FORK_AND_RELEASE.md. - Copy or submodule this repo’s
packages/extensioninto your fork’sextensions/open-code(or equivalent). - Register the extension in your product’s
product.json/ build if you ship a branded app.
See RELEASE.md for packaging and Open VSX.