oh-my-design-cli 0.1.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 (317) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +145 -0
  3. package/README.ko.md +245 -0
  4. package/README.md +245 -0
  5. package/README.zh-TW.md +145 -0
  6. package/data/reference-tags.md +104 -0
  7. package/data/synonyms.json +79 -0
  8. package/data/vocabulary.json +516 -0
  9. package/dist/bin/oh-my-design.js +858 -0
  10. package/dist/bin/oh-my-design.js.map +1 -0
  11. package/dist/chunk-6YNSV3VY.js +35 -0
  12. package/dist/chunk-6YNSV3VY.js.map +1 -0
  13. package/dist/chunk-MHFYGZSO.js +337 -0
  14. package/dist/chunk-MHFYGZSO.js.map +1 -0
  15. package/dist/chunk-N2JG6N4Q.js +264 -0
  16. package/dist/chunk-N2JG6N4Q.js.map +1 -0
  17. package/dist/chunk-OOQQEUGX.js +46 -0
  18. package/dist/chunk-OOQQEUGX.js.map +1 -0
  19. package/dist/chunk-OR5DHENY.js +250 -0
  20. package/dist/chunk-OR5DHENY.js.map +1 -0
  21. package/dist/customizer-CM76752R.js +8 -0
  22. package/dist/customizer-CM76752R.js.map +1 -0
  23. package/dist/index.d.ts +559 -0
  24. package/dist/index.js +3113 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/init-STACB7E5.js +635 -0
  27. package/dist/init-STACB7E5.js.map +1 -0
  28. package/dist/install-skills-CM6VXFZJ.js +152 -0
  29. package/dist/install-skills-CM6VXFZJ.js.map +1 -0
  30. package/dist/learn-33LHKEJA.js +140 -0
  31. package/dist/learn-33LHKEJA.js.map +1 -0
  32. package/dist/reference-YMNAOXJQ.js +47 -0
  33. package/dist/reference-YMNAOXJQ.js.map +1 -0
  34. package/dist/reference-parser-TM3CJPNE.js +10 -0
  35. package/dist/reference-parser-TM3CJPNE.js.map +1 -0
  36. package/dist/remember-UAFA5B2O.js +78 -0
  37. package/dist/remember-UAFA5B2O.js.map +1 -0
  38. package/dist/sync-P7X4S2DK.js +404 -0
  39. package/dist/sync-P7X4S2DK.js.map +1 -0
  40. package/dist/templates/templates/design-md.hbs +44 -0
  41. package/dist/templates/templates/partials/agent-prompt-guide.hbs +28 -0
  42. package/dist/templates/templates/partials/color-palette.hbs +49 -0
  43. package/dist/templates/templates/partials/component-stylings.hbs +28 -0
  44. package/dist/templates/templates/partials/depth-elevation.hbs +31 -0
  45. package/dist/templates/templates/partials/dos-donts.hbs +13 -0
  46. package/dist/templates/templates/partials/layout.hbs +30 -0
  47. package/dist/templates/templates/partials/responsive.hbs +25 -0
  48. package/dist/templates/templates/partials/shadcn-tokens.hbs +64 -0
  49. package/dist/templates/templates/partials/typography.hbs +43 -0
  50. package/dist/templates/templates/partials/visual-theme.hbs +26 -0
  51. package/package.json +68 -0
  52. package/references/Claude-Design-Sys-Prompt.txt +421 -0
  53. package/references/airbnb/DESIGN.md +427 -0
  54. package/references/airbnb/README.md +23 -0
  55. package/references/airbnb/preview-dark.html +234 -0
  56. package/references/airbnb/preview.html +233 -0
  57. package/references/airtable/DESIGN.md +107 -0
  58. package/references/airtable/README.md +23 -0
  59. package/references/airtable/preview-dark.html +165 -0
  60. package/references/airtable/preview.html +164 -0
  61. package/references/apple/DESIGN.md +496 -0
  62. package/references/apple/README.md +24 -0
  63. package/references/apple/preview-dark.html +420 -0
  64. package/references/apple/preview.html +414 -0
  65. package/references/baemin/DESIGN.md +260 -0
  66. package/references/baemin/README.md +19 -0
  67. package/references/bmw/DESIGN.md +180 -0
  68. package/references/bmw/README.md +23 -0
  69. package/references/bmw/preview-dark.html +211 -0
  70. package/references/bmw/preview.html +210 -0
  71. package/references/cal/DESIGN.md +259 -0
  72. package/references/cal/README.md +23 -0
  73. package/references/cal/preview-dark.html +449 -0
  74. package/references/cal/preview.html +575 -0
  75. package/references/claude/DESIGN.md +455 -0
  76. package/references/claude/README.md +24 -0
  77. package/references/claude/preview-dark.html +803 -0
  78. package/references/claude/preview.html +826 -0
  79. package/references/clay/DESIGN.md +304 -0
  80. package/references/clay/README.md +23 -0
  81. package/references/clay/preview-dark.html +316 -0
  82. package/references/clay/preview.html +315 -0
  83. package/references/clickhouse/DESIGN.md +281 -0
  84. package/references/clickhouse/README.md +24 -0
  85. package/references/clickhouse/preview-dark.html +834 -0
  86. package/references/clickhouse/preview.html +786 -0
  87. package/references/cohere/DESIGN.md +266 -0
  88. package/references/cohere/README.md +24 -0
  89. package/references/cohere/preview-dark.html +803 -0
  90. package/references/cohere/preview.html +807 -0
  91. package/references/coinbase/DESIGN.md +129 -0
  92. package/references/coinbase/README.md +23 -0
  93. package/references/coinbase/preview-dark.html +164 -0
  94. package/references/coinbase/preview.html +163 -0
  95. package/references/composio/DESIGN.md +307 -0
  96. package/references/composio/README.md +24 -0
  97. package/references/composio/preview-dark.html +958 -0
  98. package/references/composio/preview.html +933 -0
  99. package/references/cursor/DESIGN.md +322 -0
  100. package/references/cursor/README.md +24 -0
  101. package/references/cursor/preview-dark.html +393 -0
  102. package/references/cursor/preview.html +383 -0
  103. package/references/dcard/DESIGN.md +302 -0
  104. package/references/dcard/README.md +12 -0
  105. package/references/dcard/_research/forum-1440px.png +0 -0
  106. package/references/dcard/_research.md +77 -0
  107. package/references/elevenlabs/DESIGN.md +265 -0
  108. package/references/elevenlabs/README.md +23 -0
  109. package/references/elevenlabs/preview-dark.html +252 -0
  110. package/references/elevenlabs/preview.html +251 -0
  111. package/references/expo/DESIGN.md +281 -0
  112. package/references/expo/README.md +24 -0
  113. package/references/expo/preview-dark.html +533 -0
  114. package/references/expo/preview.html +533 -0
  115. package/references/ferrari/DESIGN.md +314 -0
  116. package/references/ferrari/README.md +23 -0
  117. package/references/ferrari/preview-dark.html +1162 -0
  118. package/references/ferrari/preview.html +1122 -0
  119. package/references/figma/DESIGN.md +399 -0
  120. package/references/figma/README.md +24 -0
  121. package/references/figma/preview-dark.html +822 -0
  122. package/references/figma/preview.html +832 -0
  123. package/references/framer/DESIGN.md +246 -0
  124. package/references/framer/README.md +23 -0
  125. package/references/framer/preview-dark.html +902 -0
  126. package/references/framer/preview.html +883 -0
  127. package/references/freee/DESIGN.md +308 -0
  128. package/references/freee/README.md +12 -0
  129. package/references/freee/_research/vibes-storybook-1440px.png +0 -0
  130. package/references/freee/_research.md +77 -0
  131. package/references/hashicorp/DESIGN.md +278 -0
  132. package/references/hashicorp/README.md +24 -0
  133. package/references/hashicorp/preview-dark.html +1202 -0
  134. package/references/hashicorp/preview.html +1193 -0
  135. package/references/ibm/DESIGN.md +332 -0
  136. package/references/ibm/README.md +24 -0
  137. package/references/ibm/preview-dark.html +443 -0
  138. package/references/ibm/preview.html +428 -0
  139. package/references/intercom/DESIGN.md +146 -0
  140. package/references/intercom/README.md +23 -0
  141. package/references/intercom/preview-dark.html +185 -0
  142. package/references/intercom/preview.html +184 -0
  143. package/references/kakao/DESIGN.md +261 -0
  144. package/references/kakao/README.md +18 -0
  145. package/references/karrot/DESIGN.md +252 -0
  146. package/references/karrot/README.md +18 -0
  147. package/references/kraken/DESIGN.md +146 -0
  148. package/references/kraken/README.md +23 -0
  149. package/references/kraken/preview-dark.html +169 -0
  150. package/references/kraken/preview.html +168 -0
  151. package/references/lamborghini/DESIGN.md +288 -0
  152. package/references/lamborghini/README.md +23 -0
  153. package/references/lamborghini/preview-dark.html +303 -0
  154. package/references/lamborghini/preview.html +381 -0
  155. package/references/line/DESIGN.md +375 -0
  156. package/references/line/README.md +12 -0
  157. package/references/line/_research/home-1440px.png +0 -0
  158. package/references/line/_research.md +65 -0
  159. package/references/linear.app/DESIGN.md +526 -0
  160. package/references/linear.app/README.md +24 -0
  161. package/references/linear.app/preview-dark.html +383 -0
  162. package/references/linear.app/preview.html +373 -0
  163. package/references/lovable/DESIGN.md +298 -0
  164. package/references/lovable/README.md +24 -0
  165. package/references/lovable/preview-dark.html +349 -0
  166. package/references/lovable/preview.html +348 -0
  167. package/references/mercari/DESIGN.md +294 -0
  168. package/references/mercari/README.md +12 -0
  169. package/references/mercari/_research/home-1440px.png +0 -0
  170. package/references/mercari/_research.md +77 -0
  171. package/references/minimax/DESIGN.md +257 -0
  172. package/references/minimax/README.md +24 -0
  173. package/references/minimax/preview-dark.html +1262 -0
  174. package/references/minimax/preview.html +1248 -0
  175. package/references/mintlify/DESIGN.md +341 -0
  176. package/references/mintlify/README.md +24 -0
  177. package/references/mintlify/preview-dark.html +409 -0
  178. package/references/mintlify/preview.html +398 -0
  179. package/references/miro/DESIGN.md +108 -0
  180. package/references/miro/README.md +23 -0
  181. package/references/miro/preview-dark.html +174 -0
  182. package/references/miro/preview.html +173 -0
  183. package/references/mistral.ai/DESIGN.md +261 -0
  184. package/references/mistral.ai/README.md +24 -0
  185. package/references/mistral.ai/preview-dark.html +806 -0
  186. package/references/mistral.ai/preview.html +805 -0
  187. package/references/mongodb/DESIGN.md +266 -0
  188. package/references/mongodb/README.md +23 -0
  189. package/references/mongodb/preview-dark.html +260 -0
  190. package/references/mongodb/preview.html +259 -0
  191. package/references/notion/DESIGN.md +492 -0
  192. package/references/notion/README.md +24 -0
  193. package/references/notion/preview-dark.html +372 -0
  194. package/references/notion/preview.html +364 -0
  195. package/references/nvidia/DESIGN.md +308 -0
  196. package/references/nvidia/README.md +24 -0
  197. package/references/nvidia/preview-dark.html +374 -0
  198. package/references/nvidia/preview.html +366 -0
  199. package/references/ollama/DESIGN.md +267 -0
  200. package/references/ollama/README.md +24 -0
  201. package/references/ollama/preview-dark.html +678 -0
  202. package/references/ollama/preview.html +678 -0
  203. package/references/opencode.ai/DESIGN.md +295 -0
  204. package/references/opencode.ai/README.md +24 -0
  205. package/references/opencode.ai/preview-dark.html +366 -0
  206. package/references/opencode.ai/preview.html +357 -0
  207. package/references/pinkoi/DESIGN.md +309 -0
  208. package/references/pinkoi/README.md +12 -0
  209. package/references/pinkoi/_research/browse-1440px.png +0 -0
  210. package/references/pinkoi/_research.md +115 -0
  211. package/references/pinterest/DESIGN.md +230 -0
  212. package/references/pinterest/README.md +23 -0
  213. package/references/pinterest/preview-dark.html +233 -0
  214. package/references/pinterest/preview.html +232 -0
  215. package/references/posthog/DESIGN.md +256 -0
  216. package/references/posthog/README.md +23 -0
  217. package/references/posthog/preview-dark.html +699 -0
  218. package/references/posthog/preview.html +749 -0
  219. package/references/raycast/DESIGN.md +268 -0
  220. package/references/raycast/README.md +23 -0
  221. package/references/raycast/preview-dark.html +606 -0
  222. package/references/raycast/preview.html +688 -0
  223. package/references/renault/DESIGN.md +311 -0
  224. package/references/renault/README.md +23 -0
  225. package/references/renault/preview-dark.html +406 -0
  226. package/references/renault/preview.html +606 -0
  227. package/references/replicate/DESIGN.md +261 -0
  228. package/references/replicate/README.md +24 -0
  229. package/references/replicate/preview-dark.html +828 -0
  230. package/references/replicate/preview.html +831 -0
  231. package/references/resend/DESIGN.md +303 -0
  232. package/references/resend/README.md +23 -0
  233. package/references/resend/preview-dark.html +355 -0
  234. package/references/resend/preview.html +354 -0
  235. package/references/revolut/DESIGN.md +185 -0
  236. package/references/revolut/README.md +23 -0
  237. package/references/revolut/preview-dark.html +234 -0
  238. package/references/revolut/preview.html +233 -0
  239. package/references/runwayml/DESIGN.md +244 -0
  240. package/references/runwayml/README.md +24 -0
  241. package/references/runwayml/preview-dark.html +664 -0
  242. package/references/runwayml/preview.html +665 -0
  243. package/references/sanity/DESIGN.md +357 -0
  244. package/references/sanity/README.md +24 -0
  245. package/references/sanity/preview-dark.html +990 -0
  246. package/references/sanity/preview.html +1135 -0
  247. package/references/sentry/DESIGN.md +262 -0
  248. package/references/sentry/README.md +24 -0
  249. package/references/sentry/preview-dark.html +626 -0
  250. package/references/sentry/preview.html +951 -0
  251. package/references/spacex/DESIGN.md +205 -0
  252. package/references/spacex/README.md +23 -0
  253. package/references/spacex/preview-dark.html +221 -0
  254. package/references/spacex/preview.html +220 -0
  255. package/references/spotify/DESIGN.md +246 -0
  256. package/references/spotify/README.md +23 -0
  257. package/references/spotify/preview-dark.html +231 -0
  258. package/references/spotify/preview.html +230 -0
  259. package/references/stripe/DESIGN.md +473 -0
  260. package/references/stripe/README.md +24 -0
  261. package/references/stripe/preview-dark.html +428 -0
  262. package/references/stripe/preview.html +419 -0
  263. package/references/supabase/DESIGN.md +255 -0
  264. package/references/supabase/README.md +24 -0
  265. package/references/supabase/preview-dark.html +977 -0
  266. package/references/supabase/preview.html +955 -0
  267. package/references/superhuman/DESIGN.md +252 -0
  268. package/references/superhuman/README.md +23 -0
  269. package/references/superhuman/preview-dark.html +973 -0
  270. package/references/superhuman/preview.html +951 -0
  271. package/references/tesla/DESIGN.md +286 -0
  272. package/references/tesla/README.md +23 -0
  273. package/references/tesla/preview-dark.html +947 -0
  274. package/references/tesla/preview.html +925 -0
  275. package/references/together.ai/DESIGN.md +263 -0
  276. package/references/together.ai/README.md +24 -0
  277. package/references/together.ai/preview-dark.html +892 -0
  278. package/references/together.ai/preview.html +897 -0
  279. package/references/toss/DESIGN.md +387 -0
  280. package/references/toss/README.md +19 -0
  281. package/references/uber/DESIGN.md +295 -0
  282. package/references/uber/README.md +24 -0
  283. package/references/uber/preview-dark.html +1120 -0
  284. package/references/uber/preview.html +1119 -0
  285. package/references/vercel/DESIGN.md +456 -0
  286. package/references/vercel/README.md +24 -0
  287. package/references/vercel/preview-dark.html +368 -0
  288. package/references/vercel/preview.html +367 -0
  289. package/references/voltagent/DESIGN.md +323 -0
  290. package/references/voltagent/README.md +24 -0
  291. package/references/voltagent/preview-dark.html +487 -0
  292. package/references/voltagent/preview.html +766 -0
  293. package/references/warp/DESIGN.md +253 -0
  294. package/references/warp/README.md +23 -0
  295. package/references/warp/preview-dark.html +500 -0
  296. package/references/warp/preview.html +533 -0
  297. package/references/webflow/DESIGN.md +109 -0
  298. package/references/webflow/README.md +23 -0
  299. package/references/webflow/preview-dark.html +147 -0
  300. package/references/webflow/preview.html +146 -0
  301. package/references/wise/DESIGN.md +173 -0
  302. package/references/wise/README.md +23 -0
  303. package/references/wise/preview-dark.html +230 -0
  304. package/references/wise/preview.html +229 -0
  305. package/references/x.ai/DESIGN.md +267 -0
  306. package/references/x.ai/README.md +24 -0
  307. package/references/x.ai/preview-dark.html +356 -0
  308. package/references/x.ai/preview.html +407 -0
  309. package/references/zapier/DESIGN.md +328 -0
  310. package/references/zapier/README.md +24 -0
  311. package/references/zapier/preview-dark.html +380 -0
  312. package/references/zapier/preview.html +372 -0
  313. package/skills/omd-apply/SKILL.md +85 -0
  314. package/skills/omd-init/SKILL.md +167 -0
  315. package/skills/omd-learn/SKILL.md +81 -0
  316. package/skills/omd-remember/SKILL.md +44 -0
  317. package/skills/omd-sync/SKILL.md +38 -0
package/README.md ADDED
@@ -0,0 +1,245 @@
1
+ <p align="center">
2
+ <img src="logo-bg.png" width="480" alt="oh-my-design" />
3
+ </p>
4
+
5
+ <h1 align="center">oh-my-design</h1>
6
+
7
+ <p align="center">
8
+ <strong>Generate DESIGN.md from 67 real company design systems.</strong> Interactive wizard. Zero AI calls.
9
+ </p>
10
+
11
+ <p align="center">
12
+ <strong>Now with the OmD v0.1 Philosophy Layer.</strong> Voice · Narrative · Principles · Personas · States · Motion — so Claude Code matches your brand, not the AI's default.
13
+ </p>
14
+
15
+ <p align="center">
16
+ <a href="LICENSE"><img src="https://img.shields.io/github/license/kwakseongjae/oh-my-design?style=flat-square" alt="License" /></a>
17
+ <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>
18
+ <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="PRs Welcome" />
19
+ <img src="https://img.shields.io/badge/AI%20calls-zero-blue?style=flat-square" alt="Zero AI" />
20
+ <img src="https://img.shields.io/badge/references-67-7c5cfc?style=flat-square" alt="67 References" />
21
+ </p>
22
+
23
+ <p align="center">
24
+ <a href="README.ko.md">한국어</a> | <a href="README.ja.md">日本語</a> | <a href="README.zh-TW.md">繁體中文</a> | English
25
+ </p>
26
+
27
+ ---
28
+
29
+ ## What is oh-my-design?
30
+
31
+ **oh-my-design (OmD)** is an open spec for giving AI coding agents enough brand context to produce on-brand UI instead of the AI's statistical default.
32
+
33
+ `DESIGN.md` as [Google defined it](https://stitch.withgoogle.com/docs/design-md/overview/) is a **token document** — colors, typography, components. Necessary, but not sufficient. When an agent generates UI from tokens alone, the output is coherent but branded like nobody — it defaults to Inter-on-white, purple gradients, unjustified emojis. OmD v0.1 adds a **brand-philosophy layer** on top: **Voice · Narrative · Principles · Personas · States · Motion**. Drop an OmD `DESIGN.md` at your project root and the agent's output stops being generic and starts being yours.
34
+
35
+ Three pieces:
36
+
37
+ 1. **[Spec](spec/omd-v0.1.md)** — versioned, additive to Google Stitch, MIT-licensed.
38
+ 2. **[Claude Code skill](.claude/skills/omd/SKILL.md)** — auto-applies the spec as a hard constraint when generating UI in Claude Code.
39
+ 3. **[67 reference files](references/)** — real-company `DESIGN.md` files you can fork, customize with the interactive builder, and ship.
40
+
41
+ **No API keys. No AI calls. Everything runs client-side.**
42
+
43
+ ## Ecosystem v1 — agent integration (new)
44
+
45
+ `oh-my-design` now ships a coding-agent ecosystem so `DESIGN.md` is **read and respected** by Claude Code, Codex, OpenCode, and Cursor while you work — not just generated once and forgotten.
46
+
47
+ **Zero-install (recommended):**
48
+
49
+ ```bash
50
+ cd my-project
51
+
52
+ # 1. One-time: install agent skills (.claude/skills, .codex/skills, .opencode/agents)
53
+ npx oh-my-design-cli install-skills
54
+
55
+ # 2. Bootstrap DESIGN.md from a reference + your project description
56
+ # (run from inside Claude Code/Codex/OpenCode and the omd:init skill drives this)
57
+ npx oh-my-design-cli init recommend "warm approachable B2C marketplace"
58
+ npx oh-my-design-cli init prepare --ref airbnb --description "warm approachable B2C marketplace"
59
+
60
+ # 3. Install / refresh shim files so all four agents read DESIGN.md
61
+ npx oh-my-design-cli sync
62
+
63
+ # 4. As you work, log preferences whenever the agent gets a design choice wrong
64
+ npx oh-my-design-cli remember "CTAs are never uppercase"
65
+
66
+ # 5. Periodically fold pending preferences into DESIGN.md
67
+ npx oh-my-design-cli learn # list pending
68
+ npx oh-my-design-cli learn --mark-applied <id> # after the fold
69
+ ```
70
+
71
+ **Or install globally for shorter commands:**
72
+
73
+ ```bash
74
+ npm install -g oh-my-design-cli
75
+ # Now use either `oh-my-design` or the short alias `omd`
76
+ omd install-skills
77
+ omd sync
78
+ omd remember "..."
79
+ ```
80
+
81
+ > **Status**: `v0.1.0` is the first ecosystem release. The CLI surface (sync / remember / learn / init prepare / install-skills) is stable + unit-tested. The agent-side Hybrid variation quality depends on the host LLM following the `omd:init` skill prompt — please file issues with archived sessions if results disappoint.
82
+
83
+ ### What gets installed
84
+
85
+ | File | Owned by | Purpose |
86
+ |---|---|---|
87
+ | `DESIGN.md` | you | Single source of truth — brand & UI spec |
88
+ | `CLAUDE.md` | `omd sync` | Pointer (`@./DESIGN.md`) for Claude Code |
89
+ | `AGENTS.md` | `omd sync` | Pointer for Codex CLI **and** OpenCode (single file covers both) |
90
+ | `.cursor/rules/omd-design.mdc` | `omd sync` | Auto-attaches DESIGN.md when Cursor edits UI files |
91
+ | `.claude/skills/omd-*/SKILL.md` | `omd install-skills` | Claude Code skill bundle (5 skills) |
92
+ | `.codex/skills/omd-*/SKILL.md` | `omd install-skills` | Codex skill bundle (5 skills) |
93
+ | `.opencode/agents/omd-*.md` | `omd install-skills` | OpenCode agent bundle (5 agents) |
94
+ | `.omd/preferences.md` | `omd remember` | Append-only design correction log |
95
+ | `.omd/sync.lock.json` | `omd sync` | Drift detection state |
96
+
97
+ Shim and skill files use a `<!-- omd:start -->` marker so user edits outside the marker are preserved across `omd sync` runs.
98
+
99
+ ### The five skills
100
+
101
+ | Skill | Trigger | What it does |
102
+ |---|---|---|
103
+ | `omd:init` | "make me a DESIGN.md" / "set up brand" | Recommends a reference, asks for project description, generates a Hybrid variation that **preserves the reference's voice** while applying project-context deltas, writes DESIGN.md + shims |
104
+ | `omd:apply` | Any UI / styling / microcopy / motion task | Loads DESIGN.md + pending preferences as authoritative brand context, **auto-logs** any user correction it detects via `omd remember` |
105
+ | `omd:sync` | "shim drift" / "AGENTS.md sync" | Runs `omd sync` with appropriate flags |
106
+ | `omd:remember` | "remember that ..." / "we don't ..." | Appends a structured entry to `.omd/preferences.md` |
107
+ | `omd:learn` | "fold preferences into DESIGN.md" | Groups pending preferences by scope, proposes coherent DESIGN.md edits, flips status to applied |
108
+
109
+ Source: [`skills/`](skills/) in this repo. `omd install-skills` copies these into your project's agent directories.
110
+
111
+ ### CLI commands
112
+
113
+ ```
114
+ omd init recommend <description> # tag-stem-matched reference suggestions (top-5)
115
+ omd init prepare --ref <id> --description <text>
116
+ # stages .omd/init-context.json + delta_set
117
+ omd install-skills [--agent ...] # copy skills/* into .claude /.codex /.opencode
118
+ omd reference list # list bundled reference ids
119
+ omd reference show <id> # print a reference DESIGN.md to stdout
120
+ omd sync [--force | --check] # write or audit shim files
121
+ omd remember <note> [--scope ...] # append a preference entry
122
+ omd learn # list pending preferences
123
+ omd learn --mark-applied <id> # after applying to DESIGN.md
124
+ omd learn --mark-rejected <id> --reason <text>
125
+ ```
126
+
127
+ `omd sync --check` is CI-friendly: exit 1 if shims drifted or DESIGN.md changed without a follow-up sync.
128
+
129
+ ### What's deterministic vs. agent-driven
130
+
131
+ | Layer | Done by | Why |
132
+ |---|---|---|
133
+ | Reference recommendation | CLI (tag + stem match + category-prior + MMR-style diversity) | Fast, no API key. Category-prior boosts domain-aligned refs (e.g. Consumer for "marketplace / family / subscription"). |
134
+ | Token delta computation | CLI (controlled vocabulary of 41 keywords + ~75 synonyms, additive composition with clamp) | Deterministic; same description → same delta_set |
135
+ | Color hex shift baseline | CLI (`apply-delta-stub`) — **color-only** | Fast deterministic preview. Does NOT shift radius / letter-spacing / spacing — that's the agent's job. |
136
+ | Full token application + section structure preservation + voice rewrite | **Agent** (Claude Code / Codex / OpenCode) following `omd:init` skill | Stub is color-only; full delta application requires structured Markdown editing. The skill prompt enforces voice fingerprint preservation. |
137
+ | §11–13 (Brand Narrative / Principles / Personas) | **Agent + user input** (Phase 4.5) | Reference content is project-specific facts (founding year, verbatim taglines, real personas). The skill collects facts in Phase 4.5 or marks as `[FILL IN: …]` with `omd:limitation` comments — never fabricates. |
138
+
139
+ ### Status
140
+
141
+ This ecosystem is **v0.1.0** — the first agent-integration release. The CLI surface (sync / remember / learn / init prepare / install-skills) is stable and unit-tested (505 tests). The agent-side Hybrid variation quality depends on the host LLM following the `omd:init` skill prompt — see [`test/scenarios/WORKFLOWS.md`](test/scenarios/WORKFLOWS.md) for the verification map. Empirical results from real sessions are welcome — please file issues with archived `.omd/init-context.json` and the resulting `DESIGN.md`.
142
+
143
+ ## OmD v0.1 Philosophy Layer
144
+
145
+ The 6 sections OmD adds on top of Google Stitch's 9:
146
+
147
+ | Section | Purpose |
148
+ |---|---|
149
+ | **10. Voice & Tone** | Microcopy constraints — button labels, errors, onboarding |
150
+ | **11. Brand Narrative** | The "why" — what the brand rejects, what it's trying to move |
151
+ | **12. Principles** | 5–10 first-principles rules that break ties when tokens don't |
152
+ | **13. Personas** | 2–4 concrete users so agents ground output in real use cases |
153
+ | **14. States** | Empty / loading / error / skeleton patterns — prevents generic "No data found" |
154
+ | **15. Motion & Easing** | Named duration + easing tokens — the dimension Stitch's 9 sections miss |
155
+
156
+ **Ten references ship with a full Philosophy Layer today:**
157
+ Toss · Claude · Line · Stripe · Linear · Vercel · Notion · Airbnb · Apple · Figma — each with voice, narrative, principles, personas, states, and motion sourced against public references.
158
+
159
+ See [references/toss/DESIGN.md](references/toss/DESIGN.md) for a full OmD v0.1 example.
160
+
161
+ ## What's inside
162
+
163
+ - **Builder** — pick a reference, tune colors / radius / dark mode, select components, hit Export. The **Philosophy** filter isolates the 10 references with a full brand philosophy.
164
+ - **Design Systems Directory** ([oh-my-design.kr/design-systems](https://oh-my-design.kr/design-systems)) — 34 of the 67 references have a verified public design system or brand-guidelines page; the directory links straight out to each one with live thumbnails.
165
+ - **Personal Curation** ([oh-my-design.kr/curation](https://oh-my-design.kr/curation)) — a short MBTI-style quiz that maps your design personality to one of the 67 references and drops you straight into the builder with that reference preloaded.
166
+
167
+ ## 67 Supported References
168
+
169
+ | Category | Companies |
170
+ |----------|-----------|
171
+ | **AI & LLM** | Claude, Cohere, ElevenLabs, Minimax, Mistral AI, Ollama, OpenCode AI, Replicate, RunwayML, Together AI, VoltAgent, xAI |
172
+ | **Design Tools** | Airtable, Clay, Figma, Framer, Miro, Webflow |
173
+ | **Developer Tools** | Cursor, Expo, Lovable, Raycast, Superhuman, Vercel, Warp |
174
+ | **Productivity** | Cal.com, freee, Intercom, Linear, Mintlify, Notion, Resend, Zapier |
175
+ | **Consumer Tech** | Airbnb, Apple, Baemin, Dcard, IBM, Kakao, Karrot, LINE, Mercari, NVIDIA, Pinkoi, Pinterest, SpaceX, Spotify, Uber |
176
+ | **Fintech** | Coinbase, Kraken, Revolut, Stripe, Toss, Wise |
177
+ | **Backend & DevOps** | ClickHouse, Composio, Hashicorp, MongoDB, PostHog, Sanity, Sentry, Supabase |
178
+ | **Automotive** | BMW, Ferrari, Lamborghini, Renault, Tesla |
179
+ | **Marketing** | Semrush |
180
+
181
+ > Use the **country filter** in the builder to browse by region (Korea, Taiwan, Japan, France, Italy, Germany, UK, US).
182
+
183
+ ## Exported DESIGN.md
184
+
185
+ Follows the [Google Stitch DESIGN.md format](https://stitch.withgoogle.com/docs/design-md/overview/) — base sections 1–9, plus the OmD v0.1 Philosophy Layer (sections 10–15) when enabled:
186
+
187
+ **Base (Google Stitch)**
188
+ 1. Visual Theme & Atmosphere
189
+ 2. Color Palette & Roles
190
+ 3. Typography Rules
191
+ 4. Component Stylings
192
+ 5. Layout Principles
193
+ 6. Depth & Elevation
194
+ 7. Do's and Don'ts
195
+ 8. Responsive Behavior
196
+ 9. Agent Prompt Guide
197
+
198
+ **OmD v0.1 Philosophy Layer (additive)**
199
+
200
+ 10. Voice & Tone
201
+ 11. Brand Narrative
202
+ 12. Principles
203
+ 13. Personas
204
+ 14. States
205
+ 15. Motion & Easing
206
+
207
+ Plus: Style Preferences, Included Components, Iconography & SVG Guidelines, Document Policies.
208
+
209
+ ## Project Structure
210
+
211
+ ```
212
+ oh-my-design/
213
+ spec/ OmD v0.1 spec (authoritative)
214
+ .claude/skills/omd/ Claude Code skill bundle
215
+ references/ 67 company DESIGN.md files
216
+ src/ CLI core (TypeScript)
217
+ web/ Next.js web builder
218
+ src/app/ Landing + Builder + Directory pages
219
+ src/components/ Wizard, Preview, Export
220
+ test/ CLI Vitest suite (unit/, integration/, scripts/)
221
+ ```
222
+
223
+ Web tests are colocated next to source files (`web/src/**/*.test.ts`).
224
+
225
+ ## Testing
226
+
227
+ Two suites, both under Vitest, both must pass:
228
+
229
+ ```bash
230
+ npm test # CLI: 370 tests — unit + per-reference smoke
231
+ cd web && npm test # Web: 88 tests — generate-css, config-hash, survey
232
+ ```
233
+
234
+ The integration suite (`test/integration/all-references.test.ts`) runs the full generation pipeline against every `references/<id>/DESIGN.md`, so a malformed reference surfaces as a per-ref failure in PR review. See [test/README.md](test/README.md) for the folder convention and module-by-module coverage map.
235
+
236
+ ## Acknowledgments
237
+
238
+ - [VoltAgent/awesome-design-md](https://github.com/VoltAgent/awesome-design-md) — the upstream collection of DESIGN.md files that seeded this project.
239
+ - [kzhrknt/awesome-design-md-jp](https://github.com/kzhrknt/awesome-design-md-jp) — Japanese-market design-system references.
240
+
241
+ oh-my-design extends these collections with an interactive customization wizard, A/B style preferences, component selection, a Design Systems directory, and a CLI export pipeline.
242
+
243
+ ## License
244
+
245
+ [MIT](LICENSE)
@@ -0,0 +1,145 @@
1
+ <p align="center">
2
+ <img src="logo-bg.png" width="480" alt="oh-my-design" />
3
+ </p>
4
+
5
+ <h1 align="center">oh-my-design</h1>
6
+
7
+ <p align="center">
8
+ <strong>從 67 家真實企業的設計系統生成 DESIGN.md。</strong>互動式精靈。零 AI 呼叫。
9
+ </p>
10
+
11
+ <p align="center">
12
+ <strong>新增 OmD v0.1 Philosophy Layer。</strong>Voice・Narrative・Principles・Personas・States・Motion — 讓 Claude Code 輸出你的品牌,而不是 AI 的預設值。
13
+ </p>
14
+
15
+ <p align="center">
16
+ <a href="LICENSE"><img src="https://img.shields.io/github/license/kwakseongjae/oh-my-design?style=flat-square" alt="License" /></a>
17
+ <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>
18
+ <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="PRs Welcome" />
19
+ <img src="https://img.shields.io/badge/AI%20calls-zero-blue?style=flat-square" alt="Zero AI" />
20
+ <img src="https://img.shields.io/badge/references-67-7c5cfc?style=flat-square" alt="67 References" />
21
+ </p>
22
+
23
+ <p align="center">
24
+ 繁體中文 | <a href="README.md">English</a> | <a href="README.ko.md">한국어</a> | <a href="README.ja.md">日本語</a>
25
+ </p>
26
+
27
+ ---
28
+
29
+ ## 什麼是 oh-my-design?
30
+
31
+ **oh-my-design (OmD)** 是一份開放規範,為 AI 編碼代理提供「足以產出品牌級 UI」的品牌脈絡,而不是依賴 AI 的統計預設值。
32
+
33
+ [Google 提出的](https://stitch.withgoogle.com/docs/design-md/overview/) `DESIGN.md` 本質上是**令牌文件** — 色彩、字體、元件。必要,但不夠。只靠令牌產 UI,形狀看似合理,卻「不像任何品牌」,會收斂到 AI 的預設:Inter-on-white、紫色漸層、毫無緣由的 emoji。OmD v0.1 在其上疊加**品牌哲學層**:**Voice・Narrative・Principles・Personas・States・Motion**。將 OmD 格式的 `DESIGN.md` 放在專案根目錄,代理的輸出就不再通用,而是「你的」。
34
+
35
+ 三個組成部分:
36
+
37
+ 1. **[規範](spec/omd-v0.1.md)** — 版本化的 Google Stitch 擴充,MIT 授權。
38
+ 2. **[Claude Code skill](.claude/skills/omd/SKILL.md)** — 將規範作為硬性約束自動套用。
39
+ 3. **[67 個參考檔案](references/)** — 真實企業的 `DESIGN.md`,可以 fork、透過 builder 客製化後直接上線。
40
+
41
+ **無須 API 金鑰。零 AI 呼叫。全部在客戶端執行。**
42
+
43
+ ## OmD v0.1 Philosophy Layer
44
+
45
+ OmD 在 Google Stitch 的 9 個章節之上再加的 6 個章節:
46
+
47
+ | 章節 | 用途 |
48
+ |---|---|
49
+ | **10. Voice & Tone** | 微文案約束 — 按鈕文字、錯誤訊息、導引流程 |
50
+ | **11. Brand Narrative** | 「為什麼」 — 品牌拒絕什麼、試圖撼動哪個類別 |
51
+ | **12. Principles** | 令牌無法裁決時用來拍板的 5〜10 條第一性原理 |
52
+ | **13. Personas** | 2〜4 位具體使用者,讓代理輸出扎根於實際情境 |
53
+ | **14. States** | Empty / loading / error / skeleton 模式 — 避免通用的「無資料」 |
54
+ | **15. Motion & Easing** | 命名的 duration + easing 令牌 — Stitch 9 章節遺漏的維度 |
55
+
56
+ **目前已有 10 個參考附帶完整的 Philosophy Layer:**
57
+ Toss · Claude · Line · Stripe · Linear · Vercel · Notion · Airbnb · Apple · Figma — 每個都包含 voice、narrative、principles、personas、states、motion,全部基於公開來源撰寫。
58
+
59
+ 完整 OmD v0.1 範例請見 [references/toss/DESIGN.md](references/toss/DESIGN.md)。
60
+
61
+ ## 主要功能
62
+
63
+ - **Builder** — 選擇參考、調整色彩 / radius / 深色模式、挑選元件,然後按下 Export。透過 **Philosophy** 篩選可以只顯示具備完整品牌哲學的 10 個參考。
64
+ - **Design Systems 目錄** ([oh-my-design.kr/design-systems](https://oh-my-design.kr/design-systems)) — 67 個參考中有 34 個擁有官方設計系統或品牌指南頁面,可從目錄配合即時縮圖直接前往。
65
+ - **Personal Curation** ([oh-my-design.kr/curation](https://oh-my-design.kr/curation)) — 透過 MBTI 風格的簡短測驗,將你的設計偏好對應到 67 個參考之一,並直接帶你進入已預選該參考的 Builder。
66
+
67
+ ## 67 個支援的參考
68
+
69
+ | 類別 | 企業 |
70
+ |------|------|
71
+ | **AI & LLM** | Claude, Cohere, ElevenLabs, Minimax, Mistral AI, Ollama, OpenCode AI, Replicate, RunwayML, Together AI, VoltAgent, xAI |
72
+ | **設計工具** | Airtable, Clay, Figma, Framer, Miro, Webflow |
73
+ | **開發者工具** | Cursor, Expo, Lovable, Raycast, Superhuman, Vercel, Warp |
74
+ | **生產力** | Cal.com, freee, Intercom, Linear, Mintlify, Notion, Resend, Zapier |
75
+ | **消費科技** | Airbnb, Apple, Baemin, Dcard, IBM, Kakao, Karrot, LINE, Mercari, NVIDIA, Pinkoi, Pinterest, SpaceX, Spotify, Uber |
76
+ | **金融科技** | Coinbase, Kraken, Revolut, Stripe, Toss, Wise |
77
+ | **後端 & DevOps** | ClickHouse, Composio, Hashicorp, MongoDB, PostHog, Sanity, Sentry, Supabase |
78
+ | **汽車** | BMW, Ferrari, Lamborghini, Renault, Tesla |
79
+ | **行銷** | Semrush |
80
+
81
+ > 使用 Builder 中的**國家篩選器**按地區瀏覽 (韓國、台灣、日本、法國、義大利、德國、英國、美國)。
82
+
83
+ ## 匯出的 DESIGN.md
84
+
85
+ 以 [Google Stitch DESIGN.md 格式](https://stitch.withgoogle.com/docs/design-md/overview/)為基礎 — 1〜9 章節,加上選用的 OmD v0.1 Philosophy Layer(10〜15 章節):
86
+
87
+ **基礎 (Google Stitch)**
88
+ 1. Visual Theme & Atmosphere
89
+ 2. Color Palette & Roles
90
+ 3. Typography Rules
91
+ 4. Component Stylings
92
+ 5. Layout Principles
93
+ 6. Depth & Elevation
94
+ 7. Do's and Don'ts
95
+ 8. Responsive Behavior
96
+ 9. Agent Prompt Guide
97
+
98
+ **OmD v0.1 Philosophy Layer (附加)**
99
+
100
+ 10. Voice & Tone
101
+ 11. Brand Narrative
102
+ 12. Principles
103
+ 13. Personas
104
+ 14. States
105
+ 15. Motion & Easing
106
+
107
+ 另加:Style Preferences、Included Components、Iconography & SVG Guidelines、Document Policies。
108
+
109
+ ## 專案結構
110
+
111
+ ```
112
+ oh-my-design/
113
+ spec/ OmD v0.1 規範 (正本)
114
+ .claude/skills/omd/ Claude Code skill 包
115
+ references/ 67 家企業的 DESIGN.md 檔案
116
+ src/ CLI 核心 (TypeScript)
117
+ web/ Next.js 網頁 builder
118
+ src/app/ Landing + Builder + Directory 頁面
119
+ src/components/ Wizard、Preview、Export
120
+ test/ CLI Vitest 套件 (unit/、integration/、scripts/)
121
+ ```
122
+
123
+ Web 測試與原始碼並列存放 (`web/src/**/*.test.ts`)。
124
+
125
+ ## 測試
126
+
127
+ 兩套測試套件,皆以 Vitest 執行,兩套都必須通過:
128
+
129
+ ```bash
130
+ npm test # CLI:370 個測試 — unit + 全 reference smoke
131
+ cd web && npm test # Web:88 個測試 — generate-css、config-hash、survey
132
+ ```
133
+
134
+ 整合套件 (`test/integration/all-references.test.ts`) 會對每個 `references/<id>/DESIGN.md` 執行完整的生成管線,因此損壞的 reference 會在 PR 審查時以單一 reference 的失敗形式呈現。資料夾規範與模組別覆蓋率對照表請參考 [test/README.md](test/README.md)。
135
+
136
+ ## 致謝
137
+
138
+ - [VoltAgent/awesome-design-md](https://github.com/VoltAgent/awesome-design-md) — 啟動本專案的上游 DESIGN.md 集合。
139
+ - [kzhrknt/awesome-design-md-jp](https://github.com/kzhrknt/awesome-design-md-jp) — 日本市場的設計系統參考。
140
+
141
+ oh-my-design 在這些集合的基礎上加入了互動式客製化精靈、A/B 風格偏好、元件選擇、Design Systems 目錄與 CLI 匯出管線。
142
+
143
+ ## 授權
144
+
145
+ [MIT](LICENSE)
@@ -0,0 +1,104 @@
1
+ # Reference Tags
2
+
3
+ Use this table to match user descriptions to reference candidates. Pick 3-6 references whose keywords best align with what the user described.
4
+
5
+ ## Matching Strategy
6
+
7
+ 1. Extract key signals from user conversation: project type, mood adjectives, color preferences, target audience
8
+ 2. Match against keywords below
9
+ 3. Prioritize references that match multiple signals
10
+ 4. Include at least one "safe" reference (vercel, linear.app, notion) if uncertain
11
+
12
+ ## Reference Characteristics
13
+
14
+ | id | color | category | keywords |
15
+ |---|---|---|---|
16
+ | airbnb | #ff385c | Consumer | warm, inviting, tactile, approachable, cozy, marketplace |
17
+ | airtable | #1b61c9 | Design Tools | clean, sophisticated, precise, structured, enterprise |
18
+ | apple | #0071e3 | Consumer | reductive, precise, cinematic, premium, confident, minimal |
19
+ | baemin | #2AC1BC | Consumer | playful, warm, irreverent, appetizing, friendly, cultural, korean, food-delivery |
20
+ | bmw | #1c69d4 | Automotive | precise, angular, industrial, authoritative, engineered |
21
+ | cal | #242424 | Productivity | monochrome, bold, architectural, restrained, confident |
22
+ | claude | #c96442 | AI | warm, intellectual, editorial, literary, earthy, trustworthy |
23
+ | clay | #000000 | Design Tools | playful, artisanal, quirky, warm, delightful, craft |
24
+ | clickhouse | #faff69 | Backend | aggressive, high-contrast, electrifying, powerful, fast, neon |
25
+ | cohere | #1863dc | AI | confident, professional, restrained, enterprise, sophisticated |
26
+ | coinbase | #0052ff | Fintech | clean, trustworthy, financial, professional, blue |
27
+ | composio | #0007cd | Backend | dark, developer-focused, bioluminescent, minimal, authoritative |
28
+ | cursor | #f54e00 | Developer | warm, crafted, typographically-rich, organic, editorial |
29
+ | dcard | #00324e | Consumer | social, forum, community, material-design, deep-navy, blue, taiwanese, anonymous, youth, magazine-like |
30
+ | elevenlabs | #000000 | AI | elegant, restrained, ethereal, premium, airy, audio |
31
+ | expo | #000000 | Developer | luminous, airy, monochromatic, premium, friendly, approachable |
32
+ | ferrari | #DA291C | Automotive | editorial, cinematic, restrained, luxurious, precise, red |
33
+ | freee | #285ac8 | Productivity | enterprise, blue, structured, semantic-tokens, japanese, saas, accounting, calm |
34
+ | figma | #000000 | Design Tools | sophisticated, organic, precise, creative, black-white |
35
+ | framer | #0099ff | Design Tools | cinematic, dark, seductive, precise, product-forward |
36
+ | hashicorp | #000000 | Backend | enterprise, systematic, authoritative, token-driven, structured |
37
+ | ibm | #0f62fe | Consumer | methodical, corporate, precise, engineered, systematic |
38
+ | intercom | #ff5600 | Productivity | warm, confident, editorial, industrial, customer-service |
39
+ | kakao | #FEE500 | Consumer | warm, friendly, functional, personal, sunshine, yellow, korean, messaging, super-app |
40
+ | karrot | #ff6600 | Consumer | warm, approachable, trustworthy, local, energetic, orange, korean, marketplace |
41
+ | kraken | #7132f5 | Fintech | clean, professional, trustworthy, purple, confident, crypto |
42
+ | lamborghini | #FFC000 | Automotive | dark, theatrical, intimidating, nocturnal, luxurious, gold |
43
+ | line | #07b53b | Consumer | green, pill-buttons, editorial, lifestyle, japanese, friendly, oversized-typography |
44
+ | linear.app | #5e6ad2 | Productivity | precise, dark, engineered, calibrated, minimal, purple |
45
+ | lovable | #1c1c1c | Developer | warm, approachable, analog, humanist, parchment |
46
+ | minimax | #1456f0 | AI | clean, airy, approachable, colorful, product-forward |
47
+ | mintlify | #18E299 | Productivity | calm, confident, legible, fresh, airy, clean, docs, green |
48
+ | mercari | #ff333f | Consumer | red, marketplace, japanese, semantic-tokens, dense, commerce, mature |
49
+ | miro | #5b76fe | Design Tools | clean, collaborative, pastel, geometric, visual |
50
+ | mistral.ai | #fa520f | AI | warm, bold, maximalist, golden, European, declarative |
51
+ | mongodb | #00ed64 | Backend | dark, organic, editorial, bioluminescent, forest, electric, green |
52
+ | notion | #0075de | Productivity | warm, approachable, tactile, analog, understated, minimal |
53
+ | nvidia | #76b900 | Consumer | industrial, engineering, high-contrast, disciplined, sharp |
54
+ | ollama | #000000 | AI | minimal, grayscale, soft, approachable, rounded |
55
+ | opencode.ai | #201d1d | AI | terminal, warm, monospace, utilitarian, developer-focused |
56
+ | pinkoi | #f16c5d | Consumer | dense, multi-cultural, marketplace, asian, handcrafted, coral, locale-aware, commerce, bold-headings |
57
+ | pinterest | #e60023 | Consumer | warm, cozy, craft-like, personal, inviting, handcrafted, red |
58
+ | posthog | #F54E00 | Backend | irreverent, earthy, anti-corporate, playful, warm |
59
+ | raycast | #FF6363 | Developer | dark, precise, macOS-native, trustworthy, fast, premium |
60
+ | renault | #EFDF00 | Automotive | vibrant, energized, bold, French, forward-leaning |
61
+ | replicate | #ea2804 | AI | bold, playful, energetic, high-contrast, community |
62
+ | resend | #000000 | Productivity | cinematic, theatrical, premium, crystalline, precise, dark |
63
+ | revolut | #494fdf | Fintech | confident, bold, restrained, premium, financial |
64
+ | runwayml | #000000 | AI | cinematic, editorial, visual, dark, film |
65
+ | sanity | #f36458 | Backend | dark, precise, structured, achromatic, disciplined |
66
+ | sentry | #6a5fc1 | Backend | dark, vibrant, irreverent, technical, warm-purple |
67
+ | spacex | #000000 | Consumer | cinematic, minimal, aerospace, industrial, immersive |
68
+ | spotify | #1ed760 | Consumer | dark, immersive, content-first, tactile, rounded, green |
69
+ | stripe | #533afd | Fintech | luxurious, precise, warm, premium, financial, refined, purple |
70
+ | supabase | #3ecf8e | Backend | dark, developer, open-source, sophisticated, terminal, green |
71
+ | superhuman | #cbb7fb | Developer | luxurious, clean, confident, restrained, premium, lavender |
72
+ | tesla | #3E6AE1 | Automotive | minimal, cinematic, restrained, product-forward, clean |
73
+ | together.ai | #ef2cc1 | AI | soft, airy, optimistic, pastel, light, gradient, pink |
74
+ | toss | #3182f6 | Fintech | calm, confident, simple, trustworthy, optimistic, korean, banking |
75
+ | uber | #000000 | Consumer | bold, confident, minimal, efficient, direct, black |
76
+ | vercel | #171717 | Developer | restrained, compressed, engineered, minimal, philosophical |
77
+ | voltagent | #00d992 | Backend | dark, electric, focused, developer, cockpit, engineering |
78
+ | warp | #faf9f6 | Developer | warm, earthy, restrained, approachable, calm |
79
+ | webflow | #146ef5 | Design Tools | clean, rich, confident, tool-forward, precise, blue |
80
+ | wise | #9fe870 | Fintech | bold, fresh, optimistic, nature-inspired, lime, green |
81
+ | x.ai | #ffffff | AI | brutalist, dark, minimal, terminal, engineering, restrained |
82
+ | zapier | #ff4f00 | Productivity | warm, approachable, professional, organic, energetic, orange |
83
+
84
+ ## Shortcut Mappings
85
+
86
+ Common user descriptions → recommended references:
87
+
88
+ - "깔끔, 모던, 미니멀" → vercel, linear.app, cal, tesla, apple
89
+ - "따뜻한, 친근한" → airbnb, notion, warp, lovable, claude
90
+ - "다크모드, 개발자" → linear.app, raycast, supabase, composio, framer
91
+ - "대시보드, 데이터" → linear.app, posthog, clickhouse, sentry
92
+ - "이커머스, 마켓플레이스" → airbnb, karrot, pinterest, shopify
93
+ - "핀테크, 금융" → stripe, toss, coinbase, revolut, wise
94
+ - "SaaS, B2B" → vercel, notion, intercom, hashicorp, cohere
95
+ - "크리에이티브, 디자인" → figma, framer, clay, replicate, miro
96
+ - "럭셔리, 프리미엄" → apple, stripe, superhuman, ferrari, resend
97
+ - "AI, LLM 서비스" → claude, cohere, mistral.ai, together.ai, x.ai
98
+ - "한국 서비스" → toss, karrot, baemin, kakao
99
+ - "대만 서비스" → pinkoi, dcard
100
+ - "일본 서비스" → line, mercari, freee
101
+ - "아시아 커머스, 디자이너 마켓" → pinkoi, airbnb, karrot, pinterest
102
+ - "포럼, 커뮤니티" → dcard, intercom, posthog
103
+ - "문서, 블로그" → mintlify, notion, cal, warp
104
+ - "대담한, 에너지" → clickhouse, wise, replicate, mistral.ai, renault
@@ -0,0 +1,79 @@
1
+ {
2
+ "version": 1,
3
+ "map": {
4
+ "modern": "minimal",
5
+ "clean": "minimal",
6
+ "simple": "minimal",
7
+ "sleek": "minimal",
8
+ "refined": "elegant",
9
+ "sophisticated": "elegant",
10
+ "fancy": "elegant",
11
+ "upscale": "luxurious",
12
+ "high-end": "luxurious",
13
+ "premium-tier": "luxurious",
14
+ "fun": "playful",
15
+ "cheerful": "playful",
16
+ "whimsical": "playful",
17
+ "quirky": "indie",
18
+ "vibey": "indie",
19
+ "vibrant": "energetic",
20
+ "lively": "energetic",
21
+ "snappy": "energetic",
22
+ "fast": "energetic",
23
+ "quiet": "calm",
24
+ "peaceful": "calm",
25
+ "zen": "calm",
26
+ "meditative": "calm",
27
+ "relaxed": "calm",
28
+ "stuffy": "formal",
29
+ "stiff": "formal",
30
+ "buttoned-up": "formal",
31
+ "professional": "corporate",
32
+ "suits": "corporate",
33
+ "boardroom": "corporate",
34
+ "startup": "indie",
35
+ "scrappy": "indie",
36
+ "boutique": "indie",
37
+ "b2b": "enterprise",
38
+ "saas": "enterprise",
39
+ "ops": "enterprise",
40
+ "devtools": "technical",
41
+ "developer": "technical",
42
+ "engineer": "technical",
43
+ "code": "technical",
44
+ "api": "technical",
45
+ "arcade": "playful",
46
+ "cartoon": "playful",
47
+ "chunky": "bold",
48
+ "punchy": "bold",
49
+ "strong": "bold",
50
+ "heavy": "bold",
51
+ "gentle": "soft",
52
+ "tender": "soft",
53
+ "delicate": "soft",
54
+ "cozy": "warm",
55
+ "inviting": "warm",
56
+ "homey": "warm",
57
+ "welcoming": "approachable",
58
+ "natural": "organic",
59
+ "earthy": "organic",
60
+ "crafted": "handcrafted",
61
+ "artisanal": "handcrafted",
62
+ "sharp": "geometric",
63
+ "angular": "geometric",
64
+ "raw": "brutalist",
65
+ "harsh": "brutalist",
66
+ "tough": "rugged",
67
+ "outdoor": "rugged",
68
+ "honest": "trustworthy",
69
+ "reliable": "trustworthy",
70
+ "credible": "trustworthy",
71
+ "dense-ui": "dense",
72
+ "data-dense": "dense",
73
+ "airy-layout": "airy",
74
+ "roomy": "spacious",
75
+ "breathing-room": "spacious",
76
+ "packed": "compact",
77
+ "tight": "compact"
78
+ }
79
+ }