Star ๅކๅฒ่ถ‹ๅŠฟ
ๆ•ฐๆฎๆฅๆบ: GitHub API ยท ็”Ÿๆˆ่‡ช Stargazers.cn
README.md

Open Design

The open-source alternative to Claude Design. Local-first, web-deployable, BYOK at every layer โ€” your existing coding agent (Claude Code, Codex, Cursor Agent, Gemini CLI, OpenCode, Qwen, GitHub Copilot CLI) becomes the design engine, driven by 19 composable Skills and 71 brand-grade Design Systems.

Open Design โ€” editorial cover: design with the agent on your laptop

License Agents Design systems Skills Quickstart

English ยท ็ฎ€ไฝ“ไธญๆ–‡ ยท ํ•œ๊ตญ์–ด


Why this exists

Anthropic's Claude Design (released 2026-04-17, Opus 4.7) showed what happens when an LLM stops writing prose and starts shipping design artifacts. It went viral โ€” and stayed closed-source, paid-only, cloud-only, locked to Anthropic's model and Anthropic's skills. There is no checkout, no self-host, no Vercel deploy, no swap-in-your-own-agent.

Open Design (OD) is the open-source alternative. Same loop, same artifact-first mental model, none of the lock-in. We don't ship an agent โ€” the strongest coding agents already live on your laptop. We wire them into a skill-driven design workflow that runs locally with pnpm tools-dev, can deploy the web layer to Vercel, and stays BYOK at every layer.

Type make me a magazine-style pitch deck for our seed round. The interactive question form pops up before the model improvises a single pixel. The agent picks one of five curated visual directions. A live TodoWrite plan streams into the UI. The daemon builds a real on-disk project folder with a seed template, layout library, and self-check checklist. The agent reads them โ€” pre-flight enforced โ€” runs a five-dimensional critique against its own output, and emits a single <artifact> that renders in a sandboxed iframe seconds later.

That's not "AI tries to design something". That's an AI that has been trained, by the prompt stack, to behave like a senior designer with a working filesystem, a deterministic palette library, and a checklist culture โ€” exactly the bar Claude Design set, but open and yours.

OD stands on four open-source shoulders:

  • alchaincyf/huashu-design โ€” the design-philosophy compass. Junior-Designer workflow, the 5-step brand-asset protocol, the anti-AI-slop checklist, the 5-dimensional self-critique, and the "5 schools ร— 20 design philosophies" idea behind our direction picker โ€” all distilled into apps/web/src/prompts/discovery.ts.
  • op7418/guizang-ppt-skill โ€” the deck mode. Bundled verbatim under skills/guizang-ppt/ with original LICENSE preserved; magazine-style layouts, WebGL hero, P0/P1/P2 checklists.
  • OpenCoworkAI/open-codesign โ€” the UX north star and our closest peer. The first open-source Claude-Design alternative. We borrow its streaming-artifact loop, its sandboxed-iframe preview pattern (vendored React 18 + Babel), its live agent panel (todos + tool calls + interruptible generation), and its five-format export list (HTML / PDF / PPTX / ZIP / Markdown). We deliberately diverge on form factor โ€” they are a desktop Electron app bundling pi-ai; we are a web app + local daemon that delegates to your existing CLI.
  • multica-ai/multica โ€” the daemon-and-runtime architecture. PATH-scan agent detection, the local daemon as the only privileged process, the agent-as-teammate worldview.

At a glance

What you get
Coding agents supportedClaude Code ยท Codex CLI ยท Cursor Agent ยท Gemini CLI ยท OpenCode ยท Qwen Code ยท GitHub Copilot CLI ยท Anthropic API (BYOK fallback)
Design systems built-in71 โ€” 2 hand-authored starters + 69 product systems (Linear, Stripe, Vercel, Airbnb, Tesla, Notion, Anthropic, Apple, Cursor, Supabase, Figma, โ€ฆ) imported from awesome-design-md
Skills built-in19 โ€” prototype, deck, mobile, dashboard, pricing, docs, blog, SaaS landing, plus 10 document/work-product templates (PM spec, weekly update, OKRs, runbook, kanban, โ€ฆ)
Visual directions5 curated schools (Editorial Monocle ยท Modern Minimal ยท Tech Utility ยท Brutalist ยท Soft Warm) โ€” each ships a deterministic OKLch palette + font stack
Device framesiPhone 15 Pro ยท Pixel ยท iPad Pro ยท MacBook ยท Browser Chrome โ€” pixel-accurate, shared across screens
Agent runtimeLocal daemon spawns the CLI in your project folder โ€” agent gets real Read, Write, Bash, WebFetch against a real on-disk environment
Deployable toLocal (pnpm tools-dev) ยท Vercel web layer
LicenseApache-2.0

Demo

01 ยท Entry view
Entry view โ€” pick a skill, pick a design system, type the brief. The same surface for prototypes, decks, mobile apps, dashboards, and editorial pages.
02 ยท Turn-1 discovery form
Turn-1 discovery form โ€” before the model writes a pixel, OD locks the brief: surface, audience, tone, brand context, scale. 30 seconds of radios beats 30 minutes of redirects.
03 ยท Direction picker
Direction picker โ€” when the user has no brand, the agent emits a second form with 5 curated directions (Monocle / Modern Minimal / Tech Utility / Brutalist / Soft Warm). One radio click โ†’ a deterministic palette + font stack, no model freestyle.
04 ยท Live todo progress
Live todo progress โ€” the agent's plan streams as a live card. in_progress โ†’ completed updates land in real time. The user can redirect cheaply, mid-flight.
05 ยท Sandboxed preview
Sandboxed preview โ€” every <artifact> renders in a clean srcdoc iframe. Editable in place via the file workspace; downloadable as HTML, PDF, ZIP.
06 ยท 71-system library
71-system library โ€” every product system shows its 4-color signature. Click for the full DESIGN.md, swatch grid, and live showcase.
07 ยท Magazine deck
Deck mode (guizang-ppt) โ€” the bundled guizang-ppt-skill drops in unchanged. Magazine layouts, WebGL hero backgrounds, single-file HTML output, PDF export.
08 ยท Mobile prototype
Mobile prototype โ€” pixel-accurate iPhone 15 Pro chrome (Dynamic Island, status bar SVGs, home indicator). Multi-screen prototypes use the shared /frames/ assets so the agent never re-draws a phone.

Skills

19 skills ship in the box. Each is a folder under skills/ following the Claude Code SKILL.md convention with an extended od: frontmatter (mode, platform, scenario, preview, design_system).

Showcase examples

The visually distinctive skills you'll most likely run first. Each ships a real example.html you can open straight from the repo to see exactly what the agent will produce โ€” no auth, no setup.

dating-web
dating-web ยท prototype
Consumer dating / matchmaking dashboard โ€” left rail nav, ticker bar, KPIs, 30-day mutual-matches chart, editorial typography.
digital-eguide
digital-eguide ยท template
Two-spread digital e-guide โ€” cover (title, author, TOC teaser) + lesson spread with pull-quote and step list. Creator / lifestyle tone.
email-marketing
email-marketing ยท prototype
Brand product-launch HTML email โ€” masthead, hero image, headline lockup, CTA, specs grid. Centered single-column, table-fallback safe.
gamified-app
gamified-app ยท prototype
Three-frame gamified mobile-app prototype on a dark showcase stage โ€” cover, today's quests with XP ribbons + level bar, quest detail.
mobile-onboarding
mobile-onboarding ยท prototype
Three-frame mobile onboarding flow โ€” splash, value-prop, sign-in. Status bar, swipe dots, primary CTA.
motion-frames
motion-frames ยท prototype
Single-frame motion-design hero with looping CSS animations โ€” rotating type ring, animated globe, ticking timer. Hand-off ready for HyperFrames.
social-carousel
social-carousel ยท prototype
Three-card 1080ร—1080 social-media carousel โ€” cinematic panels with display headlines that connect across the series, brand mark, loop affordance.
sprite-animation
sprite-animation ยท prototype
Pixel / 8-bit animated explainer slide โ€” full-bleed cream stage, animated pixel mascot, kinetic Japanese display type, looping CSS keyframes.

Design surfaces

SkillModeDefault forWhat it produces
web-prototypeprototypedesktopSingle-page HTML โ€” landings, marketing, hero pages
saas-landingprototypedesktopHero / features / pricing / CTA marketing layout
dashboardprototypedesktopAdmin / analytics with sidebar + data dense layout
pricing-pageprototypedesktopStandalone pricing + comparison tables
docs-pageprototypedesktop3-column documentation layout
blog-postprototypedesktopEditorial long-form
mobile-appprototypemobileiPhone 15 Pro / Pixel framed app screen(s)
simple-deckdeckdesktopMinimal horizontal-swipe deck
guizang-pptdeckdefault for deckMagazine-style web PPT โ€” bundled from op7418/guizang-ppt-skill

Document / work-product surfaces

SkillModeWhat it produces
pm-spectemplatePM specification doc with TOC + decision log
weekly-updatetemplateTeam weekly with progress / blockers / next
meeting-notestemplateMeeting decision log
eng-runbooktemplateIncident runbook
finance-reporttemplateExec finance summary
hr-onboardingtemplateRole onboarding plan
invoicetemplateSingle-page invoice
kanban-boardtemplateBoard snapshot
team-okrstemplateOKR scoresheet

Adding a skill takes one folder. Read docs/skills-protocol.md for the extended frontmatter, fork an existing skill, restart the daemon, it appears in the picker.

Six load-bearing ideas

1 ยท We don't ship an agent. Yours is good enough.

The daemon scans your PATH for claude, codex, cursor-agent, gemini, opencode, qwen, and copilot on startup. Whichever it finds becomes the design engine โ€” driven via stdio, with one adapter per CLI. Inspired by multica and cc-switch. No CLI? Anthropic API ยท BYOK is the same pipeline minus the spawn.

2 ยท Skills are files, not plugins.

Following Claude Code's SKILL.md convention, each skill is SKILL.md + assets/ + references/. Drop a folder into skills/, restart the daemon, it appears in the picker. The bundled magazine-web-ppt is op7418/guizang-ppt-skill committed verbatim โ€” original license preserved, attribution preserved.

3 ยท Design Systems are portable Markdown, not theme JSON.

The 9-section DESIGN.md schema from VoltAgent/awesome-design-md โ€” color, typography, spacing, layout, components, motion, voice, brand, anti-patterns. Every artifact reads from the active system. Switch system โ†’ next render uses the new tokens. The dropdown ships with Linear, Stripe, Vercel, Airbnb, Tesla, Notion, Apple, Anthropic, Cursor, Supabase, Figma, Resend, Raycast, Lovable, Cohere, Mistral, ElevenLabs, X.AI, Spotify, Webflow, Sanity, PostHog, Sentry, MongoDB, ClickHouse, Cal, Replicate, Clay, Composioโ€ฆ โ€” 71 in total.

4 ยท The interactive question form prevents 80% of redirects.

OD's prompt stack hard-codes a RULE 1: every fresh design brief begins with a <question-form id="discovery"> instead of code. Surface ยท audience ยท tone ยท brand context ยท scale ยท constraints. A long brief still leaves design decisions open โ€” visual tone, color stance, scale โ€” exactly the things the form locks down in 30 seconds. The cost of a wrong direction is one chat round, not one finished deck.

This is the Junior-Designer mode distilled from huashu-design: batch the questions up front, show something visible early (even a wireframe with grey blocks), let the user redirect cheaply. Combined with the brand-asset protocol (locate ยท download ยท grep hex ยท write brand-spec.md ยท vocalise), it's the single biggest reason output stops feeling like AI freestyle and starts feeling like a designer who paid attention before painting.

5 ยท The daemon makes the agent feel like it's on your laptop, because it is.

The daemon spawns the CLI with cwd set to the project's artifact folder under .od/projects/<id>/. The agent gets Read, Write, Bash, WebFetch โ€” real tools against a real filesystem. It can Read the skill's assets/template.html, grep your CSS for hex values, write a brand-spec.md, drop generated images, and produce .pptx / .zip / .pdf files that show up in the file workspace as download chips when the turn ends. Sessions, conversations, messages, tabs persist in a local SQLite DB โ€” pop the project open tomorrow and the agent's todo card is right where you left it.

6 ยท The prompt stack is the product.

What you compose at send time isn't "system + user". It's:

DISCOVERY directives  (turn-1 form, turn-2 brand branch, TodoWrite, 5-dim critique)
  + identity charter   (OFFICIAL_DESIGNER_PROMPT, anti-AI-slop, junior-pass)
  + active DESIGN.md   (71 systems available)
  + active SKILL.md    (19 skills available)
  + project metadata   (kind, fidelity, speakerNotes, animations, inspiration ids)
  + skill side files   (auto-injected pre-flight: read assets/template.html + references/*.md)
  + (deck kind, no skill seed) DECK_FRAMEWORK_DIRECTIVE   (nav / counter / scroll / print)

Every layer is composable. Every layer is a file you can edit. Read apps/web/src/prompts/system.ts and apps/web/src/prompts/discovery.ts to see the actual contract.

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 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              โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
LayerStack
FrontendNext.js 16 App Router + React 18 + TypeScript
DaemonNode 24 ยท Express ยท SSE streaming ยท better-sqlite3 for projects/conversations/messages/tabs
Agent transportchild_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
StoragePlain files in .od/projects/<id>/ + SQLite at .od/app.sqlite (gitignored)
PreviewSandboxed iframe via srcdoc + per-skill <artifact> parser
ExportHTML (inline assets) ยท PDF (browser print) ยท PPTX (skill-defined) ยท ZIP (archiver)

Quickstart

git clone https://github.com/nexu-io/open-design.git cd open-design corepack enable corepack pnpm --version # should print 10.33.2 pnpm install pnpm tools-dev run web # open the web URL printed by tools-dev

Environment requirements: Node ~24 and pnpm 10.33.x. nvm/fnm are optional helpers only; if you use one, run nvm install 24 && nvm use 24 or fnm install 24 && fnm use 24 before pnpm install.

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 therels -la .od && sqlite3 .od/app.sqlite '.tables'
Reset to a clean slatepnpm tools-dev stop, rm -rf .od, run pnpm tools-dev run web again
Move it elsewherenot 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
โ”‚
โ”œโ”€โ”€ apps/
โ”‚   โ”œโ”€โ”€ daemon/                    โ† Node + Express, the only server
โ”‚   โ”‚   โ”œโ”€โ”€ src/                   โ† TypeScript daemon source
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ cli.ts             โ† `od` bin source, compiled to dist/cli.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ server.ts          โ† /api/* routes (projects, chat, files, exports)
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ agents.ts          โ† PATH scanner + per-CLI argv builders
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ claude-stream.ts   โ† streaming JSON parser for Claude Code stdout
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ skills.ts          โ† SKILL.md frontmatter loader
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ db.ts              โ† SQLite schema (projects/messages/templates/tabs)
โ”‚   โ”‚   โ”œโ”€โ”€ sidecar/               โ† tools-dev daemon sidecar wrapper
โ”‚   โ”‚   โ””โ”€โ”€ tests/                 โ† daemon package tests
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ web/                       โ† Next.js 16 App Router + React client
โ”‚       โ”œโ”€โ”€ app/                   โ† App Router entrypoints
โ”‚       โ”œโ”€โ”€ next.config.ts         โ† dev rewrites + prod static export to out/
โ”‚       โ””โ”€โ”€ src/                   โ† React + TypeScript client modules
โ”‚           โ”œโ”€โ”€ App.tsx            โ† routing, bootstrap, settings
โ”‚           โ”œโ”€โ”€ components/        โ† chat, composer, picker, preview, sketch, โ€ฆ
โ”‚           โ”œโ”€โ”€ prompts/
โ”‚           โ”‚   โ”œโ”€โ”€ system.ts      โ† composeSystemPrompt(base, skill, DS, metadata)
โ”‚           โ”‚   โ”œโ”€โ”€ discovery.ts   โ† turn-1 form + turn-2 branch + 5-dim critique
โ”‚           โ”‚   โ””โ”€โ”€ directions.ts  โ† 5 visual directions ร— OKLch palette + font stack
โ”‚           โ”œโ”€โ”€ artifacts/         โ† streaming <artifact> parser + manifests
โ”‚           โ”œโ”€โ”€ runtime/           โ† iframe srcdoc, markdown, export helpers
โ”‚           โ”œโ”€โ”€ providers/         โ† daemon SSE + BYOK API transports
โ”‚           โ””โ”€โ”€ state/             โ† config + projects (localStorage + daemon-backed)
โ”‚
โ”œโ”€โ”€ e2e/                           โ† Playwright UI + external integration/Vitest harness
โ”‚
โ”œโ”€โ”€ packages/
โ”‚   โ”œโ”€โ”€ contracts/                 โ† shared web/daemon app contracts
โ”‚   โ”œโ”€โ”€ sidecar-proto/             โ† Open Design sidecar protocol contract
โ”‚   โ”œโ”€โ”€ sidecar/                   โ† generic sidecar runtime primitives
โ”‚   โ””โ”€โ”€ platform/                  โ† generic process/platform primitives
โ”‚
โ”œโ”€โ”€ 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)
โ”‚
โ”œโ”€โ”€ scripts/
โ”‚   โ””โ”€โ”€ sync-design-systems.ts     โ† 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.ts from VoltAgent/awesome-design-md. 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.

DirectionMoodRefs
Editorial โ€” Monocle / FTPrint magazine, ink + cream + warm rustMonocle ยท FT Weekend ยท NYT Magazine
Modern minimal โ€” Linear / VercelCool, structured, minimal accentLinear ยท Vercel ยท Stripe
Tech utilityInformation density, monospace, terminalBloomberg ยท Bauhaus tools
BrutalistRaw, oversized type, no shadows, harsh accentsBloomberg Businessweek ยท Achtung
Soft warmGenerous, low contrast, peachy neutralsNotion marketing ยท Apple Health

Full spec โ†’ apps/web/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 apps/web/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

AxisClaude Design (Anthropic)Open CoDesignOpen Design
LicenseClosedMITApache-2.0
Form factorWeb (claude.ai)Desktop (Electron)Web app + local daemon
Deployable on VercelโŒโŒโœ…
Agent runtimeBundled (Opus 4.7)Bundled (pi-ai)Delegated to user's existing CLI
SkillsProprietary12 custom TS modules + SKILL.md19 file-based SKILL.md bundles, droppable
Design systemProprietaryDESIGN.md (v0.2 roadmap)DESIGN.md ร— 71 systems shipped
Provider flexibilityAnthropic only7+ via pi-aiWhatever 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 formatsLimitedHTML / PDF / PPTX / ZIP / MarkdownHTML / PDF / PPTX / ZIP / Markdown
PPT skill reuseN/ABuilt-inguizang-ppt-skill drops in
Minimum billingPro / Max / TeamBYOKBYOK

Supported coding agents

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

AgentBinStreamingNotes
Claude Codeclaude--output-format stream-json (typed events)First-class โ€” best fidelity
Codex CLIcodexline-bufferedcodex exec <prompt>
Cursor Agentcursor-agentline-bufferedcursor-agent -p
Gemini CLIgeminiline-bufferedgemini -p
OpenCodeopencodeline-bufferedopencode run
Qwen Codeqwenline-bufferedqwen -p
GitHub Copilot CLIcopilot--output-format json (typed events)copilot -p <prompt> --allow-all-tools --output-format json
Anthropic API ยท BYOKn/aSSE directBrowser fallback when no CLI is on PATH

Adding a new CLI is one entry in apps/daemon/src/agents.ts. 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.

ProjectRole here
Claude DesignThe closed-source product this repo is the open-source alternative to.
alchaincyf/huashu-designThe 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 apps/web/src/prompts/discovery.ts and apps/web/src/prompts/directions.ts.
op7418/guizang-ppt-skillMagazine-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/multicaThe 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-codesignThe 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-mdSource of the 9-section DESIGN.md schema and 69 product systems imported via scripts/sync-design-systems.ts.
farion1231/cc-switchInspiration for symlink-based skill distribution across multiple agent CLIs.
Claude Code skillsThe 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. The bundled skills/guizang-ppt/ retains its original LICENSE (MIT) and authorship attribution to op7418.

ๅ…ณไบŽ 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 / Copilot / Hermes / Kimi CLI.
ai-agentsai-designanthropicbyokclaudeclaude-codeclaude-designcodexcoding-agentscursordesigndesign-systemsdesign-toolsgemini-cligenerative-aihermes-agentlocal-firstreactskillstypescript

่ฏญ่จ€ Languages

TypeScript57.4%
HTML35.1%
CSS6.9%
JavaScript0.6%

ๆไบคๆดป่ทƒๅบฆ Commit Activity

ไปฃ็ ๆไบค็ƒญๅŠ›ๅ›พ
่ฟ‡ๅŽป 52 ๅ‘จ็š„ๅผ€ๅ‘ๆดป่ทƒๅบฆ
30
Total Commits
ๅณฐๅ€ผ: 30ๆฌก/ๅ‘จ
Less
More

ๆ ธๅฟƒ่ดก็Œฎ่€… Contributors