Quickstart
Three commands. No signup.
Open Design has one entry point: pnpm tools-dev. The daemon auto-creates a hidden .od/ folder for the SQLite project DB and per-project artifacts. There is no od init step.
Requirements
- · Node ~24 —
nvm install 24 && nvm use 24orfnm install 24 && fnm use 24 - · pnpm 10.33.x —
corepack enable && corepack pnpm --version - · At least one supported coding-agent CLI on your
PATH— Claude Code, Codex, Cursor, Gemini, OpenCode, Qwen, Copilot, Devin, Hermes, Kimi, Kiro, Vibe, or Pi (or none, if you'll use the BYOK proxy)
Three commands
git clone https://github.com/nexu-io/open-design.git
cd open-design
corepack enable
pnpm install
pnpm tools-dev run web Open the web URL printed by tools-dev. Pop the welcome dialog, paste an Anthropic key (only needed for the BYOK fallback path), type a prompt, hit Send.
First-run state
The daemon owns one hidden folder.
.od/
├── app.sqlite ← projects · conversations · messages · open tabs
├── artifacts/ ← one-off "Save to disk" renders (timestamped)
└── projects/<id>/ ← per-project working dir, also the agent's cwd | Want to… | Do this |
|---|---|
| Inspect what's in there | ls -la .od && sqlite3 .od/app.sqlite '.tables' |
| Reset to a clean slate | pnpm tools-dev stop && rm -rf .od && pnpm tools-dev run web |
| Move it elsewhere | Not supported yet — the path is hard-coded relative to the repo |
Lifecycle commands
All under pnpm tools-dev.
pnpm tools-dev start # boot daemon + web (background)
pnpm tools-dev run web # foreground equivalent
pnpm tools-dev stop # stop everything
pnpm tools-dev status # what's running, where
pnpm tools-dev logs # tail daemon + web logs
pnpm tools-dev inspect # IPC into running processes
pnpm tools-dev check # health checks For desktop / background startup, fixed-port restarts, and media-generation dispatcher details (OD_BIN, OD_DAEMON_URL), see the QUICKSTART.md on GitHub.
Platforms · v0.5.0
Three platforms, three states.
0.5.0 is honest about where each platform stands. Pick the row that matches your machine.
| Platform | Status | Notes |
|---|---|---|
| macOS | Stable | Apple Silicon (arm64) only — no Intel build. macOS 11 Big Sur or newer. |
| Windows | Stable · unsigned | x64, Windows 10 / 11. SmartScreen warns on first launch — choose More info → Run anyway. |
| Linux | Headless only | First-class CLI lifecycle (install / start / stop) landed in 0.5.0. No GUI package yet — fits servers and CI. See below. |
Linux · headless
Run Open Design on a server with no DISPLAY.
v0.5.0 ships a non-graphical lifecycle path. Bring the daemon and web up on a headless Linux box, then hit it from your laptop browser. Same backend, no Electron shell in front.
pnpm install
pnpm tools-pack linux install --headless # one-time setup
pnpm tools-pack linux start --headless # daemon + web, no Electron
pnpm tools-pack linux stop --headless
pnpm tools-pack linux logs # tail the headless log Apt packages, namespace permissions, and the FUSE caveat are documented in tools/pack/README.md. Verified on Ubuntu 24.04 and Arch Linux. Landed in 0.5.0 via PR #686.
Self-host · v0.5.0
Or run it as a single container.
v0.5.0 ships an official Docker Compose path. One Alpine image (docker.io/vanjayak/open-design). The daemon serves both the API and the built Next.js static export — no separate nginx, no separate frontend container.
git clone https://github.com/nexu-io/open-design.git
cd open-design/deploy
OPEN_DESIGN_IMAGE=docker.io/vanjayak/open-design:latest docker compose pull
OPEN_DESIGN_IMAGE=docker.io/vanjayak/open-design:latest docker compose up -d --no-build
# → http://127.0.0.1:7456 Defaults: bound to 127.0.0.1:7456, 384 MB memory cap, runtime volume at /app/.od. Do not publish the daemon on a public interface as-is — the API is unauthenticated for non-browser clients. Put an authenticated reverse proxy, SSH tunnel, or VPN in front. Full docs: deploy/README.md. Image does not bundle Claude / Codex / Gemini CLIs by design — keep those outside the container.
Now what?
Pick something to render.
Once the daemon is up, you need a skill (what to make), a design system (how it should look), and ideally a reference for what good looks like.