oh-my-design-cli 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/AGENTS.md +1 -0
  2. package/README.ko.md +1 -1
  3. package/README.md +9 -9
  4. package/agents/omd-master.md +13 -1
  5. package/data/reference-fingerprints.json +1428 -523
  6. package/package.json +5 -4
  7. package/scripts/ctx-prime.cjs +266 -0
  8. package/skills/omd-harness/SKILL.md +135 -7
  9. package/skills/omd-kr-writer/SKILL.md +1 -1
  10. package/web/references/17live/DESIGN.md +424 -0
  11. package/web/references/alipay/DESIGN.md +456 -0
  12. package/web/references/appier/DESIGN.md +420 -0
  13. package/web/references/bilibili/DESIGN.md +426 -0
  14. package/web/references/class101/DESIGN.md +433 -0
  15. package/web/references/cookpad/DESIGN.md +357 -0
  16. package/web/references/dji/DESIGN.md +416 -0
  17. package/web/references/gogoro/DESIGN.md +403 -0
  18. package/web/references/ichef/DESIGN.md +411 -0
  19. package/web/references/kakaopay/DESIGN.md +1 -1
  20. package/web/references/kakaot/DESIGN.md +454 -0
  21. package/web/references/kkday/DESIGN.md +423 -0
  22. package/web/references/meituan/DESIGN.md +424 -0
  23. package/web/references/millie/DESIGN.md +533 -0
  24. package/web/references/money-forward/DESIGN.md +401 -0
  25. package/web/references/myrealtrip/DESIGN.md +445 -0
  26. package/web/references/naverwebtoon/DESIGN.md +429 -0
  27. package/web/references/note/DESIGN.md +318 -0
  28. package/web/references/publy/DESIGN.md +511 -0
  29. package/web/references/smarthr/DESIGN.md +404 -0
  30. package/web/references/smartnews/DESIGN.md +331 -0
  31. package/web/references/spoon/DESIGN.md +446 -0
  32. package/web/references/tada/DESIGN.md +528 -0
  33. package/web/references/tossbank/DESIGN.md +519 -0
  34. package/web/references/triple/DESIGN.md +434 -0
  35. package/web/references/tumblbug/DESIGN.md +530 -0
  36. package/web/references/watcha/DESIGN.md +425 -0
  37. package/web/references/wavve/DESIGN.md +438 -0
  38. package/web/references/wconcept/DESIGN.md +511 -0
  39. package/web/references/xiaohongshu/DESIGN.md +423 -0
  40. package/web/references/yogiyo/DESIGN.md +465 -0
package/AGENTS.md CHANGED
@@ -14,6 +14,7 @@ oh-my-design itself uses Claude Code skills + subagents for its design harness.
14
14
  - `spec/omd-v0.1.md` — OmD spec (15-section DESIGN.md format).
15
15
  - `research/harness-design/` — Design harness research + integration design.
16
16
  - `skills/omd-lab-02-design-harness/` — Lab #02 versioned harness experiments.
17
+ - `scripts/ctx-prime.cjs` — v1.6.0 deterministic codebase analyzer (stack, brand color, voice, surface inventory, audience hypothesis). Called by `omd-harness` Step 2.5 to pre-fill master slots.
17
18
 
18
19
  ## Build / test / lint
19
20
 
package/README.ko.md CHANGED
@@ -105,7 +105,7 @@ shim과 스킬 파일은 `<!-- omd:start -->` 마커 블록을 사용해서, 마
105
105
  |---|---|---|
106
106
  | `omd:init` | "DESIGN.md 만들어줘" / "브랜드 세팅" | 레퍼런스 추천 → 프로젝트 description 수집 → 레퍼런스 톤·매너 preserve하면서 deltas 반영한 Hybrid variation → DESIGN.md + shim 작성 |
107
107
  | `omd:apply` | UI / 스타일링 / 마이크로카피 / 모션 작업 | DESIGN.md + pending preference를 authoritative context로 주입, 사용자 교정 시 자동으로 `omd:remember` 호출 |
108
- | `omd:harness` | "랜딩 처음부터 / production-ready" | 10-phase 디자인 파이프라인. rule 9 hero archetype 7종 (center-text / carousel / split-screen / editorial / dashboard / quote-led / left-character) 중 brand vibe 매칭으로 선택. rule 5 워드마크-only 로고, rule 10 reveal safety net. |
108
+ | `omd:harness` | "랜딩 처음부터 / 그럴싸한 랜딩 / 프로토타입 구색 갖춰 / production-ready" | 10-phase 디자인 파이프라인. **v1.6.0** — 자연어 트리거 확대 (슬래시 없이도 발동), **CTX-PRIME** 사전 분석 (~20ms) + 단일 페르소나 picker + Interview-lite 배치로 `omd-master`가 slot-gate 건너뛰고 PROPOSE_PLAN 직행. rule 9 hero archetype 7종 (center-text / carousel / split-screen / editorial / dashboard / quote-led / left-character) 중 brand vibe 매칭으로 선택. rule 5 워드마크-only 로고, rule 10 reveal safety net. |
109
109
  | `omd:sync` | "shim drift" / "AGENTS.md 동기화" | 적절한 플래그로 `omd:sync` 실행 |
110
110
  | `omd:remember` | "기억해 둬" / "우리는 ~안 해" | 구조화된 entry를 `.omd/preferences.md`에 append |
111
111
  | `omd:learn` | "preferences 정리해서 DESIGN.md에 반영" | scope별로 그룹핑 → coherent edit 제안 → status flip |
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  <h1 align="center">oh-my-design</h1>
6
6
 
7
7
  <p align="center">
8
- <strong>One-command bootstrap for skill-driven design with your AI coding agent.</strong> 107 real company design systems. Zero AI calls in the install. Then you just talk to your agent.
8
+ <strong>One-command bootstrap for skill-driven design with your AI coding agent.</strong> 100+ real company design systems. Zero AI calls in the install. Then you just talk to your agent.
9
9
  </p>
10
10
 
11
11
  <p align="center">
@@ -13,7 +13,7 @@
13
13
  <a href="https://www.npmjs.com/package/oh-my-design-cli"><img src="https://img.shields.io/npm/dm/oh-my-design-cli?style=flat-square&color=cb3837" alt="npm downloads" /></a>
14
14
  <a href="LICENSE"><img src="https://img.shields.io/github/license/kwakseongjae/oh-my-design?style=flat-square" alt="License" /></a>
15
15
  <a href="https://github.com/kwakseongjae/oh-my-design/stargazers"><img src="https://img.shields.io/github/stars/kwakseongjae/oh-my-design?style=social" alt="GitHub Stars" /></a>
16
- <img src="https://img.shields.io/badge/references-107-7c5cfc?style=flat-square" alt="107 References" />
16
+ <img src="https://img.shields.io/badge/references-100%2B-7c5cfc?style=flat-square" alt="100+ References" />
17
17
  <img src="https://img.shields.io/badge/CLI%20commands-1-blue?style=flat-square" alt="One CLI command" />
18
18
  </p>
19
19
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  **oh-my-design (OmD)** turns your AI coding agent (Claude Code / Codex / OpenCode / Cursor) into a senior product designer with a working memory of your brand. You install once. After that, you just describe what you want — components, screens, copy, assets, charts — and the agent applies your project's design system, picks the right asset medium, and ships.
25
25
 
26
- `DESIGN.md` is the brand spec ([Google Stitch](https://stitch.withgoogle.com/docs/design-md/overview/) tokens + the brand-philosophy layer: Voice / Narrative / Principles / Personas / States / Motion). 107 real-company DESIGN.md files ship in this package. Pick one, customize through conversation, ship.
26
+ `DESIGN.md` is the brand spec ([Google Stitch](https://stitch.withgoogle.com/docs/design-md/overview/) tokens + the brand-philosophy layer: Voice / Narrative / Principles / Personas / States / Motion). 100+ real-company DESIGN.md files ship in this package. Pick one, customize through conversation, ship.
27
27
 
28
28
  **No API keys. No external infra. Everything runs inside your existing CLI session.**
29
29
 
@@ -80,7 +80,7 @@ Promotion of future skills into the bundle is governed by the [`omd-release-hygi
80
80
  Open Claude Code (or Codex / OpenCode) in your project. Just talk:
81
81
 
82
82
  > "Set up the design system for a calm B2B fintech dashboard."
83
- > Agent picks a reference from 107 (likely Linear or Stripe), proposes a hybrid DESIGN.md, asks for confirmation, writes the file plus shims.
83
+ > Agent picks a reference from the catalog (likely Linear or Stripe), proposes a hybrid DESIGN.md, asks for confirmation, writes the file plus shims.
84
84
 
85
85
  > "Make the empty-state for the search results page."
86
86
  > Agent reads DESIGN.md, builds the component with brand tokens, picks an inline SVG illustration matching the voice, drops in microcopy that follows the §10 voice rules.
@@ -102,10 +102,10 @@ Open Claude Code (or Codex / OpenCode) in your project. Just talk:
102
102
  | `.codex/skills/omd-*/SKILL.md` | install-skills | Codex skill bundle |
103
103
  | `.opencode/agents/omd-*.md` | install-skills | OpenCode agent bundle |
104
104
  | `.claude/agents/omd-*.md` | install-skills | 16 canonical sub-agents (master + 15 specialists) |
105
- | `.claude/data/*` | install-skills | 107-reference fingerprints, vocabulary, opt-out corpus |
105
+ | `.claude/data/*` | install-skills | reference fingerprints, vocabulary, opt-out corpus |
106
106
  | `.claude/hooks/*.cjs` | install-skills | UserPromptSubmit / SessionStart / PostToolUse hooks |
107
107
  | `.claude/skills/skill-rules.json` | install-skills | Skill activation rules |
108
- | `references/*/DESIGN.md` | bundled | 107 real design systems |
108
+ | `references/*/DESIGN.md` | bundled | 100+ real design systems |
109
109
  | `DESIGN.md` | your agent (after init flow) | Your project's authoritative brand spec |
110
110
  | `CLAUDE.md` / `AGENTS.md` / `.cursor/rules/omd-design.mdc` | omd-sync skill | Pointers so every agent reads DESIGN.md |
111
111
  | `.omd/preferences.md` | omd-remember skill | Append-only design correction log |
@@ -117,8 +117,8 @@ Skills (loaded into your agent's context based on prompt triggers):
117
117
 
118
118
  **Core flow**
119
119
  - **omd:apply** — DESIGN.md as authoritative context for every UI task. Routes complex requests (assets, charts, full screens, a11y audit) to specialized sub-agents.
120
- - **omd:init** — Bootstrap DESIGN.md from a reference + project description. 107 references, hybrid variation that preserves the reference voice while shifting only user-named axes.
121
- - **omd:harness** — `/omd-harness <task>` to run the 10-phase design pipeline. 7 hero archetypes (rule 9) match brand vibe to layout (center-text / carousel / split-screen / editorial / dashboard / quote-led / left-character). Reveal safety net (rule 10), wordmark-only logo (rule 5), container-inner consistency (rule 7), decomposed hero (rule 8).
120
+ - **omd:init** — Bootstrap DESIGN.md from a reference + project description. 100+ references, hybrid variation that preserves the reference voice while shifting only user-named axes.
121
+ - **omd:harness** — `/omd-harness <task>` to run the 10-phase design pipeline. **v1.6.0**: auto-triggers on natural-language requests ("그럴싸한 랜딩 만들어줘", "프로토타입 구색 갖춰") — no slash required. New **CTX-PRIME** pre-phase scans your repo (stack, brand color, voice, surface inventory) in ~20ms, then surfaces a single audience picker + batched Interview-lite so `omd-master` skips slot-gate and jumps straight to PROPOSE_PLAN. 7 hero archetypes (rule 9) match brand vibe to layout (center-text / carousel / split-screen / editorial / dashboard / quote-led / left-character). Reveal safety net (rule 10), wordmark-only logo (rule 5), container-inner consistency (rule 7), decomposed hero (rule 8).
122
122
  - **omd:remember** — Captures user corrections to `.omd/preferences.md` automatically when the agent detects them.
123
123
  - **omd:learn** — Folds pending corrections back into DESIGN.md by scope.
124
124
  - **omd:sync** — Maintains the shim files (CLAUDE.md / AGENTS.md / Cursor mdc) so every agent reads your DESIGN.md.
@@ -147,7 +147,7 @@ Plus the **6 v0.2 sub-agents** (orchestrator / kr-writer / locale-adapter / desi
147
147
 
148
148
  ## MCP server
149
149
 
150
- Want the 107 brand DESIGN.md files exposed directly to your agent as MCP resources, tools, and prompts? Use **[oh-my-design-mcp](./packages/mcp/)** — a separate, free, drop-in MCP server.
150
+ Want the brand DESIGN.md files exposed directly to your agent as MCP resources, tools, and prompts? Use **[oh-my-design-mcp](./packages/mcp/)** — a separate, free, drop-in MCP server.
151
151
 
152
152
  ```json
153
153
  {
@@ -91,7 +91,19 @@ Each turn you are in one state. Determine current state from `.handoff.json` `st
91
91
 
92
92
  ### State definitions
93
93
 
94
- - **INTAKE**: First turn. Read `.omd/context.json` if it exists (skill caches via `node scripts/context.cjs` helper if available); else compute inline (Glob `**/package.json,**/*.{css,scss,tsx,jsx,vue,svelte}` + Read top files + grep for color/spacing literals). Decide INTAKE branch:
94
+ - **INTAKE**: First turn.
95
+
96
+ **0.0.1 — Prefilled-slots fast path (v1.6.0+).** Before any other branch logic, Read `<RUN_DIR>/handoff/.handoff.json` if it exists. If it has `prefilled_slots` AND `state: "PROPOSE_PLAN"`, the omd-harness skill ran CTX-PRIME + Interview-lite already and pre-filled the slots (`audience`, `exit_scope`, `wow_moment`, `cta_primary`, `visual_grounding`).
97
+
98
+ Also Read `<RUN_DIR>/ctx-prime.json` for the codebase analysis (stack, brand_signal, surface_inventory, wow_moment_candidates).
99
+
100
+ → **Skip SLOT_GATE entirely.** Use prefilled_slots as authoritative. Jump straight to PROPOSE_PLAN with `ctx_prime.brand_signal` seeded as initial token defaults (override-able during PLAN_REVIEW). Only re-ask via ASK_TEST if a slot truly required for the chosen `exit_scope` is *missing* from prefilled_slots — never re-ask `audience` or `wow_moment` if already filled.
101
+
102
+ Acknowledge the handoff in your first user-facing prose: "분석 결과 + 페르소나 답 받았어요 — {audience} / {wow_moment} 방향으로 plan 잡을게요." Don't re-interrogate.
103
+
104
+ Continue from PROPOSE_PLAN.
105
+
106
+ **0.0.2 — Legacy fast path.** If no prefilled_slots, read `.omd/context.json` if it exists (skill caches via `node scripts/context.cjs` helper if available); else compute inline (Glob `**/package.json,**/*.{css,scss,tsx,jsx,vue,svelte}` + Read top files + grep for color/spacing literals). Decide INTAKE branch:
95
107
  - empty folder + URL hint in task ("Stripe 같이" / "https://...") AND persona_signal_initial = `F` → **F-FAST PATH**: skip SLOT_GATE entirely, propose plan immediately with all defaults (audience=`[FILL IN]`, tone_seed from URL or `stripe`, exit_scope=`handoff-zip`, etc.). Founder smashes `go`, gets handoff zip ASAP.
96
108
  - empty folder (no URL) → SLOT_GATE (greenfield mode)
97
109
  - existing code → CONTEXT_DETECT brief, then SLOT_GATE