spirewise 1.7.1 → 1.9.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 +0 -15
- package/bin/cli.js +63 -44
- package/install.sh +8 -8
- package/package.json +2 -4
- package/skills/README.md +0 -1
- package/skills/ai-agent-os-design-system/README.md +105 -0
- package/skills/ai-agent-os-design-system/SKILL.md +195 -0
- package/skills/ai-agent-os-design-system/accessibility-system.md +67 -0
- package/skills/ai-agent-os-design-system/color-system.md +102 -0
- package/skills/ai-agent-os-design-system/component-library.md +147 -0
- package/skills/ai-agent-os-design-system/design-principles.md +79 -0
- package/skills/ai-agent-os-design-system/example-page-structures.md +93 -0
- package/skills/ai-agent-os-design-system/layout-system.md +74 -0
- package/skills/ai-agent-os-design-system/motion-system.md +85 -0
- package/skills/ai-agent-os-design-system/spacing-system.md +87 -0
- package/skills/ai-agent-os-design-system/typography-system.md +91 -0
- package/skills/ai-agent-os-design-system/website-generation-rules.md +192 -0
- package/skills/ai-dark-futuristic-design-system/README.md +91 -0
- package/skills/ai-dark-futuristic-design-system/SKILL.md +179 -0
- package/skills/ai-dark-futuristic-design-system/accessibility-system.md +61 -0
- package/skills/ai-dark-futuristic-design-system/color-system.md +99 -0
- package/skills/ai-dark-futuristic-design-system/component-library.md +140 -0
- package/skills/ai-dark-futuristic-design-system/design-principles.md +66 -0
- package/skills/ai-dark-futuristic-design-system/example-page-structures.md +124 -0
- package/skills/ai-dark-futuristic-design-system/layout-system.md +85 -0
- package/skills/ai-dark-futuristic-design-system/motion-system.md +76 -0
- package/skills/ai-dark-futuristic-design-system/spacing-system.md +73 -0
- package/skills/ai-dark-futuristic-design-system/typography-system.md +89 -0
- package/skills/ai-dark-futuristic-design-system/website-generation-rules.md +220 -0
- package/skills/apple-premium-minimal-design-system/README.md +95 -0
- package/skills/apple-premium-minimal-design-system/SKILL.md +166 -0
- package/skills/apple-premium-minimal-design-system/accessibility-system.md +60 -0
- package/skills/apple-premium-minimal-design-system/color-system.md +100 -0
- package/skills/apple-premium-minimal-design-system/component-library.md +136 -0
- package/skills/apple-premium-minimal-design-system/design-principles.md +65 -0
- package/skills/apple-premium-minimal-design-system/example-page-structures.md +90 -0
- package/skills/apple-premium-minimal-design-system/layout-system.md +89 -0
- package/skills/apple-premium-minimal-design-system/motion-system.md +75 -0
- package/skills/apple-premium-minimal-design-system/spacing-system.md +73 -0
- package/skills/apple-premium-minimal-design-system/typography-system.md +86 -0
- package/skills/apple-premium-minimal-design-system/website-generation-rules.md +207 -0
- package/skills/bento-grid-design-system/README.md +97 -0
- package/skills/bento-grid-design-system/SKILL.md +185 -0
- package/skills/bento-grid-design-system/accessibility-system.md +54 -0
- package/skills/bento-grid-design-system/color-system.md +98 -0
- package/skills/bento-grid-design-system/component-library.md +138 -0
- package/skills/bento-grid-design-system/design-principles.md +72 -0
- package/skills/bento-grid-design-system/example-page-structures.md +91 -0
- package/skills/bento-grid-design-system/layout-system.md +93 -0
- package/skills/bento-grid-design-system/motion-system.md +81 -0
- package/skills/bento-grid-design-system/spacing-system.md +77 -0
- package/skills/bento-grid-design-system/typography-system.md +85 -0
- package/skills/bento-grid-design-system/website-generation-rules.md +193 -0
- package/skills/brutalist-tech-design-system/README.md +100 -0
- package/skills/brutalist-tech-design-system/SKILL.md +185 -0
- package/skills/brutalist-tech-design-system/accessibility-system.md +61 -0
- package/skills/brutalist-tech-design-system/color-system.md +101 -0
- package/skills/brutalist-tech-design-system/component-library.md +117 -0
- package/skills/brutalist-tech-design-system/design-principles.md +73 -0
- package/skills/brutalist-tech-design-system/example-page-structures.md +92 -0
- package/skills/brutalist-tech-design-system/layout-system.md +74 -0
- package/skills/brutalist-tech-design-system/motion-system.md +80 -0
- package/skills/brutalist-tech-design-system/spacing-system.md +86 -0
- package/skills/brutalist-tech-design-system/typography-system.md +94 -0
- package/skills/brutalist-tech-design-system/website-generation-rules.md +195 -0
- package/skills/crunchbase-profile-generator/README.md +64 -0
- package/skills/crunchbase-profile-generator/SKILL.md +189 -0
- package/skills/editorial-luxury-design-system/README.md +98 -0
- package/skills/editorial-luxury-design-system/SKILL.md +187 -0
- package/skills/editorial-luxury-design-system/accessibility-system.md +63 -0
- package/skills/editorial-luxury-design-system/color-system.md +95 -0
- package/skills/editorial-luxury-design-system/component-library.md +131 -0
- package/skills/editorial-luxury-design-system/design-principles.md +77 -0
- package/skills/editorial-luxury-design-system/example-page-structures.md +94 -0
- package/skills/editorial-luxury-design-system/layout-system.md +80 -0
- package/skills/editorial-luxury-design-system/motion-system.md +82 -0
- package/skills/editorial-luxury-design-system/spacing-system.md +77 -0
- package/skills/editorial-luxury-design-system/typography-system.md +107 -0
- package/skills/editorial-luxury-design-system/website-generation-rules.md +194 -0
- package/skills/enterprise-data-viz-design-system/README.md +98 -0
- package/skills/enterprise-data-viz-design-system/SKILL.md +195 -0
- package/skills/enterprise-data-viz-design-system/accessibility-system.md +68 -0
- package/skills/enterprise-data-viz-design-system/color-system.md +112 -0
- package/skills/enterprise-data-viz-design-system/component-library.md +142 -0
- package/skills/enterprise-data-viz-design-system/design-principles.md +75 -0
- package/skills/enterprise-data-viz-design-system/example-page-structures.md +89 -0
- package/skills/enterprise-data-viz-design-system/layout-system.md +75 -0
- package/skills/enterprise-data-viz-design-system/motion-system.md +86 -0
- package/skills/enterprise-data-viz-design-system/spacing-system.md +85 -0
- package/skills/enterprise-data-viz-design-system/typography-system.md +100 -0
- package/skills/enterprise-data-viz-design-system/website-generation-rules.md +196 -0
- package/skills/f6s-copywriting/README.md +16 -6
- package/skills/f6s-copywriting/SKILL.md +162 -46
- package/skills/glassmorphism-design-system/README.md +98 -0
- package/skills/glassmorphism-design-system/SKILL.md +190 -0
- package/skills/glassmorphism-design-system/accessibility-system.md +62 -0
- package/skills/glassmorphism-design-system/color-system.md +128 -0
- package/skills/glassmorphism-design-system/component-library.md +120 -0
- package/skills/glassmorphism-design-system/design-principles.md +77 -0
- package/skills/glassmorphism-design-system/example-page-structures.md +92 -0
- package/skills/glassmorphism-design-system/layout-system.md +81 -0
- package/skills/glassmorphism-design-system/motion-system.md +86 -0
- package/skills/glassmorphism-design-system/spacing-system.md +73 -0
- package/skills/glassmorphism-design-system/typography-system.md +90 -0
- package/skills/glassmorphism-design-system/website-generation-rules.md +195 -0
- package/skills/linkedin-copywriting/README.md +15 -8
- package/skills/linkedin-copywriting/SKILL.md +129 -51
- package/skills/motion-storytelling-design-system/README.md +100 -0
- package/skills/motion-storytelling-design-system/SKILL.md +191 -0
- package/skills/motion-storytelling-design-system/accessibility-system.md +71 -0
- package/skills/motion-storytelling-design-system/color-system.md +101 -0
- package/skills/motion-storytelling-design-system/component-library.md +122 -0
- package/skills/motion-storytelling-design-system/design-principles.md +81 -0
- package/skills/motion-storytelling-design-system/example-page-structures.md +91 -0
- package/skills/motion-storytelling-design-system/layout-system.md +79 -0
- package/skills/motion-storytelling-design-system/motion-system.md +116 -0
- package/skills/motion-storytelling-design-system/spacing-system.md +83 -0
- package/skills/motion-storytelling-design-system/typography-system.md +89 -0
- package/skills/motion-storytelling-design-system/website-generation-rules.md +200 -0
- package/skills/nvidia-inception-idea-booster/README.md +43 -24
- package/skills/nvidia-inception-idea-booster/SKILL.md +260 -116
- package/skills/nvidia-inception-starter/README.md +6 -5
- package/skills/nvidia-inception-starter/SKILL.md +80 -43
- package/skills/nvidia-product-inventor/README.md +44 -40
- package/skills/nvidia-product-inventor/SKILL.md +265 -247
- package/skills/nvidia-startup-idea-founder/README.md +66 -26
- package/skills/nvidia-startup-idea-founder/SKILL.md +245 -189
- package/skills/product-demo-first-design-system/README.md +96 -0
- package/skills/product-demo-first-design-system/SKILL.md +185 -0
- package/skills/product-demo-first-design-system/accessibility-system.md +58 -0
- package/skills/product-demo-first-design-system/color-system.md +109 -0
- package/skills/product-demo-first-design-system/component-library.md +142 -0
- package/skills/product-demo-first-design-system/design-principles.md +66 -0
- package/skills/product-demo-first-design-system/example-page-structures.md +95 -0
- package/skills/product-demo-first-design-system/layout-system.md +76 -0
- package/skills/product-demo-first-design-system/motion-system.md +82 -0
- package/skills/product-demo-first-design-system/spacing-system.md +74 -0
- package/skills/product-demo-first-design-system/typography-system.md +87 -0
- package/skills/product-demo-first-design-system/website-generation-rules.md +194 -0
- package/skills/website-design-skills/01-proof/README.md +0 -47
- package/skills/website-design-skills/01-proof/SKILL.md +0 -303
- package/skills/website-design-skills/02-kajabi/README.md +0 -42
- package/skills/website-design-skills/02-kajabi/SKILL.md +0 -272
- package/skills/website-design-skills/03-lattice/README.md +0 -42
- package/skills/website-design-skills/03-lattice/SKILL.md +0 -271
- package/skills/website-design-skills/04-petal/README.md +0 -42
- package/skills/website-design-skills/04-petal/SKILL.md +0 -271
- package/skills/website-design-skills/05-dropbox-sign/README.md +0 -42
- package/skills/website-design-skills/05-dropbox-sign/SKILL.md +0 -271
- package/skills/website-design-skills/06-distributional/README.md +0 -42
- package/skills/website-design-skills/06-distributional/SKILL.md +0 -271
- package/skills/website-design-skills/07-appcues/README.md +0 -42
- package/skills/website-design-skills/07-appcues/SKILL.md +0 -271
- package/skills/website-design-skills/08-memberstack/README.md +0 -42
- package/skills/website-design-skills/08-memberstack/SKILL.md +0 -271
- package/skills/website-design-skills/09-flank/README.md +0 -42
- package/skills/website-design-skills/09-flank/SKILL.md +0 -275
- package/skills/website-design-skills/10-slidebean/README.md +0 -42
- package/skills/website-design-skills/10-slidebean/SKILL.md +0 -275
- package/skills/website-design-skills/11-formstack/README.md +0 -42
- package/skills/website-design-skills/11-formstack/SKILL.md +0 -275
- package/skills/website-design-skills/12-thalamus/README.md +0 -42
- package/skills/website-design-skills/12-thalamus/SKILL.md +0 -275
- package/skills/website-design-skills/13-grow/README.md +0 -42
- package/skills/website-design-skills/13-grow/SKILL.md +0 -275
- package/skills/website-design-skills/14-gemnote/README.md +0 -42
- package/skills/website-design-skills/14-gemnote/SKILL.md +0 -275
- package/skills/website-design-skills/15-draftbit/README.md +0 -42
- package/skills/website-design-skills/15-draftbit/SKILL.md +0 -275
- package/skills/website-design-skills/16-payman/README.md +0 -42
- package/skills/website-design-skills/16-payman/SKILL.md +0 -273
- package/skills/website-design-skills/17-effortel/README.md +0 -42
- package/skills/website-design-skills/17-effortel/SKILL.md +0 -272
- package/skills/website-design-skills/18-adopt/README.md +0 -42
- package/skills/website-design-skills/18-adopt/SKILL.md +0 -273
- package/skills/website-design-skills/19-kraftful/README.md +0 -42
- package/skills/website-design-skills/19-kraftful/SKILL.md +0 -273
- package/skills/website-design-skills/20-greenhouse/README.md +0 -42
- package/skills/website-design-skills/20-greenhouse/SKILL.md +0 -273
- package/skills/website-design-skills/21-weavy/README.md +0 -42
- package/skills/website-design-skills/21-weavy/SKILL.md +0 -273
- package/skills/website-design-skills/22-safetykit/README.md +0 -42
- package/skills/website-design-skills/22-safetykit/SKILL.md +0 -273
- package/skills/website-design-skills/23-modulify/README.md +0 -42
- package/skills/website-design-skills/23-modulify/SKILL.md +0 -270
- package/skills/website-design-skills/24-realm/README.md +0 -42
- package/skills/website-design-skills/24-realm/SKILL.md +0 -270
- package/skills/website-design-skills/25-modyfi/README.md +0 -42
- package/skills/website-design-skills/25-modyfi/SKILL.md +0 -269
- package/skills/website-design-skills/26-altitude/README.md +0 -42
- package/skills/website-design-skills/26-altitude/SKILL.md +0 -270
- package/skills/website-design-skills/27-way/README.md +0 -42
- package/skills/website-design-skills/27-way/SKILL.md +0 -270
- package/skills/website-design-skills/28-zentail/README.md +0 -42
- package/skills/website-design-skills/28-zentail/SKILL.md +0 -270
- package/skills/website-design-skills/29-zams/README.md +0 -42
- package/skills/website-design-skills/29-zams/SKILL.md +0 -270
- package/skills/website-design-skills/30-user-interviews/README.md +0 -44
- package/skills/website-design-skills/30-user-interviews/SKILL.md +0 -273
- package/skills/website-design-skills/31-bland/README.md +0 -44
- package/skills/website-design-skills/31-bland/SKILL.md +0 -273
- package/skills/website-design-skills/32-nauto/README.md +0 -44
- package/skills/website-design-skills/32-nauto/SKILL.md +0 -273
- package/skills/website-design-skills/33-bill/README.md +0 -44
- package/skills/website-design-skills/33-bill/SKILL.md +0 -273
- package/skills/website-design-skills/34-localyzer/README.md +0 -44
- package/skills/website-design-skills/34-localyzer/SKILL.md +0 -273
- package/skills/website-design-skills/35-jasper/README.md +0 -44
- package/skills/website-design-skills/35-jasper/SKILL.md +0 -273
- package/skills/website-design-skills/README.md +0 -108
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# product-demo-first-design-system
|
|
2
|
+
|
|
3
|
+
A world-class, **product-demo-first design system** for building websites where the
|
|
4
|
+
**product itself is the hero of every page** — framed screenshots, interactive demos,
|
|
5
|
+
video, code/terminal, and live previews. Distilled from product-led leaders (**Linear,
|
|
6
|
+
Vercel, Stripe, Retool, Framer, Loom, Arc**) and modern AI sites (**OpenAI, Anthropic,
|
|
7
|
+
Perplexity, Cursor, Replit**). It gives coding/design/UI/branding/website-generation
|
|
8
|
+
agents a complete, reusable system so they can ship product-led sites that convert.
|
|
9
|
+
|
|
10
|
+
It also ships a **production website-generation framework**: a multipage site (15+
|
|
11
|
+
pages, 10+ sections/page, **≥3 demo moments per page**, **no borders/dividers between
|
|
12
|
+
sections**) in **pure HTML/CSS/vanilla JS** (no React/Vue/Tailwind/Bootstrap/jQuery/any
|
|
13
|
+
library — demos included), with **clean Vercel-ready URLs** (no `.html`), navigation, and
|
|
14
|
+
full SEO.
|
|
15
|
+
|
|
16
|
+
> The full design intelligence is **baked into the companion files** (live research
|
|
17
|
+
> optional, to save tokens). Outputs a generated site/system into a `website/` folder.
|
|
18
|
+
> Sibling design skills: `ai-dark-futuristic-design-system` (dark), `apple-premium-minimal-design-system` (light minimal).
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npx spirewise install -s product-demo-first-design-system # pick agents + scope
|
|
24
|
+
npx spirewise install -s product-demo-first-design-system -a claude,cursor -sc workspace
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Remove
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx spirewise remove -s product-demo-first-design-system # pick agents + scope
|
|
31
|
+
npx spirewise remove -s product-demo-first-design-system -a claude,cursor -sc both
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
(No Node? `./install.sh -s product-demo-first-design-system` and `./install.sh remove -s product-demo-first-design-system`.)
|
|
35
|
+
|
|
36
|
+
## Use
|
|
37
|
+
|
|
38
|
+
After installing, ask your agent:
|
|
39
|
+
|
|
40
|
+
> "Build a product-led, demo-first website for our product"
|
|
41
|
+
> "Make it like Linear/Vercel/Retool — show the product working"
|
|
42
|
+
|
|
43
|
+
It reads the companion files, locks the tokens, plans the demos per page, composes
|
|
44
|
+
demo-first layouts + the Product Frame / Interactive Demo / Video Demo components, applies
|
|
45
|
+
motion + accessibility, and emits **pure HTML + CSS + vanilla JS + tokens + `vercel.json`
|
|
46
|
+
+ `sitemap.xml`** into a `website/` folder.
|
|
47
|
+
|
|
48
|
+
## What's inside
|
|
49
|
+
|
|
50
|
+
| File | What it gives you |
|
|
51
|
+
|---|---|
|
|
52
|
+
| `SKILL.md` | Orchestrator: demo-first philosophy, mandates, workflow, output, checklist |
|
|
53
|
+
| `design-principles.md` | Show-don't-tell philosophy, hierarchy laws, do/don'ts |
|
|
54
|
+
| `color-system.md` | Neutral product-forward palette + **Product Frame** tokens (CSS vars) |
|
|
55
|
+
| `typography-system.md` | Fonts (sans + mono), fluid type scale, roles |
|
|
56
|
+
| `spacing-system.md` | 4/8-pt scale, container widths, frame-lift rhythm |
|
|
57
|
+
| `layout-system.md` | 12-col grid + canonical demo-first layouts |
|
|
58
|
+
| `component-library.md` | 17 components + Product Frame + demo components |
|
|
59
|
+
| `motion-system.md` | Demo interactions: tabbed demos, autoplay clips, scrub, parallax |
|
|
60
|
+
| `accessibility-system.md` | Contrast, focus, **demo a11y**, keyboard, reduced motion |
|
|
61
|
+
| `website-generation-rules.md` | Pure-vanilla build: pages, clean URLs + `vercel.json`, nav, SEO |
|
|
62
|
+
| `example-page-structures.md` | Demo-first page blueprints per site type |
|
|
63
|
+
|
|
64
|
+
## The look
|
|
65
|
+
|
|
66
|
+
A clean, neutral, product-forward canvas (white / `#f7f8fa`) with soft panels so the
|
|
67
|
+
**product pops**, a confident **indigo** accent, modern functional type, generous space,
|
|
68
|
+
and a signature **Product Frame** (elevated browser/app/device chrome) that makes every
|
|
69
|
+
screenshot, clip, and live demo look real. Light by default; dark theme included.
|
|
70
|
+
|
|
71
|
+
## Components (17 + demo toolkit)
|
|
72
|
+
|
|
73
|
+
Navbar · Demo Hero · Feature-with-demo Grid · Bento of demos · Testimonials · Logos ·
|
|
74
|
+
Pricing · FAQ · CTA · Footer · Dashboard Preview · Agent Workflow · Code Preview ·
|
|
75
|
+
Terminal Preview · Trust · Security · Enterprise — **plus** Product Frame · Interactive
|
|
76
|
+
Demo · Video Demo · Before/After · Annotated Walkthrough · Tabbed Feature Demo.
|
|
77
|
+
|
|
78
|
+
## Rules it enforces
|
|
79
|
+
|
|
80
|
+
- **Demo-first** — every page leads with a Demo Hero; **≥3 demo moments/page**; every
|
|
81
|
+
major feature proven by a Product Frame (never claim-only); all product media framed
|
|
82
|
+
(no empty/lorem frames).
|
|
83
|
+
- **Multipage scale (mandatory)** — **15+ pages (≈20)**, **≥10 sections/page (≈12)**, and
|
|
84
|
+
**no borders/dividers between sections** (separation by whitespace + panels + frame shadow).
|
|
85
|
+
- **Pure vanilla stack** — HTML5 + CSS3 + vanilla JS only (demos included); **no React/
|
|
86
|
+
Vue/Angular/Svelte/Bootstrap/Tailwind/jQuery/any library**; no build step.
|
|
87
|
+
- **Clean Vercel-ready URLs** — extensionless routes (`/pricing`), with `vercel.json`
|
|
88
|
+
(`cleanUrls`), `sitemap.xml`, `robots.txt`; refresh + deep links work.
|
|
89
|
+
- **Full navigation + SEO** — desktop dropdowns, mobile overlay, breadcrumbs; per-page
|
|
90
|
+
title/description, Open Graph, Twitter card, canonical, JSON-LD (+ `VideoObject` for demos).
|
|
91
|
+
- **Centralized tokens**, **accessible by default** (incl. demo a11y: keyboard, captions,
|
|
92
|
+
reduced motion, no-JS fallbacks), **mobile-first responsive**, **restraint** (calm page,
|
|
93
|
+
vivid product). **Zero anti-patterns** — no template look, frameworks in the shipped
|
|
94
|
+
site, claim-only sections, or fake product frames.
|
|
95
|
+
|
|
96
|
+
See `SKILL.md` for the full workflow and the companion files for every token and spec.
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-demo-first-design-system
|
|
3
|
+
description: >-
|
|
4
|
+
A world-class, PRODUCT-DEMO-FIRST design system for building websites where the
|
|
5
|
+
product itself — framed screenshots, interactive demos, video, code/terminal, and
|
|
6
|
+
live previews — is the hero of every page. Distilled from product-forward leaders
|
|
7
|
+
(Linear, Vercel, Stripe, Retool, Framer, Loom, Arc) and modern AI sites (OpenAI,
|
|
8
|
+
Anthropic, Perplexity, Cursor, Replit). It gives coding/design/UI/branding/website-
|
|
9
|
+
generation agents a complete, reusable system: design philosophy, color/typography/
|
|
10
|
+
spacing/grid/layout tokens (with a signature product-frame treatment), a 17+ -
|
|
11
|
+
component library (Demo Hero, Product Frame, Interactive Demo, Video Demo,
|
|
12
|
+
Before/After, Annotated Walkthrough…), a motion system, accessibility + responsive
|
|
13
|
+
rules, and a production website-generation framework. The framework builds a
|
|
14
|
+
multipage site (15+ pages, 10+ sections/page, NO borders/dividers between sections)
|
|
15
|
+
in PURE HTML/CSS/vanilla JS (no React/Vue/Tailwind/Bootstrap/jQuery/any library),
|
|
16
|
+
with clean Vercel-ready URLs (no `.html`), navigation, and full SEO. Use when the
|
|
17
|
+
user asks for a "product-led / demo-first website", "show the product", "interactive
|
|
18
|
+
product demo landing page", "make it like Linear/Vercel/Retool", or "a product
|
|
19
|
+
design system / tokens". The full system is baked into the companion files (live
|
|
20
|
+
research optional). Outputs a generated site/system into a `website/` folder.
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Product Demo First Design System
|
|
24
|
+
|
|
25
|
+
A complete, agent-ready design system for **product-led websites** where, on every
|
|
26
|
+
page, the visitor **sees the product working** — not just reads about it. Every
|
|
27
|
+
section is built around a demo: a framed screenshot, an interactive preview, a short
|
|
28
|
+
autoplay clip, a code/terminal sample, a before/after, or an annotated walkthrough.
|
|
29
|
+
"Show, don't tell." Distilled from Linear, Vercel, Stripe, Retool, Framer, Loom, Arc,
|
|
30
|
+
and modern AI sites (OpenAI, Anthropic, Perplexity, Cursor, Replit).
|
|
31
|
+
|
|
32
|
+
This skill is the **single source of truth**. The detailed system lives in the
|
|
33
|
+
companion files in this folder — read the ones relevant to the task, then generate.
|
|
34
|
+
|
|
35
|
+
## The core idea — demo-first on every page
|
|
36
|
+
|
|
37
|
+
- **Lead with the product.** Every page opens with a **Demo Hero** that shows the
|
|
38
|
+
product (interactive preview, video, or a crisp framed screenshot), not a stock illo.
|
|
39
|
+
- **Every major feature is proven by a demo.** Pair each claim with a visual: a
|
|
40
|
+
product frame, a short clip, a code sample, or a before/after — never claim-only.
|
|
41
|
+
- **At least one interactive/visual demo per major section**, and **≥3 distinct demo
|
|
42
|
+
moments per page** (hero demo + feature demos + a deeper interactive/video demo).
|
|
43
|
+
- **The product frame is the signature.** A reusable browser/device/app frame (its own
|
|
44
|
+
elevated chrome) makes product media look real and premium on any page.
|
|
45
|
+
|
|
46
|
+
## Hard structural requirements (MANDATORY — never skip)
|
|
47
|
+
|
|
48
|
+
These are non-negotiable and override any conflicting guidance elsewhere:
|
|
49
|
+
|
|
50
|
+
1. **Multipage — 15+ pages (≈20).** Always generate a **full multipage website with
|
|
51
|
+
more than 15 distinct pages** (not a single landing page) — a real site map.
|
|
52
|
+
2. **10+ sections per page (≈12).** Every page contains **at least 10 full sections**,
|
|
53
|
+
each built around a demo or the product where possible.
|
|
54
|
+
3. **No borders/dividers between sections.** **Zero border widths, lines, rules, or
|
|
55
|
+
`<hr>` between sections.** Separate sections with whitespace, soft background panels,
|
|
56
|
+
elevation (framed product media), and type hierarchy — never a border.
|
|
57
|
+
4. **Pure HTML + CSS + vanilla JS — no frameworks/libraries.** The generated site uses
|
|
58
|
+
**only HTML5, CSS3, and vanilla JavaScript** (including all interactive demos). No
|
|
59
|
+
React/Vue/Angular/Svelte/Next, no Bootstrap/Tailwind/any CSS framework, no jQuery/
|
|
60
|
+
any UI or JS library, no build step. (Exporting `tokens.json` for other agents is
|
|
61
|
+
fine — that's data, not a framework.)
|
|
62
|
+
5. **Clean, Vercel-ready URLs.** All routes are **extensionless** (`/pricing`, not
|
|
63
|
+
`/pricing.html`); ship a `vercel.json` (`cleanUrls: true`) plus `sitemap.xml` /
|
|
64
|
+
`robots.txt` so production refresh and deep links work.
|
|
65
|
+
6. **Full navigation + SEO.** Desktop nav (dropdown/mega-menu where useful) + mobile
|
|
66
|
+
menu + breadcrumbs; per-page SEO (unique title/description, Open Graph, Twitter
|
|
67
|
+
card, canonical, JSON-LD). Every component: responsive, accessible, reusable,
|
|
68
|
+
production-ready, animation-ready.
|
|
69
|
+
|
|
70
|
+
See `website-generation-rules.md` for the required page list, required sections, the
|
|
71
|
+
`vercel.json`, navigation, and SEO specifics. Enforce in code: `.section { border: 0 }`
|
|
72
|
+
and never place `<hr>`/divider elements between sections.
|
|
73
|
+
|
|
74
|
+
## When to use
|
|
75
|
+
|
|
76
|
+
Building or designing any landing page, marketing site, or product site that should be
|
|
77
|
+
**product-led / demo-first** (Linear/Vercel/Retool/Loom energy) — for a SaaS product,
|
|
78
|
+
AI startup, developer platform, or enterprise tool — or producing **design tokens / a
|
|
79
|
+
design system** for other agents.
|
|
80
|
+
|
|
81
|
+
## The companion files (read what you need)
|
|
82
|
+
|
|
83
|
+
| File | What it gives you |
|
|
84
|
+
|---|---|
|
|
85
|
+
| `design-principles.md` | The demo-first philosophy, hierarchy laws, do/don'ts |
|
|
86
|
+
| `color-system.md` | Neutral product-forward palette + product-frame tokens (CSS vars) |
|
|
87
|
+
| `typography-system.md` | Fonts, fluid type scale, weights, tracking, roles |
|
|
88
|
+
| `spacing-system.md` | 4/8-pt scale, container widths, section/card rhythm |
|
|
89
|
+
| `layout-system.md` | Grid + the canonical demo-first section layouts |
|
|
90
|
+
| `component-library.md` | Specs for all 17 components + the demo components |
|
|
91
|
+
| `motion-system.md` | Demo interactions: tabbed demos, autoplay clips, scrub, parallax |
|
|
92
|
+
| `accessibility-system.md` | Contrast, focus, motion, demo a11y, keyboard |
|
|
93
|
+
| `website-generation-rules.md` | Pure-vanilla build: pages, clean URLs + `vercel.json`, nav, SEO |
|
|
94
|
+
| `example-page-structures.md` | Ready demo-first page blueprints |
|
|
95
|
+
|
|
96
|
+
All tokens use the same names across files, so they compose into one stylesheet.
|
|
97
|
+
|
|
98
|
+
## Phase 1 — Research is baked in (live analysis OPTIONAL)
|
|
99
|
+
|
|
100
|
+
The design intelligence extracted from the reference sites is **already encoded in the
|
|
101
|
+
companion files** — patterns, palettes, type scales, spacing, components, motion, and
|
|
102
|
+
the product-demo patterns. **Do NOT re-scrape the references for the basics; use the
|
|
103
|
+
baked-in system** (saves tokens). Only browse live when the user wants a *current* look
|
|
104
|
+
from a specific site, a brand-new pattern not covered here, or to verify a font/feature.
|
|
105
|
+
|
|
106
|
+
What the baked-in system already captures (the Phase-1 extraction): design patterns,
|
|
107
|
+
visual hierarchy, typography/spacing/grid/layout systems, color + gradient systems,
|
|
108
|
+
animation/motion, navigation, CTA + hero patterns, trust/enterprise/social-proof
|
|
109
|
+
components, footer/pricing/feature structures, interactive + micro-interactions,
|
|
110
|
+
glassmorphism usage, accessibility, mobile responsiveness, developer-experience
|
|
111
|
+
patterns, and AI-startup conversion patterns — all centered on showing the product.
|
|
112
|
+
|
|
113
|
+
## Phase 2 — Generate (the workflow)
|
|
114
|
+
|
|
115
|
+
1. **Clarify intent:** site type (SaaS / dev platform / AI / enterprise tool), the key
|
|
116
|
+
product surfaces to demo, brand accent (or default indigo), and page set.
|
|
117
|
+
2. **Lock the tokens:** start from `color-system.md` + `typography-system.md` +
|
|
118
|
+
`spacing-system.md`. Emit them once as `:root` CSS variables (and `tokens.json`).
|
|
119
|
+
3. **Plan the demos:** for each page, list the product moments to show (hero demo +
|
|
120
|
+
per-feature demos + one deep interactive/video demo). Demos drive the layout.
|
|
121
|
+
4. **Compose layouts + components:** use the demo-first layouts and the Product Frame /
|
|
122
|
+
Interactive Demo / Video Demo / Before-After / Annotated Walkthrough components.
|
|
123
|
+
5. **Apply motion + a11y:** demo interactions per `motion-system.md`, gated by
|
|
124
|
+
`prefers-reduced-motion`; meet every rule in `accessibility-system.md`.
|
|
125
|
+
6. **Emit code:** follow `website-generation-rules.md` to produce clean, semantic,
|
|
126
|
+
responsive **pure HTML + CSS + vanilla JS** plus tokens, `vercel.json`, `sitemap.xml`,
|
|
127
|
+
`robots.txt`.
|
|
128
|
+
7. **Self-check** against the anti-patterns and the verification checklist below.
|
|
129
|
+
|
|
130
|
+
## Output
|
|
131
|
+
|
|
132
|
+
Unless the user specifies otherwise, write the generated **multipage site (15+ pages,
|
|
133
|
+
~20)** into a `website/` folder in the project root:
|
|
134
|
+
- `website/index.html` **plus 15+ additional pages** (≥10 sections each, demo-first, no
|
|
135
|
+
inter-section borders), linked with **extensionless URLs** (`/pricing`)
|
|
136
|
+
- `website/css/tokens.css` + `website/css/styles.css`
|
|
137
|
+
- `website/js/main.js` (vanilla nav, demo interactions, motion — progressively enhanced)
|
|
138
|
+
- `website/vercel.json`, `website/sitemap.xml`, `website/robots.txt`
|
|
139
|
+
- `website/assets/` (product screenshots, clips, device frames, og images)
|
|
140
|
+
- `website/tokens.json` (machine-readable tokens for other agents)
|
|
141
|
+
|
|
142
|
+
When the user only wants the **system** (not a site), emit the tokens + component specs.
|
|
143
|
+
|
|
144
|
+
## Default look (baked-in identity)
|
|
145
|
+
|
|
146
|
+
A clean, neutral, product-forward canvas (white / `#f7f8fa`) with soft panels so the
|
|
147
|
+
**product pops**, a confident **indigo** accent, modern functional type, generous
|
|
148
|
+
space, and a signature **product frame** (elevated browser/device chrome — often dark)
|
|
149
|
+
that makes every screenshot, clip, and live demo look real and premium. Quiet, precise
|
|
150
|
+
motion that animates the *product*, not the page. (Light by default; a dark theme is
|
|
151
|
+
included — for fully dark identity use `ai-dark-futuristic-design-system`, for Apple
|
|
152
|
+
minimal use `apple-premium-minimal-design-system`.)
|
|
153
|
+
|
|
154
|
+
## Anti-patterns (never ship these)
|
|
155
|
+
|
|
156
|
+
Outdated startup designs · Bootstrap/ThemeForest/WordPress-template look · generic SaaS
|
|
157
|
+
or old-startup templates · **claim-only sections with no product/demo** · poor
|
|
158
|
+
typography · weak visual hierarchy · overloaded gradients · excessive glassmorphism ·
|
|
159
|
+
poor accessibility · inconsistent spacing · **borders or dividers between sections ·
|
|
160
|
+
single-page sites or thin pages with fewer than 10 sections · any framework/library in
|
|
161
|
+
the shipped site (React/Vue/Tailwind/Bootstrap/jQuery/…) · `.html` in URLs · fake/empty
|
|
162
|
+
product frames or lorem screenshots**. The result must feel like Linear/Vercel/Retool —
|
|
163
|
+
never like a template.
|
|
164
|
+
|
|
165
|
+
## Verification checklist (run before finishing)
|
|
166
|
+
|
|
167
|
+
0. **Multipage scale met:** the site has **> 15 pages** (≈20), each page has **≥ 10
|
|
168
|
+
sections** (≈12), and there are **no borders/dividers between sections**.
|
|
169
|
+
0b. **Demo-first met:** every page leads with a Demo Hero and contains **≥3 distinct
|
|
170
|
+
demo moments**; major feature sections each prove the claim with a product visual.
|
|
171
|
+
0c. **Pure vanilla + clean URLs:** zero frameworks/libraries; all routes extensionless
|
|
172
|
+
with a working `vercel.json` (`cleanUrls`), `sitemap.xml`, and `robots.txt`.
|
|
173
|
+
0d. **Nav + SEO:** desktop nav/dropdowns + mobile menu + breadcrumbs; per-page title/
|
|
174
|
+
description, Open Graph + Twitter card, canonical, and JSON-LD.
|
|
175
|
+
1. Tokens emitted once (`:root`/`tokens.css`) and reused — no scattered one-off hex.
|
|
176
|
+
2. Type uses the fluid scale; spacing uses the 4/8-pt scale; layout uses the grid +
|
|
177
|
+
container widths — all from the companion files.
|
|
178
|
+
3. Every section is a recognized layout; every component matches `component-library.md`;
|
|
179
|
+
the Product Frame is used for all product media.
|
|
180
|
+
4. Body text ≥ 4.5:1 contrast, large text ≥ 3:1; visible focus; motion respects
|
|
181
|
+
`prefers-reduced-motion`; semantic landmarks + alt text present; demos keyboard-usable.
|
|
182
|
+
5. Fully responsive (360 → 1440+), no horizontal scroll, tap targets ≥ 44px.
|
|
183
|
+
6. Trips **zero** anti-patterns; product media is real (not empty/lorem frames).
|
|
184
|
+
7. Output looks like it belongs next to Linear/Vercel/Retool — product-led and
|
|
185
|
+
conversion-focused.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Accessibility System — Product Demo First
|
|
2
|
+
|
|
3
|
+
Product-led pages add a11y risk: **interactive demos, autoplay video, and annotated
|
|
4
|
+
frames** must be perceivable and operable for everyone. This system bakes WCAG 2.1 AA
|
|
5
|
+
into the look, including the demo components.
|
|
6
|
+
|
|
7
|
+
## Color & contrast
|
|
8
|
+
- **Body text ≥ 4.5:1**, large/UI text **≥ 3:1**, on its real panel. Use
|
|
9
|
+
`--text-secondary`/`--text-muted` for content. Check **in-frame text** (`--frame-text`
|
|
10
|
+
on `--frame-bg`) too — both page and product-frame text must pass.
|
|
11
|
+
- **Non-text contrast ≥ 3:1** for controls, focus rings, demo annotations/callouts, and
|
|
12
|
+
before/after handles.
|
|
13
|
+
- **Don't encode meaning in color alone** — annotations pair color with a number/label;
|
|
14
|
+
status pairs color with an icon.
|
|
15
|
+
- **Gradient/low-contrast text banned for body**; `--grad-text` only on large hero display.
|
|
16
|
+
|
|
17
|
+
## Demos & media (the key area)
|
|
18
|
+
- **Autoplay video** is **muted, loop, `playsinline`**, plays only on scroll-in, and has
|
|
19
|
+
a **visible play/pause control**. Under `prefers-reduced-motion`, show the **poster
|
|
20
|
+
only** (no autoplay). Provide captions/track for any narrated video.
|
|
21
|
+
- **Interactive demos** are fully **keyboard operable** (tab/enter/space/arrows), have
|
|
22
|
+
visible focus, and a **no-JS fallback** (a static framed screenshot with alt text).
|
|
23
|
+
- **Annotated walkthroughs** provide a **text equivalent** (an ordered `<ol>` of the
|
|
24
|
+
steps) so the information isn't conveyed by visuals/motion alone; advanceable by keyboard.
|
|
25
|
+
- **Before/After** sliders are operable with arrow keys and have labelled sides.
|
|
26
|
+
- **Tabbed demos** use `role="tablist"/tab/tabpanel`, `aria-selected`, arrow-key nav.
|
|
27
|
+
- Informative product screenshots have meaningful **`alt`**; pure chrome (frame bars,
|
|
28
|
+
traffic-light dots, spotlight glows) is `aria-hidden`/`alt=""`.
|
|
29
|
+
- No flashing > 3×/sec; no autoplaying audio.
|
|
30
|
+
|
|
31
|
+
## Focus & keyboard
|
|
32
|
+
- **Always-visible focus:** `:focus-visible { outline:2px solid var(--ring);
|
|
33
|
+
outline-offset:2px }` on every control — including demo controls. Never bare `outline:none`.
|
|
34
|
+
- **Full keyboard operability**, logical tab order matching visual order; no traps
|
|
35
|
+
(except intended modal focus-trap with ESC). **Skip link** to `#main` first in DOM.
|
|
36
|
+
|
|
37
|
+
## Semantics & structure
|
|
38
|
+
- One `<h1>` per page; ordered headings (size with CSS). Landmarks:
|
|
39
|
+
`<header><nav><main id="main"><section><footer>`.
|
|
40
|
+
- Buttons vs links: `<button>` actions, `<a href>` navigation. Lists `<ul>/<ol>`; quotes
|
|
41
|
+
`<blockquote><cite>`; code `<pre><code>`. Native elements over ARIA; minimal correct ARIA.
|
|
42
|
+
|
|
43
|
+
## Forms
|
|
44
|
+
- Programmatic `<label>` for every input (placeholders aren't labels); `<fieldset><legend>`
|
|
45
|
+
for groups; errors in text + `aria-describedby`, focus to first error.
|
|
46
|
+
|
|
47
|
+
## Touch & responsive
|
|
48
|
+
- **Tap targets ≥ 44×44px** (incl. demo controls/handles). Reflow to 320px, no horizontal
|
|
49
|
+
scroll, 200% zoom OK, pinch-zoom not disabled.
|
|
50
|
+
|
|
51
|
+
## Checklist (run before finishing)
|
|
52
|
+
1. Page **and** in-frame text/controls meet AA contrast.
|
|
53
|
+
2. Autoplay video muted + scroll-gated + has controls + poster-only under reduced motion.
|
|
54
|
+
3. Every interactive demo: keyboard-operable, visible focus, no-JS fallback.
|
|
55
|
+
4. Annotated/walkthrough/before-after/tabbed demos have text equivalents + ARIA + key nav.
|
|
56
|
+
5. Visible focus everywhere; skip link; correct landmarks + one H1.
|
|
57
|
+
6. Informative product images have alt; chrome/decorative hidden; reduced-motion honored.
|
|
58
|
+
7. 44px targets; reflow to 320px; 200% zoom; zoom not disabled.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Color System — Product Demo First
|
|
2
|
+
|
|
3
|
+
A neutral, product-forward palette: a calm page so the **product pops**, one confident
|
|
4
|
+
accent, and a signature **product-frame** treatment (elevated browser/device/app chrome
|
|
5
|
+
— often dark) that makes screenshots, clips, and live demos look real. Sections separate
|
|
6
|
+
via soft panels + whitespace + the floating frame — **never borders**. Override only
|
|
7
|
+
`--accent-*` to rebrand. Contrast targets: body ≥ 4.5:1, large/secondary ≥ 3:1. A dark
|
|
8
|
+
page theme is included.
|
|
9
|
+
|
|
10
|
+
## Tokens (`:root`)
|
|
11
|
+
|
|
12
|
+
```css
|
|
13
|
+
:root {
|
|
14
|
+
/* ---- Page + section panels (light, neutral, product-forward) ---- */
|
|
15
|
+
--bg-page: #ffffff; /* base page */
|
|
16
|
+
--bg-canvas: #f7f8fa; /* default section panel (product floats on this) */
|
|
17
|
+
--bg-muted: #f1f3f7; /* alternate section panel */
|
|
18
|
+
--bg-tint: #f3f2ff; /* faint accent-tinted panel (rare) */
|
|
19
|
+
|
|
20
|
+
/* ---- Surfaces (cards) ---- */
|
|
21
|
+
--surface: #ffffff;
|
|
22
|
+
--surface-muted: #f5f6f9;
|
|
23
|
+
--surface-raised: #ffffff;
|
|
24
|
+
--surface-glass: rgba(255,255,255,0.72); /* sticky nav glass */
|
|
25
|
+
|
|
26
|
+
/* ---- PRODUCT FRAME (the signature demo chrome — dark, elevated) ---- */
|
|
27
|
+
--frame-bg: #0e1116; /* product canvas / app background inside the frame */
|
|
28
|
+
--frame-bar: #171b22; /* the browser/title bar */
|
|
29
|
+
--frame-border: rgba(255,255,255,0.08);
|
|
30
|
+
--frame-text: #e6e9ef; /* text inside the frame */
|
|
31
|
+
--frame-muted: #9aa3b2;
|
|
32
|
+
--frame-dot1: #ff5f57; --frame-dot2:#febc2e; --frame-dot3:#28c840; /* traffic lights */
|
|
33
|
+
|
|
34
|
+
/* ---- Text ramp (on the light page) ---- */
|
|
35
|
+
--text-primary: #0b0d12;
|
|
36
|
+
--text-secondary: #3c4250;
|
|
37
|
+
--text-muted: #697186;
|
|
38
|
+
--text-faint: #9aa1b0; /* decorative/disabled — non-essential only */
|
|
39
|
+
--text-on-accent: #ffffff;
|
|
40
|
+
|
|
41
|
+
/* ---- Borders / hairlines (cards/inputs/in-frame — NOT between sections) ---- */
|
|
42
|
+
--border-subtle: rgba(11,13,18,0.06);
|
|
43
|
+
--border-default: rgba(11,13,18,0.10);
|
|
44
|
+
--border-strong: rgba(11,13,18,0.16);
|
|
45
|
+
--ring: #4f46e5; /* focus ring */
|
|
46
|
+
|
|
47
|
+
/* ---- Accent (brand action color) ---- */
|
|
48
|
+
--accent: #4f46e5; /* indigo — primary actions/links */
|
|
49
|
+
--accent-hover: #6366f1;
|
|
50
|
+
--accent-press: #4338ca;
|
|
51
|
+
--accent-2: #06b6d4; /* cyan — annotations/highlights on demos */
|
|
52
|
+
--accent-soft: rgba(79,70,229,0.10);
|
|
53
|
+
|
|
54
|
+
/* ---- Semantic ---- */
|
|
55
|
+
--success: #16a34a; --success-soft: rgba(22,163,74,0.12);
|
|
56
|
+
--warning: #b45309; --warning-soft: rgba(180,83,9,0.12);
|
|
57
|
+
--error: #dc2626; --error-soft: rgba(220,38,38,0.12);
|
|
58
|
+
--info: #4f46e5; --info-soft: rgba(79,70,229,0.12);
|
|
59
|
+
|
|
60
|
+
/* ---- Gradients (subtle; spotlight the product) ---- */
|
|
61
|
+
--grad-spotlight: radial-gradient(60% 70% at 50% 0%, rgba(79,70,229,0.12) 0%, transparent 62%);
|
|
62
|
+
--grad-soft: linear-gradient(180deg, #ffffff 0%, #f1f3f7 100%);
|
|
63
|
+
--grad-accent: linear-gradient(135deg, #4f46e5 0%, #06b6d4 100%);
|
|
64
|
+
--grad-text: linear-gradient(90deg, #0b0d12 0%, #4f46e5 100%);
|
|
65
|
+
|
|
66
|
+
/* ---- Elevation (so the product frame floats) ---- */
|
|
67
|
+
--shadow-sm: 0 1px 2px rgba(11,13,18,0.06);
|
|
68
|
+
--shadow-md: 0 8px 24px rgba(11,13,18,0.10);
|
|
69
|
+
--shadow-lg: 0 30px 70px rgba(11,13,18,0.18); /* product-frame float */
|
|
70
|
+
--shadow-frame: 0 40px 90px rgba(11,13,18,0.22), 0 0 0 1px var(--border-subtle);
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Palette roles
|
|
75
|
+
|
|
76
|
+
- **Page + panels** (`--bg-*`): full-bleed section fills. **Alternate `--bg-canvas` and
|
|
77
|
+
`--bg-muted`** (or white) between sections to separate by color — **never a border**.
|
|
78
|
+
- **Surfaces** (`--surface-*`): cards/panels on a section, soft shadow, large radius.
|
|
79
|
+
- **Product frame** (`--frame-*`): the signature chrome around every product
|
|
80
|
+
screenshot/clip/live demo — usually a dark browser/app frame with traffic-light dots,
|
|
81
|
+
floated with `--shadow-frame` so it pops off the light page. This is what makes demos
|
|
82
|
+
feel real; use it consistently for all product media.
|
|
83
|
+
- **Text** (`--text-*`): primary headings, secondary body, muted meta. Never `--text-faint`
|
|
84
|
+
for real content.
|
|
85
|
+
- **Borders** (`--border-*`): hairlines for cards/inputs and *inside* the product frame —
|
|
86
|
+
not for dividing page sections.
|
|
87
|
+
- **Accent** (`--accent*`): primary CTA, active states, links; `--accent-2` for demo
|
|
88
|
+
annotations/highlights.
|
|
89
|
+
- **Gradients** (`--grad-*`): `--grad-spotlight` behind the hero product; `--grad-soft`
|
|
90
|
+
for a gentle panel; `--grad-text` on one hero phrase. Keep subtle, behind the product.
|
|
91
|
+
- **Success / Warning / Error / Info**: status, validation, badges only.
|
|
92
|
+
|
|
93
|
+
## Usage rules
|
|
94
|
+
|
|
95
|
+
1. **Calm page, vivid product.** Keep page chrome neutral so the framed product (with
|
|
96
|
+
its own UI colors) is the brightest thing on screen.
|
|
97
|
+
2. **Separate sections with panels + space + frame shadow, not lines.** Mandatory.
|
|
98
|
+
3. **Frame all product media.** Every screenshot/clip/live demo sits in the product
|
|
99
|
+
frame with `--shadow-frame`. Don't drop raw images on the page.
|
|
100
|
+
4. **Gradients rare + subtle**, mostly as a spotlight *behind* the product.
|
|
101
|
+
5. **Check contrast** on both the light page text and the in-frame (`--frame-text`)
|
|
102
|
+
text; both must meet AA.
|
|
103
|
+
|
|
104
|
+
## Optional dark page theme
|
|
105
|
+
|
|
106
|
+
Provide `[data-theme="dark"]`: `--bg-page:#06070a; --bg-canvas:#0b0d12;
|
|
107
|
+
--bg-muted:#11141b; --text-primary:#f4f6fb; --text-secondary:#c3c9d6;
|
|
108
|
+
--text-muted:#8a92a6;` — keep the same product frame (it already reads as a device) and
|
|
109
|
+
re-verify contrast. **Light is the default identity.**
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Component Library — Product Demo First
|
|
2
|
+
|
|
3
|
+
Specs for the 17 required components **plus the demo components** that make this system
|
|
4
|
+
product-led. Each: purpose, anatomy, tokens, states, responsive + a11y. Semantic HTML;
|
|
5
|
+
shared tokens; **no borders between sections** (hairlines only inside cards/frames).
|
|
6
|
+
|
|
7
|
+
Shared primitives:
|
|
8
|
+
|
|
9
|
+
```css
|
|
10
|
+
.btn { display:inline-flex; align-items:center; gap: var(--space-2);
|
|
11
|
+
font-weight:600; font-size:.9375rem; padding: var(--space-3) var(--space-6);
|
|
12
|
+
border-radius: var(--radius-pill); border:1px solid transparent; cursor:pointer;
|
|
13
|
+
transition: transform .15s ease, background .2s ease, box-shadow .2s ease; }
|
|
14
|
+
.btn:active { transform: translateY(1px); }
|
|
15
|
+
.btn-primary { background: var(--accent); color: var(--text-on-accent); box-shadow: var(--shadow-sm); }
|
|
16
|
+
.btn-primary:hover { background: var(--accent-hover); }
|
|
17
|
+
.btn-secondary { background: var(--surface-muted); color: var(--text-primary);
|
|
18
|
+
border-color: var(--border-default); }
|
|
19
|
+
.card { background: var(--surface); border:1px solid var(--border-subtle);
|
|
20
|
+
border-radius: var(--radius-xl); padding: var(--space-8); box-shadow: var(--shadow-sm); }
|
|
21
|
+
.card:hover { box-shadow: var(--shadow-md); }
|
|
22
|
+
:where(a,button,input,[tabindex]):focus-visible { outline:2px solid var(--ring);
|
|
23
|
+
outline-offset:2px; border-radius: var(--radius-sm); }
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## ★ Product Frame (the signature primitive — use for ALL product media)
|
|
27
|
+
A reusable elevated **browser/app/device chrome** that wraps every screenshot, clip,
|
|
28
|
+
interactive demo, or code/terminal. Anatomy: frame (`--frame-bg`, `--radius-frame`,
|
|
29
|
+
`--shadow-frame`) · title bar (`--frame-bar`) with traffic-light dots + optional URL/
|
|
30
|
+
tab/toolbar · content area (screenshot `<img>`, `<video>`, live HTML/CSS UI, or `<pre>`).
|
|
31
|
+
Variants: **Browser** (URL bar), **App** (sidebar+topbar via Layout D-A), **Mobile**
|
|
32
|
+
(phone outline), **Code/Terminal** (mono). Floats on the page with `--frame-lift` air.
|
|
33
|
+
a11y: informative screenshots get real `alt`; the frame chrome is `aria-hidden`; live
|
|
34
|
+
demos are keyboard-operable.
|
|
35
|
+
|
|
36
|
+
```css
|
|
37
|
+
.frame { background: var(--frame-bg); border:1px solid var(--frame-border);
|
|
38
|
+
border-radius: var(--radius-frame); box-shadow: var(--shadow-frame); overflow:hidden; }
|
|
39
|
+
.frame__bar { display:flex; align-items:center; gap: var(--space-2);
|
|
40
|
+
padding: var(--space-3) var(--space-4); background: var(--frame-bar); }
|
|
41
|
+
.frame__dots span{ width:11px;height:11px;border-radius:50%; display:inline-block; }
|
|
42
|
+
.frame__body { color: var(--frame-text); }
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 1. Navbar (+ dropdown/mega-menu + breadcrumb)
|
|
48
|
+
Sticky glass bar (`--surface-glass` + `backdrop-filter: blur(16px)`). Logo · nav links ·
|
|
49
|
+
primary CTA + "Sign in" · mobile hamburger. **Extensionless hrefs** (`/platform`).
|
|
50
|
+
**Dropdown/mega-menu** (vanilla JS) opens a multi-column panel — and may include a tiny
|
|
51
|
+
product thumbnail per item. Mobile: full-screen overlay, accordion, focus-trap, ESC.
|
|
52
|
+
**Breadcrumb** on deep pages. a11y: `aria-haspopup/expanded`, `aria-current="page"`.
|
|
53
|
+
|
|
54
|
+
## 2. Hero → **Demo Hero**
|
|
55
|
+
Layout DH-A/DH-B/DH-C. Eyebrow · H1 · short lead · CTA pair · **large Product Frame**
|
|
56
|
+
(interactive demo, autoplay clip, or crisp screenshot) with `--grad-spotlight`. The
|
|
57
|
+
frame is the largest element. One H1, one primary CTA. The hero MUST show the product.
|
|
58
|
+
|
|
59
|
+
## 3. Feature Grid → **Feature-with-demo**
|
|
60
|
+
`.grid.cols-3` cards, but each card includes a **mini Product Frame / clip / code
|
|
61
|
+
snippet** above the title + text — never icon-only. Hover: shadow lift.
|
|
62
|
+
|
|
63
|
+
## 4. Bento Grid (of demos)
|
|
64
|
+
Asymmetric soft-card tiles, several containing small framed product moments, a metric, a
|
|
65
|
+
mini chart, or a short clip. One large product tile anchors it. Single column on mobile.
|
|
66
|
+
|
|
67
|
+
## 5. Testimonials
|
|
68
|
+
3-up quote cards or one featured quote; optionally paired with the customer's product
|
|
69
|
+
screenshot/result in a frame. `<blockquote>` + `<cite>`; carousel optional.
|
|
70
|
+
|
|
71
|
+
## 6. Logos Section
|
|
72
|
+
"Trusted by" eyebrow + neutral-gray logo row/marquee (pausable). Whitespace generous.
|
|
73
|
+
|
|
74
|
+
## 7. Pricing
|
|
75
|
+
Layout P-A/P-B. Tier cards (price tabular-nums, feature list, CTA); highlighted tier
|
|
76
|
+
(accent ring + "Most popular"); monthly/annual toggle. a11y: real `role="switch"`/radio.
|
|
77
|
+
|
|
78
|
+
## 8. FAQ
|
|
79
|
+
Accordion (Q-A). `<button>` + collapsible answer; height/opacity animation; in-list
|
|
80
|
+
hairline ok. a11y: `aria-expanded`/`aria-controls`.
|
|
81
|
+
|
|
82
|
+
## 9. CTA
|
|
83
|
+
Layout C-A: soft panel (no border), big H2, supporting line, primary + text CTA — often
|
|
84
|
+
with a final **mini Product Frame** or a "try it" interactive demo. `--section-y-lg`.
|
|
85
|
+
|
|
86
|
+
## 10. Footer
|
|
87
|
+
FT-A: brand · 4–6 link columns · legal · locale/social. Muted text, generous space, soft
|
|
88
|
+
panel; optional hairline at the very top edge only. `<footer>`, `<nav>` link lists.
|
|
89
|
+
|
|
90
|
+
## 11. Dashboard Preview
|
|
91
|
+
The product's app shell (Layout D-A) inside an **App Product Frame**: sidebar + top bar +
|
|
92
|
+
content with real-looking data. Central to most pages; may show soft parallax/scroll.
|
|
93
|
+
|
|
94
|
+
## 12. Agent Workflow Section
|
|
95
|
+
Step pipeline (Plan → Retrieve → Act → Verify) as connected cards, ideally with a
|
|
96
|
+
**Product Frame** showing the agent running. Animate sequential reveal. a11y: `<ol>` text equivalent.
|
|
97
|
+
|
|
98
|
+
## 13. Code Preview
|
|
99
|
+
Mono code in a **Code Product Frame** (filename tab, copy button, optional language
|
|
100
|
+
tabs). Low-saturation syntax tint on `--frame-text`. `<pre><code>`; copy `aria-label`.
|
|
101
|
+
|
|
102
|
+
## 14. Terminal Preview
|
|
103
|
+
**Terminal Product Frame**: header + prompt lines; optional typewriter (reduced-motion →
|
|
104
|
+
final state). Real text, not an image.
|
|
105
|
+
|
|
106
|
+
## 15. Trust Section
|
|
107
|
+
Metrics band: big tabular-nums numbers + muted labels (count-up on reveal; final value in
|
|
108
|
+
DOM). Often beside a demo to convert "looks good" → "teams rely on it".
|
|
109
|
+
|
|
110
|
+
## 16. Security Section
|
|
111
|
+
Compliance badges (SOC 2/ISO/GDPR/HIPAA) + assurances (encryption, SSO/SAML, audit logs)
|
|
112
|
+
+ "Read security docs". Calm, factual. Badges have alt text.
|
|
113
|
+
|
|
114
|
+
## 17. Enterprise Section
|
|
115
|
+
"Built for enterprise" panel: SSO/RBAC/SLAs/VPC props + "Talk to sales" + logo wall.
|
|
116
|
+
Soft panel, no border.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Demo components (the product-first toolkit)
|
|
121
|
+
- **Interactive Demo** — a live, vanilla-JS mini product inside a Product Frame the user
|
|
122
|
+
can click/type/toggle (e.g., a working mini editor, toggle, filter, builder). Keyboard
|
|
123
|
+
operable; degrades to a static screenshot without JS.
|
|
124
|
+
- **Video Demo** — `<video muted playsinline loop>` inside a Product Frame, **autoplay on
|
|
125
|
+
scroll into view**, pause off-screen; poster image; reduced-motion → poster only; a
|
|
126
|
+
visible play/pause control.
|
|
127
|
+
- **Before/After** — draggable slider or side-by-side framed comparison; keyboard
|
|
128
|
+
(arrow keys) accessible; labels for each side.
|
|
129
|
+
- **Annotated Walkthrough** — one large Product Frame with sequential numbered callouts
|
|
130
|
+
(`--accent-2`) pointing at UI; advances on scroll or prev/next; `<ol>` text equivalent.
|
|
131
|
+
- **Tabbed Feature Demo** — tabs swap the content of one Product Frame (Layout F-B);
|
|
132
|
+
`role="tablist"`/`tab`/`tabpanel`, arrow-key nav.
|
|
133
|
+
|
|
134
|
+
## Component rules
|
|
135
|
+
- **Frame all product media** with the Product Frame; never drop raw images on the page.
|
|
136
|
+
- Compose from shared `.btn`/`.card`/`.frame`/tokens — no bespoke colors/radii.
|
|
137
|
+
- Every interactive element + demo has hover **and** `:focus-visible`; demos are keyboard
|
|
138
|
+
operable and have a no-JS fallback (static framed screenshot).
|
|
139
|
+
- Every component responsive to single-column by `md`/`sm`.
|
|
140
|
+
- Decorative visuals `aria-hidden`; informative product shots have meaningful `alt`.
|
|
141
|
+
- Restraint: ≤ one subtle gradient per section (usually a spotlight behind the product);
|
|
142
|
+
hairlines only inside cards/frames — **never between page sections**.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Design Principles — Product Demo First
|
|
2
|
+
|
|
3
|
+
The philosophy distilled from product-led leaders (Linear, Vercel, Stripe, Retool,
|
|
4
|
+
Framer, Loom, Arc) and modern AI sites (OpenAI, Anthropic, Perplexity, Cursor, Replit).
|
|
5
|
+
|
|
6
|
+
## The one-sentence philosophy
|
|
7
|
+
|
|
8
|
+
**Show the product working.** The website's job is to let visitors *see and feel* the
|
|
9
|
+
product on every screen — through framed UI, interactive demos, clips, and code — so
|
|
10
|
+
the product, not the copy, does the convincing.
|
|
11
|
+
|
|
12
|
+
## Core principles
|
|
13
|
+
|
|
14
|
+
1. **Demo-first, always.** Every page leads with the product and proves every major
|
|
15
|
+
claim with a visual demo. If a section makes a claim with no product moment, it's
|
|
16
|
+
incomplete.
|
|
17
|
+
2. **The product is the hero.** Layouts exist to frame and spotlight product media.
|
|
18
|
+
Headlines orient; the demo persuades.
|
|
19
|
+
3. **Make it feel real.** Use a consistent, elevated **product frame** (browser/device/
|
|
20
|
+
app chrome) so screenshots and live previews look like the actual product, not art.
|
|
21
|
+
4. **Interactive > static > words.** Prefer an interactive demo, then a short clip, then
|
|
22
|
+
a crisp screenshot, then text — in that order, for any feature.
|
|
23
|
+
5. **One idea, one demo per section.** Each section shows one capability via one focused
|
|
24
|
+
demo. Don't cram multiple product shots fighting for attention.
|
|
25
|
+
6. **Quiet UI, loud product.** The page chrome is neutral and calm so the product (often
|
|
26
|
+
with its own color/UI) pops. One restrained brand accent for actions.
|
|
27
|
+
7. **Depth through elevation, not borders.** Separate sections with whitespace, soft
|
|
28
|
+
panels, and the floating product frame's shadow — **never** lines between sections.
|
|
29
|
+
8. **Motion animates the product.** Tabbed demos, autoplay-on-scroll clips, scrubbable
|
|
30
|
+
walkthroughs, gentle device parallax — motion reveals how the product works, never
|
|
31
|
+
decorates the page. Always honor `prefers-reduced-motion`.
|
|
32
|
+
9. **Annotate to teach.** Use callouts/labels on product frames to point at the exact UI
|
|
33
|
+
that delivers the benefit (Loom/Stripe style).
|
|
34
|
+
10. **Trust beside the demo.** Pair demos with proof — logos, metrics, security — so
|
|
35
|
+
"it looks great" becomes "and teams rely on it."
|
|
36
|
+
|
|
37
|
+
## Visual-hierarchy laws
|
|
38
|
+
|
|
39
|
+
- **One H1 per page**, but the **largest visual is usually the product frame**, not type.
|
|
40
|
+
- **Demo placement is hierarchy:** the most important capability gets the biggest,
|
|
41
|
+
highest demo (the hero); supporting features get smaller framed demos below.
|
|
42
|
+
- **Contrast ladder:** primary text near-black, secondary mid, tertiary muted — readable
|
|
43
|
+
grays only (AA). The product frame contrasts with the page panel so it floats.
|
|
44
|
+
- **One primary CTA per viewport**, ideally next to or under the demo it relates to.
|
|
45
|
+
- **Group by space + panel + frame**, not by boxes/borders.
|
|
46
|
+
- **Accent = the action**, not decoration — reserve it for the primary CTA and links.
|
|
47
|
+
|
|
48
|
+
## Reference cues (what each does well)
|
|
49
|
+
|
|
50
|
+
- **Linear:** framed UI hero, tabbed feature demos, precise spacing, dark product frame
|
|
51
|
+
on a clean page.
|
|
52
|
+
- **Vercel:** product/code front and center, deploy demos, crisp dev aesthetic.
|
|
53
|
+
- **Stripe:** elegant code + dashboard demos, annotated flows, refined motion.
|
|
54
|
+
- **Retool / Framer:** interactive builder demos, drag/preview, "try it" moments.
|
|
55
|
+
- **Loom:** video-first product storytelling with annotations.
|
|
56
|
+
- **Cursor / Replit / OpenAI:** live code/terminal demos proving the product in seconds.
|
|
57
|
+
|
|
58
|
+
## Do / Don't
|
|
59
|
+
|
|
60
|
+
**Do:** open with a Demo Hero · frame every product shot · prefer interactive/video over
|
|
61
|
+
static · annotate the UI · one demo per section · neutral calm chrome · one accent ·
|
|
62
|
+
elevation + whitespace to separate · real product data.
|
|
63
|
+
|
|
64
|
+
**Don't:** claim-only sections · empty/lorem/fake product frames · borders between
|
|
65
|
+
sections · five product shots in one section · heavy gradients/glass over the product ·
|
|
66
|
+
tiny low-contrast text · motion that distracts from the product · stock "AI brain" art.
|