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.
Files changed (106) hide show
  1. package/README.md +69 -0
  2. package/bundled/overlay/overlay.js +63 -0
  3. package/bundled/server/context/brand-references.d.ts +7 -0
  4. package/bundled/server/context/brand-references.d.ts.map +1 -0
  5. package/bundled/server/context/brand-references.js +20 -0
  6. package/bundled/server/context/brand-references.js.map +1 -0
  7. package/bundled/server/context/design-philosophy.d.ts +6 -0
  8. package/bundled/server/context/design-philosophy.d.ts.map +1 -0
  9. package/bundled/server/context/design-philosophy.js +82 -0
  10. package/bundled/server/context/design-philosophy.js.map +1 -0
  11. package/bundled/server/context/design-system-loader.d.ts +11 -0
  12. package/bundled/server/context/design-system-loader.d.ts.map +1 -0
  13. package/bundled/server/context/design-system-loader.js +169 -0
  14. package/bundled/server/context/design-system-loader.js.map +1 -0
  15. package/bundled/server/context/design-system.d.ts +7 -0
  16. package/bundled/server/context/design-system.d.ts.map +1 -0
  17. package/bundled/server/context/design-system.js +75 -0
  18. package/bundled/server/context/design-system.js.map +1 -0
  19. package/bundled/server/context/prompt-builder.d.ts +15 -0
  20. package/bundled/server/context/prompt-builder.d.ts.map +1 -0
  21. package/bundled/server/context/prompt-builder.js +123 -0
  22. package/bundled/server/context/prompt-builder.js.map +1 -0
  23. package/bundled/server/context/token-template.d.ts +36 -0
  24. package/bundled/server/context/token-template.d.ts.map +1 -0
  25. package/bundled/server/context/token-template.js +226 -0
  26. package/bundled/server/context/token-template.js.map +1 -0
  27. package/bundled/server/data/design-systems/apple-design-system.md +474 -0
  28. package/bundled/server/data/design-systems/arc-design-system.md +922 -0
  29. package/bundled/server/data/design-systems/claude-ai-design-system.md +1443 -0
  30. package/bundled/server/data/design-systems/elevenlabs-design-system.md +669 -0
  31. package/bundled/server/data/design-systems/generating_design.md +9 -0
  32. package/bundled/server/data/design-systems/linear-design-system.md +607 -0
  33. package/bundled/server/data/design-systems/notion-design-system.md +866 -0
  34. package/bundled/server/data/design-systems/raycast-design-system.md +709 -0
  35. package/bundled/server/data/design-systems/stripe-design-system.md +592 -0
  36. package/bundled/server/data/design-systems/vercel-design-system.md +824 -0
  37. package/bundled/server/data/design.md +971 -0
  38. package/bundled/server/index.d.ts +2 -0
  39. package/bundled/server/index.d.ts.map +1 -0
  40. package/bundled/server/index.js +310 -0
  41. package/bundled/server/index.js.map +1 -0
  42. package/bundled/server/mcp/tools/apply-variation.d.ts +3 -0
  43. package/bundled/server/mcp/tools/apply-variation.d.ts.map +1 -0
  44. package/bundled/server/mcp/tools/apply-variation.js +43 -0
  45. package/bundled/server/mcp/tools/apply-variation.js.map +1 -0
  46. package/bundled/server/mcp/tools/generate-variations.d.ts +3 -0
  47. package/bundled/server/mcp/tools/generate-variations.d.ts.map +1 -0
  48. package/bundled/server/mcp/tools/generate-variations.js +58 -0
  49. package/bundled/server/mcp/tools/generate-variations.js.map +1 -0
  50. package/bundled/server/mcp/tools/index.d.ts +3 -0
  51. package/bundled/server/mcp/tools/index.d.ts.map +1 -0
  52. package/bundled/server/mcp/tools/index.js +11 -0
  53. package/bundled/server/mcp/tools/index.js.map +1 -0
  54. package/bundled/server/mcp/tools/scan-design-system.d.ts +3 -0
  55. package/bundled/server/mcp/tools/scan-design-system.d.ts.map +1 -0
  56. package/bundled/server/mcp/tools/scan-design-system.js +27 -0
  57. package/bundled/server/mcp/tools/scan-design-system.js.map +1 -0
  58. package/bundled/server/mcp/tools/submit-variations.d.ts +3 -0
  59. package/bundled/server/mcp/tools/submit-variations.d.ts.map +1 -0
  60. package/bundled/server/mcp/tools/submit-variations.js +50 -0
  61. package/bundled/server/mcp/tools/submit-variations.js.map +1 -0
  62. package/bundled/server/mcp-entry.d.ts +2 -0
  63. package/bundled/server/mcp-entry.d.ts.map +1 -0
  64. package/bundled/server/mcp-entry.js +56 -0
  65. package/bundled/server/mcp-entry.js.map +1 -0
  66. package/bundled/server/preview/css-resolver.d.ts +6 -0
  67. package/bundled/server/preview/css-resolver.d.ts.map +1 -0
  68. package/bundled/server/preview/css-resolver.js +57 -0
  69. package/bundled/server/preview/css-resolver.js.map +1 -0
  70. package/bundled/server/preview/html-builder.d.ts +6 -0
  71. package/bundled/server/preview/html-builder.d.ts.map +1 -0
  72. package/bundled/server/preview/html-builder.js +85 -0
  73. package/bundled/server/preview/html-builder.js.map +1 -0
  74. package/bundled/server/telemetry.d.ts +4 -0
  75. package/bundled/server/telemetry.d.ts.map +1 -0
  76. package/bundled/server/telemetry.js +71 -0
  77. package/bundled/server/telemetry.js.map +1 -0
  78. package/bundled/server/types.d.ts +69 -0
  79. package/bundled/server/types.d.ts.map +1 -0
  80. package/bundled/server/types.js +2 -0
  81. package/bundled/server/types.js.map +1 -0
  82. package/bundled/server/variations/file-writer.d.ts +5 -0
  83. package/bundled/server/variations/file-writer.d.ts.map +1 -0
  84. package/bundled/server/variations/file-writer.js +29 -0
  85. package/bundled/server/variations/file-writer.js.map +1 -0
  86. package/bundled/server/variations/git-utils.d.ts +3 -0
  87. package/bundled/server/variations/git-utils.d.ts.map +1 -0
  88. package/bundled/server/variations/git-utils.js +23 -0
  89. package/bundled/server/variations/git-utils.js.map +1 -0
  90. package/bundled/server/variations/store.d.ts +11 -0
  91. package/bundled/server/variations/store.d.ts.map +1 -0
  92. package/bundled/server/variations/store.js +52 -0
  93. package/bundled/server/variations/store.js.map +1 -0
  94. package/dist/commands/init.d.ts +2 -0
  95. package/dist/commands/init.d.ts.map +1 -0
  96. package/dist/commands/init.js +299 -0
  97. package/dist/commands/init.js.map +1 -0
  98. package/dist/commands/stop.d.ts +2 -0
  99. package/dist/commands/stop.d.ts.map +1 -0
  100. package/dist/commands/stop.js +32 -0
  101. package/dist/commands/stop.js.map +1 -0
  102. package/dist/index.d.ts +3 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +35 -0
  105. package/dist/index.js.map +1 -0
  106. package/package.json +35 -0
@@ -0,0 +1,866 @@
1
+ # Notion.com Design System & Section Boilerplate
2
+
3
+ > Source: https://www.notion.com/ (scraped 2026-03-22)
4
+
5
+ ---
6
+
7
+ ## Design System
8
+
9
+ ### Colors
10
+
11
+ #### Primary
12
+ | Token | Value | Usage |
13
+ |-------|-------|-------|
14
+ | Agents Blue 400 | `#455DD3` / `rgb(69, 93, 211)` | Primary CTA buttons, accent links |
15
+ | Agents Blue 600 | `#213183` / `rgb(33, 49, 131)` | Secondary CTA buttons (dark variant) |
16
+ | Agents Blue 900 | `#02093A` / `rgb(2, 9, 58)` | Hero background, dark sections |
17
+ | Blue 500 | `#097FE8` | Text links, interactive elements |
18
+ | Blue 600 | `#0075DE` | Link hover states |
19
+
20
+ #### Secondary
21
+ | Token | Value | Usage |
22
+ |-------|-------|-------|
23
+ | Gray 100 | `#F9F9F8` | Lightest background |
24
+ | Gray 200 | `#F6F5F4` / `rgb(246, 245, 244)` | Alternating section background, nav text (dark mode) |
25
+ | Gray 300 | `#DFDCD9` | Borders, dividers |
26
+ | Gray 400 | `#A39E98` | Muted icons |
27
+ | Gray 500 | `#78736F` | Placeholder text |
28
+
29
+ #### Tertiary (Campaign Colors)
30
+ | Token | Value | Usage |
31
+ |-------|-------|-------|
32
+ | Agents Yellow | `#FEFCD5` | Accent highlights |
33
+ | Agents Blue 300 | `#607DF6` | Light accent |
34
+ | Agents Blue 500 | `#394EA3` | Mid accent |
35
+
36
+ #### Neutrals
37
+ | Token | Value | Usage |
38
+ |-------|-------|-------|
39
+ | Black | `#000000` | — |
40
+ | White | `#FFFFFF` | Page background, cards, dropdown panels |
41
+ | Text Regular | `#040404` / `rgba(0,0,0,0.95)` | Primary body text |
42
+ | Text Dark | `#111111` / `rgba(0,0,0,0.9)` | Headings, nav items |
43
+ | Text Medium | `rgba(0,0,0,0.54)` | Subdued labels, meta |
44
+ | Text Light | `rgba(0,0,0,0.3)` | Borders, extra-light text |
45
+ | Text on Dark | `rgba(255,255,255,0.75)` | Body text on dark backgrounds |
46
+ | Text on Dark Bright | `rgb(255,255,255)` | Headings on dark backgrounds |
47
+
48
+ #### Semantic Palette (available as CSS vars)
49
+ | Color | 100 | 400 | 700 |
50
+ |-------|-----|-----|-----|
51
+ | Red | `#FEF3F1` | `#F77463` | `#B01601` |
52
+ | Orange | `#FFF5ED` | `#FF8A33` | `#AB4A00` |
53
+ | Yellow | `#FFF5E0` | `#FFC95E` | `#C78600` |
54
+ | Green | `#F0FAF2` | `#68CE7E` | `#0F6220` |
55
+ | Teal | `#F2FAFA` | `#2A9D99` | `#126764` |
56
+ | Blue | `#F2F9FF` | `#62AEF0` | `#005BAB` |
57
+ | Purple | `#F8F5FC` | `#AD6DED` | `#562983` |
58
+ | Pink | `#FFF5FC` | `#FF83DD` | `#9D2472` |
59
+ | Brown | `#FCF8F5` | `#B18164` | `#744D2D` |
60
+
61
+ ### Typography
62
+
63
+ #### Font Families
64
+ | Role | Font Stack |
65
+ |------|-----------|
66
+ | Primary Sans | `NotionInter, Inter, -apple-system, "system-ui", "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif` |
67
+ | Primary Serif | `"Lyon Text", Georgia, YuMincho, serif` |
68
+ | Mono | `"iA Writer Mono", Nitti, Menlo, Courier, monospace` |
69
+ | Handwriting | `"Permanent Marker"` |
70
+
71
+ #### Type Scale
72
+ | Token | Size | Line Height | Letter Spacing (bold) | Usage |
73
+ |-------|------|-------------|----------------------|-------|
74
+ | 1000 | `4.75rem` (76px) | `5rem` (80px) | `-0.156rem` | — |
75
+ | 900 | `4rem` (64px) | `4rem` (64px) | `-0.133rem` | Hero H1 |
76
+ | 800 | `3.375rem` (54px) | `3.5rem` (56px) | `-0.117rem` | Section H2 (desktop) |
77
+ | 700 | `2.625rem` (42px) | `3rem` (48px) | `-0.094rem` | Sub-section H2 |
78
+ | 600 | `2rem` (32px) | `2.5rem` (40px) | `-0.047rem` | Blockquotes (serif) |
79
+ | 500 | `1.625rem` (26px) | `2rem` (32px) | `-0.039rem` | Large subheads |
80
+ | 400 | `1.375rem` (22px) | `1.75rem` (28px) | `-0.016rem` | Card titles |
81
+ | 300 | `1.125rem` (18px) | `1.75rem` (28px) | `-0.008rem` | — |
82
+ | 200 | `1rem` (16px) | `1.5rem` (24px) | `0` | Body, nav items, buttons |
83
+ | 100 | `0.875rem` (14px) | `1.25rem` (20px) | `0` | Small text, labels |
84
+ | 50 | `0.75rem` (12px) | `1rem` (16px) | `0.008rem` | Badges, captions, meta |
85
+
86
+ #### Font Weights
87
+ | Token | Value | CSS Var |
88
+ |-------|-------|---------|
89
+ | Regular | `400` | `--font-weight-regular` |
90
+ | Medium | `500` | `--font-weight-medium` |
91
+ | Semibold | `600` | `--font-weight-semibold` |
92
+ | Bold | `700` | `--font-weight-bold` |
93
+
94
+ #### Heading Styles (computed)
95
+ | Element | Size | Weight | Line Height | Letter Spacing | Color |
96
+ |---------|------|--------|-------------|----------------|-------|
97
+ | Hero H1 | `64px` | `700` | `64px` | `-2.125px` | `#FFFFFF` |
98
+ | Section H2 | `54px` | `700` | `56px` | `-1.875px` | `rgba(0,0,0,0.95)` |
99
+ | Sub-section H2 | `42px` | `700` | `48px` | `-1.5px` | `rgba(0,0,0,0.95)` |
100
+ | Card Title H2 | `22px` | `700` | `28px` | `-0.25px` | `#000000` |
101
+ | Blockquote | `32px` | `400` | `40px` | `normal` | `rgba(0,0,0,0.95)` (serif) |
102
+
103
+ ### Buttons
104
+
105
+ #### Primary Button ("Get Notion free")
106
+ ```
107
+ background-color: #455DD3 (rgb(69, 93, 211))
108
+ color: #FFFFFF
109
+ font-size: 16px
110
+ font-weight: 500
111
+ line-height: 24px
112
+ padding: 6px 15px
113
+ height: 38px
114
+ border-radius: 8px
115
+ border: 1px solid transparent
116
+ display: flex
117
+ align-items: center
118
+ justify-content: center
119
+ gap: 12px
120
+ cursor: pointer
121
+ text-decoration: none
122
+ ```
123
+
124
+ #### Secondary Button ("Request a demo" - dark bg)
125
+ ```
126
+ background-color: #213183 (rgb(33, 49, 131))
127
+ color: #FFFFFF
128
+ font-size: 16px
129
+ font-weight: 500
130
+ padding: 6px 15px
131
+ height: 38px
132
+ border-radius: 8px
133
+ border: 1px solid transparent
134
+ ```
135
+
136
+ #### Outline / Ghost Button ("Download")
137
+ ```
138
+ background-color: transparent
139
+ color: rgba(0,0,0,0.95)
140
+ font-size: 14px
141
+ font-weight: 500
142
+ padding: 4px 14px
143
+ border-radius: 8px
144
+ border: 1px solid rgba(0,0,0,0.08)
145
+ ```
146
+
147
+ #### Text Link Button ("See pricing plans ->")
148
+ ```
149
+ color: #0075DE (blue-600)
150
+ font-size: 16px
151
+ font-weight: 500
152
+ text-decoration: none
153
+ Arrow (->): inline, appended
154
+ underline-offset: 0.1em
155
+ underline-thickness: 1px
156
+ ```
157
+
158
+ ### Input Fields
159
+
160
+ #### Checkbox
161
+ ```
162
+ Custom styled labels with checkbox input
163
+ Padding per label item: clickable area wraps label
164
+ Labels: 16px regular, rgba(0,0,0,0.95)
165
+ Price annotation: smaller text, muted
166
+ ```
167
+
168
+ #### Number / Spinbutton ("Team size")
169
+ ```
170
+ font-size: 32px (display)
171
+ font-weight: 700
172
+ background-color: white
173
+ border-radius: 8px
174
+ ```
175
+
176
+ ### Spacing System (CSS Custom Properties)
177
+ | Token | Value |
178
+ |-------|-------|
179
+ | `--spacing-4` | `0.25rem` (4px) |
180
+ | `--spacing-8` | `0.5rem` (8px) |
181
+ | `--spacing-12` | `0.75rem` (12px) |
182
+ | `--spacing-16` | `1rem` (16px) |
183
+ | `--spacing-20` | `1.25rem` (20px) |
184
+ | `--spacing-24` | `1.5rem` (24px) |
185
+ | `--spacing-32` | `2rem` (32px) |
186
+ | `--spacing-40` | `2.5rem` (40px) |
187
+ | `--spacing-48` | `3rem` (48px) |
188
+ | `--spacing-64` | `4rem` (64px) |
189
+ | `--spacing-80` | `5rem` (80px) |
190
+ | `--spacing-96` | `6rem` (96px) |
191
+ | `--spacing-128` | `8rem` (128px) |
192
+ | `--spacing-160` | `10rem` (160px) |
193
+
194
+ #### Section Spacing
195
+ | Token | Value |
196
+ |-------|-------|
197
+ | `--spacing-block-s` | `20px` |
198
+ | `--spacing-block-m` | `24px` |
199
+ | `--spacing-block-l` | `32px` |
200
+ | Section padding (desktop) | `64px 86.4px` |
201
+ | `--global-navigation-height` | `64px` |
202
+ | `--base-padding` | `20px` |
203
+
204
+ ### Border Radius
205
+ | Token | Value |
206
+ |-------|-------|
207
+ | `--border-radius-200` | `0.25rem` (4px) |
208
+ | `--border-radius-400` | `0.375rem` (6px) |
209
+ | `--border-radius-500` | `0.5rem` (8px) |
210
+ | `--border-radius-700` | `0.75rem` (12px) |
211
+ | `--border-radius-900` | `1rem` (16px) |
212
+ | `--border-radius-round` | `624.9375rem` (pill) |
213
+
214
+ ### Shadows
215
+ | Token | Value |
216
+ |-------|-------|
217
+ | Level 100 | `0px 3px 9px rgba(0,0,0,0.03), 0px 0.7px 1.46px rgba(0,0,0,0.015)` |
218
+ | Level 200 | `0px 4px 18px rgba(0,0,0,0.04), 0px 2px 7.8px rgba(0,0,0,0.027), 0px 0.8px 2.9px rgba(0,0,0,0.02)` |
219
+ | Level 300 | `0px 20px 50px rgba(0,0,0,0.08), 0px 6px 16px rgba(0,0,0,0.04)` |
220
+ | Dropdown | `0px 4px 18px rgba(0,0,0,0.04), 0px 2px 7.8px rgba(0,0,0,0.027), 0px 0.8px 2.9px rgba(0,0,0,0.02), 0px 0.175px 1px rgba(0,0,0,0.01)` |
221
+
222
+ ### Motion
223
+ | Token | Value |
224
+ |-------|-------|
225
+ | Duration 100 | `100ms` |
226
+ | Duration 200 | `200ms` |
227
+ | Duration 300 | `300ms` |
228
+ | Ease In Out Quart | `cubic-bezier(0.76, 0, 0.24, 1)` |
229
+ | Ease In Out Cubic | `cubic-bezier(0.645, 0.045, 0.355, 1)` |
230
+
231
+ ### Grid
232
+ | Token | Value |
233
+ |-------|-------|
234
+ | Columns | `12` |
235
+ | Column Width | `1fr` |
236
+ | Gutter | `28px` |
237
+ | Small Gutter | `12px` |
238
+
239
+ ---
240
+
241
+ ## Section Boilerplate
242
+
243
+ ### Navigation
244
+
245
+ **Background:** Transparent over hero (dark bg), becomes `#FFFFFF` on scroll with `shadow-level-200`
246
+ **Height:** `64px` (`--global-navigation-height`)
247
+ **Padding:** `14px 24px`
248
+ **Layout:** CSS Grid, 3 columns — logo | nav links | actions
249
+ **Position:** `sticky`, `z-index: 100`
250
+
251
+ #### Structure
252
+ ```
253
+ <nav aria-label="Main">
254
+ <div> <!-- grid container, height: 64px, padding: 14px 24px -->
255
+
256
+ <!-- Left: Logo -->
257
+ <a href="/product"> <!-- Notion "N" icon, ~32x32 -->
258
+
259
+ <!-- Center: Nav Items -->
260
+ <div> <!-- flex row, gap implicit -->
261
+ <button>Product <chevron-icon/></button> <!-- dropdown trigger -->
262
+ <button>AI <chevron-icon/></button> <!-- dropdown trigger -->
263
+ <button>Solutions <chevron-icon/></button> <!-- dropdown trigger -->
264
+ <button>Resources <chevron-icon/></button> <!-- dropdown trigger -->
265
+ <a href="/enterprise">Enterprise</a> <!-- direct link -->
266
+ <a href="/pricing">Pricing</a> <!-- direct link -->
267
+ <a href="/contact-sales">Request a demo</a> <!-- direct link -->
268
+ </div>
269
+
270
+ <!-- Right: Actions -->
271
+ <div>
272
+ <a href="/signup" class="primary-btn">Get Notion free</a>
273
+ <a href="/login">Log in</a>
274
+ </div>
275
+
276
+ </div>
277
+ </nav>
278
+ ```
279
+
280
+ #### Nav Item Styling
281
+ - Font: `16px`, weight `400`, color `rgb(246, 245, 244)` on dark / `rgba(0,0,0,0.9)` on light
282
+ - Padding: `5px 10px`
283
+ - Gap: `8px` (between text and chevron icon)
284
+ - Chevron: small SVG, rotates on open
285
+ - No visible border or background in default state
286
+
287
+ #### Dropdown Interactions
288
+ - **Trigger:** Click on button toggles dropdown; `aria-expanded` toggles between `true`/`false`
289
+ - **Panel:** White card below nav, `border-radius: 16px`, `padding: 16px`, `background: #FFFFFF`
290
+ - **Shadow:** Level 200 (`0px 4px 18px rgba(0,0,0,0.04), ...`)
291
+ - **Width:** ~826px (centered under nav, not full-width)
292
+ - **Close:** Click outside, press Escape, or click another dropdown
293
+ - **Content:** Grid of links, each with icon (32x32) + title + description
294
+ - **Link items:** `padding: 4px 16px 4px 8px`, `border-radius: 8px`, hover shows subtle bg
295
+ - **Featured item (Notion):** Larger icon (48x48), `padding: 8px 16px 8px 8px`
296
+ - **Footer bar:** Promo strip at bottom with "See what's new ->" and "Download Notion App ->"
297
+
298
+ #### Product Dropdown Content
299
+ ```
300
+ [Notion icon] Notion — Your AI workspace | [Calendar icon] Notion Calendar
301
+ | [Mail icon] Notion Mail
302
+ ─────────────────────────────────────────────────────────────────────────
303
+ [AI icon] Notion AI [Wiki icon] Knowledge Base [Gear icon] Integrations
304
+ AI tools for work Centralize... Connect your apps
305
+
306
+ [Agent icon] Agents [New] [Doc icon] Docs [Lock icon] Security
307
+ Automate busywork Simple & powerful Safe and scalable
308
+
309
+ [Mic icon] AI Meeting Notes [Board icon] Projects
310
+ Perfectly written Manage any project
311
+
312
+ [Search icon] Enterprise Search
313
+ Find answers instantly
314
+ ─────────────────────────────────────────────────────────────────────────
315
+ [sparkle icon] Custom skills for Notion AI. See what's new -> Download the Notion App ->
316
+ ```
317
+
318
+ #### Mobile Nav (< ~1024px)
319
+ - Hamburger icon replaces center links
320
+ - Logo left, "Get Notion free" + "Log in" + hamburger right
321
+ - Dropdown opens as full-width overlay
322
+
323
+ ---
324
+
325
+ ### Hero
326
+
327
+ **Background:** `#02093A` (deep navy)
328
+ **Padding:** Section uses `display: contents`; inner content centered
329
+ **Text Alignment:** Center
330
+
331
+ #### Structure
332
+ ```
333
+ <section style="background: #02093A">
334
+
335
+ <!-- Animated Background Layer -->
336
+ <div> <!-- absolute positioned animated illustrations/agents floating --> </div>
337
+
338
+ <!-- Content Layer -->
339
+ <div style="text-align: center; max-width: 600px; margin: auto">
340
+ <h1>Meet the night shift.</h1>
341
+ <!-- 64px, bold 700, white, line-height: 64px, letter-spacing: -2.125px -->
342
+
343
+ <p>Notion agents keep work moving 24/7. They capture knowledge,
344
+ answer questions, and push projects forward—all while you sleep.</p>
345
+ <!-- 16px, regular 400, rgba(255,255,255,0.75), line-height: 24px -->
346
+
347
+ <div> <!-- flex row, centered, gap between buttons -->
348
+ <a href="/signup" class="primary-btn">Get Notion free</a>
349
+ <!-- bg: #455DD3, white text, 16px medium, padding: 6px 15px, border-radius: 8px -->
350
+
351
+ <a href="/contact-sales" class="secondary-btn">Request a demo</a>
352
+ <!-- bg: #213183, white text, 16px medium, padding: 6px 15px, border-radius: 8px -->
353
+ </div>
354
+ </div>
355
+
356
+ <!-- Pause Animation Button -->
357
+ <button>Pause</button>
358
+ <!-- bottom-right positioned, controls background animation -->
359
+
360
+ <!-- Social Proof Bar -->
361
+ <p>Trusted by 98% of the Forbes Cloud 100</p>
362
+ <!-- 16px, rgba(255,255,255,0.75), centered -->
363
+
364
+ <!-- Logo Ticker -->
365
+ <div> <!-- horizontal scrolling row of company logos -->
366
+ <a href="/customers/openai"><img alt="OpenAI"/></a>
367
+ <a href="/customers/figma"><img alt="Figma"/></a>
368
+ <a href="/customers/ramp"><img alt="Ramp"/></a>
369
+ <!-- ... ~15 logos, some linked, some unlinked -->
370
+ <!-- Logos: white/monochrome on dark bg, auto-scrolling marquee -->
371
+ </div>
372
+
373
+ </section>
374
+ ```
375
+
376
+ #### Visual Notes
377
+ - Hero has animated floating 3D agent illustrations in background (astronaut/bot characters)
378
+ - Below main content: embedded Notion app screenshot (real product UI showing kanban board)
379
+ - Logo ticker auto-scrolls horizontally, infinite loop
380
+
381
+ ---
382
+
383
+ ### Features (Bento Grid)
384
+
385
+ **Background:** `#F6F5F4` (gray-200)
386
+ **Padding:** `64px 86.4px`
387
+ **Height:** ~2849px total (3 sub-sections)
388
+
389
+ This section contains 3 grouped sub-sections, each with a section heading + bento card grid.
390
+
391
+ #### Sub-section 1: "Meet your new 24/7 AI teammates."
392
+ ```
393
+ <div style="padding: 64px 86.4px; background: #F6F5F4">
394
+
395
+ <!-- Section Heading -->
396
+ <h2>Meet your new 24/7 AI teammates.</h2>
397
+ <!-- 42px, bold 700, line-height: 48px, letter-spacing: -1.5px -->
398
+
399
+ <!-- Featured Card: Custom Agents -->
400
+ <div> <!-- large card, full-width, split layout -->
401
+ <a href="/product/agents">
402
+ <h3>Custom Agents <span class="badge">New</span></h3>
403
+ <!-- Badge: small rounded tag, blue text -->
404
+ <p>Automate repetitive work for your team. <span>-></span></p>
405
+ </a>
406
+
407
+ <!-- Right side: video/image carousel with tab controls -->
408
+ <div> <!-- carousel container -->
409
+ <button>next</button> <!-- arrow nav -->
410
+ <figure> <!-- video/image with pause control --> </figure>
411
+ </div>
412
+
413
+ <!-- Tab List below carousel -->
414
+ <div role="tablist">
415
+ <div role="tab" aria-selected="true">
416
+ <p><strong>Q&A agents</strong></p>
417
+ <p>Answers questions instantly using knowledge you already have.</p>
418
+ </div>
419
+ <div role="tab">Task routing agents</div>
420
+ <div role="tab">Reporting agents</div>
421
+ <div role="tab">Create your own</div>
422
+ </div>
423
+ <!-- Tab styling: padding 16px, border-radius 8px, 16px regular -->
424
+ <!-- Slide indicators: small dots, clickable -->
425
+ </div>
426
+
427
+ <!-- Use Case Links Grid -->
428
+ <h3>See what Custom Agents can do</h3>
429
+ <div> <!-- horizontal row of linked cards -->
430
+ <a href="/product/ai/use-cases/triage-product-feedback">
431
+ <img/> <!-- use case screenshot -->
432
+ <h3>Triage product feedback <span>-></span></h3>
433
+ </a>
434
+ <!-- Repeat for: Resolve support tickets, Respond to security alerts, Automate weekly reporting, Create your own -->
435
+ <!-- Cards: thumbnail + heading with arrow, ~5 columns -->
436
+ </div>
437
+
438
+ </div>
439
+ ```
440
+
441
+ #### Sub-section 2: "Ask your on-demand assistants."
442
+ ```
443
+ <h2>Ask your on-demand assistants.</h2>
444
+ <!-- 42px bold -->
445
+
446
+ <div> <!-- Bento grid: 1 large + 2 medium cards -->
447
+
448
+ <!-- Large Card -->
449
+ <article style="border-radius: 12px; background: #FFF">
450
+ <a href="/product/agents">Try it</a>
451
+ <span>Notion Agent</span>
452
+ <h2>You assign the tasks. Notion Agent does the work.</h2>
453
+ <span>-></span>
454
+ <img alt="Agent UI screenshot"/>
455
+ <!-- Card has layered images: front, back, floating layer -->
456
+ </article>
457
+
458
+ <!-- Medium Card -->
459
+ <article>
460
+ <span>Enterprise Search</span>
461
+ <h2>One search for everything.</h2>
462
+ <img alt="Search UI"/>
463
+ </article>
464
+
465
+ <!-- Medium Card -->
466
+ <article>
467
+ <span>AI Meeting Notes</span>
468
+ <h2>Perfect notes, every time.</h2>
469
+ <img alt="Meeting notes UI"/>
470
+ </article>
471
+
472
+ </div>
473
+ ```
474
+
475
+ #### Sub-section 3: "Bring all your work together."
476
+ ```
477
+ <h2>Bring all your work together.</h2>
478
+
479
+ <div> <!-- Same bento pattern: 1 large + 2 medium -->
480
+ <article> <!-- Docs --> </article>
481
+ <article> <!-- Knowledge Base --> </article>
482
+ <article> <!-- Projects --> </article>
483
+ </div>
484
+ ```
485
+
486
+ #### Bento Card Styling
487
+ - `border-radius: 12px`
488
+ - `background: #FFFFFF`
489
+ - Cards contain: label tag, heading, arrow icon, product screenshot
490
+ - Label: small caps-style text, `12px` medium
491
+ - Card heading: `22px` bold, `line-height: 28px`
492
+ - Arrow: `->` icon, appears on right
493
+ - Screenshots: overflow the card bounds slightly, layered depth effect
494
+ - Hover: subtle lift/shadow transition
495
+
496
+ #### Press Quote (between features and next section)
497
+ ```
498
+ <figure aria-label="forbes">
499
+ <blockquote>"Your AI everything app."</blockquote>
500
+ <!-- Font: "Lyon Text" (serif), 32px, regular 400, line-height: 40px -->
501
+ <img alt="forbes" /> <!-- Forbes logo -->
502
+ </figure>
503
+ <!-- Centered, simple attribution -->
504
+ ```
505
+
506
+ ---
507
+
508
+ ### Comparison / Pricing Calculator
509
+
510
+ **Background:** `#FFFFFF`
511
+ **Padding:** `64px 86.4px`
512
+ **Height:** ~700px
513
+
514
+ #### Structure
515
+ ```
516
+ <section style="background: #FFF; padding: 64px 86.4px">
517
+
518
+ <!-- Header Row: text left, illustration right -->
519
+ <div style="display: flex; justify-content: space-between">
520
+
521
+ <div>
522
+ <h2>More productivity. Fewer tools.</h2>
523
+ <!-- 54px, bold 700, line-height: 56px, letter-spacing: -1.875px -->
524
+
525
+ <p>Bring all your tools and teams under one roof. Calculate savings below.</p>
526
+ <!-- 16px, regular, rgba(0,0,0,0.54) -->
527
+
528
+ <a href="/pricing">See pricing plans <span>-></span></a>
529
+ <!-- Blue link with arrow -->
530
+ </div>
531
+
532
+ <img alt="tools illustration" />
533
+ <!-- Illustration of app icons being consolidated -->
534
+
535
+ </div>
536
+
537
+ <!-- Interactive Calculator -->
538
+ <form>
539
+ <div style="display: flex">
540
+
541
+ <!-- Left: Checkbox Grid -->
542
+ <fieldset> <!-- 4x3 grid of tool checkboxes -->
543
+ <label><input type="checkbox"/> AI Search</label>
544
+ <label><input type="checkbox" checked/> AI Chatbot <span>$20/user</span></label>
545
+ <label><input type="checkbox"/> AI Meeting Notes</label>
546
+ <label><input type="checkbox"/> AI Writing Assistant</label>
547
+ <label><input type="checkbox"/> AI Email App</label>
548
+ <label><input type="checkbox"/> AI Research</label>
549
+ <label><input type="checkbox"/> Calendar Scheduling</label>
550
+ <label><input type="checkbox" checked/> Team Wiki <span>$10/user</span></label>
551
+ <label><input type="checkbox" checked/> Project Management Tool <span>$24/user</span></label>
552
+ <label><input type="checkbox"/> Basic CRM</label>
553
+ <label><input type="checkbox"/> Site Builder</label>
554
+ <label><input type="checkbox"/> Forms</label>
555
+ <!-- Price tags: smaller text, muted color -->
556
+ </fieldset>
557
+
558
+ <!-- Right: Results -->
559
+ <div>
560
+ <div>
561
+ <span>Team size</span>
562
+ <input type="number" value="10" role="spinbutton"/>
563
+ <!-- Large display number: 32px bold -->
564
+ </div>
565
+ <div>
566
+ <span>Monthly savings</span>
567
+ <div role="status">$340</div>
568
+ </div>
569
+ <div>
570
+ <span>Annual savings</span>
571
+ <div role="status">$4,080</div>
572
+ </div>
573
+ </div>
574
+
575
+ </div>
576
+ </form>
577
+
578
+ </section>
579
+ ```
580
+
581
+ ---
582
+
583
+ ### Social Proof / Testimonials
584
+
585
+ **Background:** `#F6F5F4` (gray-200)
586
+ **Padding:** `64px 86.4px`
587
+ **Height:** ~874px
588
+
589
+ #### Structure
590
+ ```
591
+ <section style="background: #F6F5F4; padding: 64px 86.4px">
592
+
593
+ <h2>Trusted by teams that ship.</h2>
594
+ <!-- 54px bold, letter-spacing: -1.875px -->
595
+
596
+ <!-- Testimonial Grid: 3-column layout -->
597
+ <div>
598
+
599
+ <!-- Column 1: Featured (large) -->
600
+ <div>
601
+ <figure>
602
+ <img alt="OpenAI-Logo"/>
603
+ <blockquote>"There's power in a single platform where you can do all your work.
604
+ Notion is that single place."</blockquote>
605
+ <!-- Serif font (Lyon Text), 32px regular -->
606
+ <a href="/customers/openai">Read the full story <span>-></span></a>
607
+ </figure>
608
+ <button>View the video</button>
609
+ <!-- Video thumbnail with play overlay -->
610
+ </div>
611
+
612
+ <!-- Column 2: 3 stacked quote cards -->
613
+ <div>
614
+ <a href="/customers/toyota">
615
+ Streamlined workflows to reduce timelines by 3x. ->
616
+ </a>
617
+ <a href="/customers/ramp">
618
+ "With Notion, every person at Ramp has an AI agent." ->
619
+ </a>
620
+ <a href="/customers/vercel">
621
+ "Notion understands that you can solve a lot of problems with one tool." ->
622
+ </a>
623
+ <!-- Each: text card, clickable, arrow on hover/right -->
624
+ </div>
625
+
626
+ <!-- Column 3: 3 stacked quote cards -->
627
+ <div>
628
+ <a href="/customers/match">...</a>
629
+ <a href="/customers/cursor">...</a>
630
+ <a href="/customers/figma">...</a>
631
+ </div>
632
+
633
+ </div>
634
+
635
+ <!-- Stats Marquee -->
636
+ <div> <!-- auto-scrolling horizontal ticker, duplicated for infinite scroll -->
637
+ <p><icon/> Over 100M users worldwide</p>
638
+ <p><icon/> #1 knowledge base 3 years running (G2)</p>
639
+ <p><icon/> #1 AI enterprise search (G2)</p>
640
+ <p><icon/> #1 rated AI writing (G2)</p>
641
+ <p><icon/> 62% of Fortune 100</p>
642
+ <p><icon/> Over 50% of YC companies</p>
643
+ <p><icon/> 1.4M+ community members</p>
644
+ <!-- Each stat has a small icon prefix -->
645
+ <!-- Row is duplicated 2-3x for seamless infinite scroll animation -->
646
+ </div>
647
+
648
+ </section>
649
+ ```
650
+
651
+ ---
652
+
653
+ ### CTA / Downloads
654
+
655
+ **Background:** `#FFFFFF`
656
+ **Padding:** `64px 86.4px`
657
+ **Height:** ~787px
658
+
659
+ #### Structure
660
+ ```
661
+ <section style="background: #FFF; padding: 64px 86.4px">
662
+
663
+ <h2>Try for free.</h2>
664
+ <!-- 54px bold -->
665
+
666
+ <!-- 3-column card grid -->
667
+ <div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 28px">
668
+
669
+ <!-- Card 1: Notion (large) -->
670
+ <div style="background: #F6F5F4; border-radius: 12px; padding: 32px">
671
+ <img/> <!-- Notion icon -->
672
+ <h3>Get started on Notion</h3>
673
+ <!-- 22px bold -->
674
+ <p>Your AI workspace with built-in agents.</p>
675
+ <!-- 14px regular, muted -->
676
+ <a href="/desktop/.../download">
677
+ <img/> <!-- Apple icon -->
678
+ Download for Mac
679
+ </a>
680
+ <!-- Primary-style button with platform icon -->
681
+ <img alt="A preview image of the notion desktop app"/>
682
+ <!-- App screenshot below -->
683
+ </div>
684
+
685
+ <!-- Card 2: Notion Mail -->
686
+ <div style="background: #F6F5F4; border-radius: 12px">
687
+ <img/> <!-- Mail icon -->
688
+ <h3>Notion Mail</h3>
689
+ <p>The AI inbox that thinks like you.</p>
690
+ <a href="/product/mail/download">Download</a>
691
+ <img alt="mail app preview"/>
692
+ </div>
693
+
694
+ <!-- Card 3: Notion Calendar -->
695
+ <div style="background: #F6F5F4; border-radius: 12px">
696
+ <img/> <!-- Calendar icon -->
697
+ <h3>Notion Calendar</h3>
698
+ <p>Time, scheduling, tasks—all together.</p>
699
+ <a href="/product/calendar/download">Download</a>
700
+ <img alt="calendar app preview"/>
701
+ </div>
702
+
703
+ </div>
704
+
705
+ <p>Notion is always at home right <a href="/signup">in your browser</a>.</p>
706
+ <!-- 14px, muted, centered below cards -->
707
+ <!-- "in your browser" is underlined link -->
708
+
709
+ </section>
710
+ ```
711
+
712
+ ---
713
+
714
+ ### Footer
715
+
716
+ **Background:** `#FFFFFF`
717
+ **Layout:** Two rows — top row (logo + social + meta) and bottom row (4 link columns)
718
+
719
+ #### Structure
720
+ ```
721
+ <footer role="contentinfo">
722
+ <nav aria-label="Footer">
723
+
724
+ <!-- Top Row -->
725
+ <div style="display: flex; justify-content: space-between">
726
+
727
+ <!-- Left: Logo + Social -->
728
+ <div>
729
+ <a href="/product"><img alt="Notion logo"/></a>
730
+ <!-- Full "Notion" wordmark, black -->
731
+
732
+ <ul aria-label="Social media" style="display: flex; gap: 16px">
733
+ <li><a href="https://instagram.com/notionhq"><img alt="Instagram"/></a></li>
734
+ <li><a href="https://twitter.com/NotionHQ"><img alt="X"/></a></li>
735
+ <li><a href="https://linkedin.com/company/notionhq"><img alt="LinkedIn"/></a></li>
736
+ <li><a href="https://facebook.com/NotionHQ"><img alt="Facebook"/></a></li>
737
+ <li><a href="https://youtube.com/..."><img alt="YouTube"/></a></li>
738
+ </ul>
739
+ <!-- Icons: ~20x20, black/dark gray -->
740
+
741
+ <button>English (US) <chevron/></button>
742
+ <!-- Language selector -->
743
+
744
+ <button>Do Not Sell or Share My Info</button>
745
+ <button>Cookie settings</button>
746
+ <span>&copy; 2026 Notion Labs, Inc.</span>
747
+ </div>
748
+
749
+ </div>
750
+
751
+ <!-- Bottom Row: 4 Link Columns -->
752
+ <div style="display: grid; grid-template-columns: 1fr 1fr 1fr 1fr">
753
+
754
+ <!-- Column: Company -->
755
+ <ul>
756
+ <p><strong>Company</strong></p>
757
+ <li><a href="/about">About us</a></li>
758
+ <li><a href="/careers">Careers</a></li>
759
+ <li><a href="/security">Security</a></li>
760
+ <li><a href="https://notion-status.com">Status</a></li>
761
+ <li><a href="/terms">Terms & privacy</a></li>
762
+ <li><a href="/trust/privacy-policy#california">Your privacy rights</a></li>
763
+ </ul>
764
+
765
+ <!-- Column: Download -->
766
+ <ul>
767
+ <p><strong>Download</strong></p>
768
+ <li><a href="/mobile">iOS & Android</a></li>
769
+ <li><a href="/desktop">Mac & Windows</a></li>
770
+ <li><a href="/product/mail/download">Mail</a></li>
771
+ <li><a href="/product/calendar/download">Calendar</a></li>
772
+ <li><a href="/web-clipper">Web Clipper</a></li>
773
+ </ul>
774
+
775
+ <!-- Column: Resources -->
776
+ <ul>
777
+ <p><strong>Resources</strong></p>
778
+ <li><a href="/help">Help center</a></li>
779
+ <li><a href="/pricing">Pricing</a></li>
780
+ <li><a href="/blog">Blog</a></li>
781
+ <li><a href="/community">Community</a></li>
782
+ <li><a href="/integrations">Integrations</a></li>
783
+ <li><a href="/templates">Templates</a></li>
784
+ <li><a href="/partners">Partner programs</a></li>
785
+ </ul>
786
+
787
+ <!-- Column: Notion for -->
788
+ <ul>
789
+ <p><strong>Notion for</strong></p>
790
+ <li><a href="/enterprise">Enterprise</a></li>
791
+ <li><a href="/teams">Small business</a></li>
792
+ <li><a href="/personal">Personal</a></li>
793
+ <li><a href="/explore">Explore more <span>-></span></a></li>
794
+ <!-- Last item has arrow, bolder treatment -->
795
+ </ul>
796
+
797
+ </div>
798
+
799
+ </nav>
800
+ </footer>
801
+ ```
802
+
803
+ #### Footer Link Styling
804
+ - Column headings: `16px`, weight `500` (medium), `rgba(0,0,0,0.95)`
805
+ - Links: `14px`, weight `400`, `rgba(0,0,0,0.54)`
806
+ - Link hover: color darkens
807
+ - Vertical spacing between links: ~8px
808
+ - Social icons: monochrome, ~20px
809
+
810
+ ---
811
+
812
+ ### Stats (Marquee Ticker)
813
+
814
+ Included within the Social Proof section as a sub-component.
815
+
816
+ **Layout:** Horizontal auto-scrolling marquee, duplicated rows for infinite loop
817
+
818
+ #### Structure
819
+ ```
820
+ <div style="overflow: hidden">
821
+ <div style="display: flex; gap: 32px; animation: scroll linear infinite">
822
+ <p><img/> Over 100M users worldwide</p>
823
+ <p><img/> #1 knowledge base 3 years running (G2)</p>
824
+ <p><img/> #1 AI enterprise search (G2)</p>
825
+ <p><img/> #1 rated AI writing (G2)</p>
826
+ <p><img/> 62% of Fortune 100</p>
827
+ <p><img/> Over 50% of YC companies</p>
828
+ <p><img/> 1.4M+ community members</p>
829
+ </div>
830
+ <!-- Duplicated 2-3x for seamless loop -->
831
+ </div>
832
+ ```
833
+
834
+ - Each stat: icon (emoji-style, ~16px) + text
835
+ - Font: `14px` regular
836
+ - Horizontally separated, continuous scroll animation
837
+
838
+ ---
839
+
840
+ ## Sections NOT present on the homepage
841
+
842
+ The following requested sections do not appear on the Notion homepage. These would need to be scraped from their respective sub-pages:
843
+
844
+ | Section | Where to find |
845
+ |---------|---------------|
846
+ | About | `/about` |
847
+ | Blog | `/blog` |
848
+ | Contact | `/contact-sales` |
849
+ | FAQ | `/help` or product pages |
850
+ | How It Works | Embedded within Features sections above |
851
+ | Newsletter | Not present (Notion uses in-product onboarding) |
852
+ | Pricing | `/pricing` |
853
+ | Showcase | Embedded as bento cards within Features |
854
+ | Store | Not applicable |
855
+
856
+ ---
857
+
858
+ ## General Layout Patterns
859
+
860
+ - **Max content width:** Sections use `padding: 64px 86.4px` on desktop (no explicit max-width; content stretches)
861
+ - **Section background alternation:** `#FFFFFF` and `#F6F5F4` alternate, with `#02093A` for the hero
862
+ - **Card pattern:** `border-radius: 12px`, white bg, product screenshots overflowing bounds
863
+ - **Arrow pattern:** `->` icon used universally for CTAs and links (not chevron)
864
+ - **Bento grid:** Flexible grid with 1 large card + 2 medium cards, or 3 equal columns
865
+ - **Typography hierarchy:** Tight letter-spacing on headings (negative), generous line-height on body
866
+ - **Interactive elements:** Tabs, carousel with dot indicators, checkboxes with live calculation