02 · Install: the desktop app, or three commands
Two paths: download a packaged desktop app, or run from source. The first takes three minutes; the second needs the right Node on your machine. Functionally they're close — the desktop build is the same daemon and web runtime wrapped in Electron.
Path one: the desktop app
Go to open-design.ai/download and pick your build:
| Platform | Package | Size | Requires |
|---|---|---|---|
| macOS · Apple Silicon | DMG | ~367 MB | macOS 11 Big Sur or newer |
| macOS · Intel | DMG | ~379 MB | macOS 11 Big Sur or newer |
| Windows | Installer (portable zip also available) | ~400 MB | Windows 10 / 11, x64 |
Install and open it. It scans your PATH, finds the agent CLIs you already have, and needs no Node, no pnpm, and no config file.
The download page won't work on a phone
It's a desktop app, and the site says so rather than serving you a build. Bookmark the link and come back at a computer.
Path two: from source
Worth it for two groups: people who want to edit skills or add design systems, and people whose work machine won't install unsigned apps.
Check the environment first
| Dependency | Version | Note |
|---|---|---|
| Node.js | 24 | Node 22 is not supported. This one is hard. |
| pnpm | 10.33.2 | Enabled through Corepack so the lockfile pin is used |
| git | anything recent | |
| An agent | Claude Code / Codex / Cursor / Gemini CLI / OpenCode / Qwen | Without one, nothing generates |
nvm install 24 && nvm use 24
corepack enable
node -v # expect v24.xThe three commands
git clone https://github.com/nexu-io/open-design
cd open-design
pnpm installThen start it. tools-dev is the only lifecycle entry point — don't work around it by starting node yourself:
pnpm tools-devA healthy start looks like this:
→ daemon listening on http://127.0.0.1:17456 (namespace tools-dev/main)
→ web listening on http://127.0.0.1:17573 (proxy → daemon)
→ sidecar /tmp/open-design/ipc/tools-dev-main/daemon.sock
→ ready in 1.4sOpen the web address it prints. The defaults are stable across runs, but don't hardcode them in scripts — --daemon-port and --web-port exist for a reason.
Commands you'll actually use
pnpm tools-dev check # environment check; prints exactly what's missing
pnpm tools-dev status # what's running
pnpm tools-dev stop # stop everything
pnpm tools-dev run web # just the web runtimeWhen the first run fails, run check before you start reading logs.
Skipping the UI entirely
There's also an od command that drives the daemon directly:
od skill run open-design-landing --output ./artifact.htmlUseful in CI, or if you simply live in a terminal.
When it won't install
| Symptom | Cause | Fix |
|---|---|---|
EBADENGINE on pnpm install | Wrong Node major | Switch to Node 24 |
better-sqlite3 build hangs on Windows | Known on Node 24 | Install Visual Studio Build Tools first, then retry |
| Port already in use | Previous run didn't stop | pnpm tools-dev stop, or pass --daemon-port / --web-port |
| No agent in the list | CLI not on PATH, or credentials unset | See 03 · Connect your agent |
| Permission prompts loop | Environment incomplete | pnpm tools-dev check names the missing piece |
A longer list lives in Reference / Troubleshooting.
One note for Windows
A good share of the community runs the source build inside WSL, usually after better-sqlite3 refuses to compile natively. If you only want to use the thing rather than hack on it, the Windows installer saves a lot of that.
The lazy path
There's a third route: hand the repo URL to your agent and tell it to install OpenDesign in dev mode. Several community walkthroughs do exactly this — you do, after all, already have something that reads docs and runs commands.
Next
03 · Connect your agent — which adapter, where the keys go, and how to expose none of them.