glyph-ai 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -0
- package/bundled/overlay/overlay.js +63 -0
- package/bundled/server/context/brand-references.d.ts +7 -0
- package/bundled/server/context/brand-references.d.ts.map +1 -0
- package/bundled/server/context/brand-references.js +20 -0
- package/bundled/server/context/brand-references.js.map +1 -0
- package/bundled/server/context/design-philosophy.d.ts +6 -0
- package/bundled/server/context/design-philosophy.d.ts.map +1 -0
- package/bundled/server/context/design-philosophy.js +82 -0
- package/bundled/server/context/design-philosophy.js.map +1 -0
- package/bundled/server/context/design-system-loader.d.ts +11 -0
- package/bundled/server/context/design-system-loader.d.ts.map +1 -0
- package/bundled/server/context/design-system-loader.js +169 -0
- package/bundled/server/context/design-system-loader.js.map +1 -0
- package/bundled/server/context/design-system.d.ts +7 -0
- package/bundled/server/context/design-system.d.ts.map +1 -0
- package/bundled/server/context/design-system.js +75 -0
- package/bundled/server/context/design-system.js.map +1 -0
- package/bundled/server/context/prompt-builder.d.ts +15 -0
- package/bundled/server/context/prompt-builder.d.ts.map +1 -0
- package/bundled/server/context/prompt-builder.js +123 -0
- package/bundled/server/context/prompt-builder.js.map +1 -0
- package/bundled/server/context/token-template.d.ts +36 -0
- package/bundled/server/context/token-template.d.ts.map +1 -0
- package/bundled/server/context/token-template.js +226 -0
- package/bundled/server/context/token-template.js.map +1 -0
- package/bundled/server/data/design-systems/apple-design-system.md +474 -0
- package/bundled/server/data/design-systems/arc-design-system.md +922 -0
- package/bundled/server/data/design-systems/claude-ai-design-system.md +1443 -0
- package/bundled/server/data/design-systems/elevenlabs-design-system.md +669 -0
- package/bundled/server/data/design-systems/generating_design.md +9 -0
- package/bundled/server/data/design-systems/linear-design-system.md +607 -0
- package/bundled/server/data/design-systems/notion-design-system.md +866 -0
- package/bundled/server/data/design-systems/raycast-design-system.md +709 -0
- package/bundled/server/data/design-systems/stripe-design-system.md +592 -0
- package/bundled/server/data/design-systems/vercel-design-system.md +824 -0
- package/bundled/server/data/design.md +971 -0
- package/bundled/server/index.d.ts +2 -0
- package/bundled/server/index.d.ts.map +1 -0
- package/bundled/server/index.js +310 -0
- package/bundled/server/index.js.map +1 -0
- package/bundled/server/mcp/tools/apply-variation.d.ts +3 -0
- package/bundled/server/mcp/tools/apply-variation.d.ts.map +1 -0
- package/bundled/server/mcp/tools/apply-variation.js +43 -0
- package/bundled/server/mcp/tools/apply-variation.js.map +1 -0
- package/bundled/server/mcp/tools/generate-variations.d.ts +3 -0
- package/bundled/server/mcp/tools/generate-variations.d.ts.map +1 -0
- package/bundled/server/mcp/tools/generate-variations.js +58 -0
- package/bundled/server/mcp/tools/generate-variations.js.map +1 -0
- package/bundled/server/mcp/tools/index.d.ts +3 -0
- package/bundled/server/mcp/tools/index.d.ts.map +1 -0
- package/bundled/server/mcp/tools/index.js +11 -0
- package/bundled/server/mcp/tools/index.js.map +1 -0
- package/bundled/server/mcp/tools/scan-design-system.d.ts +3 -0
- package/bundled/server/mcp/tools/scan-design-system.d.ts.map +1 -0
- package/bundled/server/mcp/tools/scan-design-system.js +27 -0
- package/bundled/server/mcp/tools/scan-design-system.js.map +1 -0
- package/bundled/server/mcp/tools/submit-variations.d.ts +3 -0
- package/bundled/server/mcp/tools/submit-variations.d.ts.map +1 -0
- package/bundled/server/mcp/tools/submit-variations.js +50 -0
- package/bundled/server/mcp/tools/submit-variations.js.map +1 -0
- package/bundled/server/mcp-entry.d.ts +2 -0
- package/bundled/server/mcp-entry.d.ts.map +1 -0
- package/bundled/server/mcp-entry.js +56 -0
- package/bundled/server/mcp-entry.js.map +1 -0
- package/bundled/server/preview/css-resolver.d.ts +6 -0
- package/bundled/server/preview/css-resolver.d.ts.map +1 -0
- package/bundled/server/preview/css-resolver.js +57 -0
- package/bundled/server/preview/css-resolver.js.map +1 -0
- package/bundled/server/preview/html-builder.d.ts +6 -0
- package/bundled/server/preview/html-builder.d.ts.map +1 -0
- package/bundled/server/preview/html-builder.js +85 -0
- package/bundled/server/preview/html-builder.js.map +1 -0
- package/bundled/server/telemetry.d.ts +4 -0
- package/bundled/server/telemetry.d.ts.map +1 -0
- package/bundled/server/telemetry.js +71 -0
- package/bundled/server/telemetry.js.map +1 -0
- package/bundled/server/types.d.ts +69 -0
- package/bundled/server/types.d.ts.map +1 -0
- package/bundled/server/types.js +2 -0
- package/bundled/server/types.js.map +1 -0
- package/bundled/server/variations/file-writer.d.ts +5 -0
- package/bundled/server/variations/file-writer.d.ts.map +1 -0
- package/bundled/server/variations/file-writer.js +29 -0
- package/bundled/server/variations/file-writer.js.map +1 -0
- package/bundled/server/variations/git-utils.d.ts +3 -0
- package/bundled/server/variations/git-utils.d.ts.map +1 -0
- package/bundled/server/variations/git-utils.js +23 -0
- package/bundled/server/variations/git-utils.js.map +1 -0
- package/bundled/server/variations/store.d.ts +11 -0
- package/bundled/server/variations/store.d.ts.map +1 -0
- package/bundled/server/variations/store.js +52 -0
- package/bundled/server/variations/store.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +299 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/stop.d.ts +2 -0
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +32 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1,709 @@
|
|
|
1
|
+
# Raycast.com Design System & Section Boilerplate
|
|
2
|
+
|
|
3
|
+
## Design System
|
|
4
|
+
|
|
5
|
+
### Colors
|
|
6
|
+
|
|
7
|
+
| Role | Value | CSS Variable |
|
|
8
|
+
|------|-------|-------------|
|
|
9
|
+
| **Primary** | `#FF6363` (Red/Coral) | `--color-red: hsl(0,100%,69%)` |
|
|
10
|
+
| **Secondary** | `#56C2FF` (Blue) | `--color-blue: hsl(202,100%,67%)` |
|
|
11
|
+
| **Tertiary** | `hsl(43,100%,60%)` (Yellow/Gold) | `--color-yellow` |
|
|
12
|
+
| **Accent Green** | `hsl(151,59%,59%)` | `--color-green` |
|
|
13
|
+
| **Background** | `#07080A` | `--grey-900` / `--background` |
|
|
14
|
+
| **Surface 100** | `rgb(16,17,17)` | `--color-bg-100` |
|
|
15
|
+
| **Surface 200** | `rgb(24,25,26)` | `--color-bg-200` |
|
|
16
|
+
| **Surface 300** | `rgb(49,49,51)` | `--color-bg-300` |
|
|
17
|
+
| **Surface 400** | `rgb(73,75,77)` | `--color-bg-400` |
|
|
18
|
+
| **Foreground** | `hsl(240,11%,96%)` (~white) | `--color-fg` |
|
|
19
|
+
| **Foreground Muted** | `rgb(194,199,202)` | `--color-fg-200` |
|
|
20
|
+
| **Foreground Subtle** | `#78787C` | `--color-fg-300` |
|
|
21
|
+
| **Foreground Dimmed** | `rgb(94,99,102)` | `--color-fg-400` |
|
|
22
|
+
| **Border** | `hsl(195,5%,15%)` | `--color-border` |
|
|
23
|
+
| **Border Subtle** | `rgba(255,255,255,0.06)` | Used on cards/nav |
|
|
24
|
+
| **Button BG** | `hsla(0,0%,100%,0.815)` | `--color-button-bg` |
|
|
25
|
+
| **Button BG Hover** | `hsl(0,0%,100%)` | `--color-button-bg-hover` |
|
|
26
|
+
| **Button FG** | `rgb(24,25,26)` | `--color-button-fg` |
|
|
27
|
+
|
|
28
|
+
#### Grey Scale
|
|
29
|
+
|
|
30
|
+
| Token | Value |
|
|
31
|
+
|-------|-------|
|
|
32
|
+
| `--grey-50` | `#E6E6E6` |
|
|
33
|
+
| `--grey-100` | `#CDCECE` |
|
|
34
|
+
| `--grey-200` | `#9C9C9D` |
|
|
35
|
+
| `--grey-300` | `#6A6B6C` |
|
|
36
|
+
| `--grey-400` | `#434345` |
|
|
37
|
+
| `--grey-500` | `#2F3031` |
|
|
38
|
+
| `--grey-600` | `#1B1C1E` |
|
|
39
|
+
| `--grey-700` | `#111214` |
|
|
40
|
+
| `--grey-800` | `#0C0D0F` |
|
|
41
|
+
| `--grey-900` | `#07080A` |
|
|
42
|
+
|
|
43
|
+
### Typography
|
|
44
|
+
|
|
45
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Color |
|
|
46
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
47
|
+
| **H1 (Hero)** | Inter | 64px | 600 (SemiBold) | 1.1 (70.4px) | normal | `#FFFFFF` |
|
|
48
|
+
| **H2 (Section Title)** | Inter | 20px | 500 (Medium) | normal | 0.2px | `#FFFFFF` |
|
|
49
|
+
| **H3 (Large Display)** | Inter | 56px | 400 (Regular) | normal | 0.2px | `#FFFFFF` |
|
|
50
|
+
| **H4 (Card Title)** | Inter | 24px | 500 (Medium) | normal | 0.2px | `#FFFFFF` |
|
|
51
|
+
| **Body** | Inter | 18px | 400 (Regular) | normal | normal | `#FFFFFF` |
|
|
52
|
+
| **Body Small** | Inter | 14px | 500 (Medium) | normal | normal | `#9C9C9D` |
|
|
53
|
+
| **Subtitle** | Inter | 20px | 500 (Medium) | normal | normal | `#6A6B6C` |
|
|
54
|
+
| **Label/Nav** | Inter | 14px | 500 (Medium) | normal | normal | `#9C9C9D` |
|
|
55
|
+
| **Monospace** | GeistMono / JetBrains Mono | 12px | 400 | normal | normal | `#9C9C9D` |
|
|
56
|
+
| **Font Stack** | `Inter, "Inter Fallback", sans-serif` | | | | | |
|
|
57
|
+
| **Mono Stack** | `GeistMono, ui-monospace, SFMono-Regular, "Roboto Mono", Menlo, Monaco, Courier, monospace` | | | | | |
|
|
58
|
+
|
|
59
|
+
### Buttons
|
|
60
|
+
|
|
61
|
+
#### Primary Button (Download/CTA)
|
|
62
|
+
```
|
|
63
|
+
background: rgb(230, 230, 230) /* ~#E6E6E6, near-white */
|
|
64
|
+
color: rgb(47, 48, 49) /* dark grey text */
|
|
65
|
+
border-radius: 8px
|
|
66
|
+
padding: 8px 12px
|
|
67
|
+
font-size: 14px
|
|
68
|
+
font-weight: 500
|
|
69
|
+
border: none
|
|
70
|
+
icon: platform icon (Apple/Windows) left-aligned
|
|
71
|
+
hover: background transitions to pure white
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
#### Ghost/Nav Link
|
|
75
|
+
```
|
|
76
|
+
background: transparent
|
|
77
|
+
color: rgb(156, 156, 157) /* #9C9C9D */
|
|
78
|
+
border-radius: 6px
|
|
79
|
+
padding: 12px 8px
|
|
80
|
+
font-size: 14px
|
|
81
|
+
font-weight: 500
|
|
82
|
+
border: none
|
|
83
|
+
hover: color transitions to white
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### Pill Button (Announcement Banner)
|
|
87
|
+
```
|
|
88
|
+
background: rgb(19, 13, 14) /* very dark, near-black */
|
|
89
|
+
color: #FFFFFF
|
|
90
|
+
border-radius: 1000px /* full pill */
|
|
91
|
+
padding: 4px 12px
|
|
92
|
+
font-size: 14px
|
|
93
|
+
font-weight: 500
|
|
94
|
+
border: subtle gradient or border
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
#### Subscribe Button
|
|
98
|
+
```
|
|
99
|
+
background: rgb(230, 230, 230)
|
|
100
|
+
color: rgb(47, 48, 49)
|
|
101
|
+
border-radius: 8px
|
|
102
|
+
padding: 8px 12px
|
|
103
|
+
font-size: 14px
|
|
104
|
+
font-weight: 500
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Input Fields
|
|
108
|
+
|
|
109
|
+
#### Email Input (Newsletter)
|
|
110
|
+
```
|
|
111
|
+
background: rgba(255, 255, 255, 0.05)
|
|
112
|
+
color: #FFFFFF
|
|
113
|
+
border: 1px solid rgba(255, 255, 255, 0.05)
|
|
114
|
+
border-radius: 8px
|
|
115
|
+
padding: 8px 12px
|
|
116
|
+
font-size: 14px
|
|
117
|
+
height: 42px
|
|
118
|
+
placeholder-color: muted grey
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Spacing Scale
|
|
122
|
+
|
|
123
|
+
| Token | Value |
|
|
124
|
+
|-------|-------|
|
|
125
|
+
| `--spacing-0-5` | 4px |
|
|
126
|
+
| `--spacing-1` | 8px |
|
|
127
|
+
| `--spacing-1-5` | 12px |
|
|
128
|
+
| `--spacing-2` | 16px |
|
|
129
|
+
| `--spacing-2-5` | 20px |
|
|
130
|
+
| `--spacing-3` | 24px |
|
|
131
|
+
| `--spacing-4` | 32px |
|
|
132
|
+
| `--spacing-5` | 40px |
|
|
133
|
+
| `--spacing-6` | 48px |
|
|
134
|
+
| `--spacing-7` | 56px |
|
|
135
|
+
| `--spacing-8` | 64px |
|
|
136
|
+
| `--spacing-9` | 80px |
|
|
137
|
+
| `--spacing-10` | 96px |
|
|
138
|
+
| `--spacing-11` | 112px |
|
|
139
|
+
| `--spacing-12` | 168px |
|
|
140
|
+
| `--spacing-13` | 224px |
|
|
141
|
+
|
|
142
|
+
### Border Radius Scale
|
|
143
|
+
|
|
144
|
+
| Token | Value |
|
|
145
|
+
|-------|-------|
|
|
146
|
+
| `--rounding-none` | 0px |
|
|
147
|
+
| `--rounding-xs` | 4px |
|
|
148
|
+
| `--rounding-sm` | 6px |
|
|
149
|
+
| `--rounding-normal` | 8px |
|
|
150
|
+
| `--rounding-md` | 12px |
|
|
151
|
+
| `--rounding-lg` | 16px |
|
|
152
|
+
| `--rounding-xl` | 20px |
|
|
153
|
+
| `--rounding-xxl` | 24px |
|
|
154
|
+
| `--rounding-full` | 100% |
|
|
155
|
+
|
|
156
|
+
### Layout
|
|
157
|
+
|
|
158
|
+
| Property | Value |
|
|
159
|
+
|----------|-------|
|
|
160
|
+
| Container XS | 746px |
|
|
161
|
+
| Container SM | 1064px |
|
|
162
|
+
| Container (default) | 1204px |
|
|
163
|
+
| Container LG | 1280px |
|
|
164
|
+
| Grid Gap | 32px |
|
|
165
|
+
| Navbar Width | 1204px (same as container) |
|
|
166
|
+
| Navbar Height | 58px (inner), 76px (with padding) |
|
|
167
|
+
|
|
168
|
+
### Animation
|
|
169
|
+
|
|
170
|
+
- Custom spring easing: `--spring-1` (a complex linear() easing function with ~100 keyframes creating a spring/bounce effect)
|
|
171
|
+
- Used for scroll-triggered reveals and interactive elements
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Section Boilerplate
|
|
176
|
+
|
|
177
|
+
### Navigation
|
|
178
|
+
|
|
179
|
+
**Structure:**
|
|
180
|
+
```
|
|
181
|
+
Fixed position, full-width outer wrapper
|
|
182
|
+
padding: 16px 16px 0
|
|
183
|
+
└── Inner container (floating bar)
|
|
184
|
+
max-width: 1204px
|
|
185
|
+
height: 76px (58px inner + padding)
|
|
186
|
+
padding: 16px 32px
|
|
187
|
+
border-radius: 16px
|
|
188
|
+
border: 1px solid rgba(255,255,255,0.06)
|
|
189
|
+
backdrop-filter: blur(5px)
|
|
190
|
+
background: transparent (with blur)
|
|
191
|
+
display: flex
|
|
192
|
+
align-items: center
|
|
193
|
+
├── Logo (left) — Raycast icon + wordmark
|
|
194
|
+
├── Nav Links (center) — horizontal row
|
|
195
|
+
│ Links: Store, Pro, AI, iOS, Windows, Teams, Developers, Blog, Pricing
|
|
196
|
+
│ style: 14px, 500 weight, #9C9C9D, padding 12px 8px, radius 6px
|
|
197
|
+
│ hover: text color transitions to white
|
|
198
|
+
└── Right section
|
|
199
|
+
├── "Log in" link (same ghost style as nav links)
|
|
200
|
+
└── "Download" button (primary style, Apple icon + text)
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Interactions:**
|
|
204
|
+
- Nav is `position: fixed`, stays at top on scroll
|
|
205
|
+
- Background uses `backdrop-filter: blur(5px)` for frosted glass effect
|
|
206
|
+
- Links change color from `#9C9C9D` to white on hover
|
|
207
|
+
- Download button has platform-specific icon (Apple on Mac)
|
|
208
|
+
- Nav shrinks/collapses on scroll (inner bar stays pinned)
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
### Hero
|
|
213
|
+
|
|
214
|
+
**Structure:**
|
|
215
|
+
```
|
|
216
|
+
Full viewport height section
|
|
217
|
+
background: #07080A with large red/coral abstract gradient art (diagonal streaks)
|
|
218
|
+
text-align: center
|
|
219
|
+
display: flex, flex-direction: column, align-items: center, justify-content: center
|
|
220
|
+
padding-top: ~navbar height
|
|
221
|
+
|
|
222
|
+
├── H1 "Your shortcut to everything."
|
|
223
|
+
│ font-size: 64px, weight: 600, color: white
|
|
224
|
+
│ max-width: ~800px, centered
|
|
225
|
+
│
|
|
226
|
+
├── Subtitle paragraph
|
|
227
|
+
│ font-size: 18px, weight: 400, color: white
|
|
228
|
+
│ "A collection of powerful productivity tools..."
|
|
229
|
+
│ margin-top: ~24px
|
|
230
|
+
│
|
|
231
|
+
├── CTA Button Row (bottom area)
|
|
232
|
+
│ display: flex, gap: 12px, justify-content: center
|
|
233
|
+
│ ├── "Download for Mac" — primary button with Apple icon
|
|
234
|
+
│ └── "Download for Windows (beta)" — primary button with Windows icon
|
|
235
|
+
│
|
|
236
|
+
└── Version info (monospace)
|
|
237
|
+
"v1.104.10 | macOS 13+ | Install via homebrew"
|
|
238
|
+
font-size: 12px, color: #9C9C9D, font-family: monospace
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**Key details:**
|
|
242
|
+
- Background uses a large abstract red/coral gradient artwork with diagonal streaks
|
|
243
|
+
- Full viewport height, content vertically centered
|
|
244
|
+
- CTA buttons sit near the bottom of the viewport
|
|
245
|
+
- Version info below CTAs in monospace font
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
### Features (Product Showcase)
|
|
250
|
+
|
|
251
|
+
**Structure:**
|
|
252
|
+
```
|
|
253
|
+
Section container
|
|
254
|
+
padding: 224px 24px (top/bottom), max-width: 1204px, centered
|
|
255
|
+
|
|
256
|
+
├── Section Title (centered)
|
|
257
|
+
│ ├── H2 "Take shortcuts, not detours."
|
|
258
|
+
│ │ font-size: 20px, weight: 500, color: white
|
|
259
|
+
│ └── P "One interface, everything you need."
|
|
260
|
+
│ font-size: 20px, weight: 500, color: #6A6B6C
|
|
261
|
+
│ margin-bottom: 64px
|
|
262
|
+
│
|
|
263
|
+
└── Interactive Product Demo
|
|
264
|
+
Full-width macOS-style window mockup
|
|
265
|
+
Shows Raycast app interface with search bar, file results, action menus
|
|
266
|
+
Embedded screenshots/animations of the actual product
|
|
267
|
+
Surrounded by macOS menu bar mockup (Finder, File, Edit, etc.)
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**Pattern:** Section title (white heading + grey subtitle) followed by full-width interactive demo/screenshot. Very generous vertical padding (224px).
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
### Showcase (Value Props / "It's not about saving time")
|
|
275
|
+
|
|
276
|
+
**Structure:**
|
|
277
|
+
```
|
|
278
|
+
Section container
|
|
279
|
+
padding: 224px 24px
|
|
280
|
+
display: grid or flex, split layout
|
|
281
|
+
|
|
282
|
+
├── Left column (text)
|
|
283
|
+
│ ├── H2 "It's not about saving time."
|
|
284
|
+
│ │ font-size: 20px, weight: 500, color: white
|
|
285
|
+
│ ├── P subtitle in grey (#6A6B6C)
|
|
286
|
+
│ └── Download button (primary)
|
|
287
|
+
│
|
|
288
|
+
└── Right column (visual)
|
|
289
|
+
Grid of value prop cards over keyboard visual
|
|
290
|
+
Cards:
|
|
291
|
+
border: 1px solid rgba(255,255,255,0.06)
|
|
292
|
+
border-radius: 12px
|
|
293
|
+
padding: ~24px
|
|
294
|
+
Each card:
|
|
295
|
+
├── Icon (small, top-left)
|
|
296
|
+
├── Bold label "Fast." / "Ergonomic." / "Native." / "Reliable."
|
|
297
|
+
│ color: white, weight: 500
|
|
298
|
+
└── Description text in grey
|
|
299
|
+
"Think in milliseconds." / "Keyboard First."
|
|
300
|
+
3 columns top row, 2 columns bottom row
|
|
301
|
+
Background: subtle keyboard key visualization
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
### Store / Extensions ("There's an extension for that")
|
|
307
|
+
|
|
308
|
+
**Structure:**
|
|
309
|
+
```
|
|
310
|
+
Section container
|
|
311
|
+
padding: 224px 24px
|
|
312
|
+
|
|
313
|
+
├── Section Title
|
|
314
|
+
│ ├── H2 "There's an extension for that."
|
|
315
|
+
│ └── P "Use your favorite tools without even opening them."
|
|
316
|
+
│
|
|
317
|
+
├── Category Tabs
|
|
318
|
+
│ Horizontal row: Productivity | Engineering | Communication | ...
|
|
319
|
+
│ Active tab: white text
|
|
320
|
+
│ Inactive tab: #6A6B6C text
|
|
321
|
+
│ font-size: 14px, weight: 500
|
|
322
|
+
│
|
|
323
|
+
├── Extension Cards (horizontal scroll carousel)
|
|
324
|
+
│ 3 cards visible at a time
|
|
325
|
+
│ Each card:
|
|
326
|
+
│ border-radius: 20px
|
|
327
|
+
│ border: 1px solid rgba(255,255,255,0.06)
|
|
328
|
+
│ background: gradient (unique per card — dark blue, dark teal, dark green, etc.)
|
|
329
|
+
│ ├── Top section
|
|
330
|
+
│ │ App icon + Extension name + category badge
|
|
331
|
+
│ │ Description text (14px, white)
|
|
332
|
+
│ └── Bottom section
|
|
333
|
+
│ Interactive visual/demo of the extension
|
|
334
|
+
│
|
|
335
|
+
├── "Browse thousands more →" link
|
|
336
|
+
│ font-size: 14px, color: grey, with arrow
|
|
337
|
+
│
|
|
338
|
+
└── Carousel arrows (right side)
|
|
339
|
+
Two circular buttons: ← →
|
|
340
|
+
border: 1px solid rgba(255,255,255,0.06)
|
|
341
|
+
border-radius: 50%
|
|
342
|
+
~40px diameter
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
### Features (AI Section / "Your Mac just got smarter")
|
|
348
|
+
|
|
349
|
+
**Structure:**
|
|
350
|
+
```
|
|
351
|
+
Section container
|
|
352
|
+
padding: 224px 24px
|
|
353
|
+
|
|
354
|
+
├── Divider with label
|
|
355
|
+
│ Horizontal line with "AI" text centered
|
|
356
|
+
│ Line: thin, subtle grey
|
|
357
|
+
│ Label: colored text (red/brand)
|
|
358
|
+
│
|
|
359
|
+
├── Section Title (centered)
|
|
360
|
+
│ ├── H2 "Your Mac just got smarter."
|
|
361
|
+
│ └── P "AI where it's most useful - on your OS."
|
|
362
|
+
│
|
|
363
|
+
└── AI Demo Card
|
|
364
|
+
Full-width card
|
|
365
|
+
border-radius: 12px
|
|
366
|
+
border: 1px solid rgba(255,255,255,0.06)
|
|
367
|
+
Shows a macOS window with:
|
|
368
|
+
- Browser-style window chrome (red/yellow/green dots)
|
|
369
|
+
- Split view: text editor (left) + image (right)
|
|
370
|
+
- Content demonstrates AI writing capability
|
|
371
|
+
Link: "Learn more about Raycast AI"
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
### Social Proof / Testimonials ("Built for professionals like you")
|
|
377
|
+
|
|
378
|
+
**Structure:**
|
|
379
|
+
```
|
|
380
|
+
Section container
|
|
381
|
+
padding: 224px 24px
|
|
382
|
+
|
|
383
|
+
├── Section Title (centered)
|
|
384
|
+
│ ├── H2 "Built for professionals like you."
|
|
385
|
+
│ └── P "Used by seriously productive people."
|
|
386
|
+
│
|
|
387
|
+
├── Testimonial Avatars Row
|
|
388
|
+
│ Horizontal row of 3 profiles (centered)
|
|
389
|
+
│ Each:
|
|
390
|
+
│ ├── Avatar image (circular, ~48px)
|
|
391
|
+
│ ├── Name (white, 14px, weight 500)
|
|
392
|
+
│ ├── Handle (@username, grey)
|
|
393
|
+
│ └── Title/Company (grey)
|
|
394
|
+
│ Active testimonial highlighted with subtle card/border
|
|
395
|
+
│ Clickable to switch testimonial
|
|
396
|
+
│
|
|
397
|
+
└── Testimonial Quote
|
|
398
|
+
Below a thin horizontal divider
|
|
399
|
+
Large quotation marks (decorative, grey)
|
|
400
|
+
Quote text:
|
|
401
|
+
font-size: ~20px
|
|
402
|
+
"My favorite productivity app on the Mac" — bold/white
|
|
403
|
+
rest in grey/muted
|
|
404
|
+
Centered layout
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
### How It Works / Automation ("Don't repeat yourself")
|
|
410
|
+
|
|
411
|
+
**Structure:**
|
|
412
|
+
```
|
|
413
|
+
Section container
|
|
414
|
+
padding: 224px 24px
|
|
415
|
+
|
|
416
|
+
├── Section Title (centered)
|
|
417
|
+
│ ├── H2 "Don't repeat yourself."
|
|
418
|
+
│ └── P "Automate the things you do all the time."
|
|
419
|
+
│
|
|
420
|
+
├── Feature Card: Snippets (full-width)
|
|
421
|
+
│ border-radius: 12px
|
|
422
|
+
│ border: 1px solid rgba(255,255,255,0.06)
|
|
423
|
+
│ display: grid, 2 columns
|
|
424
|
+
│ ├── Left: text content
|
|
425
|
+
│ │ ├── Icon + "Snippets" title (24px, 500)
|
|
426
|
+
│ │ └── Description paragraph (grey)
|
|
427
|
+
│ └── Right: visual demo
|
|
428
|
+
│ Shows snippet expansion in a messaging interface
|
|
429
|
+
│ Blue/teal gradient background
|
|
430
|
+
│
|
|
431
|
+
└── Two cards side by side (50/50 grid, gap: 24px)
|
|
432
|
+
Each card:
|
|
433
|
+
border-radius: 12px
|
|
434
|
+
border: 1px solid rgba(255,255,255,0.06)
|
|
435
|
+
├── Visual demo area (top)
|
|
436
|
+
│ Screenshots of Quicklinks search / keyboard shortcuts
|
|
437
|
+
├── Icon + Title (24px, 500, white)
|
|
438
|
+
└── Description (14px, grey)
|
|
439
|
+
Card 1: "Quicklinks" — search bar demo
|
|
440
|
+
Card 2: "Hotkeys and Aliases" — keyboard key visualization
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
### Showcase (Built-in Features / Emoji & Notes)
|
|
446
|
+
|
|
447
|
+
**Structure:**
|
|
448
|
+
```
|
|
449
|
+
Section container
|
|
450
|
+
padding: 224px 24px
|
|
451
|
+
|
|
452
|
+
Rotating text showcase:
|
|
453
|
+
Left column: animated/cycling text describing capabilities
|
|
454
|
+
"It can take notes. Track your windows. Plan your day.
|
|
455
|
+
Remind you of stuff. Translate into any language.
|
|
456
|
+
Block distractions. Find text in screenshots.
|
|
457
|
+
Insert Emojis. And much, much more."
|
|
458
|
+
Key phrases highlighted in white, rest in grey
|
|
459
|
+
Text cycles/animates through features
|
|
460
|
+
|
|
461
|
+
Right column: matching visual demo
|
|
462
|
+
Shows the relevant UI for the current highlighted feature
|
|
463
|
+
(e.g., Emoji picker grid when "Insert Emojis" is highlighted)
|
|
464
|
+
|
|
465
|
+
Below: feature label card
|
|
466
|
+
Icon + "Search Emojis and Symbols" title
|
|
467
|
+
Description text
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
### Social Proof (Community / "Stay in the loop")
|
|
473
|
+
|
|
474
|
+
**Structure:**
|
|
475
|
+
```
|
|
476
|
+
Section container
|
|
477
|
+
padding: 224px 24px
|
|
478
|
+
background: subtle radial gradient overlay
|
|
479
|
+
|
|
480
|
+
├── Section Title (centered)
|
|
481
|
+
│ ├── H2 "Stay in the loop."
|
|
482
|
+
│ └── P "Join the community and learn how other people
|
|
483
|
+
│ get the most out of Raycast."
|
|
484
|
+
│
|
|
485
|
+
├── Social Cards Row (2 columns)
|
|
486
|
+
│ Card 1: Slack
|
|
487
|
+
│ ├── Slack logo icon
|
|
488
|
+
│ ├── "Slack" label
|
|
489
|
+
│ └── "32k members" (monospace, right-aligned)
|
|
490
|
+
│ Card 2: X/Twitter
|
|
491
|
+
│ ├── X logo icon
|
|
492
|
+
│ ├── "X/Twitter" label
|
|
493
|
+
│ └── "80k followers" (monospace, right-aligned)
|
|
494
|
+
│ Card styling: dark bg, subtle border
|
|
495
|
+
│
|
|
496
|
+
└── YouTube section
|
|
497
|
+
Horizontal ticker/carousel of YouTube video thumbnails
|
|
498
|
+
Auto-scrolling marquee effect
|
|
499
|
+
Below: "Check out our YouTube channel..." text + YouTube logo
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
### Features (Developer Section / "Build the perfect tools")
|
|
505
|
+
|
|
506
|
+
**Structure:**
|
|
507
|
+
```
|
|
508
|
+
Section container
|
|
509
|
+
padding: 224px 24px
|
|
510
|
+
|
|
511
|
+
├── 3D Isometric Illustration
|
|
512
|
+
│ Blueprint-style illustration of the Raycast window anatomy
|
|
513
|
+
│ Labels: "SEARCH BAR", "ACTION BAR", "SELECTED ITEM", "LIST CONTENT"
|
|
514
|
+
│ Blue/brand colored highlights on dark wireframe
|
|
515
|
+
│ "FIG_01" label top-left (technical drawing style)
|
|
516
|
+
│
|
|
517
|
+
├── Title + Description (2-column grid)
|
|
518
|
+
│ ├── Left: H3 "Build the perfect tools."
|
|
519
|
+
│ │ font-size: 56px, weight: 400 (thin/light)
|
|
520
|
+
│ └── Right:
|
|
521
|
+
│ Monospace description text
|
|
522
|
+
│ "Our extension API is designed to allow anyone with web
|
|
523
|
+
│ development skills to unleash the power of Raycast."
|
|
524
|
+
│ + "Read the docs ↗" link
|
|
525
|
+
│
|
|
526
|
+
└── Feature Grid (2x2)
|
|
527
|
+
Each cell:
|
|
528
|
+
border: 1px solid rgba(255,255,255,0.06)
|
|
529
|
+
padding: ~32px
|
|
530
|
+
├── H4 title (24px, 500, white)
|
|
531
|
+
├── Description (14px, grey, monospace)
|
|
532
|
+
└── Link "Learn more ↗"
|
|
533
|
+
Cells:
|
|
534
|
+
1. "React to macOS" — React/TypeScript API
|
|
535
|
+
2. "Built-in UI" — pre-built components
|
|
536
|
+
3. "Batteries included" — utilities & APIs
|
|
537
|
+
4. "Publish to the Store" — distribution
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
---
|
|
541
|
+
|
|
542
|
+
### CTA ("Take the short way")
|
|
543
|
+
|
|
544
|
+
**Structure:**
|
|
545
|
+
```
|
|
546
|
+
Section container
|
|
547
|
+
padding: 224px 24px
|
|
548
|
+
text-align: center
|
|
549
|
+
background: keyboard visualization (large, faded keys background)
|
|
550
|
+
|
|
551
|
+
├── H2/H3 "Take the short way."
|
|
552
|
+
│ font-size: large (display), centered
|
|
553
|
+
│
|
|
554
|
+
├── CTA Button Row
|
|
555
|
+
│ Same as hero: two download buttons side by side
|
|
556
|
+
│ "Download for Mac" + "Download for Windows (beta)"
|
|
557
|
+
│ Primary button style
|
|
558
|
+
│
|
|
559
|
+
├── Version info (monospace)
|
|
560
|
+
│ "v1.104.10 | macOS 13+ | Install via homebrew"
|
|
561
|
+
│
|
|
562
|
+
└── Abstract gradient art (red/coral diagonal streaks)
|
|
563
|
+
Same visual language as hero, creating bookend effect
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
---
|
|
567
|
+
|
|
568
|
+
### Footer
|
|
569
|
+
|
|
570
|
+
**Structure:**
|
|
571
|
+
```
|
|
572
|
+
Footer wrapper
|
|
573
|
+
background: same as body (#07080A), no distinct bg
|
|
574
|
+
padding-top: 200px (with gradient art transition from CTA)
|
|
575
|
+
border-top: 1px solid rgba(255,255,255,0.06) (above link grid)
|
|
576
|
+
|
|
577
|
+
├── Link Grid
|
|
578
|
+
│ display: grid
|
|
579
|
+
│ grid-template-columns: repeat(6, 1fr)
|
|
580
|
+
│ gap: 32px
|
|
581
|
+
│ padding: 96px 0 0 24px
|
|
582
|
+
│ max-width: 1204px, centered
|
|
583
|
+
│
|
|
584
|
+
│ Column 1: "Product"
|
|
585
|
+
│ Store, Pro, Teams, Pricing, Changelog, Browser Extension,
|
|
586
|
+
│ Developers, iOS, Windows, API Docs↗, Manual↗,
|
|
587
|
+
│ Troubleshooting↗, Raycast vs Alfred, FAQ
|
|
588
|
+
│
|
|
589
|
+
│ Column 2: "Core Features"
|
|
590
|
+
│ Raycast AI, Raycast Notes, Raycast Focus,
|
|
591
|
+
│ Clipboard History, Window Management, Snippets,
|
|
592
|
+
│ File Search, Quicklinks, Calculator, Calendar,
|
|
593
|
+
│ System, Emoji Picker
|
|
594
|
+
│
|
|
595
|
+
│ Column 3: "Top Extensions"
|
|
596
|
+
│ Design Tools, Developer Tools, Pomodoro Timer,
|
|
597
|
+
│ Productivity, Time Management, Project Management,
|
|
598
|
+
│ Transcript, Translation, Work From Home, AI
|
|
599
|
+
│
|
|
600
|
+
│ Column 4: "Company"
|
|
601
|
+
│ Manifesto, Customers, Careers, Terms of Service,
|
|
602
|
+
│ Privacy Policy, Acceptable Use Policy, DPA,
|
|
603
|
+
│ Trust Center↗, Press Kit↗, Contact
|
|
604
|
+
│
|
|
605
|
+
│ Column 5: "Community"
|
|
606
|
+
│ Community Stories, Ambassadors, Slack, X/Twitter↗,
|
|
607
|
+
│ GitHub↗, Dribbble↗
|
|
608
|
+
│
|
|
609
|
+
│ Column 6: "By Raycast"
|
|
610
|
+
│ Try Raycast AI↗, Explore Snippets↗,
|
|
611
|
+
│ Explore Quicklinks↗, Prompts↗, Chat Presets↗,
|
|
612
|
+
│ ray.so↗, Icon Maker↗, Merch↗, Wallpapers
|
|
613
|
+
│
|
|
614
|
+
│ Column headers:
|
|
615
|
+
│ font-size: 14px, weight: 500, color: white
|
|
616
|
+
│ Links:
|
|
617
|
+
│ font-size: 14px, weight: 500, color: #9C9C9D
|
|
618
|
+
│ External links have ↗ icon
|
|
619
|
+
│ hover: color transitions to white
|
|
620
|
+
│
|
|
621
|
+
└── Newsletter Section
|
|
622
|
+
margin-top: ~80px
|
|
623
|
+
border-top: 1px solid rgba(255,255,255,0.06)
|
|
624
|
+
padding: ~48px 0
|
|
625
|
+
display: flex, justify-content: space-between
|
|
626
|
+
|
|
627
|
+
├── Left: text
|
|
628
|
+
│ H5 "Subscribe to our newsletter." (white, 14px, 500)
|
|
629
|
+
│ P "Get product updates and news in your inbox. No spam." (grey)
|
|
630
|
+
│
|
|
631
|
+
└── Right: form
|
|
632
|
+
display: flex, gap: 8px
|
|
633
|
+
├── Email input
|
|
634
|
+
│ placeholder: "bjarne@cplusplus.com"
|
|
635
|
+
│ bg: rgba(255,255,255,0.05)
|
|
636
|
+
│ border: 1px solid rgba(255,255,255,0.05)
|
|
637
|
+
│ border-radius: 8px
|
|
638
|
+
│ padding: 8px 12px
|
|
639
|
+
│ height: 42px
|
|
640
|
+
│ font-size: 14px
|
|
641
|
+
└── "Subscribe" button (primary style)
|
|
642
|
+
|
|
643
|
+
Disclaimer text below (14px, rgba(255,255,255,0.4))
|
|
644
|
+
"By submitting your email address, you agree to receive..."
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
---
|
|
648
|
+
|
|
649
|
+
### Newsletter (embedded in Footer — see Footer section above)
|
|
650
|
+
|
|
651
|
+
The newsletter is part of the footer. See the Footer section for full structure.
|
|
652
|
+
|
|
653
|
+
---
|
|
654
|
+
|
|
655
|
+
## Sections NOT present on homepage
|
|
656
|
+
|
|
657
|
+
The following requested sections were **not found** on the Raycast homepage. They may exist on other pages:
|
|
658
|
+
|
|
659
|
+
| Section | Notes |
|
|
660
|
+
|---------|-------|
|
|
661
|
+
| **About** | No dedicated about section on homepage; see `/manifesto` |
|
|
662
|
+
| **Blog** | Link in nav goes to `/blog`; no blog preview on homepage |
|
|
663
|
+
| **Comparison** | No comparison table on homepage; see `/raycast-vs-alfred` |
|
|
664
|
+
| **Contact** | Footer link to `/contact` |
|
|
665
|
+
| **Downloads** | Download CTAs embedded in Hero and CTA sections |
|
|
666
|
+
| **FAQ** | Footer link to `/faq`; no FAQ section on homepage |
|
|
667
|
+
| **Pricing** | Nav link to `/pricing`; no pricing section on homepage |
|
|
668
|
+
| **Stats** | No dedicated stats section |
|
|
669
|
+
|
|
670
|
+
---
|
|
671
|
+
|
|
672
|
+
## Global Patterns
|
|
673
|
+
|
|
674
|
+
### Section Title Pattern (reusable)
|
|
675
|
+
Every major section follows this title pattern:
|
|
676
|
+
```
|
|
677
|
+
Container: text-align center (or left for split layouts)
|
|
678
|
+
├── H2: bold statement/hook
|
|
679
|
+
│ font-size: 20px, weight: 500, color: white
|
|
680
|
+
└── P: supporting description
|
|
681
|
+
font-size: 20px, weight: 500, color: #6A6B6C
|
|
682
|
+
margin-bottom: 64px
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
### Card Pattern (reusable)
|
|
686
|
+
```
|
|
687
|
+
background: transparent or very subtle dark fill
|
|
688
|
+
border: 1px solid rgba(255,255,255,0.06)
|
|
689
|
+
border-radius: 12px (content cards) or 20px (extension cards)
|
|
690
|
+
padding: 0 (content bleeds to edges) or 24-32px (text cards)
|
|
691
|
+
overflow: hidden
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
### Section Spacing Pattern
|
|
695
|
+
```
|
|
696
|
+
Each major section:
|
|
697
|
+
padding: 224px 24px (top and bottom)
|
|
698
|
+
max-width: 1204px (via container)
|
|
699
|
+
margin: 0 auto (centered)
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
### Dark Theme Approach
|
|
703
|
+
- Near-black background (`#07080A`) — not pure black
|
|
704
|
+
- White text for primary content
|
|
705
|
+
- Grey (`#6A6B6C` / `#9C9C9D`) for secondary text
|
|
706
|
+
- Ultra-subtle borders: `rgba(255,255,255,0.06)`
|
|
707
|
+
- Blur effects on overlays: `backdrop-filter: blur(5px)`
|
|
708
|
+
- No visible card backgrounds — borders define boundaries
|
|
709
|
+
- Red/coral brand color used sparingly in hero art and accent elements
|