vibe-ship-it 1.2.1 → 1.3.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
CHANGED
|
@@ -18,7 +18,7 @@ Works with **VS Code Copilot**, **Claude Code**, and **OpenAI Codex**.
|
|
|
18
18
|
| **shipper** | Deploys to GitHub Pages or Vercel | "Ship it" / "Put it online" |
|
|
19
19
|
| **investigator** | Deep debugs when quick fixes don't work | "It was working before" / "Find the bug" |
|
|
20
20
|
|
|
21
|
-
###
|
|
21
|
+
### 13 Skills
|
|
22
22
|
|
|
23
23
|
| Skill | What it does | Say this |
|
|
24
24
|
|---|---|---|
|
|
@@ -27,6 +27,7 @@ Works with **VS Code Copilot**, **Claude Code**, and **OpenAI Codex**.
|
|
|
27
27
|
| **unstuck** | Fixes problems fast when you're frustrated | "This doesn't work" / "Ugh" |
|
|
28
28
|
| **build-page** | Builds UI from descriptions or screenshots | "Build a landing page with..." |
|
|
29
29
|
| **make-it-wow** | Instant visual polish — animations, typography, hover effects | "Make it look better" |
|
|
30
|
+
| **design-system** | Builds tokens, primitive components, and rules from your existing UI | "Set up a design system" |
|
|
30
31
|
| **save-data** | Saves form submissions to a database | "Save the form" |
|
|
31
32
|
| **add-login** | Adds user authentication | "Add login" / "Only I can see this" |
|
|
32
33
|
| **send-email** | Sends confirmation or notification emails | "Send me an email when..." |
|
|
@@ -133,6 +134,7 @@ skills/
|
|
|
133
134
|
unstuck/ ← Fast frustration fix
|
|
134
135
|
build-page/ ← UI construction
|
|
135
136
|
make-it-wow/ ← Visual polish
|
|
137
|
+
design-system/ ← Tokens + primitives + consistency rules
|
|
136
138
|
save-data/ ← Database persistence
|
|
137
139
|
add-login/ ← Authentication
|
|
138
140
|
send-email/ ← Email notifications
|
package/bin/init.js
CHANGED
|
@@ -67,7 +67,7 @@ if (command === 'init') {
|
|
|
67
67
|
if (choice !== '2' && choice !== '3') {
|
|
68
68
|
console.log(' 4 agents (assistant, checker, shipper, investigator)')
|
|
69
69
|
}
|
|
70
|
-
console.log('
|
|
70
|
+
console.log(' 13 skills (build-page, design-system, save-data, and more)')
|
|
71
71
|
console.log('')
|
|
72
72
|
console.log(' Just say what you want in plain English.')
|
|
73
73
|
console.log(' Example: "I want to build a portfolio site"')
|
|
@@ -122,7 +122,7 @@ if (command === 'init') {
|
|
|
122
122
|
console.log(' │ shipper Puts your project online. │')
|
|
123
123
|
console.log(' │ investigator Deep debugs when things break. │')
|
|
124
124
|
console.log(' │ │')
|
|
125
|
-
console.log(' │
|
|
125
|
+
console.log(' │ 13 SKILLS │')
|
|
126
126
|
console.log(' │ │')
|
|
127
127
|
console.log(' │ "I want to build a..." → what-am-i-building │')
|
|
128
128
|
console.log(' │ "Build a landing page" → build-page │')
|
package/package.json
CHANGED
package/template/AGENTS.md
CHANGED
|
@@ -33,6 +33,7 @@ You help an excited designer build their idea. They are not a programmer. They t
|
|
|
33
33
|
- Deploy = "put it online so anyone with the link can see it"
|
|
34
34
|
- Component = "a reusable piece of your page"
|
|
35
35
|
- Route = "a page at a specific URL"
|
|
36
|
+
- Writing style = "Do not use emoji or em dash in user-facing copy unless explicitly requested"
|
|
36
37
|
|
|
37
38
|
## Default Stack (Web)
|
|
38
39
|
|
|
@@ -66,6 +67,7 @@ Run before-you-ship checklist first — this is non-negotiable even if the desig
|
|
|
66
67
|
| "Upload" / "add a photo" | File storage | Supabase Storage |
|
|
67
68
|
| "Show me all the..." / "dashboard" | Data display | Fetch + styled list/cards |
|
|
68
69
|
| "Make it look better" / "it looks boring" | Visual polish | Add animations, typography, spacing |
|
|
70
|
+
| "Set up a design system" / "make styles consistent" / "set up tokens" | Design system | Extract tokens + create primitives + define usage rules |
|
|
69
71
|
| "Ship it" / "put it online" | Deploy | Run pre-flight check, then deploy to Vercel |
|
|
70
72
|
| "Check it" / "is this ready?" | QA | Run quick-check or full checklist |
|
|
71
73
|
| "This doesn't work" / "ugh" / "stuck" | Frustrated — needs help | Fix silently, explain after |
|
package/template/CLAUDE.md
CHANGED
|
@@ -33,6 +33,7 @@ You help an excited designer build their idea. They are not a programmer. They t
|
|
|
33
33
|
- Deploy = "put it online so anyone with the link can see it"
|
|
34
34
|
- Component = "a reusable piece of your page"
|
|
35
35
|
- Route = "a page at a specific URL"
|
|
36
|
+
- Writing style = "Do not use emoji or em dash in user-facing copy unless explicitly requested"
|
|
36
37
|
|
|
37
38
|
## Default Stack (Web)
|
|
38
39
|
|
|
@@ -66,6 +67,7 @@ Run before-you-ship checklist first — this is non-negotiable even if the desig
|
|
|
66
67
|
| "Upload" / "add a photo" | File storage | Supabase Storage |
|
|
67
68
|
| "Show me all the..." / "dashboard" | Data display | Fetch + styled list/cards |
|
|
68
69
|
| "Make it look better" / "it looks boring" | Visual polish | Add animations, typography, spacing |
|
|
70
|
+
| "Set up a design system" / "make styles consistent" / "set up tokens" | Design system | Extract tokens + create primitives + define usage rules |
|
|
69
71
|
| "Ship it" / "put it online" | Deploy | Run pre-flight check, then deploy to Vercel |
|
|
70
72
|
| "Check it" / "is this ready?" | QA | Run quick-check or full checklist |
|
|
71
73
|
| "This doesn't work" / "ugh" / "stuck" | Frustrated — needs help | Fix silently, explain after |
|
|
@@ -33,6 +33,7 @@ You help an excited designer build their idea. They are not a programmer. They t
|
|
|
33
33
|
- Deploy = "put it online so anyone with the link can see it"
|
|
34
34
|
- Component = "a reusable piece of your page"
|
|
35
35
|
- Route = "a page at a specific URL"
|
|
36
|
+
- Writing style = "Do not use emoji or em dash in user-facing copy unless explicitly requested"
|
|
36
37
|
|
|
37
38
|
## Default Stack (Web)
|
|
38
39
|
|
|
@@ -55,6 +56,7 @@ Don't mention these names unless the designer asks. Just use them.
|
|
|
55
56
|
| "Upload" / "add a photo" | File storage | Supabase Storage |
|
|
56
57
|
| "Show me all the..." / "dashboard" | Data display | Fetch + styled list/cards |
|
|
57
58
|
| "Make it look better" / "it looks boring" | Visual polish | Add animations, typography, spacing |
|
|
59
|
+
| "Set up a design system" / "make styles consistent" / "set up tokens" | Design system | Extract tokens + create primitives + define usage rules |
|
|
58
60
|
| "Ship it" / "put it online" | Deploy | Run pre-flight check, then deploy to Vercel |
|
|
59
61
|
| "Check it" / "is this ready?" | QA | Run quick-check or full checklist |
|
|
60
62
|
| "This doesn't work" / "ugh" / "stuck" | Frustrated — needs help | Fix silently, explain after |
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-system
|
|
3
|
+
description: "Makes your app's styles consistent. Extracts your current look into reusable tokens and components. Triggers: 'design system', 'set up tokens', 'make styles consistent', 'standardize styles', 'set up a design system', 'make it all match', 'create components from my styles'."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design System
|
|
7
|
+
|
|
8
|
+
Makes your app look consistent everywhere. Pulls the visual style from what you already built and turns it into reusable pieces.
|
|
9
|
+
|
|
10
|
+
## How It Works
|
|
11
|
+
|
|
12
|
+
One pass. Not a multi-step project.
|
|
13
|
+
|
|
14
|
+
1. Scan existing pages for repeated visual patterns
|
|
15
|
+
2. Extract them into named tokens (colors, sizes, spacing, shapes, shadows)
|
|
16
|
+
3. Generate primitive components wired to those tokens
|
|
17
|
+
4. Apply them in place so nothing looks different yet, but everything is now reusable
|
|
18
|
+
5. Show the result
|
|
19
|
+
|
|
20
|
+
If no pages exist yet, start from smart defaults that look like a real product.
|
|
21
|
+
|
|
22
|
+
## When To Use
|
|
23
|
+
|
|
24
|
+
- "Set up a design system"
|
|
25
|
+
- "Make styles consistent"
|
|
26
|
+
- "Make it all match"
|
|
27
|
+
- "Set up tokens"
|
|
28
|
+
- "Create components from my styles"
|
|
29
|
+
- "Standardize this"
|
|
30
|
+
|
|
31
|
+
## Starting Point
|
|
32
|
+
|
|
33
|
+
Use Material Design 3 as the internal reference for token categories, component patterns, and accessibility defaults. Never mention "Material" to the user. They just get a clean, modern system.
|
|
34
|
+
|
|
35
|
+
### If pages already exist
|
|
36
|
+
Extract tokens from the current UI. Preserve the existing look. The system should formalize what's already there, not redesign it.
|
|
37
|
+
|
|
38
|
+
### If no pages exist yet
|
|
39
|
+
Generate a neutral, modern token set with good defaults:
|
|
40
|
+
- Clean type scale, comfortable spacing, subtle shadows, accessible contrast
|
|
41
|
+
- Feels like a real product out of the box
|
|
42
|
+
|
|
43
|
+
## Token Names
|
|
44
|
+
|
|
45
|
+
Use simple names designers already know. Not spec jargon.
|
|
46
|
+
|
|
47
|
+
| Category | Tokens |
|
|
48
|
+
|---|---|
|
|
49
|
+
| Color | `background`, `text`, `muted`, `accent`, `border`, `success`, `warning`, `danger` |
|
|
50
|
+
| Typography | font family, sizes (`text-sm` through `text-4xl`), weights, line heights |
|
|
51
|
+
| Spacing | `space-1` through `space-8` (tight to wide) |
|
|
52
|
+
| Radius | `rounded-sm`, `rounded-md`, `rounded-lg`, `rounded-full` |
|
|
53
|
+
| Shadow | `shadow-sm`, `shadow-md`, `shadow-lg` |
|
|
54
|
+
| Motion | `duration-fast`, `duration-base`, `duration-slow` + easing |
|
|
55
|
+
|
|
56
|
+
## Primitive Components
|
|
57
|
+
|
|
58
|
+
Generate these 6 components, each wired to tokens:
|
|
59
|
+
|
|
60
|
+
1. **Button** -- filled, outlined, ghost variants + sizes (sm/md/lg) + states (hover/focus/disabled/loading)
|
|
61
|
+
2. **Input** -- with label, error state, disabled state
|
|
62
|
+
3. **Textarea** -- same states as Input
|
|
63
|
+
4. **Select** -- dropdown with consistent styling
|
|
64
|
+
5. **Card** -- container with consistent padding, radius, shadow
|
|
65
|
+
6. **Alert** -- info/success/warning/danger tones
|
|
66
|
+
|
|
67
|
+
Every primitive must include:
|
|
68
|
+
- Visible focus state (not browser default)
|
|
69
|
+
- Contrast-safe text colors
|
|
70
|
+
- Hover and disabled states where relevant
|
|
71
|
+
|
|
72
|
+
## Personality Adjustments
|
|
73
|
+
|
|
74
|
+
After the system exists, the designer can shift the whole feel with plain English:
|
|
75
|
+
|
|
76
|
+
| They say | What changes |
|
|
77
|
+
|---|---|
|
|
78
|
+
| "Make it warmer" | Shift palette toward warm neutrals, amber/orange accents |
|
|
79
|
+
| "More playful" | Increase border radius, add bounce easing, brighter accent |
|
|
80
|
+
| "More minimal" | Reduce shadow depth, tighten spacing, mute accent |
|
|
81
|
+
| "Bolder" | Increase heading weight/size contrast, stronger shadows, saturated accent |
|
|
82
|
+
| "More corporate" | Cool neutrals, tighter type scale, sharper corners |
|
|
83
|
+
| "Softer" | Larger radius, lighter shadows, more whitespace |
|
|
84
|
+
|
|
85
|
+
Each adjustment shifts the full token set at once. Never ask which individual token to change.
|
|
86
|
+
|
|
87
|
+
## Rules (Applied Automatically)
|
|
88
|
+
|
|
89
|
+
After generating the system, enforce these going forward:
|
|
90
|
+
1. No raw color values outside token definitions
|
|
91
|
+
2. Use spacing scale only (no arbitrary pixel values)
|
|
92
|
+
3. All interactive elements must have visible focus states
|
|
93
|
+
4. Text must meet minimum contrast (4.5:1 for body, 3:1 for large)
|
|
94
|
+
5. Use primitives for common UI patterns instead of rebuilding from scratch
|
|
95
|
+
|
|
96
|
+
Do not lecture about rules. Just follow them silently when building new pages.
|
|
97
|
+
|
|
98
|
+
## Output
|
|
99
|
+
|
|
100
|
+
After applying, say something short like:
|
|
101
|
+
- "Your styles are now consistent across all pages. 6 reusable components are ready."
|
|
102
|
+
- "Everything matches now. Future pages will stay consistent automatically."
|
|
103
|
+
|
|
104
|
+
Do not list every token or every file changed.
|
|
105
|
+
|
|
106
|
+
## What Not To Do
|
|
107
|
+
|
|
108
|
+
- Do not redesign the app when extracting a system
|
|
109
|
+
- Do not show Material Design terminology to the user
|
|
110
|
+
- Do not require Figma
|
|
111
|
+
- Do not ask which tokens to create -- just create them all
|
|
112
|
+
- Do not make it a multi-session project -- do it in one pass
|
|
113
|
+
- Do not use emoji or em dash in generated copy
|