Appendix
A
Command and CLI Reference
Every install path, the od command surface, MCP setup per CLI, and the .od/ file layout
Everything required to operate the terminal surface in one scannable place. This appendix covers four key setup areas: install options, the od command set, od mcp install per CLI, and the .od/ configuration layout. Narrative chapters are cross-referenced inline for deeper context. All entries reflect release 0.21.1 (September 2026) with Node.js ~24 and pnpm 10.33.x. The project repository serves as the authoritative source of truth for updates.
Commands and version pins age over time. All entries here reflect version 0.21.1 (September 2026). Verify against the live repository at github.com/nexu-io/open-design before provisioning a new environment.
A.1 Install Commands
Three primary installation routes are available. Select the workflow that fits your target environment: desktop execution, source development, or server deployment. Each route provisions release 0.21.1. Alternatively, a one-line CLI installer combines binary retrieval and agent wiring into a single command for headless environments. See Chapter 02 for the complete first-run walkthrough and build diagnostics.
| Path | Command or action | Prerequisites | Notes |
|---|---|---|---|
| Desktop app (recommended) | Download from open-design.ai/download/ | None | macOS (Apple Silicon and Intel), Windows x64, Linux AppImage. Zero-config. Auto-detects installed coding agents on first launch. |
| From source | See code block below | Node.js ~24, pnpm 10.33.x, corepack |
Required if you intend to author or modify skills and plugins. Native modules are version-sensitive; use pinned versions exactly. |
| Docker Compose | See code block below | Docker Desktop or Docker Engine + Compose v2 | Preferred for CI/CD, team servers, and headless deployments. Exposes daemon on port 7456. |
| One-line CLI installer | curl -fsSL https://open-design.ai/install.sh | sh -s <agent> |
curl, sh | Provisions background services and immediately links the specified coding agent. Replace <agent> with the CLI slug from section A.3. |
The packaged GUI application serves as the ideal starting point for most workflows. Building from source only becomes necessary when authoring custom skills or plugins, where the native module build chain (principally better-sqlite3) is vulnerable to Node or pnpm version drift. For immediate team deployments, start with the standalone graphical build and layer custom skill development on top to sidestep environment mismatches.
# From-source install
$ git clone https://github.com/nexu-io/open-design.git
$ cd open-design
$ corepack enable
$ pnpm install
$ pnpm tools-dev run web
# Daemon and Next.js frontend start in foreground
# Open http://localhost:7456 in your browser
# Docker Compose install
$ cd deploy
$ cp .env.example .env
$ openssl rand -hex 32
# Paste output into .env at OD_API_TOKEN=
$ docker compose up -d
# Open http://localhost:7456
# One-line installer — example: wire Claude Code
$ curl -fsSL https://open-design.ai/install.sh | sh -s claude-code
The one-line installer pipes a remote script directly to a shell. Before running it, inspect the script first: curl -fsSL https://open-design.ai/install.sh | less. Verify the domain matches the official repository at github.com/nexu-io/open-design. If you prefer not to pipe remote scripts to a shell, use standalone application binaries or the from-source installation path instead.
A.2 The od Command Surface
While coding agents drive generation through the Model Context Protocol (MCP), the od binary manages the underlying system lifecycle, handling environment configuration, status diagnostics, and agent connections. Commands such as od mcp install register client profiles, whereas utility checks like od status and od plugin list surface real-time background health. The primary subcommands are indexed below; consult /docs/cli-reference.md within the codebase for comprehensive flag descriptions.
| Command | Purpose | Example |
|---|---|---|
od mcp install <agent> |
Configure MCP settings for a specific coding agent | od mcp install claude-code |
od mcp install <agent> --uninstall |
Uninstall MCP configuration from the specified agent | od mcp install codex --uninstall |
od mcp install <agent> --print |
Preview generated MCP configuration on stdout without writing to disk | od mcp install cursor --print |
od mcp install <agent> --json |
Emit MCP configuration in JSON format for automated scripting | od mcp install gemini --json |
od status |
Report daemon health and connected agents | od status |
od plugin list |
List installed plugins and their status | od plugin list |
od generate |
Run a generation headlessly against a project or brief | od generate --project <id> "brief text" |
od export |
Export project artifacts using project ID alone; --format html generates an offline-safe bundle (introduced in 0.19.2) |
od export <project-id> --format html |
od lint |
Run the artifact anti-slop linter on a file or stdin; failure threshold; text or JSON output; no model needed (0.20.0) | od lint dist/index.html --format json |
od brand |
Capture a brand from a URL, DESIGN.md, or .fig file into a user: design system (0.12.0) |
od brand --url https://example.com |
od library |
Inspect the OD Library asset registry that stores captured brand material (0.12.0) | od library list |
od figma import |
Import an offline .fig file; decoded locally, no Figma account involved (0.12.0) | od figma import brand.fig |
od templates |
List and manage user templates saved via the Share menu | od templates list |
od deploy |
Deploy an artifact to Cloudflare Pages; --target selects preview or production (0.16.0) |
od deploy --target production --json |
od amr status / logout |
Inspect or terminate active OpenDesign Cloud sessions (v0.19.1) | od amr status |
od agent setup deepseek-harness |
Configure or repair DeepSeek Harness (dsh) connection settings (v0.19.1) | od agent setup deepseek-harness |
Query the HTTP health endpoint directly to verify background service availability without invoking the od CLI:
# Daemon health check (from-source or Docker, port 7456)
$ curl -s http://localhost:7456/health
# Expected output:
{"status":"ok","version":"0.21.1"}
The optional flags work consistently across all agents. Use them to manage the full lifecycle:
# Inspect what will be written before committing
$ od mcp install cursor --print
# Output as JSON for scripting or CI
$ od mcp install cursor --json
# Remove the MCP config for an agent
$ od mcp install cursor --uninstall
When background services are active, od status reports connected agents alongside runtime uptime, while od plugin list details installed extensions and operational status:
$ od status
# daemon: running (uptime 2h14m)
# agents: claude-code (connected), cursor (connected)
# port: 7456
$ od plugin list
# figma-migration active
# code-refresh active
# linear-brand active
# (261 official plugin packages available; ~280 total catalog entries across marketplace; run od plugin install to add)
A.3 MCP Install per CLI
Starting in release 0.19.1, the utility also supports od mcp install claude-desktop to generate configuration blocks for Claude Desktop on macOS and Windows --- matching the connection profiles displayed under Settings → OpenDesign MCP. The equivalent environment plumbing (OD_DATA_DIR, OD_SIDECAR_IPC_PATH, OD_MCP_BOOTSTRAP_COMMAND) is identical across targets. For long-lived stdio sessions, OD_MCP_STDIO_IDLE_EXIT_MS (0.21.0) extends the idle lifetime up to 24 hours, or disables idle exit entirely with 0.
The od mcp install command supports 26+ coding-agent CLIs as of September 2026 (Chapter 11 tracks the growth from the 21 this appendix’s first edition routed across). The 17 slugs verified for the reference table below are retained for stability; consult the agent registry at github.com/nexu-io/open-design for the live roster. The command writes the required server parameters directly to client settings files. Re-run after upgrading to refresh configurations. See Chapter 10 for details on multi-agent orchestration. Select your CLI slug below to install.
Client configuration directories vary by tool. od mcp install handles target paths automatically. Use --print to preview generated output before writing directly to disk.
| CLI | Install command | Config location |
|---|---|---|
| Claude Code | od mcp install claude-code |
Check with --print; default ~/.claude/ |
| OpenAI Codex CLI | od mcp install codex |
Inspect path via --print |
| Cursor | od mcp install cursor |
Verify output using --print; default ~/.config/cursor/ |
| GitHub Copilot CLI | od mcp install copilot |
Pass --print to view directory |
| Google Gemini CLI | od mcp install gemini |
Check target path via --print. Note: Google announced a Gemini CLI sunset around mid-2026; verify status before deployment |
| OpenCode | od mcp install opencode |
Use --print flag to locate target |
| Hermes | od mcp install hermes |
Check location with --print (community-supported) |
| Kimi CLI | od mcp install kimi |
Inspect config path with --print (community-supported) |
| OpenClaw | od mcp install openclaw |
Verify destination using --print (community-supported) |
| Google Antigravity | od mcp install antigravity |
Display path via --print (experimental) |
| Mistral Vibe | od mcp install vibe |
Locate directory with --print (community-supported) |
| Pi | od mcp install pi |
Use --print to display path (community-supported) |
| Cline | od mcp install cline |
Check location via --print (VS Code extension settings) |
| Trae | od mcp install trae |
Pass --print to view destination (community-supported) |
| Qwen | od mcp install qwen |
Verify path with --print (community-supported) |
| DeepSeek | od mcp install deepseek |
Inspect target via --print (community-supported) |
| BYOK Proxy / Ollama | od mcp install ollama |
Set OPENAI_BASE_URL and OPENAI_API_KEY env vars before installation. Check config path via --print |
The full command block for all named slugs:
# od mcp install — CLI slugs
$ od mcp install claude-code # Claude Code
$ od mcp install codex # OpenAI Codex CLI
$ od mcp install cursor # Cursor
$ od mcp install copilot # GitHub Copilot CLI
$ od mcp install gemini # Google Gemini CLI (announced sunset ~2026-06-18 — verify current status)
$ od mcp install opencode # OpenCode (MIT)
$ od mcp install hermes # Hermes
$ od mcp install kimi # Kimi CLI
$ od mcp install openclaw # OpenClaw
$ od mcp install antigravity # Google Antigravity
$ od mcp install vibe # Mistral Vibe
$ od mcp install pi # Pi
$ od mcp install cline # Cline
$ od mcp install trae # Trae
$ od mcp install qwen # Qwen
$ od mcp install deepseek # DeepSeek
$ od mcp install ollama # BYOK / local Ollama
A.4 File Layout and Config
The application stores state in a .od/ directory within the user's home directory. This layout separates persistent configuration, project databases, and execution logs. app.sqlite and artifacts/ contain project state and should be included in routine backups. The sessions/ folder holds temporary UI data. Daemon configuration resides in .od/config.json, whereas individual projects maintain local overrides. Set OD_DATA_DIR to relocate the data root in Docker or daemon environments.
.od/
├── config.json # Daemon config: design system, skills, mode
├── app.sqlite # SQLite project database (back this up)
├── artifacts/ # Saved renders and one-off exports
│ └── 2026-06-11T12-34-56-landing/
│ ├── artifact.json # Metadata: skill, prompt, parent artifact
│ ├── index.html # Primary output
│ └── assets/ # Generated images and fonts
├── history.jsonl # Append-only action log
├── sessions/ # Ephemeral UI state (safe to delete)
│ └── <session-id>.json
└── media-config.json # Auto-created; auto-gitignored
Prioritize two targets during backups. app.sqlite retains project metadata alongside generation history, while artifacts/ stores rendered assets. In contrast, sessions/ is transient --- clearing it resolves UI glitches without risking project work.
BYOK Proxy Routes
Open Design incorporates a built-in BYOK (Bring Your Own Key) proxy that routes inference to configured providers across the following local paths on port 7456:
| Route | Provider | Notes |
|---|---|---|
/proxy/anthropic |
Anthropic | Requires ANTHROPIC_API_KEY env var |
/proxy/openai |
OpenAI | Requires OPENAI_API_KEY env var |
/proxy/google |
Google (Gemini) | Requires GOOGLE_API_KEY env var |
/proxy/ollama |
Ollama (local) | Set OPENAI_BASE_URL=http://localhost:11434/v1 for local inference. |
/proxy/azure |
Azure OpenAI | Likely requires AZURE_OPENAI_KEY and AZURE_OPENAI_ENDPOINT (inferred from architecture docs; verify exact variable names in the repository's deploy/.env.example before use) |
Local-first controls where your files and orchestration live, not where inference happens. If inference privacy is the goal, use the Ollama route (/proxy/ollama) with a local model. Every other route sends tokens to a cloud API. See Chapter 01 for the local-first vs local-inference distinction.
Docker Environment Config
For Docker Compose deployments, the deploy/.env.example file documents the required environment variables. Copy it to .env before running docker compose up.
# deploy/.env.example (relevant fields, v0.21.1)
OD_API_TOKEN= # Required: generate with: openssl rand -hex 32
# Optional: override default port
# OD_PORT=7456
# Optional: relocate data directory
# OD_DATA_DIR=/data/od
To configure BYOK providers in a Docker deployment, set the relevant provider env vars in the same .env file:
# Add to deploy/.env for BYOK provider access
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GOOGLE_API_KEY=...
# For local Ollama (fully local inference):
OPENAI_BASE_URL=http://localhost:11434/v1
config.json Snippet
Configuration in .od/config.json sets the active design system, default skill, and process execution mode. A minimal configuration enabling standalone service mode:
{
"designSystem": "acme",
"defaultSkill": "web-prototype",
"mode": "daemon"
}
Version Pin Reference
| Dependency | Required version | How to set | Last verified |
|---|---|---|---|
| Node.js | ~24 (approximately Node 24.x) |
nvm use 24 or install via nodejs.org |
v0.9 release |
| pnpm | 10.33.x |
corepack enable then corepack use pnpm@10.33.x |
v0.9 release |
| Daemon | v0.21.1 |
Clone the open-design-v0.21.1 tag or download the pre-packaged application |
v0.9 release |
Keep this reference handy during setup. While manual CLI commands address custom environments, the pre-built application installer streamlines onboarding by configuring local agent connections automatically.
Next: Appendix B catalogs skills, brand systems, and plugins. Select target components there, returning here whenever you need to check config paths or execution flags.