oh-my-design-cli 1.0.2 → 1.2.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 (117) hide show
  1. package/README.ja.md +7 -7
  2. package/README.ko.md +7 -7
  3. package/README.md +15 -18
  4. package/README.zh-TW.md +7 -7
  5. package/agents/omd-ux-writer.md +1 -1
  6. package/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +189 -0
  7. package/data/reference-audits/2026-05-13-kr10.md +132 -0
  8. package/data/reference-fingerprints.json +626 -3
  9. package/data/reference-tags.md +15 -1
  10. package/package.json +2 -2
  11. package/skills/omd-apply/SKILL.md +1 -1
  12. package/skills/omd-harness/SKILL.md +3 -3
  13. package/skills/omd-init/SKILL.md +2 -2
  14. package/web/AGENTS.md +5 -0
  15. package/web/references/29cm/DESIGN.md +445 -0
  16. package/web/references/ably/DESIGN.md +582 -0
  17. package/{references → web/references}/airbnb/DESIGN.md +158 -19
  18. package/web/references/airtable/DESIGN.md +241 -0
  19. package/{references → web/references}/apple/DESIGN.md +131 -76
  20. package/web/references/baemin/DESIGN.md +470 -0
  21. package/web/references/banksalad/DESIGN.md +606 -0
  22. package/{references → web/references}/bmw/DESIGN.md +138 -9
  23. package/{references → web/references}/cal/DESIGN.md +173 -17
  24. package/{references → web/references}/claude/DESIGN.md +11 -1
  25. package/{references → web/references}/clay/DESIGN.md +75 -0
  26. package/{references → web/references}/clickhouse/DESIGN.md +74 -0
  27. package/{references → web/references}/cohere/DESIGN.md +75 -0
  28. package/web/references/coinbase/DESIGN.md +205 -0
  29. package/{references → web/references}/composio/DESIGN.md +74 -0
  30. package/web/references/coupang/DESIGN.md +487 -0
  31. package/{references → web/references}/cursor/DESIGN.md +74 -0
  32. package/web/references/dcard/DESIGN.md +567 -0
  33. package/{references → web/references}/elevenlabs/DESIGN.md +91 -0
  34. package/{references → web/references}/expo/DESIGN.md +72 -0
  35. package/{references → web/references}/ferrari/DESIGN.md +72 -0
  36. package/{references → web/references}/figma/DESIGN.md +124 -48
  37. package/{references → web/references}/framer/DESIGN.md +143 -16
  38. package/web/references/freee/DESIGN.md +558 -0
  39. package/web/references/gangnamunni/DESIGN.md +605 -0
  40. package/{references → web/references}/hashicorp/DESIGN.md +72 -0
  41. package/{references → web/references}/ibm/DESIGN.md +68 -0
  42. package/{references → web/references}/intercom/DESIGN.md +73 -0
  43. package/web/references/kakao/DESIGN.md +490 -0
  44. package/web/references/kakaobank/DESIGN.md +533 -0
  45. package/web/references/kakaopay/DESIGN.md +529 -0
  46. package/web/references/karrot/DESIGN.md +431 -0
  47. package/web/references/kraken/DESIGN.md +219 -0
  48. package/web/references/krds/DESIGN.md +982 -0
  49. package/web/references/kurly/DESIGN.md +574 -0
  50. package/{references → web/references}/lamborghini/DESIGN.md +74 -0
  51. package/{references → web/references}/line/DESIGN.md +84 -43
  52. package/{references → web/references}/linear.app/DESIGN.md +8 -1
  53. package/{references → web/references}/lovable/DESIGN.md +73 -0
  54. package/web/references/mercari/DESIGN.md +464 -0
  55. package/{references → web/references}/minimax/DESIGN.md +72 -0
  56. package/{references → web/references}/mintlify/DESIGN.md +72 -0
  57. package/web/references/miro/DESIGN.md +252 -0
  58. package/{references → web/references}/mistral.ai/DESIGN.md +72 -0
  59. package/{references → web/references}/mongodb/DESIGN.md +72 -0
  60. package/web/references/musinsa/DESIGN.md +536 -0
  61. package/web/references/naver/DESIGN.md +518 -0
  62. package/{references → web/references}/notion/DESIGN.md +9 -1
  63. package/web/references/nvidia/DESIGN.md +491 -0
  64. package/web/references/ohouse/DESIGN.md +570 -0
  65. package/{references → web/references}/ollama/DESIGN.md +72 -0
  66. package/{references → web/references}/opencode.ai/DESIGN.md +73 -0
  67. package/web/references/pinkoi/DESIGN.md +575 -0
  68. package/{references → web/references}/pinterest/DESIGN.md +73 -0
  69. package/{references → web/references}/posthog/DESIGN.md +172 -18
  70. package/web/references/qanda/DESIGN.md +459 -0
  71. package/{references → web/references}/raycast/DESIGN.md +169 -34
  72. package/web/references/remember/DESIGN.md +445 -0
  73. package/{references → web/references}/renault/DESIGN.md +72 -0
  74. package/{references → web/references}/replicate/DESIGN.md +73 -0
  75. package/{references → web/references}/resend/DESIGN.md +73 -0
  76. package/{references → web/references}/revolut/DESIGN.md +74 -0
  77. package/web/references/ridi/DESIGN.md +517 -0
  78. package/{references → web/references}/runwayml/DESIGN.md +152 -24
  79. package/{references → web/references}/sanity/DESIGN.md +72 -0
  80. package/{references → web/references}/sentry/DESIGN.md +73 -0
  81. package/web/references/socar/DESIGN.md +370 -0
  82. package/web/references/spacex/DESIGN.md +379 -0
  83. package/web/references/spotify/DESIGN.md +426 -0
  84. package/{references → web/references}/stripe/DESIGN.md +44 -1
  85. package/{references → web/references}/supabase/DESIGN.md +73 -0
  86. package/{references → web/references}/superhuman/DESIGN.md +159 -17
  87. package/{references → web/references}/tesla/DESIGN.md +170 -0
  88. package/{references → web/references}/together.ai/DESIGN.md +73 -0
  89. package/{references → web/references}/toss/DESIGN.md +304 -50
  90. package/{references → web/references}/uber/DESIGN.md +73 -0
  91. package/{references → web/references}/vercel/DESIGN.md +9 -1
  92. package/{references → web/references}/voltagent/DESIGN.md +73 -0
  93. package/web/references/wanted/DESIGN.md +515 -0
  94. package/{references → web/references}/warp/DESIGN.md +142 -15
  95. package/web/references/webflow/DESIGN.md +253 -0
  96. package/{references → web/references}/wise/DESIGN.md +84 -0
  97. package/{references → web/references}/x.ai/DESIGN.md +85 -0
  98. package/web/references/yanolja/DESIGN.md +448 -0
  99. package/web/references/yeogiotte/DESIGN.md +424 -0
  100. package/{references → web/references}/zapier/DESIGN.md +85 -0
  101. package/web/references/zigbang/DESIGN.md +457 -0
  102. package/web/references/zigzag/DESIGN.md +618 -0
  103. package/references/airtable/DESIGN.md +0 -107
  104. package/references/baemin/DESIGN.md +0 -260
  105. package/references/coinbase/DESIGN.md +0 -129
  106. package/references/dcard/DESIGN.md +0 -302
  107. package/references/freee/DESIGN.md +0 -308
  108. package/references/kakao/DESIGN.md +0 -261
  109. package/references/karrot/DESIGN.md +0 -252
  110. package/references/kraken/DESIGN.md +0 -146
  111. package/references/mercari/DESIGN.md +0 -294
  112. package/references/miro/DESIGN.md +0 -108
  113. package/references/nvidia/DESIGN.md +0 -308
  114. package/references/pinkoi/DESIGN.md +0 -309
  115. package/references/spacex/DESIGN.md +0 -205
  116. package/references/spotify/DESIGN.md +0 -246
  117. package/references/webflow/DESIGN.md +0 -109
@@ -301,3 +301,76 @@ What makes Resend distinctive is its icy, blue-tinted border system. Instead of
301
301
  5. Multi-color accents at low opacity (12–42%) for backgrounds, full opacity for text
302
302
  6. Pill shape (9999px) for CTAs and badges, standard radius (4px–16px) for containers
303
303
  7. No shadows — use frost borders for depth against the void
304
+
305
+ ## 10. Voice & Tone
306
+
307
+ Resend's voice is **dev-focused-elegant and API-first.** "Email for developers" — concise, capability-driven. Dark void canvas + frost-border depth signal "premium developer tool."
308
+
309
+ | Context | Tone |
310
+ |---|---|
311
+ | CTA | Verb. "Get started", "Try it now", "Sign up" |
312
+ | Marketing | API-first. Code snippets dominant in marketing |
313
+ | Documentation | Code-first, framework-specific examples |
314
+ | Error | Specific. "Invalid API key. Generate new one in Settings." |
315
+
316
+ **Voice samples**
317
+ - Tagline: *"Email for developers"* <!-- verified: resend.com homepage 2026-05 -->
318
+ - Recurring promo: *"Announcing Resend Forward"* <!-- verified: resend.com homepage 2026-05 -->
319
+
320
+ **Forbidden phrases.** "Revolutionary email API". Aggressive SendGrid-comparison framing.
321
+
322
+ ## 11. Brand Narrative
323
+
324
+ Resend was incorporated **January 2023** (open-source `react.email` predecessor launched 2022) by **Bu Kinoshita** and **Zeno Rocha** ([Resend — How we got here](https://resend.com/handbook/company/how-we-got-here), [Y Combinator — Resend](https://www.ycombinator.com/companies/resend)). The pair launched **react.email** in 2022 because they were frustrated by how difficult it was to build modern email templates that worked across all email clients — that OSS distribution lever became the founder-edge for the commercial Resend product. They **immediately quit their jobs and moved to San Francisco** to join **Y Combinator's Winter 2023 (W23)** batch — **Launch HN: Resend (YC W23)** thread is publicly archived ([Hacker News — Launch HN: Resend](https://news.ycombinator.com/item?id=36309120)). After YC: **$3M seed round** ([Y Combinator/TechCrunch — Resend $3M](https://www.linkedin.com/posts/y-combinator_developer-focused-email-platform-resend-raises-activity-7087087056081866753-GaNB)). Modern email API positioned for developers — React Email components + clean DX. Strong YC + community adoption among indie SaaS builders. The brand voice tracks this positioning: minimal chrome, dark canvas, premium-developer aesthetic.
325
+
326
+ ## 12. Principles
327
+
328
+ 1. **Code is the marketing.** *UI implication:* hero shows real API code, never marketing illustration.
329
+ 2. **No shadows, frost borders.** *UI implication:* depth via translucent borders against dark void.
330
+ 3. **Pill (9999px) for CTAs and badges.** *UI implication:* primary actions pill-shaped.
331
+ 4. **Standard radius (4-16px) for containers.** *UI implication:* mixed radius is intentional.
332
+ 5. **React Email is the OSS hook.** *UI implication:* surfaces lead with React Email examples.
333
+
334
+ ## 13. Personas
335
+
336
+ *Personas are fictional archetypes informed by Resend user segments (indie SaaS founders, transactional email engineers, dev-tooling buyers), not individual people.*
337
+
338
+ **Sofia Russo, 30, Milan.** Indie SaaS founder shipping authentication emails. React Email + Resend for clean DX.
339
+
340
+ **Marcus Chen, 38, San Francisco.** Senior engineer migrating from SendGrid. Cares about deliverability + simple API.
341
+
342
+ **Priya Krishnan, 27, Bengaluru.** YC startup building B2B SaaS. Resend as the only email service their team uses.
343
+
344
+ ## 14. States
345
+
346
+ | State | Treatment |
347
+ |---|---|
348
+ | **Empty (no domains)** | "Add your first domain" CTA + DNS setup |
349
+ | **Empty (no API keys)** | "Generate first API key" CTA |
350
+ | **Loading (sending)** | Per-email status visible |
351
+ | **Loading (DNS verifying)** | Persistent badge with check button |
352
+ | **Error (DNS not verified)** | Specific record + value to add |
353
+ | **Error (rate limit)** | Tier limit + upgrade |
354
+ | **Success (sent)** | Implicit; appears in dashboard |
355
+ | **Success (domain verified)** | Subtle confirmation |
356
+ | **Skeleton (email log)** | Frost-border placeholders |
357
+ | **Disabled (no plan)** | Upgrade link |
358
+ | **Loading (long batch)** | Persistent progress |
359
+
360
+ ## 15. Motion & Easing
361
+
362
+ | Token | Value | Use |
363
+ |---|---|---|
364
+ | `motion-instant` | 0ms | Selection |
365
+ | `motion-fast` | 150ms | Hover |
366
+ | `motion-standard` | 250ms | Modal, panel |
367
+
368
+ Standard cubic-bezier; no bounce — premium register. `prefers-reduced-motion: reduce` removes hover transitions.
369
+
370
+ ---
371
+
372
+ **Verified:** 2026-05-08 (omd:migrate run 50 — Apple-tier)
373
+ **Tier 1 sources:** resend.com home + /pricing (live DOM via playwright — **Primary `#00a3ff` Resend Blue 4px** / 41px / 12×20 / 14px·**600** + Tab pill `rgba(24,25,28,0.88)` Charcoal-translucent 16px (pricing tab active) + Announcement banner 9999px translucent blue (top promo) + Outline ghost 16px + Mid-Gray `#a1a4a5` nav text).
374
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
375
+ **Tier 2 (Philosophy/founders):** Resend handbook (How we got here), Y Combinator (Resend W23), Hacker News (Launch HN W23), LinkedIn (YC TechCrunch $3M post), No Cap Blog (Rocha), Mintlify customer story.
376
+ **Style ref:** `stripe`. **Conflicts unresolved:** none. **Earlier mistake reverted (significant):** prior footer captured 16px tab/ghost variants only — canonical Primary is `#00a3ff` **Resend Blue 4px** (the brand-defining color, missed entirely). §4 material correction.
@@ -183,3 +183,77 @@ What distinguishes Revolut is its pill-everything button system. Every button us
183
183
  2. All buttons are pills (9999px) with generous padding
184
184
  3. Zero shadows — flat is the Revolut identity
185
185
  4. Near-black + white for marketing, semantic colors for product
186
+
187
+ ## 10. Voice & Tone
188
+
189
+ Revolut's voice is **fintech-bold and segment-aware.** "Banking & Beyond" — confident, multi-segment positioning (Personal / Business / Kids & Teens). Pill chrome (9999px) signals "modern fintech" while flat-no-shadow design signals "no-nonsense banking."
190
+
191
+ | Context | Tone |
192
+ |---|---|
193
+ | CTA | Verb. "Get started", "Try Revolut", "Sign up" |
194
+ | Marketing | Segment-targeted. Personal vs Business vs Teens copy distinct |
195
+ | Onboarding | KYC-aware. Plain-language compliance |
196
+ | Error | Specific. "Insufficient funds. Top up via bank transfer." |
197
+
198
+ **Voice samples**
199
+ - Tagline: *"Banking & Beyond"* <!-- verified: revolut.com homepage 2026-05 -->
200
+ - Segment nav: *"Personal / Business / Kids & Teens"* <!-- verified: revolut.com homepage -->
201
+
202
+ **Forbidden phrases.** "Revolutionary fintech". Aggressive crypto-bro framing.
203
+
204
+ ## 11. Brand Narrative
205
+
206
+ **Revolut Ltd was incorporated December 2013** by **Nikolay "Nik" Storonsky (CEO)** with **Vlad Yatsenko (CTO)** joining shortly after; the consumer product **launched 2015** at **Level39 fintech accelerator, Canary Wharf, London** ([Revolut — Wikipedia](https://en.wikipedia.org/wiki/Revolut), [Nik Storonsky — Wikipedia](https://en.wikipedia.org/wiki/Nik_Storonsky)). Storonsky was **the company's first investor (£300,000 of his own savings)**. **Yatsenko**: graduated with honors, worked at **Comarch (Krakow programmer)** → **UBS (London senior software developer 2010)** → brief stints at **Deutsche Bank + Credit Suisse** through 2014. Storonsky and Yatsenko are **both immigrants** ([The Vertical — immigrant founders Revolut](https://thevertical.la/development/who-are-the-immigrant-founders-behind-revolut-the-45-billion-neobank-eyeing-u-s-expansion/)). Originally a multi-currency travel card → expanded to full neobank with stocks, crypto, lending, insurance. **Valuation timeline**: $45B secondary share sale 2024 → **$75B November 2025** ([City AM — Revolut $75B](https://www.cityam.com/revolut-inside-nik-storonskys-75bn-fintech-empire-still-hunting-for-its-crown/)). **IPO timeline**: per Bloomberg April 20 2026 interview, Storonsky stated **~2 years from IPO with U.S. listing preferred**. The brand voice — bold, multi-segment, flat-design — tracks the product's evolution from single-card to financial super-app.
207
+
208
+ ## 12. Principles
209
+
210
+ 1. **Multi-segment first-class.** Personal / Business / Kids & Teens. *UI implication:* segment nav at top level.
211
+ 2. **Pill chrome 16px+.** *UI implication:* primary actions and nav use 16px pill.
212
+ 3. **Zero shadows.** *UI implication:* depth via background contrast, never shadow.
213
+ 4. **Near-black `#0e1318` + white marketing.** *UI implication:* marketing chrome stays achromatic.
214
+ 5. **Semantic colors only in product.** *UI implication:* charts + status use semantic; marketing stays neutral.
215
+
216
+ ## 13. Personas
217
+
218
+ *Personas are fictional archetypes informed by Revolut user segments (multi-currency travelers, freelancers, EU SMB, Gen Z), not individual people.*
219
+
220
+ **Catherine Liu, 32, London.** UK-based consultant traveling EU monthly. Multi-currency wallet + travel insurance.
221
+
222
+ **Marcus Müller, 38, Berlin.** Freelancer with EUR/USD income streams. Revolut Business for invoicing.
223
+
224
+ **Sofia Park, 18, Seoul.** Teens account holder traveling for university applications.
225
+
226
+ ## 14. States
227
+
228
+ | State | Treatment |
229
+ |---|---|
230
+ | **Empty (no transactions)** | "Top up to start" CTA |
231
+ | **Empty (no investments)** | "Browse stocks/crypto" link |
232
+ | **Loading (price feed)** | Last cached + stale indicator |
233
+ | **Loading (KYC)** | Persistent badge with progress |
234
+ | **Error (KYC)** | Specific reason + remediation |
235
+ | **Error (payment)** | Receipt-style failure + retry |
236
+ | **Success (transaction)** | Receipt with full details + emoji-free confirmation |
237
+ | **Success (deposit)** | Confirmation + when funds available |
238
+ | **Skeleton (account list)** | Pill placeholders |
239
+ | **Disabled (no funds)** | Top up inline link |
240
+ | **Loading (long action)** | Multi-step progress |
241
+
242
+ ## 15. Motion & Easing
243
+
244
+ | Token | Value | Use |
245
+ |---|---|---|
246
+ | `motion-instant` | 0ms | Toggle |
247
+ | `motion-fast` | 150ms | Hover |
248
+ | `motion-standard` | 250ms | Modal, panel |
249
+ | `motion-pulse` | continuous | Live price update |
250
+
251
+ Standard cubic-bezier; no bounce — fintech register. `prefers-reduced-motion: reduce` disables price pulse.
252
+
253
+ ---
254
+
255
+ **Verified:** 2026-05-08 (omd:migrate run 51 — Apple-tier)
256
+ **Tier 1 sources:** revolut.com/en-US home + /en-US/business (live DOM via playwright — **all-pill 9999px** chrome with canvas-aware Charcoal/Light pair: **Charcoal `#191c1f`** Primary (consumer light canvas) + **Light Surface `#f4f4f4`** Inverse (Business dark canvas + feature cards) + Translucent `rgba(244,244,244,0.10)` on-dark hover, all 9999px / 42px / 10×24 / 16px·**500**).
257
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
258
+ **Tier 2 (Philosophy/founders/valuation/IPO):** Wikipedia (Revolut + Nik Storonsky), Huxley (Yatsenko Ukrainian billionaire bio), The Vertical (immigrant founders narrative), City AM ($75B Nov 2025), MoneyWeek, Bloomberg Billionaires, FinTech Magazine.
259
+ **Style ref:** `stripe`. **Conflicts unresolved:** none. **Earlier addition:** Charcoal `#191c1f` Primary + Light Surface `#f4f4f4` Inverse + canvas-aware pair + translucent variant missed by prior pass (which captured 38px segment-nav only — canonical is 42px Primary).