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.
- package/README.ja.md +7 -7
- package/README.ko.md +7 -7
- package/README.md +15 -18
- package/README.zh-TW.md +7 -7
- package/agents/omd-ux-writer.md +1 -1
- package/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +189 -0
- package/data/reference-audits/2026-05-13-kr10.md +132 -0
- package/data/reference-fingerprints.json +626 -3
- package/data/reference-tags.md +15 -1
- package/package.json +2 -2
- package/skills/omd-apply/SKILL.md +1 -1
- package/skills/omd-harness/SKILL.md +3 -3
- package/skills/omd-init/SKILL.md +2 -2
- package/web/AGENTS.md +5 -0
- package/web/references/29cm/DESIGN.md +445 -0
- package/web/references/ably/DESIGN.md +582 -0
- package/{references → web/references}/airbnb/DESIGN.md +158 -19
- package/web/references/airtable/DESIGN.md +241 -0
- package/{references → web/references}/apple/DESIGN.md +131 -76
- package/web/references/baemin/DESIGN.md +470 -0
- package/web/references/banksalad/DESIGN.md +606 -0
- package/{references → web/references}/bmw/DESIGN.md +138 -9
- package/{references → web/references}/cal/DESIGN.md +173 -17
- package/{references → web/references}/claude/DESIGN.md +11 -1
- package/{references → web/references}/clay/DESIGN.md +75 -0
- package/{references → web/references}/clickhouse/DESIGN.md +74 -0
- package/{references → web/references}/cohere/DESIGN.md +75 -0
- package/web/references/coinbase/DESIGN.md +205 -0
- package/{references → web/references}/composio/DESIGN.md +74 -0
- package/web/references/coupang/DESIGN.md +487 -0
- package/{references → web/references}/cursor/DESIGN.md +74 -0
- package/web/references/dcard/DESIGN.md +567 -0
- package/{references → web/references}/elevenlabs/DESIGN.md +91 -0
- package/{references → web/references}/expo/DESIGN.md +72 -0
- package/{references → web/references}/ferrari/DESIGN.md +72 -0
- package/{references → web/references}/figma/DESIGN.md +124 -48
- package/{references → web/references}/framer/DESIGN.md +143 -16
- package/web/references/freee/DESIGN.md +558 -0
- package/web/references/gangnamunni/DESIGN.md +605 -0
- package/{references → web/references}/hashicorp/DESIGN.md +72 -0
- package/{references → web/references}/ibm/DESIGN.md +68 -0
- package/{references → web/references}/intercom/DESIGN.md +73 -0
- package/web/references/kakao/DESIGN.md +490 -0
- package/web/references/kakaobank/DESIGN.md +533 -0
- package/web/references/kakaopay/DESIGN.md +529 -0
- package/web/references/karrot/DESIGN.md +431 -0
- package/web/references/kraken/DESIGN.md +219 -0
- package/web/references/krds/DESIGN.md +982 -0
- package/web/references/kurly/DESIGN.md +574 -0
- package/{references → web/references}/lamborghini/DESIGN.md +74 -0
- package/{references → web/references}/line/DESIGN.md +84 -43
- package/{references → web/references}/linear.app/DESIGN.md +8 -1
- package/{references → web/references}/lovable/DESIGN.md +73 -0
- package/web/references/mercari/DESIGN.md +464 -0
- package/{references → web/references}/minimax/DESIGN.md +72 -0
- package/{references → web/references}/mintlify/DESIGN.md +72 -0
- package/web/references/miro/DESIGN.md +252 -0
- package/{references → web/references}/mistral.ai/DESIGN.md +72 -0
- package/{references → web/references}/mongodb/DESIGN.md +72 -0
- package/web/references/musinsa/DESIGN.md +536 -0
- package/web/references/naver/DESIGN.md +518 -0
- package/{references → web/references}/notion/DESIGN.md +9 -1
- package/web/references/nvidia/DESIGN.md +491 -0
- package/web/references/ohouse/DESIGN.md +570 -0
- package/{references → web/references}/ollama/DESIGN.md +72 -0
- package/{references → web/references}/opencode.ai/DESIGN.md +73 -0
- package/web/references/pinkoi/DESIGN.md +575 -0
- package/{references → web/references}/pinterest/DESIGN.md +73 -0
- package/{references → web/references}/posthog/DESIGN.md +172 -18
- package/web/references/qanda/DESIGN.md +459 -0
- package/{references → web/references}/raycast/DESIGN.md +169 -34
- package/web/references/remember/DESIGN.md +445 -0
- package/{references → web/references}/renault/DESIGN.md +72 -0
- package/{references → web/references}/replicate/DESIGN.md +73 -0
- package/{references → web/references}/resend/DESIGN.md +73 -0
- package/{references → web/references}/revolut/DESIGN.md +74 -0
- package/web/references/ridi/DESIGN.md +517 -0
- package/{references → web/references}/runwayml/DESIGN.md +152 -24
- package/{references → web/references}/sanity/DESIGN.md +72 -0
- package/{references → web/references}/sentry/DESIGN.md +73 -0
- package/web/references/socar/DESIGN.md +370 -0
- package/web/references/spacex/DESIGN.md +379 -0
- package/web/references/spotify/DESIGN.md +426 -0
- package/{references → web/references}/stripe/DESIGN.md +44 -1
- package/{references → web/references}/supabase/DESIGN.md +73 -0
- package/{references → web/references}/superhuman/DESIGN.md +159 -17
- package/{references → web/references}/tesla/DESIGN.md +170 -0
- package/{references → web/references}/together.ai/DESIGN.md +73 -0
- package/{references → web/references}/toss/DESIGN.md +304 -50
- package/{references → web/references}/uber/DESIGN.md +73 -0
- package/{references → web/references}/vercel/DESIGN.md +9 -1
- package/{references → web/references}/voltagent/DESIGN.md +73 -0
- package/web/references/wanted/DESIGN.md +515 -0
- package/{references → web/references}/warp/DESIGN.md +142 -15
- package/web/references/webflow/DESIGN.md +253 -0
- package/{references → web/references}/wise/DESIGN.md +84 -0
- package/{references → web/references}/x.ai/DESIGN.md +85 -0
- package/web/references/yanolja/DESIGN.md +448 -0
- package/web/references/yeogiotte/DESIGN.md +424 -0
- package/{references → web/references}/zapier/DESIGN.md +85 -0
- package/web/references/zigbang/DESIGN.md +457 -0
- package/web/references/zigzag/DESIGN.md +618 -0
- package/references/airtable/DESIGN.md +0 -107
- package/references/baemin/DESIGN.md +0 -260
- package/references/coinbase/DESIGN.md +0 -129
- package/references/dcard/DESIGN.md +0 -302
- package/references/freee/DESIGN.md +0 -308
- package/references/kakao/DESIGN.md +0 -261
- package/references/karrot/DESIGN.md +0 -252
- package/references/kraken/DESIGN.md +0 -146
- package/references/mercari/DESIGN.md +0 -294
- package/references/miro/DESIGN.md +0 -108
- package/references/nvidia/DESIGN.md +0 -308
- package/references/pinkoi/DESIGN.md +0 -309
- package/references/spacex/DESIGN.md +0 -205
- package/references/spotify/DESIGN.md +0 -246
- package/references/webflow/DESIGN.md +0 -109
|
@@ -97,44 +97,107 @@ Inter is used everywhere — headings, body, buttons, captions — with extensiv
|
|
|
97
97
|
## 4. Component Stylings
|
|
98
98
|
|
|
99
99
|
### Buttons
|
|
100
|
-
- **Primary Pill**: Transparent background, white text, pill shape (86px radius), multi-layer inset shadow (`rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset`). Hover: opacity 0.6
|
|
101
|
-
- **Secondary Button**: Transparent background, white text, 6px radius, `1px solid rgba(255, 255, 255, 0.1)` border, subtle drop shadow (`rgba(0, 0, 0, 0.03) 0px 7px 3px`). Hover: opacity 0.6
|
|
102
|
-
- **Ghost Button**: No background or border, gray text (`#6a6b6c`), 86px radius, same inset shadow. Hover: opacity 0.6, text brightens to white
|
|
103
|
-
- **CTA (Download)**: Semi-transparent white background (`hsla(0, 0%, 100%, 0.815)`), dark text (`#18191a`), pill shape. Hover: full white background (`hsl(0, 0%, 100%)`)
|
|
104
|
-
- **Transition**: All buttons use opacity transition for hover rather than background-color change — a signature Raycast interaction pattern
|
|
105
|
-
|
|
106
|
-
### Cards & Containers
|
|
107
|
-
- **Standard Card**: `#101111` surface, `1px solid rgba(255, 255, 255, 0.06)` border, 12px–16px border-radius
|
|
108
|
-
- **Elevated Card**: Ring shadow `rgb(27, 28, 30) 0px 0px 0px 1px` outer + `rgb(7, 8, 10) 0px 0px 0px 1px inset` inner — creates a double-ring containment
|
|
109
|
-
- **Feature Card**: 16px–20px border-radius, subtle warm glow (`rgba(215, 201, 175, 0.05) 0px 0px 20px 5px`) behind hero elements
|
|
110
|
-
- **Hover**: Cards brighten slightly via border opacity increase or subtle shadow enhancement
|
|
111
|
-
|
|
112
|
-
### Inputs & Forms
|
|
113
|
-
- Dark input fields with `#07080a` background, `1px solid rgba(255, 255, 255, 0.08)` border, 8px border-radius
|
|
114
|
-
- Focus state: Border brightens, blue glow (`hsla(202, 100%, 67%, 0.15)`) ring appears
|
|
115
|
-
- Text: `#f9f9f9` input color, `#6a6b6c` placeholder
|
|
116
|
-
- Labels: `#9c9c9d` at 14px weight 500
|
|
117
100
|
|
|
118
|
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
101
|
+
**Primary Pill**
|
|
102
|
+
- Background: transparent
|
|
103
|
+
- Text: `#ffffff`
|
|
104
|
+
- Radius: 86px (pill)
|
|
105
|
+
- Padding: 10px 16px
|
|
106
|
+
- Shadow: `rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset`
|
|
107
|
+
- Hover: opacity 0.6
|
|
108
|
+
- Use: Primary pill button on dark surfaces
|
|
109
|
+
|
|
110
|
+
**Secondary**
|
|
111
|
+
- Background: transparent
|
|
112
|
+
- Text: `#ffffff`
|
|
113
|
+
- Border: 1px solid `rgba(255, 255, 255, 0.1)`
|
|
114
|
+
- Radius: 6px
|
|
115
|
+
- Padding: 8px 14px
|
|
116
|
+
- Shadow: `rgba(0, 0, 0, 0.03) 0px 7px 3px`
|
|
117
|
+
- Hover: opacity 0.6
|
|
118
|
+
- Use: Secondary action
|
|
119
|
+
|
|
120
|
+
**Ghost**
|
|
121
|
+
- Background: transparent
|
|
122
|
+
- Text: `#6a6b6c`
|
|
123
|
+
- Radius: 86px
|
|
124
|
+
- Padding: 10px 16px
|
|
125
|
+
- Shadow: `rgba(255, 255, 255, 0.1) 0px 1px 0px 0px inset`
|
|
126
|
+
- Hover: opacity 0.6, text brightens to `#ffffff`
|
|
127
|
+
- Use: Tertiary action — gray text
|
|
128
|
+
|
|
129
|
+
**CTA Download**
|
|
130
|
+
- Background: `hsla(0, 0%, 100%, 0.815)`
|
|
131
|
+
- Text: `#18191a`
|
|
132
|
+
- Radius: 86px (pill)
|
|
133
|
+
- Padding: 10px 16px
|
|
134
|
+
- Hover: `hsl(0, 0%, 100%)` (full white)
|
|
135
|
+
- Use: Hero "Download" CTA on dark surfaces
|
|
136
|
+
|
|
137
|
+
### Inputs
|
|
138
|
+
|
|
139
|
+
**Default**
|
|
140
|
+
- Background: `#07080a`
|
|
141
|
+
- Text: `#f9f9f9`
|
|
142
|
+
- Border: 1px solid `rgba(255, 255, 255, 0.08)`
|
|
143
|
+
- Radius: 8px
|
|
144
|
+
- Padding: 10px 12px
|
|
145
|
+
- Placeholder: `#6a6b6c`
|
|
146
|
+
- Focus: border brightens, blue glow `hsla(202, 100%, 67%, 0.15)` ring
|
|
147
|
+
- Label: `#9c9c9d` 14px / 500
|
|
148
|
+
- Use: Form input on dark theme
|
|
149
|
+
|
|
150
|
+
### Cards
|
|
151
|
+
|
|
152
|
+
**Standard**
|
|
153
|
+
- Background: `#101111`
|
|
154
|
+
- Text: `#ffffff`
|
|
155
|
+
- Border: 1px solid `rgba(255, 255, 255, 0.06)`
|
|
156
|
+
- Radius: 12px
|
|
157
|
+
- Padding: 16px
|
|
158
|
+
- Use: Default dark card
|
|
159
|
+
|
|
160
|
+
**Elevated**
|
|
161
|
+
- Background: `#101111`
|
|
162
|
+
- Radius: 16px
|
|
163
|
+
- Padding: 20px
|
|
164
|
+
- Shadow: `rgb(27, 28, 30) 0px 0px 0px 1px, rgb(7, 8, 10) 0px 0px 0px 1px inset`
|
|
165
|
+
- Use: Double-ring elevated card
|
|
166
|
+
|
|
167
|
+
**Feature**
|
|
168
|
+
- Background: `#101111`
|
|
169
|
+
- Radius: 20px
|
|
170
|
+
- Padding: 24px
|
|
171
|
+
- Shadow: `rgba(215, 201, 175, 0.05) 0px 0px 20px 5px` (subtle warm glow)
|
|
172
|
+
- Use: Hero/feature card with warm glow
|
|
173
|
+
|
|
174
|
+
### Badges
|
|
175
|
+
|
|
176
|
+
**Neutral**
|
|
177
|
+
- Background: `#1b1c1e`
|
|
178
|
+
- Text: `#ffffff`
|
|
179
|
+
- Radius: 6px
|
|
180
|
+
- Padding: 0px 6px
|
|
181
|
+
- Font: 14px / 500
|
|
182
|
+
- Use: Categorization badge — compact pill-like treatment
|
|
130
183
|
|
|
131
184
|
### Keyboard Shortcut Keys
|
|
132
|
-
-
|
|
133
|
-
-
|
|
185
|
+
- Key cap: gradient `#121212` → `#0d0d0d`, multi-layer shadow `rgba(0, 0, 0, 0.4) 0px 1.5px 0.5px 2.5px` + inset shadows
|
|
186
|
+
- Radius: 4-6px
|
|
187
|
+
- Use: Realistic physical key cap rendering for Raycast shortcuts
|
|
134
188
|
|
|
135
|
-
###
|
|
136
|
-
-
|
|
137
|
-
-
|
|
189
|
+
### Image Treatment
|
|
190
|
+
- Product screenshots: macOS window chrome style — rounded corners (12px), deep shadows simulating floating windows
|
|
191
|
+
- Full-bleed sections: Dark screenshots blend seamlessly into the dark background
|
|
192
|
+
- Hero illustration: Diagonal stripe pattern in Raycast Red — abstract, geometric, brand-defining
|
|
193
|
+
- App UI embeds: actual Raycast command palette and extensions — product as content
|
|
194
|
+
|
|
195
|
+
### Navigation
|
|
196
|
+
- Top nav: Dark background blending with page, white text links at 16px weight 500
|
|
197
|
+
- Nav links: Gray text (`#9c9c9d`) → white on hover, underline on hover
|
|
198
|
+
- CTA: Semi-transparent white pill at nav end
|
|
199
|
+
- Mobile: hamburger, dark theme preserved
|
|
200
|
+
- Sticky: Fixed at top with subtle border separator
|
|
138
201
|
|
|
139
202
|
## 5. Layout Principles
|
|
140
203
|
|
|
@@ -266,3 +329,75 @@ When refining existing screens generated with this design system:
|
|
|
266
329
|
3. Ensure shadows have both outer and inset layers — single-layer shadows look flat and wrong
|
|
267
330
|
4. Confirm Inter has OpenType features `calt`, `kern`, `liga`, `ss03` enabled
|
|
268
331
|
5. Test that hover states use opacity transitions (0.6) not color swaps — this is a core interaction pattern
|
|
332
|
+
|
|
333
|
+
## 10. Voice & Tone
|
|
334
|
+
|
|
335
|
+
Raycast's voice is **prosumer-confident and keyboard-first.** "Your shortcut to everything" — concise, capability-driven, never marketing-fluff. Dark prosumer canvas + warm gradients signal "Mac native, designed for power users."
|
|
336
|
+
|
|
337
|
+
| Context | Tone |
|
|
338
|
+
|---|---|
|
|
339
|
+
| CTA | Verb. "Download", "Sign up", "Get started" |
|
|
340
|
+
| Marketing | Capability-list. "Spotlight on steroids" framing |
|
|
341
|
+
| Documentation | Keyboard-shortcut-heavy, code-block-friendly |
|
|
342
|
+
| Error | Specific. "Extension failed to load. Check console for details." |
|
|
343
|
+
|
|
344
|
+
**Voice samples**
|
|
345
|
+
- Tagline: *"Your shortcut to everything"* <!-- verified: raycast.com homepage 2026-05 -->
|
|
346
|
+
|
|
347
|
+
**Forbidden phrases.** "Revolutionary launcher". Aggressive Spotlight-comparison framing.
|
|
348
|
+
|
|
349
|
+
## 11. Brand Narrative
|
|
350
|
+
|
|
351
|
+
Raycast was founded **2020** out of **London** by ex-Facebook engineers **Thomas Paul Mann (CEO)** and **Petr Nikolaev (CTO)** — they **met working at Facebook on the same team**, sharing frustration with the clunky productivity tools they used and a desire to build a better Spotlight ([TechCrunch — Raycast $30M Series B 2024-09](https://techcrunch.com/2024/09/25/raycast-raises-30m-to-bring-its-mac-productivity-app-to-windows-and-ios/), [Ness Labs — Thomas Paul Mann interview](https://nesslabs.com/raycast-featured-tool)). Funding ladder: **first round March 18 2020** (seed) → **$15M Series A (November 2021)** led by **Accel + Coatue** ([TechCrunch — Raycast $15M 2021-11](https://techcrunch.com/2021/11/30/developer-productivity-tools-startup-raycast-raises-15m-from-accel-and-coatue/)) → **$30M / €27M Series B (Sept 25 2024)** to expand from Mac to Windows + iOS ([EU-Startups — Raycast €27M Series B 2024-09](https://www.eu-startups.com/2024/09/london-based-raycast-raises-e27-million-series-b-to-help-ios-and-windows-enhance-productivity/)) → **total $47.8M across 4 rounds from 20 investors** including **Accel, Y Combinator, Atomico** ([Tracxn — Raycast](https://tracxn.com/d/companies/raycast/__VNiI9rqA4HFcosfhPf0QoAIcecG3jJRlMCseC8jQeOw)). Mac-native productivity tool — Spotlight replacement that grew into a platform for extensions. Strong adoption among engineers, designers, and prosumers. Brand voice — keyboard-first, prosumer-aesthetic — reflects the product positioning.
|
|
352
|
+
|
|
353
|
+
## 12. Principles
|
|
354
|
+
|
|
355
|
+
1. **Keyboard is the interface.** *UI implication:* every action has a keyboard shortcut documented inline.
|
|
356
|
+
2. **Inter with OpenType features.** `calt`, `kern`, `liga`, `ss03`. *UI implication:* don't substitute system fonts.
|
|
357
|
+
3. **Hover via opacity, not color swap.** *UI implication:* preserve opacity-transition pattern.
|
|
358
|
+
4. **Dark prosumer canvas.** *UI implication:* default to dark theme; light theme as secondary.
|
|
359
|
+
5. **Extensions are first-class.** *UI implication:* Store + Extension nav has main-nav placement.
|
|
360
|
+
|
|
361
|
+
## 13. Personas
|
|
362
|
+
|
|
363
|
+
*Personas are fictional archetypes informed by Raycast user segments (Mac power users, engineers, prosumer designers), not individual people.*
|
|
364
|
+
|
|
365
|
+
**Sergey Volkov, 36, Berlin.** Senior engineer, Raycast as Spotlight replacement + AI commands.
|
|
366
|
+
|
|
367
|
+
**Sofia Park, 31, Seoul.** Product designer with 30+ extensions installed.
|
|
368
|
+
|
|
369
|
+
**Marcus Webb, 41, San Francisco.** Engineering manager. Raycast Pro subscriber for AI features.
|
|
370
|
+
|
|
371
|
+
## 14. States
|
|
372
|
+
|
|
373
|
+
| State | Treatment |
|
|
374
|
+
|---|---|
|
|
375
|
+
| **Empty (no extensions)** | "Browse the Store" CTA + featured grid |
|
|
376
|
+
| **Empty (search)** | "No commands found. Try different keywords." |
|
|
377
|
+
| **Loading (extension loading)** | Subtle skeleton with maintained dimensions |
|
|
378
|
+
| **Loading (AI command)** | Per-token streaming inline |
|
|
379
|
+
| **Error (extension)** | Specific error + reload extension button |
|
|
380
|
+
| **Error (auth)** | Specific cause + re-auth flow |
|
|
381
|
+
| **Success (executed)** | Implicit; result appears |
|
|
382
|
+
| **Success (extension installed)** | Subtle check + immediately available |
|
|
383
|
+
| **Skeleton (results)** | Dark-tone placeholders |
|
|
384
|
+
| **Disabled (no Pro)** | Upgrade link |
|
|
385
|
+
| **Loading (long task)** | Persistent progress |
|
|
386
|
+
|
|
387
|
+
## 15. Motion & Easing
|
|
388
|
+
|
|
389
|
+
| Token | Value | Use |
|
|
390
|
+
|---|---|---|
|
|
391
|
+
| `motion-instant` | 0ms | Selection |
|
|
392
|
+
| `motion-fast` | 150ms | Hover opacity |
|
|
393
|
+
| `motion-standard` | 250ms | Modal, panel |
|
|
394
|
+
|
|
395
|
+
Standard cubic-bezier; minimal bounce. **Hover via opacity 0.6** is signature. `prefers-reduced-motion: reduce` removes hover transitions.
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
**Verified:** 2026-05-08 (omd:migrate run 47 — Apple-tier)
|
|
400
|
+
**Tier 1 sources:** raycast.com home + /pro (live DOM via playwright — Primary **`#e6e6e6` Light Gray** + Charcoal `#2f3031` text 8px / 36px / 14px·**500**; banner-pill `#130d0e` Deep Black 1000px / 30px (top promo); newsletter inline 4px variant; dark-canvas Outline `rgba(255,255,255,0.05)` 12px on /pro).
|
|
401
|
+
**Tier 2 sources:** styles.refero.design / getdesign.md — no record.
|
|
402
|
+
**Tier 2 (Philosophy/founders/funding):** TechCrunch (2021-11 $15M Accel+Coatue + 2024-09 $30M Series B), EU-Startups (€27M Series B), TechFundingNews, Ness Labs (Mann interview), Tracxn ($47.8M total / 20 investors).
|
|
403
|
+
**Style ref:** `claude`. **Conflicts unresolved:** none. **Earlier mistake reverted:** prior footer captured nav-link mid-gray (`#9c9c9d`) — canonical Primary is **`#e6e6e6` Light Gray** 8px (the brand-defining download CTA, missed entirely).
|