oh-my-design-cli 1.0.1 → 1.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 (102) hide show
  1. package/README.md +15 -18
  2. package/data/reference-fingerprints.json +337 -3
  3. package/data/reference-tags.md +15 -1
  4. package/dist/bin/oh-my-design.js +1 -1
  5. package/dist/{install-skills-GQPTQF5S.js → install-skills-MVXVXYAY.js} +4 -4
  6. package/dist/{install-skills-GQPTQF5S.js.map → install-skills-MVXVXYAY.js.map} +1 -1
  7. package/package.json +2 -2
  8. package/skills/omd-init/SKILL.md +1 -1
  9. package/web/AGENTS.md +5 -0
  10. package/{references → web/references}/airbnb/DESIGN.md +158 -19
  11. package/web/references/airtable/DESIGN.md +241 -0
  12. package/{references → web/references}/apple/DESIGN.md +131 -76
  13. package/web/references/baemin/DESIGN.md +470 -0
  14. package/{references → web/references}/bmw/DESIGN.md +138 -9
  15. package/{references → web/references}/cal/DESIGN.md +173 -17
  16. package/{references → web/references}/claude/DESIGN.md +11 -1
  17. package/{references → web/references}/clay/DESIGN.md +75 -0
  18. package/{references → web/references}/clickhouse/DESIGN.md +74 -0
  19. package/{references → web/references}/cohere/DESIGN.md +75 -0
  20. package/web/references/coinbase/DESIGN.md +205 -0
  21. package/{references → web/references}/composio/DESIGN.md +74 -0
  22. package/web/references/coupang/DESIGN.md +487 -0
  23. package/{references → web/references}/cursor/DESIGN.md +74 -0
  24. package/web/references/dcard/DESIGN.md +567 -0
  25. package/{references → web/references}/elevenlabs/DESIGN.md +91 -0
  26. package/{references → web/references}/expo/DESIGN.md +72 -0
  27. package/{references → web/references}/ferrari/DESIGN.md +72 -0
  28. package/{references → web/references}/figma/DESIGN.md +124 -48
  29. package/{references → web/references}/framer/DESIGN.md +143 -16
  30. package/web/references/freee/DESIGN.md +558 -0
  31. package/{references → web/references}/hashicorp/DESIGN.md +72 -0
  32. package/{references → web/references}/ibm/DESIGN.md +68 -0
  33. package/{references → web/references}/intercom/DESIGN.md +73 -0
  34. package/web/references/kakao/DESIGN.md +490 -0
  35. package/web/references/kakaobank/DESIGN.md +533 -0
  36. package/web/references/karrot/DESIGN.md +431 -0
  37. package/web/references/kraken/DESIGN.md +219 -0
  38. package/web/references/krds/DESIGN.md +982 -0
  39. package/web/references/kurly/DESIGN.md +574 -0
  40. package/{references → web/references}/lamborghini/DESIGN.md +74 -0
  41. package/{references → web/references}/line/DESIGN.md +84 -43
  42. package/{references → web/references}/linear.app/DESIGN.md +8 -1
  43. package/{references → web/references}/lovable/DESIGN.md +73 -0
  44. package/web/references/mercari/DESIGN.md +464 -0
  45. package/{references → web/references}/minimax/DESIGN.md +72 -0
  46. package/{references → web/references}/mintlify/DESIGN.md +72 -0
  47. package/web/references/miro/DESIGN.md +252 -0
  48. package/{references → web/references}/mistral.ai/DESIGN.md +72 -0
  49. package/{references → web/references}/mongodb/DESIGN.md +72 -0
  50. package/web/references/musinsa/DESIGN.md +536 -0
  51. package/web/references/naver/DESIGN.md +518 -0
  52. package/{references → web/references}/notion/DESIGN.md +9 -1
  53. package/web/references/nvidia/DESIGN.md +491 -0
  54. package/web/references/ohouse/DESIGN.md +570 -0
  55. package/{references → web/references}/ollama/DESIGN.md +72 -0
  56. package/{references → web/references}/opencode.ai/DESIGN.md +73 -0
  57. package/web/references/pinkoi/DESIGN.md +575 -0
  58. package/{references → web/references}/pinterest/DESIGN.md +73 -0
  59. package/{references → web/references}/posthog/DESIGN.md +172 -18
  60. package/web/references/qanda/DESIGN.md +459 -0
  61. package/{references → web/references}/raycast/DESIGN.md +169 -34
  62. package/{references → web/references}/renault/DESIGN.md +72 -0
  63. package/{references → web/references}/replicate/DESIGN.md +73 -0
  64. package/{references → web/references}/resend/DESIGN.md +73 -0
  65. package/{references → web/references}/revolut/DESIGN.md +74 -0
  66. package/web/references/ridi/DESIGN.md +517 -0
  67. package/{references → web/references}/runwayml/DESIGN.md +152 -24
  68. package/{references → web/references}/sanity/DESIGN.md +72 -0
  69. package/{references → web/references}/sentry/DESIGN.md +73 -0
  70. package/web/references/spacex/DESIGN.md +379 -0
  71. package/web/references/spotify/DESIGN.md +426 -0
  72. package/{references → web/references}/stripe/DESIGN.md +44 -1
  73. package/{references → web/references}/supabase/DESIGN.md +73 -0
  74. package/{references → web/references}/superhuman/DESIGN.md +159 -17
  75. package/{references → web/references}/tesla/DESIGN.md +170 -0
  76. package/{references → web/references}/together.ai/DESIGN.md +73 -0
  77. package/{references → web/references}/toss/DESIGN.md +304 -50
  78. package/{references → web/references}/uber/DESIGN.md +73 -0
  79. package/{references → web/references}/vercel/DESIGN.md +9 -1
  80. package/{references → web/references}/voltagent/DESIGN.md +73 -0
  81. package/{references → web/references}/warp/DESIGN.md +142 -15
  82. package/web/references/webflow/DESIGN.md +253 -0
  83. package/{references → web/references}/wise/DESIGN.md +84 -0
  84. package/{references → web/references}/x.ai/DESIGN.md +85 -0
  85. package/web/references/yanolja/DESIGN.md +448 -0
  86. package/web/references/yeogiotte/DESIGN.md +424 -0
  87. package/{references → web/references}/zapier/DESIGN.md +85 -0
  88. package/references/airtable/DESIGN.md +0 -107
  89. package/references/baemin/DESIGN.md +0 -260
  90. package/references/coinbase/DESIGN.md +0 -129
  91. package/references/dcard/DESIGN.md +0 -302
  92. package/references/freee/DESIGN.md +0 -308
  93. package/references/kakao/DESIGN.md +0 -261
  94. package/references/karrot/DESIGN.md +0 -252
  95. package/references/kraken/DESIGN.md +0 -146
  96. package/references/mercari/DESIGN.md +0 -294
  97. package/references/miro/DESIGN.md +0 -108
  98. package/references/nvidia/DESIGN.md +0 -308
  99. package/references/pinkoi/DESIGN.md +0 -309
  100. package/references/spacex/DESIGN.md +0 -205
  101. package/references/spotify/DESIGN.md +0 -246
  102. package/references/webflow/DESIGN.md +0 -109
@@ -77,32 +77,73 @@ What makes Runway distinctive is its complete commitment to visual content as de
77
77
  ## 4. Component Stylings
78
78
 
79
79
  ### Buttons
80
- - Text: weight 600 at 14px abcNormal
81
- - Background: likely transparent or dark, with minimal border
82
- - Radius: small (4px) for button-like links
83
- - The button design is extremely restrained — no heavy fills or borders detected
84
- - Interactive elements blend into the editorial flow
85
-
86
- ### Cards & Containers
87
- - Background: transparent or Dark Surface (`#1a1a1a`)
88
- - Border: `1px solid #27272a` (dark mode) — barely visible containment
89
- - Radius: small (4–8px) for functional elements; 16px for alert-style containers
90
- - Shadow: zero — no shadows on any element
91
- - Cards are primarily photographic — the image IS the card
92
80
 
93
- ### Navigation
94
- - Minimal horizontal nav — transparent over hero content
95
- - Logo: Runway wordmark in white/black
96
- - Links: abcNormal at 16px, weight 400–600
81
+ **Default**
82
+ - Background: transparent
83
+ - Text: `#ffffff` (or `#000000` on light surfaces)
84
+ - Border: minimal / none
85
+ - Radius: 4px
86
+ - Padding: 8px 12px
87
+ - Font: 14px / 600 / abcNormal
97
88
  - Hover: text shifts to white or higher opacity
98
- - Extremely subtledesigned to not compete with visual content
99
-
100
- ### Image Treatment
101
- - Full-bleed cinematic photography and video dominate
102
- - AI-generated content shown at large scale as primary visual elements
103
- - Mixed-size image grids creating editorial magazine layouts
104
- - Dark overlays on hero images for text readability
105
- - Product screenshots with subtle rounded corners (8px)
89
+ - Use: Restrained button interactive elements blend into editorial flow, no heavy fills
90
+
91
+ **Text Link**
92
+ - Background: transparent
93
+ - Text: `#ffffff`
94
+ - Radius: 4px
95
+ - Padding: 4px 8px
96
+ - Font: 14px / 600 / abcNormal
97
+ - Use: Inline link-style button
98
+
99
+ ### Inputs
100
+
101
+ **Default**
102
+ - Background: `#1a1a1a`
103
+ - Text: `#ffffff`
104
+ - Border: 1px solid `#27272a`
105
+ - Radius: 4px
106
+ - Padding: 8px 12px
107
+ - Font: 14px / 400 / abcNormal
108
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source) — minimal dark input.
109
+
110
+ ### Cards
111
+
112
+ **Photographic Card**
113
+ - Background: transparent (image fills frame)
114
+ - Radius: 8px
115
+ - Padding: 0px (the image IS the card)
116
+ - Border: none
117
+ - Shadow: none
118
+ - Use: Mixed-size image grid card — Research Article Cards / Trust Bar
119
+
120
+ **Dark Surface Card**
121
+ - Background: `#1a1a1a`
122
+ - Text: `#ffffff`
123
+ - Border: 1px solid `#27272a` (barely visible)
124
+ - Radius: 8px
125
+ - Padding: 16px
126
+ - Shadow: none
127
+ - Use: Functional dark card
128
+
129
+ **Alert / Containment**
130
+ - Background: `#1a1a1a`
131
+ - Border: 1px solid `#27272a`
132
+ - Radius: 16px
133
+ - Padding: 24px
134
+ - Shadow: none
135
+ - Use: Alert-style containers (larger radius)
136
+
137
+ ### Badges
138
+
139
+ **Default**
140
+ - Background: transparent
141
+ - Text: `#ffffff`
142
+ - Border: 1px solid `#27272a`
143
+ - Radius: 4px
144
+ - Padding: 2px 8px
145
+ - Font: 11px / 600 / abcNormal
146
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source) — uppercase label-style.
106
147
 
107
148
  ### Distinctive Components
108
149
 
@@ -126,6 +167,20 @@ What makes Runway distinctive is its complete commitment to visual content as de
126
167
  - On a dark background with white text
127
168
  - The emotional close — artistic and philosophical
128
169
 
170
+ ### Navigation
171
+ - Minimal horizontal nav — transparent over hero content
172
+ - Logo: Runway wordmark in white/black
173
+ - Links: abcNormal at 16px, weight 400-600
174
+ - Hover: text shifts to white or higher opacity
175
+ - Extremely subtle — designed to not compete with visual content
176
+
177
+ ### Image Treatment
178
+ - Full-bleed cinematic photography and video dominate
179
+ - AI-generated content shown at large scale as primary visual elements
180
+ - Mixed-size image grids creating editorial magazine layouts
181
+ - Dark overlays on hero images for text readability
182
+ - Product screenshots with subtle rounded corners (8px)
183
+
129
184
  ## 5. Layout Principles
130
185
 
131
186
  ### Spacing System
@@ -242,3 +297,76 @@ What makes Runway distinctive is its complete commitment to visual content as de
242
297
  4. Use the cool slate grays (#767d88, #7d848e) for secondary text — not warm grays
243
298
  5. Uppercase labels need letter-spacing (0.35px) — never tight uppercase
244
299
  6. Dark sections should be truly dark (#000000 or #1a1a1a) — no medium grays as surfaces
300
+
301
+ ## 10. Voice & Tone
302
+
303
+ Runway's voice is **filmmaker-grade and AI-research-confident.** "Building AI to Simulate the World" — ambitious mission framing. Marketing copy positions Runway as the AI-native creative tool for video professionals + filmmakers, distinct from indie consumer tools.
304
+
305
+ | Context | Tone |
306
+ |---|---|
307
+ | CTA | Verb. "Get Started", "Try Runway", "Enterprise Sales" |
308
+ | Marketing | Cinematic. Generated video samples dominate |
309
+ | Documentation | Visual-first, frame-by-frame |
310
+ | Error | Specific. "Generation failed: insufficient credits. Top up." |
311
+
312
+ **Voice samples**
313
+ - Tagline: *"Building AI to Simulate the World"* <!-- verified: runwayml.com homepage 2026-05 -->
314
+
315
+ **Forbidden phrases.** "Revolutionary AI video". Generic Sora-comparison framing.
316
+
317
+ ## 11. Brand Narrative
318
+
319
+ Runway was founded **2018** by **Cristóbal Valenzuela (CEO, Chilean)**, **Alejandro Matamala (Chilean)**, and **Anastasis Germanidis (Greek)** — the three met at **NYU Tisch School of the Arts ITP** ([Runway — Wikipedia](https://en.wikipedia.org/wiki/Runway_(company)), [Acquired Podcast — Cristobal Valenzuela complete history](https://www.acquired.fm/episodes/generative-ai-in-video-and-the-future-of-storytelling-with-runway-ceo-cristobal-valenzuela)). Initially a research tool for ML-creative experimentation → grew into AI video generation platform (**Gen-1, Gen-2, Gen-3, Gen-4**). Co-developed **Stable Diffusion** with the original research team. **Real production credits**: tools used in **Everything Everywhere All at Once** (Best Picture Oscar 2023) + **The Late Show with Stephen Colbert**. **June 2023**: $141M Series C extension at **$1.5B valuation** with **Google, NVIDIA, Salesforce**. **Current**: **~$860M total raised** with **General Atlantic, Amplify Partners, Google** — **valuation ~$5.3B** ([Sacra — Runway revenue/funding](https://sacra.com/c/runway/), [Contrary Research — Runway](https://research.contrary.com/company/runway)). Strong adoption in filmmaking + advertising. The brand voice — uppercase tracking, dark cinematic surfaces — reflects the filmmaker positioning.
320
+
321
+ ## 12. Principles
322
+
323
+ 1. **Filmmaker-grade, not consumer toy.** *UI implication:* tone is professional video production.
324
+ 2. **Truly dark surfaces.** `#000` or `#1a1a1a`, never medium gray. *UI implication:* preserve cinematic depth.
325
+ 3. **Uppercase with letter-spacing 0.35px.** *UI implication:* never tight uppercase.
326
+ 4. **Generated video samples lead.** *UI implication:* hero modules autoplay generated video, not static.
327
+ 5. **6px standard radius.** *UI implication:* keep consistent across CTAs and cards.
328
+
329
+ ## 13. Personas
330
+
331
+ *Personas are fictional archetypes informed by Runway user segments (filmmakers, advertising creatives, content studios), not individual people.*
332
+
333
+ **Sofia Russo, 35, Milan.** Indie filmmaker. Runway Gen-4 for previs + b-roll generation.
334
+
335
+ **Marcus Chen, 42, San Francisco.** Creative director at advertising agency. Runway for client pitches + concept exploration.
336
+
337
+ **Yuki Tanaka, 31, Tokyo.** Music video director. Runway for stylistic transfer experiments.
338
+
339
+ ## 14. States
340
+
341
+ | State | Treatment |
342
+ |---|---|
343
+ | **Empty (no projects)** | "Start a new project" CTA + template gallery |
344
+ | **Empty (no generations)** | "Try a generation" with prompt examples |
345
+ | **Loading (generation)** | Real-time progress with frame previews |
346
+ | **Loading (model)** | Initialization status |
347
+ | **Error (generation)** | Specific. "Failed at frame 23. Retry from this point?" |
348
+ | **Error (insufficient credits)** | Top up link + plan comparison |
349
+ | **Success (generated)** | Inline player + download/share/timeline |
350
+ | **Success (exported)** | Download triggered + shareable link |
351
+ | **Skeleton (projects)** | Dark cinematic placeholders |
352
+ | **Disabled (no plan)** | Upgrade link |
353
+ | **Loading (long generation)** | Persistent progress with cancel option |
354
+
355
+ ## 15. Motion & Easing
356
+
357
+ | Token | Value | Use |
358
+ |---|---|---|
359
+ | `motion-instant` | 0ms | Selection |
360
+ | `motion-fast` | 150ms | Hover |
361
+ | `motion-standard` | 300ms | Modal, panel |
362
+ | `motion-cinematic` | 600ms | Hero video reveals |
363
+
364
+ Cinematic easing for hero reveals, standard for chrome. `prefers-reduced-motion: reduce` disables hero auto-play.
365
+
366
+ ---
367
+
368
+ **Verified:** 2026-05-08 (omd:migrate run 52 — Apple-tier)
369
+ **Tier 1 sources:** runwayml.com home + /research (live DOM via playwright — Primary `#262626` Charcoal 6px / 32px / 6×10 / 14px·**600**; Outline `#eef1f5` Cool Cream + `#1a1a1a` Near-Black text 6px; compact 4px / 28px sub-tier; **top nav 11px·450 ALL CAPS** with `#0c0c0c` Deep Black; **three-shade near-black palette** `#0c0c0c` / `#1a1a1a` / `#262626`).
370
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
371
+ **Tier 2 (Philosophy/founders/funding):** Wikipedia (Runway), Acquired Podcast (Valenzuela complete history), LinkedIn (Cristóbal Valenzuela), Sacra ($5.3B valuation), Contrary Research, Tracxn, Skim AI, Upstarts Media.
372
+ **Style ref:** `claude`. **Conflicts unresolved:** none. **Earlier addition:** ALL CAPS 11px·**450** nav signature + 3-shade near-black palette + 4px compact sub-tier missed; Outline cream is `#eef1f5` (Cool Cream w/ blue cast) not `#f7f7f7`.
@@ -355,3 +355,75 @@ Light Surface: #ededed / #ffffff (inverted sections)
355
355
  5. **Refine spacing**: 8px base unit, 24-32px within sections, 64-120px between sections
356
356
  6. **Technical details**: Add IBM Plex Mono uppercase labels for tags and metadata
357
357
  7. **Polish**: Ensure all interactive elements hover to `#0052ef`, all buttons are pills or subtle 5px radius, borders are hairline (1px)
358
+
359
+ ## 10. Voice & Tone
360
+
361
+ Sanity's voice is **content-platform-confident and developer-warm.** "The Content Operating System for the AI era" — confident enterprise positioning with developer-friendly chrome. Mixed type system + flat-no-shadow signals "premium content tooling."
362
+
363
+ | Context | Tone |
364
+ |---|---|
365
+ | CTA | Verb. "Get started", "Talk to sales", "Start free" |
366
+ | Marketing | Capability-list. Studio + Dataset + Content Lake naming |
367
+ | Documentation | Deep, code-block-heavy, GROQ-aware |
368
+ | Error | Specific. "Schema validation failed at field X." |
369
+
370
+ **Voice samples**
371
+ - Tagline: *"The Content Operating System for the AI era"* <!-- verified: sanity.io homepage 2026-05 -->
372
+
373
+ **Forbidden phrases.** "Revolutionary CMS". Aggressive WordPress-comparison framing.
374
+
375
+ ## 11. Brand Narrative
376
+
377
+ Sanity was **founded 2016 in Norway** with the **public launch November 2017** by four co-founders: **Magnus Kongsli Hillestad**, **Even Westvang**, **Øyvind Rostad**, and **Simen Svale Skogsrud** ([Threshold Ventures — Magnus Hillestad founder Q&A](https://medium.com/threshold-ventures/magnus-hillestad-sanity-founder-story-80b7e97952d), [Sanity — Magnus profile](https://www.sanity.io/exchange/community/magnus)). **Dual-headquartered in Oslo and San Francisco** with remote team across four continents. Headless CMS positioned as content infrastructure — **Studio** (editor) + **Dataset** (storage) + **Content Lake** (queryable). Founding insight: content must be **structured data**, easily queried + distributed across APIs (vs traditional page-bound CMS). **Series B $39M (2021)** led by **ICONIQ Growth** with **Lead Edge Capital** + existing investors — ICONIQ's portfolio includes **Datadog, Snowflake, Notion, Airtable, Zoom** ([Sanity blog — It takes a village (Series B)](https://www.sanity.io/blog/it-takes-a-village), [TechStartups — Sanity $39M Series B](https://techstartups.com/2021/06/24/norwegian-tech-startup-sanity-raises-39-million-grow-unified-content-platform-building-data-driven-content-solutions/)). Strong adoption among design-first SaaS + e-commerce. The **2024-2025 evolution to "Content Operating System for AI era"** positions Sanity as the structured-content layer for AI applications — confirmed via live `<title>` "The Content Operating System for the AI era | Sanity" 2026-05.
378
+
379
+ ## 12. Principles
380
+
381
+ 1. **Content as code.** Schemas, GROQ queries, deploys as code. *UI implication:* schema-first approach surfaces.
382
+ 2. **Studio is the canvas.** Customizable React-based editor. *UI implication:* showcase Studio screenshots as primary marketing asset.
383
+ 3. **Hairline borders, no shadow.** *UI implication:* depth via 1px borders + color contrast.
384
+ 4. **Pills + 5px subtle.** *UI implication:* primary CTAs pill; secondary 5px radius.
385
+ 5. **Hover to `#0052ef` blue.** *UI implication:* preserve hover blue across all interactive elements.
386
+
387
+ ## 13. Personas
388
+
389
+ *Personas are fictional archetypes informed by Sanity user segments (developers, content teams, e-commerce marketers), not individual people.*
390
+
391
+ **Henrik Sondergaard, 35, Copenhagen.** Senior engineer at e-commerce SaaS. Sanity Studio for product content management.
392
+
393
+ **Sofia Russo, 30, Milan.** Indie SaaS shipping editorial sites. Sanity for headless CMS + Next.js integration.
394
+
395
+ **Marcus Chen, 38, San Francisco.** Content lead at growth-stage SaaS. Owns the marketing site CMS.
396
+
397
+ ## 14. States
398
+
399
+ | State | Treatment |
400
+ |---|---|
401
+ | **Empty (no content)** | "Create your first document" CTA + schema picker |
402
+ | **Empty (no schemas)** | "Define a schema" with code example |
403
+ | **Loading (query)** | GROQ query result inline |
404
+ | **Loading (publishing)** | Per-document progress |
405
+ | **Error (schema)** | Specific. "Field X validation failed." |
406
+ | **Error (deploy)** | Token + permission diagnostic |
407
+ | **Success (published)** | Subtle confirmation + revision history |
408
+ | **Success (preview)** | Inline preview link |
409
+ | **Skeleton (document list)** | Hairline-border placeholders |
410
+ | **Disabled (no permission)** | Role tooltip |
411
+ | **Loading (long deploy)** | Persistent progress |
412
+
413
+ ## 15. Motion & Easing
414
+
415
+ | Token | Value | Use |
416
+ |---|---|---|
417
+ | `motion-instant` | 0ms | Selection |
418
+ | `motion-fast` | 150ms | Hover |
419
+ | `motion-standard` | 250ms | Modal, panel |
420
+
421
+ Standard cubic-bezier; no bounce. `prefers-reduced-motion: reduce` removes hover transitions.
422
+
423
+ ---
424
+
425
+ **Verified:** 2026-05-08 (omd:migrate run 53 — Apple-tier)
426
+ **Tier 1 sources:** sanity.io home + /pricing (live DOM via playwright — Primary **`color(display-p3 1 0.3333 0)`** Sanity Orange-Red (~`#ff5500` sRGB / wide-gamut P3) 99999px full-pill / 35px (page 13px·400 ALL CAPS) or 55px (hero 24px·400) / 4×12 or 8×32; Inverse `#0b0b0b` Near-Black; Light Secondary `#ededed`; A11y skip-nav `#0052ef` Sanity Blue. **`display-p3()` wide-gamut color-space — most advanced in corpus**).
427
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
428
+ **Tier 2 (Philosophy/founders/funding):** Threshold Ventures (Magnus Hillestad Q&A), Sanity profile pages (Magnus + Simen), Sanity blog (Series B "It takes a village"), TechStartups, Nordic 9, Crunchbase.
429
+ **Style ref:** `stripe`. **Conflicts unresolved:** none. **Earlier mistake reverted (significant):** prior footer claimed Primary was `#0b0b0b` 0px (announcement-banner strip) — canonical is **wide-gamut display-p3 Orange-Red 99999px full-pill**. Massive correction.
@@ -260,3 +260,76 @@ What makes Sentry distinctive is its embrace of the "dark IDE" aesthetic without
260
260
  4. Lime green (#c2ef4e) is the "pop" color — use once per section maximum
261
261
  5. Frosted glass for overlaid panels, solid purple for primary surfaces
262
262
  6. Rubik handles 90% of typography — Dammit Sans is hero-only
263
+
264
+ ## 10. Voice & Tone
265
+
266
+ Sentry's voice is **error-tracking-honest and developer-empathetic.** Sentry is famous for talking about errors in plain English — "see what's broken, fix it fast." Frosted glass overlays + purple primary signal "premium debugging tool."
267
+
268
+ | Context | Tone |
269
+ |---|---|
270
+ | CTA | Verb. "Get started", "Try Sentry", "Sign up free" |
271
+ | Marketing | Error-honest. Real stack traces in marketing |
272
+ | Documentation | Code-block-heavy, framework-specific |
273
+ | Error (in product) | Specific stack trace + commit context |
274
+
275
+ **Voice samples**
276
+ - Marketing pattern: *"See what's broken"* / *"Errors and performance"* <!-- illustrative -->
277
+
278
+ **Forbidden phrases.** "Revolutionary error monitoring". Generic "AI-powered" framing.
279
+
280
+ ## 11. Brand Narrative
281
+
282
+ Sentry started as an **open-source project by David Cramer in 2008** for application error monitoring. **Cramer + Chris Jennings formally incorporated Functional Software Inc. in February 2012** ([CIO — Sentry's Cramer on bootstrapping](https://www.cio.com/article/401704/sentrys-david-cramer-on-bootstrapping-a-unicorn.html), [First Round Review — Sentry's Path to PMF](https://review.firstround.com/sentrys-path-to-product-market-fit/)). **Cramer (CTO)** + **Jennings (Chief Creative Officer)** **bootstrapped the company organically** for ~3 years before transitioning open-source to monetized product, and another stretch before taking VC. Cramer is famously a **high-school dropout** turned engineer — [First Round Review: "A High School Dropout Turned an Open-Source Project into a $3B Company"](https://review.firstround.com/sentrys-path-to-product-market-fit/). The brand voice tracks the founder positioning: errors are normal, debugging is craft, transparency is the ethos. Sentry remains heavily OSS-aware while operating a managed cloud product. **Total funding ~$217M** from **Accel, NEA, Bond Capital** at **~$3B valuation** ([Crunchbase — Sentry](https://www.crunchbase.com/organization/sentry), [Contrary Research — Sentry](https://research.contrary.com/company/sentry)). **Milin Desai is current CEO**. Purple primary is the signature accent — Tier 1 live measurement on `/pricing` shows the canonical Primary as `rgb(69, 38, 80)` = **`#452650` Sentry Deep Purple** (slightly different from prior §2 doc claim `#6c5fc7` Mid-Purple).
283
+
284
+ ## 12. Principles
285
+
286
+ 1. **Open-source heritage.** *UI implication:* self-hosted Sentry first-class option.
287
+ 2. **Errors are normal.** *UI implication:* tone never shames developers; debugging is craft.
288
+ 3. **Frosted glass for overlays.** *UI implication:* preserve translucent panel pattern.
289
+ 4. **Purple `#6c5fc7` primary.** *UI implication:* don't introduce new accent colors.
290
+ 5. **Rubik for 90%, Dammit Sans hero only.** *UI implication:* don't substitute Rubik.
291
+
292
+ ## 13. Personas
293
+
294
+ *Personas are fictional archetypes informed by Sentry user segments (backend engineers, mobile dev teams, frontend performance leads), not individual people.*
295
+
296
+ **Sergey Volkov, 36, Berlin.** Backend engineer. Sentry as production error feed.
297
+
298
+ **Sofia Russo, 30, Milan.** Mobile dev shipping iOS app. Crash analytics + release tracking.
299
+
300
+ **Marcus Chen, 41, San Francisco.** Frontend performance lead. Web Vitals + LCP monitoring.
301
+
302
+ ## 14. States
303
+
304
+ | State | Treatment |
305
+ |---|---|
306
+ | **Empty (no projects)** | "Create your first project" with SDK install |
307
+ | **Empty (no events)** | "Trigger first event" with code snippet |
308
+ | **Loading (event capturing)** | Real-time event feed |
309
+ | **Loading (issue grouping)** | Skeleton issue cards |
310
+ | **Error (SDK)** | Specific. "DSN invalid" with verify steps |
311
+ | **Error (rate limit)** | Tier limit + upgrade |
312
+ | **Success (resolved)** | Issue moves to resolved tab + version |
313
+ | **Success (alerted)** | Alert chip with route to alert |
314
+ | **Skeleton (issue list)** | Frosted-glass placeholders |
315
+ | **Disabled (no permission)** | Role tooltip |
316
+ | **Loading (long replay)** | Persistent progress |
317
+
318
+ ## 15. Motion & Easing
319
+
320
+ | Token | Value | Use |
321
+ |---|---|---|
322
+ | `motion-instant` | 0ms | Selection |
323
+ | `motion-fast` | 150ms | Hover |
324
+ | `motion-standard` | 250ms | Modal, panel |
325
+
326
+ Standard cubic-bezier; no bounce. `prefers-reduced-motion: reduce` removes hover transitions.
327
+
328
+ ---
329
+
330
+ **Verified:** 2026-05-08 (omd:migrate run 54 — Apple-tier)
331
+ **Tier 1 sources:** sentry.io/welcome home + sentry.io/pricing (live DOM via playwright — Primary **`#452650` Sentry Deep Purple** 8px / 40px / 12×16 / **14px·700 ALL CAPS**; Outline Eggplant `#1f1633` text; Cookie Mid-Purple `#362d59`; Lavender Mist `#f5f3fa` 0px tab; nav 14px·500 ALL CAPS).
332
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
333
+ **Tier 2 (Philosophy/founders/funding):** First Round Review (Sentry PMF case study + Cramer podcast), CIO (Cramer bootstrapping), Crunchbase, Contrary Research, Tracxn, ShiftMag (Milin Desai CEO).
334
+ **Style ref:** `stripe`.
335
+ **Conflicts unresolved:** Brand Purple HEX — §2 doc cited `#6c5fc7` Mid-Purple; live DOM shows `#452650` Deep Purple as canonical Primary. **Resolution: 3-shade palette `#452650`/`#362d59`/`#1f1633`**, live `#452650` wins for Primary; both retained. **Earlier mistake reverted (significant):** prior footer captured nav 14px·500 ghost only — Primary is **14px·700 ALL CAPS Deep Purple**.