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
@@ -0,0 +1,252 @@
1
+ # Design System Inspiration of Miro
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Miro's website is a clean, collaborative-tool-forward platform that communicates "visual thinking" through generous whitespace, pastel accent colors, and a confident geometric font. The design uses a predominantly white canvas with near-black text (`#1c1c1e`) and a distinctive pastel color palette — coral, rose, teal, orange, yellow, moss — each representing different collaboration contexts.
6
+
7
+ The typography uses Roobert PRO Medium as the primary display font with OpenType character variants (`"blwf", "cv03", "cv04", "cv09", "cv11"`) and negative letter-spacing (-1.68px at 56px). Noto Sans handles body text with its own stylistic set (`"liga" 0, "ss01", "ss04", "ss05"`). The design is built with Framer, giving it smooth animations and modern component patterns.
8
+
9
+ **Key Characteristics:**
10
+ - White canvas with near-black (`#1c1c1e`) text
11
+ - Roobert PRO Medium with multiple OpenType character variants
12
+ - Pastel accent palette: coral, rose, teal, orange, yellow, moss (light + dark pairs)
13
+ - Blue 450 (`#5b76fe`) as primary interactive color
14
+ - Success green (`#00b473`) for positive states
15
+ - Generous border-radius: 8px–50px range
16
+ - Framer-built with smooth motion patterns
17
+ - Ring shadow border: `rgb(224,226,232) 0px 0px 0px 1px`
18
+
19
+ ## 2. Color Palette & Roles
20
+
21
+ ### Primary
22
+ - **Near Black** (`#1c1c1e`): Primary text
23
+ - **White** (`#ffffff`): `--tw-color-white`, primary surface
24
+ - **Blue 450** (`#5b76fe`): `--tw-color-blue-450`, primary interactive
25
+ - **Actionable Pressed** (`#2a41b6`): `--tw-color-actionable-pressed`
26
+
27
+ ### Pastel Accents (Light/Dark pairs)
28
+ - **Coral**: Light `#ffc6c6` / Dark `#600000`
29
+ - **Rose**: Light `#ffd8f4` / Dark (implied)
30
+ - **Teal**: Light `#c3faf5` / Dark `#187574`
31
+ - **Orange**: Light `#ffe6cd`
32
+ - **Yellow**: Dark `#746019`
33
+ - **Moss**: Dark `#187574`
34
+ - **Pink** (`#fde0f0`): Soft pink surface
35
+ - **Red** (`#fbd4d4`): Light red surface
36
+ - **Dark Red** (`#e3c5c5`): Muted red
37
+
38
+ ### Semantic
39
+ - **Success** (`#00b473`): `--tw-color-success-accent`
40
+
41
+ ### Neutral
42
+ - **Slate** (`#555a6a`): Secondary text
43
+ - **Input Placeholder** (`#a5a8b5`): `--tw-color-input-placeholder`
44
+ - **Border** (`#c7cad5`): Button borders
45
+ - **Ring** (`rgb(224,226,232)`): Shadow-as-border
46
+
47
+ ## 3. Typography Rules
48
+
49
+ ### Font Families
50
+ - **Display**: `Roobert PRO Medium`, fallback: Placeholder — `"blwf", "cv03", "cv04", "cv09", "cv11"`
51
+ - **Display Variants**: `Roobert PRO SemiBold`, `Roobert PRO SemiBold Italic`, `Roobert PRO`
52
+ - **Body**: `Noto Sans` — `"liga" 0, "ss01", "ss04", "ss05"`
53
+
54
+ ### Hierarchy
55
+
56
+ | Role | Font | Size | Weight | Line Height | Letter Spacing |
57
+ |------|------|------|--------|-------------|----------------|
58
+ | Display Hero | Roobert PRO Medium | 56px | 400 | 1.15 | -1.68px |
59
+ | Section Heading | Roobert PRO Medium | 48px | 400 | 1.15 | -1.44px |
60
+ | Card Title | Roobert PRO Medium | 24px | 400 | 1.15 | -0.72px |
61
+ | Sub-heading | Noto Sans | 22px | 400 | 1.35 | -0.44px |
62
+ | Feature | Roobert PRO Medium | 18px | 600 | 1.35 | normal |
63
+ | Body | Noto Sans | 18px | 400 | 1.45 | normal |
64
+ | Body Standard | Noto Sans | 16px | 400–600 | 1.50 | -0.16px |
65
+ | Button | Roobert PRO Medium | 17.5px | 700 | 1.29 | 0.175px |
66
+ | Caption | Roobert PRO Medium | 14px | 400 | 1.71 | normal |
67
+ | Small | Roobert PRO Medium | 12px | 400 | 1.15 | -0.36px |
68
+ | Micro Uppercase | Roobert PRO | 10.5px | 400 | 0.90 | uppercase |
69
+
70
+ ## 4. Component Stylings
71
+
72
+ ### Buttons
73
+
74
+ **Blue Primary**
75
+ - Background: `#5b76fe` (`--tw-color-blue-450`)
76
+ - Text: `#ffffff`
77
+ - Radius: 8px
78
+ - Padding: 7px 12px
79
+ - Font: 17.5px / 700 / Roobert PRO Medium
80
+ - Hover: `#2a41b6` (`--tw-color-actionable-pressed`)
81
+ - Use: Primary CTA — implied from interactive blue
82
+
83
+ **Outlined**
84
+ - Background: transparent
85
+ - Text: `#1c1c1e`
86
+ - Border: 1px solid `#c7cad5`
87
+ - Radius: 8px
88
+ - Padding: 7px 12px
89
+ - Font: 17.5px / 700 / Roobert PRO Medium
90
+ - Use: Secondary outlined button
91
+
92
+ **White Circle**
93
+ - Background: `#ffffff`
94
+ - Radius: 50%
95
+ - Padding: 12px (icon button)
96
+ - Shadow: `rgb(224,226,232) 0px 0px 0px 1px` (ring shadow)
97
+ - Use: Circular icon button
98
+
99
+ ### Inputs
100
+
101
+ **Default**
102
+ - Background: `#ffffff`
103
+ - Text: `#1c1c1e`
104
+ - Border: 1px solid `#e9eaef`
105
+ - Radius: 8px
106
+ - Padding: 16px
107
+ - Font: 16px / 400 / Noto Sans
108
+ - Placeholder: `#a5a8b5` (`--tw-color-input-placeholder`)
109
+ - Use: Standard input
110
+
111
+ ### Cards
112
+
113
+ **Standard**
114
+ - Background: `#ffffff`
115
+ - Radius: 12px
116
+ - Padding: 16px
117
+ - Shadow: `rgb(224,226,232) 0px 0px 0px 1px` (ring shadow)
118
+ - Use: Default card with ring-shadow border
119
+
120
+ **Pastel Surface**
121
+ - Background: pastel accent (e.g., `#ffc6c6` Coral, `#c3faf5` Teal, `#ffe6cd` Orange, `#fde0f0` Pink)
122
+ - Text: `#1c1c1e`
123
+ - Radius: 12-24px
124
+ - Padding: 24px
125
+ - Use: Feature card with pastel surface
126
+
127
+ **Large Panel**
128
+ - Background: `#ffffff`
129
+ - Radius: 24px
130
+ - Padding: 32px
131
+ - Shadow: `rgb(224,226,232) 0px 0px 0px 1px`
132
+ - Use: Large containers
133
+
134
+ ### Badges
135
+
136
+ **Default**
137
+ - Background: `#5b76fe`
138
+ - Text: `#ffffff`
139
+ - Radius: 8px
140
+ - Padding: 4px 8px
141
+ - Font: 12px / 400 / Roobert PRO Medium
142
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
143
+
144
+ **Success**
145
+ - Background: `#00b473` (`--tw-color-success-accent`)
146
+ - Text: `#ffffff`
147
+ - Radius: 8px
148
+ - Padding: 4px 8px
149
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
150
+
151
+ ## 5. Layout Principles
152
+ - Spacing: 1–24px base scale
153
+ - Radius: 8px (buttons), 10px–12px (cards), 20px–24px (panels), 40px–50px (large containers)
154
+ - Ring shadow: `rgb(224,226,232) 0px 0px 0px 1px`
155
+
156
+ ## 6. Depth & Elevation
157
+ Minimal — ring shadow + pastel surface contrast
158
+
159
+ ## 7. Do's and Don'ts
160
+ ### Do
161
+ - Use pastel light/dark pairs for feature sections
162
+ - Apply Roobert PRO with OpenType character variants
163
+ - Use Blue 450 (#5b76fe) for interactive elements
164
+ ### Don't
165
+ - Don't use heavy shadows
166
+ - Don't mix more than 2 pastel accents per section
167
+
168
+ ## 8. Responsive Behavior
169
+ Breakpoints: 425px, 576px, 768px, 896px, 1024px, 1200px, 1280px, 1366px, 1700px, 1920px
170
+
171
+ ## 9. Agent Prompt Guide
172
+ ### Quick Color Reference
173
+ - Text: Near Black (`#1c1c1e`)
174
+ - Background: White (`#ffffff`)
175
+ - Interactive: Blue 450 (`#5b76fe`)
176
+ - Success: `#00b473`
177
+ - Border: `#c7cad5`
178
+ ### Example Component Prompts
179
+ - "Create hero: white background. Roobert PRO Medium 56px, line-height 1.15, letter-spacing -1.68px. Blue CTA (#5b76fe). Outlined secondary (1px solid #c7cad5, 8px radius)."
180
+
181
+ ## 10. Voice & Tone
182
+
183
+ Miro's voice is **collaboration-warm and workshop-confident.** "AI 이노베이션 워크스페이스" (homepage 2026-05) — brand evolution from "online whiteboard" to "AI innovation workspace". Marketing copy emphasizes team workshops + collaborative moments. Yellow `#fde050` CTA signals "playful, sticky-note inspired."
184
+
185
+ | Context | Tone |
186
+ |---|---|
187
+ | CTA | Verb. "Sign up free", "Save your spot", "Start free" |
188
+ | Marketing | Workshop-language. Customer co-creation moments |
189
+ | Documentation | Visual-heavy, screenshot-driven |
190
+ | Error | Specific. "Board permissions changed. Refresh to see updates." |
191
+
192
+ **Voice samples**
193
+ - Marketing CTA: *"SAVE YOUR SPOT"* <!-- verified: miro.com/ko homepage 2026-05 -->
194
+
195
+ **Forbidden phrases.** "Revolutionary whiteboard". Aggressive Mural-comparison framing.
196
+
197
+ ## 11. Brand Narrative
198
+
199
+ Miro was founded **2011 as RealtimeBoard** in **Perm, Russia** (~1,150 km east of Moscow) by **Andrey Khusid** and **Oleg Shardin** ([Miro — Wikipedia](https://en.wikipedia.org/wiki/Miro_(collaboration_platform)), [bne IntelliNews — Miro $17.5B](https://www.intellinews.com/founded-in-russia-11-years-ago-the-miro-visual-collaboration-software-startup-is-now-valued-at-17-5bn-231861/)). Khusid + Shardin had previously **founded the design agency Vitamin Group in 2005** offering web/product/app design services; **2012 they left Vitamin to focus on RealtimeBoard full-time**. Funding ladder: **$25M Series A (2018)** led by **Accel** with Altair Capital + Scale Venture Partners → **$50M Series B (April 2020)**, after which user base grew **5×** (5M → 30M) and paying customers **5.5×** (20K → 130K) → **$400M Series C (January 2022)** co-led by **ICONIQ Growth + Accel + Atlassian + Dragoneer + GIC + Scale Venture Partners** at **$17.5B post-money valuation**, total funding ~**$476M** ([Miro Newsroom — $400M Series C](https://miro.com/newsroom/miro-series-c/), [BusinessWire — Series B $50M April 2020](https://www.businesswire.com/news/home/20200427005109/en/Miro-Secures-%2450-Million-in-Series-B-Funding-for-Virtual-Whiteboarding-for-Remote-Teams)). **Rebranded RealtimeBoard → Miro in 2019** reflecting a global identity. Strong adoption in design teams, agile workshops, and consulting. AI features added 2024-2025 to position Miro as the **"AI innovation workspace"** (live `miro.com/ko` page-title confirms 2026-05).
200
+
201
+ ## 12. Principles
202
+
203
+ 1. **Yellow signals action.** `#fde050` CTA inherited from sticky-note culture. *UI implication:* primary actions yellow on white.
204
+ 2. **Roobert PRO is the type voice.** Medium weight throughout. *UI implication:* don't substitute system fonts.
205
+ 3. **Workshop > toolbox.** *UI implication:* product positioning treats Miro as a meeting/workshop space, not a static design tool.
206
+ 4. **Generous radius for warmth.** *UI implication:* 8px+ on cards, 16px+ on hero modules.
207
+ 5. **AI as workshop participant.** *UI implication:* AI features framed as joining the workshop, not replacing humans.
208
+
209
+ ## 13. Personas
210
+
211
+ *Personas are fictional archetypes informed by Miro user segments (UX designers, agile coaches, consulting partners), not individual people.*
212
+
213
+ **Yuki Tanaka, 32, Tokyo.** UX designer at agency. Runs client workshops in Miro 3× per week.
214
+
215
+ **Marcus Chen, 41, San Francisco.** Agile coach at Series C SaaS. Sprint planning + retros in Miro.
216
+
217
+ **Sofia Russo, 36, Milan.** Independent design consultant. Miro for client research + brainstorming.
218
+
219
+ ## 14. States
220
+
221
+ | State | Treatment |
222
+ |---|---|
223
+ | **Empty (no boards)** | "Create your first board" CTA + template gallery |
224
+ | **Empty (no team)** | "Invite teammates" with email picker |
225
+ | **Loading (board opening)** | Skeleton with sticky-note placeholders |
226
+ | **Loading (cursor sync)** | Cursor avatars appear with name labels |
227
+ | **Error (sync)** | Banner + retry; never block editing |
228
+ | **Error (permission)** | "Read-only — request edit access" inline link |
229
+ | **Success (saved)** | Implicit; auto-save with subtle indicator |
230
+ | **Success (export)** | Download triggered + toast confirmation |
231
+ | **Skeleton (board grid)** | Yellow-tinted placeholders |
232
+ | **Disabled (free plan limit)** | Upgrade link |
233
+ | **Loading (long export)** | Persistent progress chip |
234
+
235
+ ## 15. Motion & Easing
236
+
237
+ | Token | Value | Use |
238
+ |---|---|---|
239
+ | `motion-instant` | 0ms | Selection |
240
+ | `motion-fast` | 150ms | Hover |
241
+ | `motion-standard` | 250ms | Modal, panel |
242
+ | `motion-cursor` | continuous | Live cursor sync |
243
+
244
+ Standard cubic-bezier; minimal bounce. Cursor sync motion is signature. `prefers-reduced-motion: reduce` removes hover transitions; cursor sync becomes step-discrete.
245
+
246
+ ---
247
+
248
+ **Verified:** 2026-05-08 (omd:migrate run 38 — Apple-tier)
249
+ **Tier 1 sources:** miro.com/ko home + /pricing (live DOM via playwright — **three-color 8px Primary**: Yellow banner `#fde050` 40px / 16px·**900** ALL CAPS (banner-only) + Charcoal `#1c1c1e` 42-44px / 16px·**600** (canonical default) + Miro Blue `#3859ff` 48px / 18px·600 (featured-tier accent); Outline transparent / Charcoal text).
250
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
251
+ **Tier 2 (Philosophy/founders/funding):** Wikipedia (Miro), bne IntelliNews ($17.5B), Crunchbase, Miro Newsroom (Series C $400M Jan 2022), BusinessWire (Series B $50M Apr 2020), Contrary Research, EWDN.
252
+ **Style ref:** `notion`. **Conflicts unresolved:** none. **Earlier mistake reverted:** prior footer captured Yellow banner only; canonical default Primary is **Charcoal `#1c1c1e`** with Miro Blue `#3859ff` featured-tier accent — three-color discipline was undocumented.
@@ -259,3 +259,75 @@ What makes Mistral distinctive is the complete commitment to a warm color temper
259
259
  3. Never add border-radius — sharp corners only
260
260
  4. Shadows are always warm: "golden shadow with amber tones"
261
261
  5. Font weight is always 400 — describe emphasis through size and color
262
+
263
+ ## 10. Voice & Tone
264
+
265
+ Mistral AI's voice is **European frontier-AI-confident** — measured, research-oriented, never breathless. The brand positions itself as the European alternative to American AI labs (OpenAI, Anthropic), with a focus on open-weights models and enterprise sovereignty. Copy stays restrained even when announcing major model releases.
266
+
267
+ | Context | Tone |
268
+ |---|---|
269
+ | CTA | Verb. "Discover Le Chat", "Discover Vibe", "Contact Sales" |
270
+ | Marketing | Product-named (Le Chat is the consumer product). European register |
271
+ | Documentation | Code-first, model-spec heavy |
272
+ | Error | Specific. Never wrapped in apology |
273
+
274
+ **Voice samples**
275
+ - Product CTAs: *"Discover Le Chat"*, *"Discover Vibe"* <!-- verified: mistral.ai homepage 2026-05 -->
276
+
277
+ **Forbidden phrases.** "AGI", "superintelligence". Casual emoji.
278
+
279
+ ## 11. Brand Narrative
280
+
281
+ Mistral AI was founded **April 2023** in **Paris** by **Arthur Mensch (CEO, former Google DeepMind)**, **Guillaume Lample (former Meta AI)**, and **Timothée Lacroix (former Meta AI)** — the trio first met **as students at École Polytechnique** ([Mistral AI — Wikipedia](https://en.wikipedia.org/wiki/Mistral_AI), [École polytechnique — Mistral AI raised €500M in 2023](https://www.polytechnique.edu/en/news/mistral-ai-french-ai-nugget-co-founded-two-x-alumni-raised-eu500-mlns-2023)). The founding observation: Europe needed a sovereign AI option that didn't depend on American hyperscalers. Funding ladder: **€105M ($117M) seed (June 2023)** with **Lightspeed Venture Partners, Eric Schmidt, Xavier Niel, JCDecaux** → **€385M ($428M) Series A (Dec 10 2023)** with **Andreessen Horowitz, BNP Paribas, Salesforce** → continuing rounds bringing **valuation past $14B** as of 2025 ([Arthur Mensch — Wikipedia](https://en.wikipedia.org/wiki/Arthur_Mensch), [Tracxn — Mistral AI](https://tracxn.com/d/companies/mistralai/__SLZq7rzxLYqqA97jtPwO09jLDeb76RVJVb306OhciWU)). The three founders became **France's first AI billionaires** ([Crain Currency — first AI billionaires France](https://www.craincurrency.com/investing/mistrals-3-founders-timothee-lacroix-arthur-mensch-and-guillaume-lample-become-first-ai), [Bloomberg Law — first AI billionaires](https://news.bloomberglaw.com/private-equity/first-ai-billionaires-emerge-from-french-homegrown-startup)). Quickly became one of Europe's most-funded AI startups, with strong **open-weights model releases (Mistral 7B, Mixtral 8x7B)** alongside enterprise-only frontier models. The 0px-radius aesthetic + warm golden shadows reflect the Parisian design sensibility — sharp corners signal "frontier research", warm shadows signal "European craftsmanship".
282
+
283
+ ## 12. Principles
284
+
285
+ 1. **0px radius is intentional.** Sharp corners signal frontier research. *UI implication:* never round corners on Mistral chrome.
286
+ 2. **Warm golden shadows.** *UI implication:* shadows always warm-toned; never cool-blue.
287
+ 3. **Weight 400 throughout.** *UI implication:* emphasis via size + color, not weight.
288
+ 4. **European register.** *UI implication:* avoid American startup hype; confident but understated.
289
+ 5. **Open-weights ↔ Enterprise tension.** *UI implication:* both audiences served — open-source community + enterprise.
290
+
291
+ ## 13. Personas
292
+
293
+ *Personas are fictional archetypes informed by Mistral user segments (European enterprise architects, ML researchers, sovereignty-conscious infrastructure leads), not individual people.*
294
+
295
+ **Catherine Dubois, 44, Paris.** CTO at French enterprise. Mistral as the sovereign AI option her board approved.
296
+
297
+ **Heinz Müller, 38, Berlin.** ML researcher. Uses open-weights Mistral models for fine-tuning experiments.
298
+
299
+ **Aisha Khan, 32, Dubai.** AI infrastructure lead. Evaluating Mistral vs OpenAI for region-specific deployment.
300
+
301
+ ## 14. States
302
+
303
+ | State | Treatment |
304
+ |---|---|
305
+ | **Empty (no API keys)** | "Generate first API key" CTA |
306
+ | **Empty (no projects)** | "Try Le Chat" link |
307
+ | **Loading (model inference)** | Per-token streaming |
308
+ | **Error (model unavailable)** | Specific model name + region |
309
+ | **Error (rate limit)** | Tier limit + upgrade |
310
+ | **Success (generation)** | Result inline + copy/save |
311
+ | **Success (deployment)** | Endpoint visible |
312
+ | **Skeleton (deployments)** | 0px-radius placeholders |
313
+ | **Disabled (insufficient plan)** | Upgrade link |
314
+ | **Loading (long task)** | Persistent progress |
315
+ | **Loading (model loading)** | Initialization status |
316
+
317
+ ## 15. Motion & Easing
318
+
319
+ | Token | Value | Use |
320
+ |---|---|---|
321
+ | `motion-instant` | 0ms | Toggle |
322
+ | `motion-fast` | 150ms | Hover |
323
+ | `motion-standard` | 250ms | Modal |
324
+
325
+ Standard cubic-bezier; no bounce — the precision register dislikes overshoot. `prefers-reduced-motion: reduce` removes hover transitions.
326
+
327
+ ---
328
+
329
+ **Verified:** 2026-05-08 (omd:migrate run 39 — Apple-tier)
330
+ **Tier 1 sources:** mistral.ai home + /products (live DOM via playwright — Primary `#1f1f1f` Mistral Charcoal 0px sharp / 36px / 12px-square / 16px·400; **Secondary canvas-aware `oklab()`**: `oklab(0.999994 / 0.1)` (dark canvas) + `oklab(0.955114 -0.00188443 0.0614298 / 0.5)` Cream (light canvas); Cream `#fff0c2` accent. **`oklab()` color-space canonical** — most modern DS adopter in corpus).
331
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
332
+ **Tier 2 (Philosophy/founders/funding):** Wikipedia (Mistral AI + Arthur Mensch), École polytechnique (X alumni origin), Crain Currency / Bloomberg Law (first AI billionaires France), Tracxn, Crunchbase.
333
+ **Style ref:** `claude` (research-tech precision). **Conflicts unresolved:** none. **Earlier addition:** canvas-aware `oklab()` Secondary variants + Cream `#fff0c2` accent + oklab() canonical convention missed by prior pass.
@@ -264,3 +264,75 @@ What makes MongoDB distinctive is its dual-mode design: a dark hero/feature sect
264
264
  4. Weight 300 body text creates the airy reading experience — don't default to 400
265
265
  5. Source Code Pro uppercase with wide tracking for technical labels — the database voice
266
266
  6. Teal-tinted shadows keep everything in the MongoDB color world
267
+
268
+ ## 10. Voice & Tone
269
+
270
+ MongoDB's voice is **enterprise-database-precise and developer-aware.** "The World's Leading Modern Data Platform" — confident enterprise positioning. Source Code Pro uppercase labels signal "database voice" — wide tracking, monospace authority.
271
+
272
+ | Context | Tone |
273
+ |---|---|
274
+ | CTA | Verb. "Try free", "Get started", "Talk to sales" |
275
+ | Marketing | Enterprise-data-platform language. Atlas (cloud) is first-class brand |
276
+ | Documentation | Code-first, query-heavy |
277
+ | Error | Specific. "Invalid ObjectId. Check format: 24-char hex." |
278
+
279
+ **Voice samples**
280
+ - Tagline: *"The World's Leading Modern Data Platform"* <!-- verified: mongodb.com homepage 2026-05 -->
281
+
282
+ **Forbidden phrases.** "Revolutionary database". Generic NoSQL marketing.
283
+
284
+ ## 11. Brand Narrative
285
+
286
+ MongoDB was founded **2007 in New York City as 10gen** by **Dwight Merriman (former DoubleClick founder + CTO)**, **Eliot Horowitz (former DoubleClick engineer + ShopWiki CTO)**, and **Kevin P. Ryan (former DoubleClick CEO + Gilt Groupe founder)** — DoubleClick veterans who learned the limits of relational databases when scaling to **400,000+ ads/sec** ([MongoDB Inc. — Wikipedia](https://en.wikipedia.org/wiki/MongoDB_Inc.), [Eliot Horowitz — Wikipedia](https://en.wikipedia.org/wiki/Eliot_Horowitz)). 10gen originally aimed to build a PaaS on entirely open-source components but, finding no existing database that met their cloud-architecture principles, instead built the **document-oriented MongoDB**. **First public release 2009**. **Renamed 10gen → MongoDB Inc. on August 27 2013**. By 2017, MongoDB had raised **$311M in venture funding**. **NASDAQ IPO October 20 2017** under ticker **MDB**, raising **$192M** ([MongoDB — About](https://www.mongodb.com/company)). **Atlas (managed cloud) launched 2016**; by 2024-2025 Atlas accounts for **>70% of revenue** and the company's **market cap ranges $22B-$26B**. The brand voice — Spring Green CTAs `#00ed64` on Navy `#001e2b`, teal-tinted shadows, uppercase Source Code Pro labels — reflects the database-engineering register.
287
+
288
+ ## 12. Principles
289
+
290
+ 1. **Atlas is the cloud product.** *UI implication:* Atlas distinct from on-prem MongoDB in marketing nav.
291
+ 2. **Green primary `#00684a`.** *UI implication:* dark green as auth, never bright lime.
292
+ 3. **Source Code Pro for technical labels.** Uppercase + wide tracking. *UI implication:* preserve this for chip labels.
293
+ 4. **Teal-tinted shadows.** *UI implication:* all shadows have a slight teal undertone.
294
+ 5. **0px-radius hero buttons, 4px-radius nav.** *UI implication:* mixed radius is intentional — sharp for data, soft for UX.
295
+
296
+ ## 13. Personas
297
+
298
+ *Personas are fictional archetypes informed by MongoDB user segments (backend engineers, data architects, enterprise CTOs), not individual people.*
299
+
300
+ **Sergey Volkov, 38, Berlin.** Backend engineer building geo-distributed app. Atlas Multi-region for low-latency reads.
301
+
302
+ **Aisha Patel, 41, San Francisco.** Data architect at Fortune 500. Manages 200+ MongoDB clusters across hybrid cloud.
303
+
304
+ **Heinz Müller, 50, Munich.** CTO at industrial SaaS. MongoDB Atlas as the deciding factor for cloud-native pivot.
305
+
306
+ ## 14. States
307
+
308
+ | State | Treatment |
309
+ |---|---|
310
+ | **Empty (no databases)** | "Create your first cluster" Atlas CTA |
311
+ | **Empty (no collections)** | Inline shell command + create button |
312
+ | **Loading (query)** | Per-stage execution explanation visible |
313
+ | **Loading (cluster scaling)** | Progress with elapsed time, ETA |
314
+ | **Error (query syntax)** | Inline below editor + line:column |
315
+ | **Error (server)** | Specific MongoDB error code + docs link |
316
+ | **Success (query)** | Results table + execution stats |
317
+ | **Success (cluster created)** | Connection string + security checklist |
318
+ | **Skeleton (cluster list)** | Teal-tinted placeholders |
319
+ | **Disabled (read-only)** | Lock icon + role tooltip |
320
+ | **Loading (long migration)** | Multi-step progress |
321
+
322
+ ## 15. Motion & Easing
323
+
324
+ | Token | Value | Use |
325
+ |---|---|---|
326
+ | `motion-instant` | 0ms | Selection |
327
+ | `motion-fast` | 150ms | Hover |
328
+ | `motion-standard` | 250ms | Modal, panel |
329
+
330
+ Standard cubic-bezier; no bounce — enterprise register. `prefers-reduced-motion: reduce` removes hover transitions.
331
+
332
+ ---
333
+
334
+ **Verified:** 2026-05-08 (omd:migrate run 40 — Apple-tier)
335
+ **Tier 1 sources:** mongodb.com home + /products/platform/atlas-database (live DOM via playwright — **Primary `#00ed64` Spring Green** 4px / Navy `#001e2b` text / 48-52px / 15-16×24-48 / 16px·**500** + **Inverse Primary `#001e2b` Navy** 4px on light canvas; **`#00684a` Forest Green is banner-strip chrome bg only, NOT a CTA**; cookie utility 2px / 12.195px·600 separate track).
336
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
337
+ **Tier 2 (Philosophy/founders/IPO):** Wikipedia (MongoDB Inc. + Eliot Horowitz), MongoDB About, MatrixBCG, PortersFiveForce, AlleyCorp, Medium (MongoDB IPO story).
338
+ **Style ref:** `stripe`. **Conflicts unresolved:** none. **Earlier mistake reverted (significant):** prior footer claimed Primary was `#00684a` 0px hero — actually `#00684a` is banner-strip chrome bg, canonical Primary is **Spring Green `#00ed64` 4px / Navy text**. §4 needs material correction.