GitHub - nexu-io/open-design: ๐จ Local-first, open-source alternative to Anthropic's Claude Design. โก 19 Skills ยท โจ 71 brand-grade Design Systems ๐ผ Generate web ยท desktop ยท mobile prototypes ยท slides ยท images ยท videos ยท HyperFrames ๐ฆ Sandboxed preview ยท HTML/PDF/PPTX/MP4 export ๐ค Runs on Claude Code / Codex / Cursor / Gemini / OpenCode / Qwen / Copilot / Hermes / Kimi CLI.
ํต์ฌ ํฌ์ธํธ
- 1Open Design์ Anthropic์ Claude Design์ ๋ํ ์คํ ์์ค ๋์์ผ๋ก, ๋ก์ปฌ ์ฐ์ , ์น ๋ฐฐํฌ ๊ฐ๋ฅํ๋ฉฐ BYOK๋ฅผ ํน์ง์ผ๋ก ํ์ฌ ๊ธฐ์กด ์ฝ๋ฉ ์์ด์ ํธ CLI๋ฅผ ํ์ฉํด ๋์์ธ์ ์์ฑํฉ๋๋ค.
- 2์ด ์์คํ ์ ์ฌ์ฉ์ PATH์์ ์๋ ๊ฐ์ง๋ 15๊ฐ์ง ์ฝ๋ฉ ์์ด์ ํธ, 31๊ฐ์ง Skill, 72๊ฐ์ง Design System์ ํตํฉํ๋ฉฐ, ์ค์๊ฐ ๊ณํ, ์๋๋ฐ์ค ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ์๊ตฌ ์ ์ฅ ๊ธฐ๋ฅ์ ํตํด ๋์์ธ ์ํฌํ๋ก์ฐ๋ฅผ ์๋ํํฉ๋๋ค.
- 3Open Design์ ์์ด์ ํธ๋ฅผ ์ง์ ์ ๊ณตํ์ง ์๊ณ ๊ธฐ์กด ์์ด์ ํธ๋ฅผ ํ์ฉํ๋ฉฐ, Skill๊ณผ Design System์ ํ์ผ ๊ธฐ๋ฐ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ๋ก์ปฌ ๋ฐ๋ชฌ์ ํตํด ์ค์ ํ์ผ ์์คํ ์ ๊ทผ์ ํ์ฉํ๋ ๋ฑ ๊ฐ๋ ฅํ ๋์์ธ ์์ฐ์ฑ์ ์ํ ์ํคํ ์ฒ๋ฅผ ์ ๊ณตํฉ๋๋ค.
Open Design (OD)๋ Anthropic์ ํ์ํ Claude Design์ ๋ํ ์คํ ์์ค ๋์์ผ๋ก ๊ฐ๋ฐ๋ ํ๋ก์ ํธ์ ๋๋ค. ์ด๋ 'artifact-first mental model'์ ์ ์งํ๋ฉด์๋ ๊ณต๊ธ์ ์ฒด ์ข ์(lock-in) ์์ด ๋ก์ปฌ ์คํ, Vercel ๋ฐฐํฌ, ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๊ณ์ธต์์์ BYOK(Bring Your Own Key)๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. OD๋ ์์ฒด ์์ด์ ํธ๋ฅผ ์ ๊ณตํ์ง ์๊ณ , ์ฌ์ฉ์์ ์์คํ ์ ์ค์น๋ Claude Code, Codex, Devin for Terminal, Cursor Agent, Gemini CLI, OpenCode, Qwen Code, GitHub Copilot CLI, Hermes, Kimi, Pi, Kiro, Kilo, Mistral Vibe, DeepSeek TUI์ ๊ฐ์ 15๊ฐ์ง ์ฝ๋ฉ ์์ด์ ํธ CLI๋ฅผ ์๋์ผ๋ก ๊ฐ์งํ์ฌ ๋์์ธ ์์ง์ผ๋ก ํ์ฉํฉ๋๋ค. CLI๊ฐ ์๋ ๊ฒฝ์ฐ, OpenAI ํธํ BYOK ํ๋ก์๋ฅผ ํตํด ๋์ผํ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก ๋ฐ ๊ธฐ์ ์ ํน์ง:
OD์ ํต์ฌ์ ๊ณ ๋๋ก ๊ตฌ์ฑ ๊ฐ๋ฅํ ํ๋กฌํํธ ์คํ(prompt stack)์ ํตํด AI๊ฐ ํ์ผ ์์คํ , ๊ฒฐ์ ๋ก ์ ํ๋ ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ์ฒดํฌ๋ฆฌ์คํธ ๋ฌธํ๋ฅผ ๊ฐ์ถ ์๋์ด ๋์์ด๋์ฒ๋ผ ๋์ํ๋๋ก ํ๋ จ์ํค๋ ๊ฒ์ ๋๋ค. ์ด ์ํคํ ์ฒ๋ ๋ค ๊ฐ์ง ์คํ ์์ค ํ๋ก์ ํธ์ ์์ด๋์ด๋ฅผ ๊ณ์นํฉ๋๋ค:
alchaincyf/huashu-design: ์ฃผ๋์ด ๋์์ด๋ ์ํฌํ๋ก์ฐ, 5๋จ๊ณ ๋ธ๋๋ ์์ฐ ํ๋กํ ์ฝ, anti-AI-slop ์ฒดํฌ๋ฆฌ์คํธ, 5์ฐจ์ ์์ฒด ๋นํ(5-dimensional self-critique), ๊ทธ๋ฆฌ๊ณ ์๊ฐ์ ๋ฐฉํฅ ์ ํ๊ธฐ์ ๊ธฐ๋ฐ์ด ๋๋ "5 schools ร 20 design philosophies" ์์ด๋์ด๋ฅผ ํตํฉํฉ๋๋ค.op7418/guizang-ppt-skill: 'deck mode'์ ๊ธฐ๋ฐ์ด ๋๋ฉฐ, ๋งค๊ฑฐ์ง ์คํ์ผ ๋ ์ด์์, WebGL hero ์น์ , P0/P1/P2 ์ฒดํฌ๋ฆฌ์คํธ ๋ฑ์ ์ ๊ณตํฉ๋๋ค.OpenCoworkAI/open-codesign: UX์ ๋ถ๊ทน์ฑ์ผ๋ก, ์คํธ๋ฆฌ๋ฐ ์ํฐํฉํธ ๋ฃจํ, ์๋๋ฐ์ค๋ iframe ํ๋ฆฌ๋ทฐ, ๋ผ์ด๋ธ ์์ด์ ํธ ํจ๋(์์ ๋ชฉ๋ก, ํด ํธ์ถ, ์ธํฐ๋ฝํธ ๊ฐ๋ฅํ ์์ฑ), ๊ทธ๋ฆฌ๊ณ 5๊ฐ์ง ํ์(HTML, PDF, PPTX, ZIP, Markdown)์ ๋ด๋ณด๋ด๊ธฐ ๊ธฐ๋ฅ์ ์ฐจ์ฉํฉ๋๋ค. OD๋ ์ด์ ๋ฌ๋ฆฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ก์ปฌ ๋ฐ๋ชฌ ์ํคํ ์ฒ๋ฅผ ์ฑํํ์ฌ ๊ธฐ์กด CLI ์์ด์ ํธ์ ์์ํฉ๋๋ค.multica-ai/multica: ๋ฐ๋ชฌ ๋ฐ ๋ฐํ์ ์ํคํ ์ฒ, PATH ์ค์บ ์์ด์ ํธ ๊ฐ์ง, ๋ก์ปฌ ๋ฐ๋ชฌ์ privileged process ์ญํ , ์์ด์ ํธ๋ฅผ ํ์์ผ๋ก ๋ณด๋ ๊ด์ ์ ์ ๊ณตํฉ๋๋ค.
ํต์ฌ ์์ด๋์ด (Six Load-Bearing Ideas):
- ์์ด์ ํธ๋ฅผ ์ ๊ณตํ์ง ์์: ๋ฐ๋ชฌ์ ์์ ์
PATH๋ฅผ ์ค์บํ์ฌ ์ค์น๋ ์ฝ๋ฉ ์์ด์ ํธ CLI๋ฅผ ๊ฐ์งํ๊ณ , ์ด๋ค์ ์ค์ ๊ฐ๋ฅํ ๋์์ธ ์์ง์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ค์น๋ CLI๊ฐ ์๋ ๊ฒฝ์ฐ,/api/proxy/{provider}/stream์๋ํฌ์ธํธ๋ฅผ ํตํด Anthropic, OpenAI ํธํ, Azure OpenAI, Google Gemini์ ๊ฐ์ BYOK API๋ฅผ ํ์ฉํ์ฌ ๋์ผํ ํ์ดํ๋ผ์ธ์ ๊ตฌํํฉ๋๋ค. ์ด ํ๋ก์๋ ๋ด๋ถ IP ๋๋ SSRF ๊ณต๊ฒฉ์ ์ฐจ๋จํฉ๋๋ค. - Skill์ ํ์ผ ๊ธฐ๋ฐ: ๊ฐ Skill์ Claude Code์ SKILL.md ์ปจ๋ฒค์
์ ๋ฐ๋ฅด๋ฉฐ,
skills/ํด๋์ SKILL.md ํ์ผ๊ณผ ๊ด๋ จ asset, reference๋ฅผ ํฌํจํ๋ ํด๋ ๊ตฌ์กฐ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค. ๋ฐ๋ชฌ์ ์ฌ์์ํ๋ฉด ์๋ก์ด Skill์ด ๊ฐ์ง๋ฉ๋๋ค. - ๋์์ธ ์์คํ
์ ํด๋ ๊ฐ๋ฅํ Markdown:
VoltAgent/awesome-design-md์ 9๊ฐ ์น์ DESIGN.md์คํค๋ง(์์, ํ์ดํฌ๊ทธ๋ํผ, ๊ฐ๊ฒฉ, ๋ ์ด์์ ๋ฑ)๋ฅผ ๋ฐ๋ฆ ๋๋ค. 72๊ฐ์ ๋ด์ฅ ์์คํ ๊ณผawesome-design-skills์์ ๊ฐ์ ธ์จ 57๊ฐ์ ๋์์ธ ์คํฌ์ด ์ ๊ณต๋ฉ๋๋ค. ์์ด์ ํธ๋ ํ์ฑํ๋ ๋์์ธ ์์คํ ์ ๊ธฐ๋ฐ์ผ๋ก ์ํฐํฉํธ๋ฅผ ๋ ๋๋งํฉ๋๋ค. - ๋ํํ ์ง๋ฌธ ์์(interactive question form): ์ด๊ธฐ ๋์์ธ ๋ธ๋ฆฌํ ์
discovery์์์ ํตํด 'ํ๋ฉด(surface), ๋์(audience), ํค(tone), ๋ธ๋๋ ์ปจํ ์คํธ(brand context), ์ค์ผ์ผ(scale), ์ ์ฝ(constraints)' ๋ฑ์ ๋ช ํํ ํฉ๋๋ค. ์ด๋ ์๋ชป๋ ๋ฐฉํฅ์ผ๋ก์ ์งํ์ ์ด๊ธฐ์ ์ฐจ๋จํ๋ฉฐ, 'Junior-Designer' ๋ชจ๋๋ก ์ ๋ ดํ ๋น์ฉ์ผ๋ก ๋ฐฉํฅ์ ์ฌ์ค์ ํ ์ ์๊ฒ ํฉ๋๋ค. - ๋ฐ๋ชฌ ์ํคํ
์ฒ: ๋ฐ๋ชฌ์ ์์ด์ ํธ CLI๋ฅผ ํ๋ก์ ํธ์ ์ํฐํฉํธ ํด๋()์์ ์คํํ๋ฉฐ, ์์ด์ ํธ๋
Read,Write,Bash,WebFetch์ ๊ฐ์ ์ค์ ํ์ผ ์์คํ ์ ๊ทผ ๊ถํ์ ๊ฐ์ง๋๋ค. ์ด๋ฅผ ํตํด ์์ด์ ํธ๊ฐtemplate.html์ฝ๊ธฐ, CSS์์ 16์ง์ ๊ฐ ์ถ์ถ,brand-spec.md์์ฑ, ์ด๋ฏธ์ง ์์ฑ ๋ฐ.pptx,.zip,.pdfํ์ผ ์์ฑ์ ์ํํ ์ ์์ต๋๋ค. ์ธ์ , ๋ํ, ๋ฉ์์ง, ํญ์ ๋ก์ปฌ SQLite DB(~/.od/app.sqlite)์ ์ง์์ ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. - ํ๋กฌํํธ ์คํ์ด ํต์ฌ ์ ํ: ์ ์ก ์ ๊ตฌ์ฑ๋๋ ํ๋กฌํํธ๋ ๋จ์ํ 'system + user'๊ฐ ์๋๋๋ค. ์ด๋ DISCOVERY ์ง์์ด(turn-1 form, turn-2 brand branch, TodoWrite, 5์ฐจ์ ๋นํ), identity charter (OFFICIAL_DESIGNER_PROMPT, anti-AI-slop, junior-pass), ํ์ฑ
DESIGN.md, ํ์ฑSKILL.md, ํ๋ก์ ํธ ๋ฉํ๋ฐ์ดํฐ, Skill side file(์๋ ์ฃผ์ ๋๋assets/template.html,references/*.md๋ฑ) ๋ฐDECK_FRAMEWORK_DIRECTIVE์ ์กฐํฉ์ ๋๋ค. ๊ฐ ๊ณ์ธต์ ๊ตฌ์ฑ ๊ฐ๋ฅํ๋ฉฐ ํธ์ง ๊ฐ๋ฅํ ํ์ผ๋ก ์กด์ฌํฉ๋๋ค.
์ํคํ ์ฒ ์คํ:
- Frontend: Next.js 16 App Router + React 18 + TypeScript๋ก ๊ตฌ์ถ๋์ด Vercel์ ๋ฐฐํฌ ๊ฐ๋ฅํฉ๋๋ค.
- Daemon: Node 24, Express, SSE ์คํธ๋ฆฌ๋ฐ,
better-sqlite3๋ฅผ ์ฌ์ฉํ๋ฉฐ, SQLite๋ ํ๋ก์ ํธ, ๋ํ, ๋ฉ์์ง, ํญ, ํ ํ๋ฆฟ ์ ๋ณด๋ฅผ ์ ์ฅํฉ๋๋ค. - Agent Transport:
child_process.spawn์ ํตํด CLI๋ฅผ ์คํํ๋ฉฐ, ๊ฐ ์์ด์ ํธ์ ์ถ๋ ฅ ํ์(์:claude-stream-json,copilot-stream-json,json-event-stream,acp-json-rpc,pi-rpc,plain)์ ๋ง๋ ํ์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. - BYOK Proxy:
POST /api/proxy/{anthropic,openai,azure,google}/stream์๋ํฌ์ธํธ๋ฅผ ํตํด provider๋ณ ์์ API์ ์์ฒญ์ ์ ๋ฌํ๊ณ , delta/end/error SSE๋ฅผ ์ ๊ทํํฉ๋๋ค. - Storage: ๋ด์ ์ผ๋ฐ ํ์ผ ์์คํ
๊ณผ
.od/app.sqliteSQLite DB๋ฅผ ์ฌ์ฉํ๋ฉฐ, API ํค ๋ฑ์.od/media-config.json์ ์ ์ฅ๋ฉ๋๋ค. - Preview:
srcdoc์ ์ด์ฉํ ์๋๋ฐ์ค๋ iframe ๋ฐ Skill๋ณ ํ์๋ฅผ ํตํด ๋ ๋๋ง๋ฉ๋๋ค. - Export: HTML (์ธ๋ผ์ธ asset), PDF (๋ธ๋ผ์ฐ์ ํ๋ฆฐํธ), PPTX (์์ด์ ํธ ๊ตฌ๋), ZIP, Markdown ํ์์ผ๋ก ๋ด๋ณด๋ด๊ธฐ ๊ฐ๋ฅํฉ๋๋ค.
- Lifecycle:
pnpm tools-dev๋ช ๋ น์ด๋ฅผ ํตํด ์์(start), ์ค์ง(stop), ์คํ(run), ์ํ ํ์ธ(status), ๋ก๊ทธ ํ์ธ(logs), ๊ฒ์ฌ(inspect), ์ ๊ฒ(check) ๋ฑ ๋ฐ๋ชฌ ๋ฐ ์น ์๋น์ค์ ๋ผ์ดํ์ฌ์ดํด์ ๊ด๋ฆฌํฉ๋๋ค. - Desktop (Optional): Electron ์ ธ์ ์ ๊ณตํ์ฌ ์น URL์ ์ฌ์ด๋์นด IPC๋ฅผ ํตํด ์๋ ๊ฐ์งํ๋ฉฐ, E2E ํ ์คํธ๋ฅผ ์ํ ๊ธฐ๋ฅ(STATUS, EVAL, SCREENSHOT, CONSOLE, CLICK, SHUTDOWN)์ ์ง์ํฉ๋๋ค.
Open Design์ ๋ก์ปฌ ๋ฐ๋ชฌ๊ณผ ์น ์ํคํ
์ฒ๋ฅผ ๊ณต์ ํ๋ ์น ์ฑ ๋๋ Electron ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ์คํ๋ ์ ์์ต๋๋ค. pnpm tools-dev run web ๋ช
๋ น์ด๋ก ์น ์ธํฐํ์ด์ค๋ฅผ ์์ํ๊ฑฐ๋, pnpm tools-dev๋ง์ผ๋ก ๋ฐ์คํฌํฑ ์ฑ์ ์คํํ ์ ์์ต๋๋ค. ๋ํ, Open Design์ stdio MCP(Multi-Client Protocol) ์๋ฒ๋ฅผ ์ ๊ณตํ์ฌ Claude Code, Codex, Cursor ๋ฑ ๋ค๋ฅธ ์ฝ๋ฉ ์์ด์ ํธ์ ์ง์ ์ฐ๋ํ์ฌ ํ์ผ ์ฝ๊ธฐ ๋ฐ ํ๋ก์ ํธ ๋๊ธฐํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. MCP ์๋ฒ๋ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก, ํ์ผ ์ฝ๊ธฐ, ๋ฉํ๋ฐ์ดํฐ, ๊ฒ์ ๊ธฐ๋ฅ์ ๋
ธ์ถํ์ฌ ๋์์ธ ์์
ํ๋ฆ์ ํจ์จ์ ์ผ๋ก ๋ง๋ญ๋๋ค.