Skip to content

1337group/studio

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

39 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Studio ยท ShapeShifter

Fork-and-ship workspace apps with a code-agent at your side. Studio is the build/fork/review/ship loop for the ShapeShifter workspace at Drewlo. Pick an existing workspace app, propose changes, watch the live preview re-render, ship through dev โ†’ beta โ†’ prod with the workspace owner as the gate.

Internal tool for the Drewlo workspace. Lives at studio.drewlo.com.

What it is

Surface Web app served from Hive (172.16.1.77:8210) behind a Cloudflare tunnel
Auth Cookie-based SSO (__ss_session on .drewlo.com) โ€” sign in once at ss.drewlo.com
AI Claude (server-side, no BYOK on this deployment)
Design Goa โ€” see design-systems/goa/DESIGN.md
License Apache-2.0 (carries forward from upstream)

Upstream

Studio is a Goa-skinned fork of nexu-io/open-design (the open-source alternative to claude.ai/design). The daemon, skills library, design-system loader, and chat-driven generation pipeline come from upstream verbatim. Drewlo additions:

  • design-systems/goa/ โ€” the Drewlo design language
  • daemon/auth-shim.js โ€” cookie-verifying middleware in front of /api/*
  • src/lib/goa/ โ€” Goa primitives (tokens, wallpapers, AskGoa FAB)
  • Surgical edits to daemon/server.js, package.json, vite.config.ts, index.html, src/i18n/locales/* โ€” all marked with // MERGE-NOTE: studio for upstream merge tractability

We sync from upstream on a feature branch (git fetch upstream && git merge upstream/main); we never push back. See CLAUDE.md ยงUpstream merge contract for the full discipline.

Run

pnpm install
OD_PORT=8210 pnpm dev:all       # daemon :8210 + Vite :5173

Production build:

pnpm build                       # tsc -b && vite build โ†’ dist/
OD_PORT=8210 node daemon/cli.js --no-open

Deploy to Hive: rsync to /opt/platform-apps/studio/, then systemctl restart platform-app@studio.

Architecture

See CLAUDE.md for the Drewlo fork's project memory โ€” directory shape, key files, gotchas, deploy patterns, and Hive app contract status. Upstream's architecture diagram below is the open-design baseline.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ browser โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                                โ”‚
โ”‚   Next.js 16 App Router  (chat ยท file workspace ยท iframe preview) โ”‚
โ”‚                                                                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚ /api/* (rewritten in dev)         โ”‚ direct (BYOK)
               โ–ผ                                   โ–ผ
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚   Local daemon       โ”‚              โ”‚   Anthropic SDK      โ”‚
   โ”‚   (Express + SQLite) โ”‚              โ”‚   (browser fallback) โ”‚
   โ”‚                      โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
   โ”‚   /api/agents        โ”‚
   โ”‚   /api/skills        โ”‚
   โ”‚   /api/design-systemsโ”‚
   โ”‚   /api/projects/...  โ”‚
   โ”‚   /api/chat (SSE)    โ”‚
   โ”‚                      โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
             โ”‚ spawn(cli, [...], { cwd: .od/projects/<id> })
             โ–ผ
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚  claude ยท codex ยท cursor-agent ยท gemini ยท opencode ยท qwen ยท copilotโ”‚
   โ”‚  reads SKILL.md + DESIGN.md, writes artifacts to disk              โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Layer Stack
Frontend Next.js 16 App Router + React 18 + TypeScript
Daemon Node 20โ€“22 ยท Express ยท SSE streaming ยท better-sqlite3 for projects/conversations/messages/tabs
Agent transport child_process.spawn with typed-event parsers for Claude Code (claude-stream-json) and Copilot CLI (copilot-stream-json); line-buffered plain stdout for the rest
Storage Plain files in .od/projects/<id>/ + SQLite at .od/db.sqlite (gitignored)
Preview Sandboxed iframe via srcdoc + per-skill <artifact> parser
Export HTML (inline assets) ยท PDF (browser print) ยท PPTX (skill-defined) ยท ZIP (archiver)

Quickstart

git clone https://github.com/nexu-io/open-design.git
cd open-design
nvm use              # uses Node 22 from .nvmrc
corepack enable
pnpm install
pnpm dev:all         # daemon (:7456) + Next dev (:3000)
open http://localhost:3000

The first load:

  1. Detects which agent CLIs you have on PATH and picks one automatically.
  2. Loads 19 skills + 71 design systems.
  3. Pops the welcome dialog so you can paste an Anthropic key (only needed for the BYOK fallback path).
  4. Auto-creates ./.od/ โ€” the local runtime folder for the SQLite project DB, per-project artifacts, and saved renders. There is no od init step; the daemon mkdirs everything it needs on boot.

Type a prompt, hit Send, watch the question form arrive, fill it, watch the todo card stream, watch the artifact render. Click Save to disk or download as a project ZIP.

First-run state (./.od/)

The daemon owns one hidden folder at the repo root. Everything in it is gitignored and machine-local โ€” never commit it.

.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 stop the daemon, rm -rf .od, run pnpm dev:all again
Move it elsewhere not supported yet โ€” the path is hard-coded relative to the repo

Full file map, scripts, and troubleshooting โ†’ QUICKSTART.md.

Repository structure

open-design/
โ”œโ”€โ”€ README.md                      โ† this file
โ”œโ”€โ”€ README.zh-CN.md                โ† ็ฎ€ไฝ“ไธญๆ–‡
โ”œโ”€โ”€ QUICKSTART.md                  โ† run / build / deploy guide
โ”œโ”€โ”€ package.json                   โ† pnpm workspace, single bin: od
โ”‚
โ”œโ”€โ”€ daemon/                        โ† Node + Express, the only server
โ”‚   โ”œโ”€โ”€ cli.js                     โ† `od` bin entry point
โ”‚   โ”œโ”€โ”€ server.js                  โ† /api/* routes (projects, chat, files, exports)
โ”‚   โ”œโ”€โ”€ agents.js                  โ† PATH scanner + per-CLI argv builders
โ”‚   โ”œโ”€โ”€ claude-stream.js           โ† streaming JSON parser for Claude Code stdout
โ”‚   โ”œโ”€โ”€ skills.js                  โ† SKILL.md frontmatter loader
โ”‚   โ”œโ”€โ”€ design-systems.js          โ† DESIGN.md loader + swatch extractor
โ”‚   โ”œโ”€โ”€ design-system-preview.js   โ† live one-shot showcase per system
โ”‚   โ”œโ”€โ”€ design-system-showcase.js  โ† multi-section gallery render
โ”‚   โ”œโ”€โ”€ lint-artifact.js           โ† P0/P1 self-check on agent output
โ”‚   โ”œโ”€โ”€ projects.js                โ† per-project filesystem helpers
โ”‚   โ”œโ”€โ”€ db.js                      โ† SQLite schema (projects/messages/templates/tabs)
โ”‚   โ””โ”€โ”€ frontmatter.js             โ† zero-dep YAML-subset parser
โ”‚
โ”œโ”€โ”€ app/                           โ† Next.js 16 App Router entrypoints
โ”‚   โ”œโ”€โ”€ layout.tsx                 โ† root layout shell
โ”‚   โ”œโ”€โ”€ page.tsx                   โ† main app entry
โ”‚   โ””โ”€โ”€ [[...slug]]/page.tsx       โ† catch-all client shell for project routes
โ”‚
โ”œโ”€โ”€ src/                           โ† shared React + TS client modules for Next.js
โ”‚   โ”œโ”€โ”€ App.tsx                    โ† routing, bootstrap, settings
โ”‚   โ”œโ”€โ”€ components/                โ† 27 components (chat, composer, picker, preview, sketch, โ€ฆ)
โ”‚   โ”œโ”€โ”€ prompts/
โ”‚   โ”‚   โ”œโ”€โ”€ system.ts              โ† composeSystemPrompt(base, skill, DS, metadata)
โ”‚   โ”‚   โ”œโ”€โ”€ official-system.ts     โ† identity charter
โ”‚   โ”‚   โ”œโ”€โ”€ discovery.ts           โ† turn-1 form + turn-2 branch + 5-dim critique
โ”‚   โ”‚   โ”œโ”€โ”€ directions.ts          โ† 5 visual directions ร— OKLch palette + font stack
โ”‚   โ”‚   โ””โ”€โ”€ deck-framework.ts      โ† deck nav / counter / print stylesheet
โ”‚   โ”œโ”€โ”€ artifacts/
โ”‚   โ”‚   โ”œโ”€โ”€ parser.ts              โ† streaming <artifact> tag extractor
โ”‚   โ”‚   โ””โ”€โ”€ question-form.ts       โ† <question-form> JSON schema + replay
โ”‚   โ”œโ”€โ”€ runtime/
โ”‚   โ”‚   โ”œโ”€โ”€ srcdoc.ts              โ† iframe sandbox wrapper
โ”‚   โ”‚   โ”œโ”€โ”€ markdown.tsx           โ† assistant message renderer
โ”‚   โ”‚   โ”œโ”€โ”€ exports.ts             โ† HTML / PDF / ZIP export helpers
โ”‚   โ”‚   โ””โ”€โ”€ zip.ts                 โ† project archive
โ”‚   โ”œโ”€โ”€ providers/
โ”‚   โ”‚   โ”œโ”€โ”€ daemon.ts              โ† /api/chat SSE stream consumer
โ”‚   โ”‚   โ”œโ”€โ”€ anthropic.ts           โ† BYOK Anthropic SDK path
โ”‚   โ”‚   โ””โ”€โ”€ registry.ts            โ† /api/agents, /api/skills, /api/design-systems
โ”‚   โ””โ”€โ”€ state/                     โ† config + projects (localStorage + daemon-backed)
โ”‚
โ”œโ”€โ”€ skills/                        โ† 19 SKILL.md skill bundles
โ”‚   โ”œโ”€โ”€ web-prototype/             โ† default for prototype mode
โ”‚   โ”œโ”€โ”€ saas-landing/              โ† marketing page (hero / features / pricing / CTA)
โ”‚   โ”œโ”€โ”€ dashboard/                 โ† admin / analytics
โ”‚   โ”œโ”€โ”€ pricing-page/              โ† standalone pricing + comparison
โ”‚   โ”œโ”€โ”€ docs-page/                 โ† 3-column documentation
โ”‚   โ”œโ”€โ”€ blog-post/                 โ† editorial long-form
โ”‚   โ”œโ”€โ”€ mobile-app/                โ† phone-frame screen(s)
โ”‚   โ”œโ”€โ”€ simple-deck/               โ† horizontal-swipe minimal
โ”‚   โ”œโ”€โ”€ guizang-ppt/               โ† bundled magazine-web-ppt (default for deck)
โ”‚   โ”‚   โ”œโ”€โ”€ SKILL.md
โ”‚   โ”‚   โ”œโ”€โ”€ assets/template.html   โ† seed
โ”‚   โ”‚   โ””โ”€โ”€ references/{themes,layouts,components,checklist}.md
โ”‚   โ”œโ”€โ”€ pm-spec/                   โ† PM specification doc
โ”‚   โ”œโ”€โ”€ weekly-update/             โ† team weekly
โ”‚   โ”œโ”€โ”€ meeting-notes/             โ† decision log
โ”‚   โ”œโ”€โ”€ eng-runbook/               โ† incident / runbook
โ”‚   โ”œโ”€โ”€ finance-report/            โ† exec summary
โ”‚   โ”œโ”€โ”€ hr-onboarding/             โ† role onboarding
โ”‚   โ”œโ”€โ”€ invoice/                   โ† single-page invoice
โ”‚   โ”œโ”€โ”€ kanban-board/              โ† board snapshot
โ”‚   โ”œโ”€โ”€ mobile-onboarding/         โ† multi-screen mobile flow
โ”‚   โ””โ”€โ”€ team-okrs/                 โ† OKR scoresheet
โ”‚
โ”œโ”€โ”€ design-systems/                โ† 71 DESIGN.md systems
โ”‚   โ”œโ”€โ”€ default/                   โ† Neutral Modern (starter)
โ”‚   โ”œโ”€โ”€ warm-editorial/            โ† Warm Editorial (starter)
โ”‚   โ”œโ”€โ”€ linear-app/  vercel/  stripe/  airbnb/  notion/  cursor/  apple/  โ€ฆ
โ”‚   โ””โ”€โ”€ README.md                  โ† catalog overview
โ”‚
โ”œโ”€โ”€ assets/
โ”‚   โ””โ”€โ”€ frames/                    โ† shared device frames (used cross-skill)
โ”‚       โ”œโ”€โ”€ iphone-15-pro.html
โ”‚       โ”œโ”€โ”€ android-pixel.html
โ”‚       โ”œโ”€โ”€ ipad-pro.html
โ”‚       โ”œโ”€โ”€ macbook.html
โ”‚       โ””โ”€โ”€ browser-chrome.html
โ”‚
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ deck-framework.html        โ† deck baseline (nav / counter / print)
โ”‚
โ”œโ”€โ”€ next.config.ts                 โ† dev rewrites + prod static export to out/
โ”‚
โ”œโ”€โ”€ scripts/
โ”‚   โ””โ”€โ”€ sync-design-systems.mjs    โ† re-import upstream awesome-design-md tarball
โ”‚
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ spec.md                    โ† product spec, scenarios, differentiation
โ”‚   โ”œโ”€โ”€ architecture.md            โ† topologies, data flow, components
โ”‚   โ”œโ”€โ”€ skills-protocol.md         โ† extended SKILL.md od: frontmatter
โ”‚   โ”œโ”€โ”€ agent-adapters.md          โ† per-CLI detection + dispatch
โ”‚   โ”œโ”€โ”€ modes.md                   โ† prototype / deck / template / design-system
โ”‚   โ”œโ”€โ”€ references.md              โ† long-form provenance
โ”‚   โ”œโ”€โ”€ roadmap.md                 โ† phased delivery
โ”‚   โ”œโ”€โ”€ schemas/                   โ† JSON schemas
โ”‚   โ””โ”€โ”€ examples/                  โ† canonical artifact examples
โ”‚
โ””โ”€โ”€ .od/                           โ† runtime data, gitignored, auto-created
    โ”œโ”€โ”€ app.sqlite                 โ† projects / conversations / messages / tabs
    โ”œโ”€โ”€ projects/<id>/             โ† per-project working folder (agent's cwd)
    โ””โ”€โ”€ artifacts/                 โ† saved one-off renders

Design Systems

The 71 design systems library โ€” style guide spread

71 systems out of the box, each as a single DESIGN.md:

Full catalog (click to expand)

AI & LLM โ€” claude ยท cohere ยท mistral-ai ยท minimax ยท together-ai ยท replicate ยท runwayml ยท elevenlabs ยท ollama ยท x-ai

Developer Tools โ€” cursor ยท vercel ยท linear-app ยท framer ยท expo ยท clickhouse ยท mongodb ยท supabase ยท hashicorp ยท posthog ยท sentry ยท warp ยท webflow ยท sanity ยท mintlify ยท lovable ยท composio ยท opencode-ai ยท voltagent

Productivity โ€” notion ยท figma ยท miro ยท airtable ยท superhuman ยท intercom ยท zapier ยท cal ยท clay ยท raycast

Fintech โ€” stripe ยท coinbase ยท binance ยท kraken ยท mastercard ยท revolut ยท wise

E-Commerce โ€” shopify ยท airbnb ยท uber ยท nike ยท starbucks ยท pinterest

Media โ€” spotify ยท playstation ยท wired ยท theverge ยท meta

Automotive โ€” tesla ยท bmw ยท ferrari ยท lamborghini ยท bugatti ยท renault

Other โ€” apple ยท ibm ยท nvidia ยท vodafone ยท sentry ยท resend ยท spacex

Starters โ€” default (Neutral Modern) ยท warm-editorial

The library is imported via scripts/sync-design-systems.mjs from [VoltAgent/awesome-design-md][acd2]. Re-run to refresh.

Visual directions

When the user has no brand spec, the agent emits a second form with five curated directions โ€” the OD adaptation of huashu-design's "5 schools ร— 20 design philosophies" fallback. Each direction is a deterministic spec โ€” palette in OKLch, font stack, layout posture cues, references โ€” that the agent binds verbatim into the seed template's :root. One radio click โ†’ a fully specified visual system. No improvisation, no AI-slop.

Direction Mood Refs
Editorial โ€” Monocle / FT Print magazine, ink + cream + warm rust Monocle ยท FT Weekend ยท NYT Magazine
Modern minimal โ€” Linear / Vercel Cool, structured, minimal accent Linear ยท Vercel ยท Stripe
Tech utility Information density, monospace, terminal Bloomberg ยท Bauhaus tools
Brutalist Raw, oversized type, no shadows, harsh accents Bloomberg Businessweek ยท Achtung
Soft warm Generous, low contrast, peachy neutrals Notion marketing ยท Apple Health

Full spec โ†’ src/prompts/directions.ts.

Anti-AI-slop machinery

The whole machinery below is the huashu-design playbook, ported into OD's prompt-stack and made enforceable per-skill via the side-file pre-flight. Read src/prompts/discovery.ts for the live wording:

  • Question form first. Turn 1 is <question-form> only โ€” no thinking, no tools, no narration. The user chooses defaults at radio speed.
  • Brand-spec extraction. When the user attaches a screenshot or URL, the agent runs a five-step protocol (locate ยท download ยท grep hex ยท codify brand-spec.md ยท vocalise) before writing CSS. Never guesses brand colors from memory.
  • Five-dim critique. Before emitting <artifact>, the agent silently scores its output 1โ€“5 across philosophy / hierarchy / execution / specificity / restraint. Anything under 3/5 is a regression โ€” fix and rescore. Two passes is normal.
  • P0/P1/P2 checklist. Every skill ships a references/checklist.md with hard P0 gates. The agent must pass P0 before emitting.
  • Slop blacklist. Aggressive purple gradients, generic emoji icons, rounded card with left-border accent, hand-drawn SVG humans, Inter as a display face, invented metrics โ€” explicitly forbidden in the prompt.
  • Honest placeholders > fake stats. When the agent doesn't have a real number, it writes โ€” or a labelled grey block, not "10ร— faster".

Comparison

Axis Claude Design (Anthropic) Open CoDesign Open Design
License Closed MIT Apache-2.0
Form factor Web (claude.ai) Desktop (Electron) Web app + local daemon
Deployable on Vercel โŒ โŒ โœ…
Agent runtime Bundled (Opus 4.7) Bundled (pi-ai) Delegated to user's existing CLI
Skills Proprietary 12 custom TS modules + SKILL.md 19 file-based SKILL.md bundles, droppable
Design system Proprietary DESIGN.md (v0.2 roadmap) DESIGN.md ร— 71 systems shipped
Provider flexibility Anthropic only 7+ via pi-ai Whatever your agent supports
Init question form โŒ โŒ โœ… Hard rule, turn 1
Direction picker โŒ โŒ โœ… 5 deterministic directions
Live todo progress + tool stream โŒ โœ… โœ… (UX pattern from open-codesign)
Sandboxed iframe preview โŒ โœ… โœ… (pattern from open-codesign)
Comment-mode surgical edits โŒ โœ… ๐Ÿšง roadmap (lift from open-codesign)
AI-emitted tweaks panel โŒ โœ… ๐Ÿšง roadmap (lift from open-codesign)
Filesystem-grade workspace โŒ partial (Electron sandbox) โœ… Real cwd, real tools, persisted SQLite
5-dim self-critique โŒ โŒ โœ… Pre-emit gate
Export formats Limited HTML / PDF / PPTX / ZIP / Markdown HTML / PDF / PPTX / ZIP / Markdown
PPT skill reuse N/A Built-in guizang-ppt-skill drops in
Minimum billing Pro / Max / Team BYOK BYOK

Supported coding agents

Auto-detected from PATH on daemon boot. No config required.

Agent Bin Streaming Notes
Claude Code claude --output-format stream-json (typed events) First-class โ€” best fidelity
Codex CLI codex line-buffered codex exec <prompt>
Cursor Agent cursor-agent line-buffered cursor-agent -p
Gemini CLI gemini line-buffered gemini -p
OpenCode opencode line-buffered opencode run
Qwen Code qwen line-buffered qwen -p
GitHub Copilot CLI copilot --output-format json (typed events) copilot -p <prompt> --allow-all-tools --output-format json
Anthropic API ยท BYOK n/a SSE direct Browser fallback when no CLI is on PATH

Adding a new CLI is one entry in daemon/agents.js. Streaming format is one of claude-stream-json (typed events) or plain (raw text).

References & lineage

Every external project this repo borrows from. Each link goes to the source so you can verify the provenance.

Project Role here
Claude Design The closed-source product this repo is the open-source alternative to.
alchaincyf/huashu-design The design-philosophy core. Junior-Designer workflow, the 5-step brand-asset protocol, anti-AI-slop checklist, 5-dimensional self-critique, and the "5 schools ร— 20 design philosophies" library behind our direction picker โ€” all distilled into src/prompts/discovery.ts and src/prompts/directions.ts.
op7418/guizang-ppt-skill Magazine-web-PPT skill bundled verbatim under skills/guizang-ppt/ with original LICENSE preserved. Default for deck mode. P0/P1/P2 checklist culture borrowed for every other skill.
multica-ai/multica The daemon + adapter architecture. PATH-scan agent detection, local daemon as the only privileged process, agent-as-teammate worldview. We adopt the model; we do not vendor the code.
OpenCoworkAI/open-codesign The first open-source Claude-Design alternative and our closest peer. UX patterns adopted: streaming-artifact loop, sandboxed-iframe preview (vendored React 18 + Babel), live agent panel (todos + tool calls + interruptible), five-format export list (HTML/PDF/PPTX/ZIP/Markdown), local-first storage hub, SKILL.md taste-injection. UX patterns on our roadmap: comment-mode surgical edits, AI-emitted tweaks panel. We deliberately do not vendor pi-ai โ€” open-codesign bundles it as the agent runtime; we delegate to whichever CLI the user already has.
VoltAgent/awesome-claude-design / [awesome-design-md][acd2] Source of the 9-section DESIGN.md schema and 69 product systems imported via scripts/sync-design-systems.mjs.
farion1231/cc-switch Inspiration for symlink-based skill distribution across multiple agent CLIs.
Claude Code skills The SKILL.md convention adopted verbatim โ€” any Claude Code skill drops into skills/ and is picked up by the daemon.

Long-form provenance write-up โ€” what we take from each, what we deliberately don't โ€” lives at docs/references.md.

Roadmap

  • Daemon + agent detection + skill registry + design-system catalog
  • Web app + chat + question form + todo progress + sandboxed preview
  • 19 skills + 71 design systems + 5 visual directions + 5 device frames
  • SQLite-backed projects ยท conversations ยท messages ยท tabs ยท templates
  • Comment-mode surgical edits (click element โ†’ instruction โ†’ patch) โ€” pattern from open-codesign
  • AI-emitted tweaks panel (model surfaces the parameters worth tweaking) โ€” pattern from open-codesign
  • Vercel + tunnel deployment recipe (Topology B)
  • One-command npx od init to scaffold a project with DESIGN.md
  • Skill marketplace (od skills install <github-repo>)

Phased delivery โ†’ docs/roadmap.md.

Status

This is an early implementation โ€” the closed loop (detect โ†’ pick skill + design system โ†’ chat โ†’ parse <artifact> โ†’ preview โ†’ save) runs end-to-end. The prompt stack and skill library are where most of the value lives, and they're stable. The component-level UI is shipping daily.

Star us

Star Open Design on GitHub โ€” github.com/nexu-io/open-design

If this saved you thirty minutes โ€” give it a โ˜…. Stars don't pay rent, but they tell the next designer, agent, and contributor that this experiment is worth their attention. One click, three seconds, real signal: github.com/nexu-io/open-design.

Contributing

Issues, PRs, new skills, and new design systems are all welcome. The highest-leverage contributions are usually one folder, one Markdown file, or one PR-sized adapter:

Full walkthrough, bar-for-merging, code style, and what we don't accept โ†’ CONTRIBUTING.md (็ฎ€ไฝ“ไธญๆ–‡).

License

Apache-2.0. Copyright on upstream-authored files remains with the original authors (see LICENSE); Drewlo modifications are also Apache-2.0.

Forked from nexu-io/open-design โ€” thanks to the upstream maintainers for the daemon and the loop.

About

๐ŸŽจ Local-first, open-source alternative to Anthropic's Claude Design. โšก 19 Skills ยท โœจ 71 brand-grade Design Systems ยท ๐Ÿ–ผ๏ธ sandboxed preview ยท ๐Ÿ“ฆ HTML/PDF/PPTX export. ๐Ÿค– Runs on Claude Code / Codex / Cursor / Gemini CLI / OpenCode / Qwen.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 38.9%
  • HTML 26.7%
  • JavaScript 26.7%
  • CSS 7.3%
  • Shell 0.4%