@theproductguy/create-mission-control 1.0.0 → 1.0.4
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/bin/cli.js +12 -5
- package/package.json +2 -2
- package/src/template/agent-os/commands/export-product/export-product.md +26 -1
- package/src/template/agent-os/commands/initialize-design/initialize-design.md +10 -1
- package/src/template/agent-os-ui/README.md +5 -5
- package/src/template/agent-os-ui/package.json +1 -1
- package/src/template/control-center/backend/index.js +9 -3
- package/src/template/control-center/frontend/package.json +1 -1
- package/src/template/control-center/frontend/src/App.tsx +90 -31
- package/src/template/{design/.claude → design-system/.gemini}/commands/design-os/design-shell.md +95 -69
- package/src/template/design-system/.gemini/commands/design-os/design-tokens.md +211 -0
- package/src/template/design-system/.gemini/commands/impeccable/WORKFLOW.md +163 -0
- package/src/template/design-system/.gemini/commands/impeccable/adapt.md +189 -0
- package/src/template/design-system/.gemini/commands/impeccable/animate.md +184 -0
- package/src/template/design-system/.gemini/commands/impeccable/audit.md +123 -0
- package/src/template/design-system/.gemini/commands/impeccable/bolder.md +126 -0
- package/src/template/design-system/.gemini/commands/impeccable/clarify.md +173 -0
- package/src/template/design-system/.gemini/commands/impeccable/colorize.md +152 -0
- package/src/template/design-system/.gemini/commands/impeccable/critique.md +112 -0
- package/src/template/design-system/.gemini/commands/impeccable/delight.md +311 -0
- package/src/template/design-system/.gemini/commands/impeccable/extract.md +88 -0
- package/src/template/design-system/.gemini/commands/impeccable/harden.md +351 -0
- package/src/template/design-system/.gemini/commands/impeccable/normalize.md +61 -0
- package/src/template/design-system/.gemini/commands/impeccable/onboard.md +236 -0
- package/src/template/design-system/.gemini/commands/impeccable/optimize.md +262 -0
- package/src/template/design-system/.gemini/commands/impeccable/polish.md +196 -0
- package/src/template/design-system/.gemini/commands/impeccable/quieter.md +112 -0
- package/src/template/design-system/.gemini/commands/impeccable/simplify.md +131 -0
- package/src/template/design-system/.gemini/commands/impeccable/teach-impeccable.md +67 -0
- package/src/template/design-system/.gemini/skills/frontend-design/SKILL.md +126 -0
- package/src/template/design-system/.gemini/skills/frontend-design/reference/color-and-contrast.md +132 -0
- package/src/template/design-system/.gemini/skills/frontend-design/reference/interaction-design.md +123 -0
- package/src/template/design-system/.gemini/skills/frontend-design/reference/motion-design.md +99 -0
- package/src/template/design-system/.gemini/skills/frontend-design/reference/responsive-design.md +114 -0
- package/src/template/design-system/.gemini/skills/frontend-design/reference/spatial-design.md +100 -0
- package/src/template/design-system/.gemini/skills/frontend-design/reference/typography.md +131 -0
- package/src/template/design-system/.gemini/skills/frontend-design/reference/ux-writing.md +107 -0
- package/src/template/{design → design-system}/src/components/DesignPage.tsx +104 -0
- package/src/template/{design → design-system}/src/components/ExportPage.tsx +9 -2
- package/src/template/package-lock.json +10308 -0
- package/src/template/tailwind.config.js +1 -1
- package/src/template/design/.claude/commands/design-os/design-tokens.md +0 -166
- package/src/template/design/.claude/skills/frontend-design/SKILL.md +0 -42
- /package/src/template/{design/.claude → design-system/.gemini}/commands/design-os/data-model.md +0 -0
- /package/src/template/{design/.claude → design-system/.gemini}/commands/design-os/design-screen.md +0 -0
- /package/src/template/{design/.claude → design-system/.gemini}/commands/design-os/export-product.md +0 -0
- /package/src/template/{design/.claude → design-system/.gemini}/commands/design-os/product-roadmap.md +0 -0
- /package/src/template/{design/.claude → design-system/.gemini}/commands/design-os/product-vision.md +0 -0
- /package/src/template/{design/.claude → design-system/.gemini}/commands/design-os/sample-data.md +0 -0
- /package/src/template/{design/.claude → design-system/.gemini}/commands/design-os/screenshot-design.md +0 -0
- /package/src/template/{design/.claude → design-system/.gemini}/commands/design-os/shape-section.md +0 -0
- /package/src/template/{design → design-system}/.github/CODE_OF_CONDUCT.md +0 -0
- /package/src/template/{design → design-system}/.github/CONTRIBUTING.md +0 -0
- /package/src/template/{design → design-system}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- /package/src/template/{design → design-system}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- /package/src/template/{design → design-system}/.github/SECURITY.yml +0 -0
- /package/src/template/{design → design-system}/.github/SUPPORT.md +0 -0
- /package/src/template/{design → design-system}/.github/workflows/pr-decline.yml +0 -0
- /package/src/template/{design → design-system}/.github/workflows/stale.yml +0 -0
- /package/src/template/{design → design-system}/CHANGELOG.md +0 -0
- /package/src/template/{design → design-system}/LICENSE +0 -0
- /package/src/template/{design → design-system}/README.md +0 -0
- /package/src/template/{design → design-system}/agents.md +0 -0
- /package/src/template/{design → design-system}/components.json +0 -0
- /package/src/template/{design → design-system}/docs/codebase-implementation.md +0 -0
- /package/src/template/{design → design-system}/docs/design-section.md +0 -0
- /package/src/template/{design → design-system}/docs/export.md +0 -0
- /package/src/template/{design → design-system}/docs/getting-started.md +0 -0
- /package/src/template/{design → design-system}/docs/index.md +0 -0
- /package/src/template/{design → design-system}/docs/product-planning.md +0 -0
- /package/src/template/{design → design-system}/docs/requirements.md +0 -0
- /package/src/template/{design → design-system}/docs/usage.md +0 -0
- /package/src/template/{design → design-system}/eslint.config.js +0 -0
- /package/src/template/{design/claude.md → design-system/gemini.md} +0 -0
- /package/src/template/{design → design-system}/index.html +0 -0
- /package/src/template/{design → design-system}/package.json +0 -0
- /package/src/template/{design → design-system}/postcss.config.js +0 -0
- /package/src/template/{design → design-system}/public/favicon.svg +0 -0
- /package/src/template/{design → design-system}/public/vite.svg +0 -0
- /package/src/template/{design → design-system}/src/assets/react.svg +0 -0
- /package/src/template/{design → design-system}/src/components/AppLayout.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/DataCard.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/DataModelPage.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/EmptyState.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/NextPhaseButton.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/PhaseNav.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/PhaseWarningBanner.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ProductOverviewCard.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ProductPage.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ScreenDesignPage.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ScreenDesignsCard.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/SectionPage.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/SectionsCard.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/SectionsPage.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ShellCard.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ShellDesignPage.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/SpecCard.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/StepIndicator.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ThemeToggle.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/ToastContext.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/avatar.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/badge.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/button.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/card.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/collapsible.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/dialog.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/dropdown-menu.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/input.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/label.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/progress.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/scroll-area.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/select.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/separator.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/sheet.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/skeleton.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/switch.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/table.tsx +0 -0
- /package/src/template/{design → design-system}/src/components/ui/tabs.tsx +0 -0
- /package/src/template/{design → design-system}/src/index.css +0 -0
- /package/src/template/{design → design-system}/src/lib/data-model-loader.ts +0 -0
- /package/src/template/{design → design-system}/src/lib/design-system-loader.ts +0 -0
- /package/src/template/{design → design-system}/src/lib/product-loader.ts +0 -0
- /package/src/template/{design → design-system}/src/lib/router.tsx +0 -0
- /package/src/template/{design → design-system}/src/lib/section-loader.ts +0 -0
- /package/src/template/{design → design-system}/src/lib/shell-loader.ts +0 -0
- /package/src/template/{design → design-system}/src/lib/utils.ts +0 -0
- /package/src/template/{design → design-system}/src/main.tsx +0 -0
- /package/src/template/{design → design-system}/src/sections/.gitkeep +0 -0
- /package/src/template/{design → design-system}/src/sections/ai-orchestration-engine-oai/OrchestrationEngine.tsx +0 -0
- /package/src/template/{design → design-system}/src/sections/core-platform-shell/AppShell.tsx +0 -0
- /package/src/template/{design → design-system}/src/sections/gemini-live-integration/GeminiIntegration.tsx +0 -0
- /package/src/template/{design → design-system}/src/sections/interactive-2d-canvas/WhiteboardCanvas.tsx +0 -0
- /package/src/template/{design → design-system}/src/sections/participation-equity-tracker/EquityTracker.tsx +0 -0
- /package/src/template/{design → design-system}/src/sections/persistent-memory-system/PersistentMemory.tsx +0 -0
- /package/src/template/{design → design-system}/src/sections/real-time-communication-layer/VideoSession.tsx +0 -0
- /package/src/template/{design → design-system}/src/sections/visual-intelligence-agents/VisualAgents.tsx +0 -0
- /package/src/template/{design → design-system}/src/types/product.ts +0 -0
- /package/src/template/{design → design-system}/src/types/section.ts +0 -0
- /package/src/template/{design → design-system}/tailwind.config.js +0 -0
- /package/src/template/{design → design-system}/tsconfig.app.json +0 -0
- /package/src/template/{design → design-system}/tsconfig.json +0 -0
- /package/src/template/{design → design-system}/tsconfig.node.json +0 -0
- /package/src/template/{design → design-system}/vite.config.ts +0 -0
package/src/template/{design/.claude → design-system/.gemini}/commands/design-os/design-shell.md
RENAMED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
You are helping the user design the application shell — the persistent navigation and layout that wraps all sections. This is a screen design, not implementation code.
|
|
4
4
|
|
|
5
|
+
**CRITICAL: Consult the `frontend-design` skill (Impeccable) for spatial design and layout.**
|
|
6
|
+
You must avoid "AI Slop" layouts (e.g., everything inside a card, unnecessary glassmorphism, generic dashboards).
|
|
7
|
+
|
|
5
8
|
## Step 1: Check Prerequisites
|
|
6
9
|
|
|
7
10
|
First, verify prerequisites exist:
|
|
@@ -22,26 +25,23 @@ If design tokens are missing, show a warning but continue:
|
|
|
22
25
|
|
|
23
26
|
"Note: Design tokens haven't been defined yet. I'll proceed with default styling, but you may want to run `/design-tokens` first for consistent colors and typography."
|
|
24
27
|
|
|
25
|
-
## Step 2: Analyze Product Structure
|
|
26
|
-
|
|
27
|
-
Review the roadmap sections and present navigation options:
|
|
28
|
+
## Step 2: Analyze Product Structure and Aesthetics
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
Review the roadmap sections and consult Impeccable principles for the layout.
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
3. **[Section 3]** — [Description]
|
|
32
|
+
"I'm designing the shell for **[Product Name]**. Based on your roadmap, you have [N] sections.
|
|
33
|
+
Using **Impeccable** design principles, let's aim for a layout that uses space and rhythm effectively (avoiding the generic 'everything in a card' trap).
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Common patterns:
|
|
36
36
|
|
|
37
|
-
**A. Sidebar
|
|
38
|
-
|
|
37
|
+
**A. Modern Sidebar** — Vertical nav on the left.
|
|
38
|
+
*Impeccable Tip:* Don't box the content area. Let the content breathe on the right.
|
|
39
39
|
|
|
40
|
-
**B. Top
|
|
41
|
-
|
|
40
|
+
**B. Refined Top Nav** — Horizontal nav at top.
|
|
41
|
+
*Impeccable Tip:* Great for marketing-heavy or simpler apps. Use generous whitespace.
|
|
42
42
|
|
|
43
|
-
**C. Minimal
|
|
44
|
-
|
|
43
|
+
**C. Minimal/Focus** — Just logo + user menu.
|
|
44
|
+
*Impeccable Tip:* Radical simplicity.
|
|
45
45
|
|
|
46
46
|
Which pattern fits **[Product Name]** best?"
|
|
47
47
|
|
|
@@ -52,9 +52,9 @@ Wait for their response.
|
|
|
52
52
|
Use AskUserQuestion to clarify:
|
|
53
53
|
|
|
54
54
|
- "Where should the user menu (avatar, logout) appear?"
|
|
55
|
-
- "Do you want the sidebar collapsible
|
|
56
|
-
- "Any additional items in the navigation?
|
|
57
|
-
- "What should the
|
|
55
|
+
- "Do you want the sidebar collapsible?"
|
|
56
|
+
- "Any additional items in the navigation?"
|
|
57
|
+
- "What vibe should the shell have? (e.g., Transparency/Glass (use sparingly), Solid/Grounded, or Floating/Detached?)"
|
|
58
58
|
|
|
59
59
|
## Step 4: Present Shell Specification
|
|
60
60
|
|
|
@@ -66,13 +66,12 @@ Once you understand their preferences:
|
|
|
66
66
|
|
|
67
67
|
**Navigation Structure:**
|
|
68
68
|
- [Nav Item 1] → [Section]
|
|
69
|
-
|
|
70
|
-
- [Nav Item 3] → [Section]
|
|
71
|
-
- [Additional items like Settings, Help]
|
|
69
|
+
...
|
|
72
70
|
|
|
73
|
-
**
|
|
74
|
-
-
|
|
75
|
-
-
|
|
71
|
+
**Aesthetic Decisions (Impeccable):**
|
|
72
|
+
- **Background:** [e.g., Subtle tint of primary color, NOT pure white/gray]
|
|
73
|
+
- **Spacing:** [e.g., Generous padding, fluid layout]
|
|
74
|
+
- **Borders:** [e.g., Delicate or None; avoiding thick borders]
|
|
76
75
|
|
|
77
76
|
**Responsive Behavior:**
|
|
78
77
|
- Desktop: [How it looks]
|
|
@@ -93,32 +92,30 @@ Create `/product/shell/spec.md`:
|
|
|
93
92
|
[Description of the shell design and its purpose]
|
|
94
93
|
|
|
95
94
|
## Navigation Structure
|
|
96
|
-
|
|
97
|
-
- [Nav Item 2] → [Section 2]
|
|
98
|
-
- [Nav Item 3] → [Section 3]
|
|
99
|
-
- [Any additional nav items]
|
|
95
|
+
...
|
|
100
96
|
|
|
101
|
-
##
|
|
102
|
-
|
|
97
|
+
## Impeccable Design Choices
|
|
98
|
+
- **Layout Philosophy:** [e.g., Unboxed content, asymmetric grid]
|
|
99
|
+
- **Visuals:** [e.g., No drop shadows on cards, use flat clean lines]
|
|
103
100
|
|
|
104
101
|
## Layout Pattern
|
|
105
102
|
[Description of the layout — sidebar, top nav, etc.]
|
|
106
103
|
|
|
107
104
|
## Responsive Behavior
|
|
108
|
-
|
|
109
|
-
- **Tablet:** [Behavior]
|
|
110
|
-
- **Mobile:** [Behavior]
|
|
111
|
-
|
|
112
|
-
## Design Notes
|
|
113
|
-
[Any additional design decisions or notes]
|
|
105
|
+
...
|
|
114
106
|
```
|
|
115
107
|
|
|
116
108
|
## Step 6: Create Shell Components
|
|
117
109
|
|
|
118
|
-
Create the shell components at `src/shell/components
|
|
110
|
+
Create the shell components at `src/shell/components/`.
|
|
111
|
+
|
|
112
|
+
**Impeccable Code Rules:**
|
|
113
|
+
- **No Pure Black/White**: Use `bg-stone-50` or `text-zinc-900`.
|
|
114
|
+
- **Motion**: Use `transition-all duration-300 ease-out-expo` (if configured) or custom bezier. Avoid default `ease-in-out`.
|
|
115
|
+
- **Touch Targets**: Ensure minimum 44px for clickable areas.
|
|
119
116
|
|
|
120
117
|
### AppShell.tsx
|
|
121
|
-
The main wrapper component
|
|
118
|
+
The main wrapper component.
|
|
122
119
|
|
|
123
120
|
```tsx
|
|
124
121
|
interface AppShellProps {
|
|
@@ -131,22 +128,14 @@ interface AppShellProps {
|
|
|
131
128
|
```
|
|
132
129
|
|
|
133
130
|
### MainNav.tsx
|
|
134
|
-
The navigation component
|
|
131
|
+
The navigation component.
|
|
135
132
|
|
|
136
133
|
### UserMenu.tsx
|
|
137
|
-
The user menu
|
|
134
|
+
The user menu.
|
|
138
135
|
|
|
139
136
|
### index.ts
|
|
140
137
|
Export all components.
|
|
141
138
|
|
|
142
|
-
**Component Requirements:**
|
|
143
|
-
- Use props for all data and callbacks (portable)
|
|
144
|
-
- Apply design tokens if they exist (colors, fonts)
|
|
145
|
-
- Support light and dark mode with `dark:` variants
|
|
146
|
-
- Be mobile responsive
|
|
147
|
-
- Use Tailwind CSS for styling
|
|
148
|
-
- Use lucide-react for icons
|
|
149
|
-
|
|
150
139
|
## Step 7: Create Shell Preview
|
|
151
140
|
|
|
152
141
|
Create `src/shell/ShellPreview.tsx` — a preview wrapper for viewing the shell in Design OS:
|
|
@@ -158,8 +147,7 @@ import { AppShell } from './components/AppShell'
|
|
|
158
147
|
export default function ShellPreview() {
|
|
159
148
|
const navigationItems = [
|
|
160
149
|
{ label: '[Section 1]', href: '/section-1', isActive: true },
|
|
161
|
-
|
|
162
|
-
{ label: '[Section 3]', href: '/section-3' },
|
|
150
|
+
// ...
|
|
163
151
|
]
|
|
164
152
|
|
|
165
153
|
const user = {
|
|
@@ -175,10 +163,18 @@ export default function ShellPreview() {
|
|
|
175
163
|
onLogout={() => console.log('Logout')}
|
|
176
164
|
>
|
|
177
165
|
<div className="p-8">
|
|
178
|
-
<
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
166
|
+
<div className="mb-8">
|
|
167
|
+
<h1 className="text-4xl font-display font-bold mb-4 text-foreground tracking-tight">Content Area</h1>
|
|
168
|
+
<p className="text-xl text-muted-foreground leading-relaxed max-w-2xl">
|
|
169
|
+
Section content will render here. Notice the typography and spacing (Impeccable).
|
|
170
|
+
</p>
|
|
171
|
+
</div>
|
|
172
|
+
{/* Example Grid to show Rhythm */}
|
|
173
|
+
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
174
|
+
<div className="h-32 bg-secondary/30 rounded-xl border border-border/50"></div>
|
|
175
|
+
<div className="h-32 bg-secondary/30 rounded-xl border border-border/50"></div>
|
|
176
|
+
<div className="h-32 bg-primary/5 rounded-xl border border-primary/10"></div>
|
|
177
|
+
</div>
|
|
182
178
|
</div>
|
|
183
179
|
</AppShell>
|
|
184
180
|
)
|
|
@@ -208,31 +204,61 @@ Let the user know:
|
|
|
208
204
|
"I've designed the application shell for **[Product Name]**:
|
|
209
205
|
|
|
210
206
|
**Created files:**
|
|
211
|
-
- `/product/shell/spec.md`
|
|
212
|
-
- `src/shell/components
|
|
213
|
-
- `src/shell/
|
|
214
|
-
- `src/shell/components/UserMenu.tsx` — User menu component
|
|
215
|
-
- `src/shell/components/index.ts` — Component exports
|
|
216
|
-
- `src/shell/ShellPreview.tsx` — Preview wrapper
|
|
217
|
-
|
|
218
|
-
**Shell features:**
|
|
219
|
-
- [Layout pattern] layout
|
|
220
|
-
- Navigation for all [N] sections
|
|
221
|
-
- User menu with avatar and logout
|
|
222
|
-
- Mobile responsive design
|
|
223
|
-
- Light/dark mode support
|
|
207
|
+
- `/product/shell/spec.md`
|
|
208
|
+
- `src/shell/components/...`
|
|
209
|
+
- `src/shell/ShellPreview.tsx`
|
|
224
210
|
|
|
225
|
-
**
|
|
211
|
+
**Impeccable Features:**
|
|
212
|
+
- **Navigation**: Clean, accessible, spacious.
|
|
213
|
+
- **Aesthetics**: Using your custom palette and fonts.
|
|
214
|
+
- **Motion**: Smooth transitions.
|
|
226
215
|
|
|
227
|
-
|
|
216
|
+
**Important:** Restart your dev server to see the changes.
|
|
228
217
|
|
|
229
218
|
Next: Run `/shape-section` to start designing your first section."
|
|
230
219
|
|
|
231
220
|
## Important Notes
|
|
232
221
|
|
|
222
|
+
- **Aesthetics First**: The shell sets the tone. Make it high quality.
|
|
233
223
|
- The shell is a screen design — it demonstrates the navigation and layout design
|
|
234
224
|
- Components are props-based and portable to the user's codebase
|
|
235
225
|
- The preview wrapper is for Design OS only — not exported
|
|
236
226
|
- Apply design tokens when available for consistent styling
|
|
237
|
-
- Keep the shell focused on navigation chrome — no authentication UI
|
|
238
227
|
- Section screen designs will render inside the shell's content area
|
|
228
|
+
|
|
229
|
+
## Step 10: Auto-Audit (Impeccable QA)
|
|
230
|
+
|
|
231
|
+
Before completing, perform a self-audit against Impeccable layout principles.
|
|
232
|
+
|
|
233
|
+
**Check:**
|
|
234
|
+
1. Is everything wrapped in cards? (Nested cards, card grids) → Fail
|
|
235
|
+
2. Is glassmorphism used for decoration rather than function? → Fail
|
|
236
|
+
3. Is the layout symmetric and predictable (centered everything)? → Warn
|
|
237
|
+
4. Are there "hero metrics" layouts (big number, small label)? → Fail
|
|
238
|
+
5. Is spacing varied (rhythm) or uniform (monotonous)? → Pass/Fail
|
|
239
|
+
6. Are touch targets ≥ 44x44px? → Pass/Fail
|
|
240
|
+
|
|
241
|
+
**If any checks fail:**
|
|
242
|
+
"⚠️ **Impeccable Audit Warning**: [Issue]. This layout may appear AI-generated. Consider revising."
|
|
243
|
+
|
|
244
|
+
**If all checks pass:**
|
|
245
|
+
"✅ **Impeccable Audit Passed**: Shell design meets quality standards."
|
|
246
|
+
|
|
247
|
+
Save this audit result to `design-system/QA/shell-audit.md`:
|
|
248
|
+
```markdown
|
|
249
|
+
# Shell Design Audit
|
|
250
|
+
|
|
251
|
+
**Date**: [timestamp]
|
|
252
|
+
**Status**: [Pass/Fail]
|
|
253
|
+
|
|
254
|
+
## Checks
|
|
255
|
+
- [x] No nested cards
|
|
256
|
+
- [x] Glassmorphism used purposefully (or not at all)
|
|
257
|
+
- [x] Asymmetric/intentional layout
|
|
258
|
+
- [x] No hero metric templates
|
|
259
|
+
- [x] Visual rhythm in spacing
|
|
260
|
+
- [x] Touch targets adequate
|
|
261
|
+
|
|
262
|
+
## Notes
|
|
263
|
+
[Any observations]
|
|
264
|
+
```
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Design Tokens
|
|
2
|
+
|
|
3
|
+
You are helping the user choose colors and typography for their product. These design tokens will be used consistently across all screen designs and the application shell.
|
|
4
|
+
|
|
5
|
+
**CRITICAL: Consult the `frontend-design` skill (Impeccable) for all aesthetics.**
|
|
6
|
+
You must avoid "AI Slop" (generic choices like Inter, plain Tailwind colors, and predictable pairings).
|
|
7
|
+
|
|
8
|
+
## Step 1: Check Prerequisites
|
|
9
|
+
|
|
10
|
+
First, verify that the product overview exists:
|
|
11
|
+
|
|
12
|
+
Read `/product/product-overview.md` to understand what the product is.
|
|
13
|
+
|
|
14
|
+
If it doesn't exist:
|
|
15
|
+
|
|
16
|
+
"Before defining your design system, you'll need to establish your product vision. Please run `/product-vision` first."
|
|
17
|
+
|
|
18
|
+
Stop here if the prerequisite is missing.
|
|
19
|
+
|
|
20
|
+
## Step 2: Explain the Process
|
|
21
|
+
|
|
22
|
+
"Let's define the visual identity for **[Product Name]**. We will use the **Impeccable** design methodology to ensure a distinctive, premium feel.
|
|
23
|
+
|
|
24
|
+
I'll help you choose:
|
|
25
|
+
1. **Colors** — A primary accent, secondary accent, and neutral palette (using `oklch` or wide-gamut principles where possible, mapped to Tailwind).
|
|
26
|
+
2. **Typography** — Distinctive fonts that give your product character (no generic defaults).
|
|
27
|
+
|
|
28
|
+
These will be applied consistently across all your screen designs and the application shell.
|
|
29
|
+
|
|
30
|
+
Do you have any existing brand colors or fonts in mind, or would you like suggestions?"
|
|
31
|
+
|
|
32
|
+
Wait for their response.
|
|
33
|
+
|
|
34
|
+
## Step 3: Choose Colors
|
|
35
|
+
|
|
36
|
+
Help the user select from Tailwind's built-in color palette, but choose **Opinionated** combinations.
|
|
37
|
+
*Impeccable Rule:* Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
|
|
38
|
+
|
|
39
|
+
"For colors, we'll pick from Tailwind's palette. I recommend avoiding the standard 'safe' blues and grays unless they are tinted or paired dramatically.
|
|
40
|
+
|
|
41
|
+
**Primary color** (main accent, buttons, links):
|
|
42
|
+
*Aim for character:* `violet`, `rose`, `amber`, `emerald`, `indigo` (avoid generic `blue` unless styled heavily)
|
|
43
|
+
|
|
44
|
+
**Secondary color** (complementary accent, tags, highlights):
|
|
45
|
+
Should support the primary—consider a split-complementary or analog.
|
|
46
|
+
|
|
47
|
+
**Neutral color** (backgrounds, text, borders):
|
|
48
|
+
*Impeccable Rule:* Never use pure gray. Tint your neutrals towards the primary hue.
|
|
49
|
+
Options: `slate` (cool), `zinc` (tech), `stone` (warm/earthy), `neutral`
|
|
50
|
+
|
|
51
|
+
Based on [Product Name], I'd suggest:
|
|
52
|
+
- **Primary:** [suggestion] — [why it fits the 'Impeccable' vibe]
|
|
53
|
+
- **Secondary:** [suggestion] — [why it complements]
|
|
54
|
+
- **Neutral:** [suggestion] — [why it works]
|
|
55
|
+
|
|
56
|
+
What feels right for your product?"
|
|
57
|
+
|
|
58
|
+
Use AskUserQuestion to gather their preferences if they're unsure:
|
|
59
|
+
|
|
60
|
+
- "What vibe are you going for? Brutalist, Organic, Minimalist, Cyber?"
|
|
61
|
+
- "Any colors you definitely want to avoid?"
|
|
62
|
+
- "Light mode, dark mode, or both?"
|
|
63
|
+
|
|
64
|
+
## Step 4: Choose Typography
|
|
65
|
+
|
|
66
|
+
Help the user select Google Fonts.
|
|
67
|
+
**Impeccable Rule:** Avoid `Inter`, `Roboto`, `Open Sans`, `Arial`, `Lato`. They are "AI Slop" markers.
|
|
68
|
+
Choose fonts with personality.
|
|
69
|
+
|
|
70
|
+
"For typography, we'll use Google Fonts. We will avoid generic defaults to ensure your app stands out.
|
|
71
|
+
|
|
72
|
+
**Heading font** (titles, section headers):
|
|
73
|
+
*Distinctive Choices:* `Outfit`, `Manrope`, `Space Grotesk`, `Syne`, `Epilogue`, `DM Serif Display`, `Playfair Display`
|
|
74
|
+
|
|
75
|
+
**Body font** (paragraphs, UI text):
|
|
76
|
+
*Readable but refined:* `Plus Jakarta Sans`, `DM Sans`, `Satoshi` (if avail), `Urbanist`
|
|
77
|
+
*Avoid:* Inter, Roboto (too generic)
|
|
78
|
+
|
|
79
|
+
**Mono font** (code, technical content):
|
|
80
|
+
Options: `JetBrains Mono`, `IBM Plex Mono`, `Fira Code`, `Space Mono`
|
|
81
|
+
|
|
82
|
+
My suggestions for [Product Name]:
|
|
83
|
+
- **Heading:** [suggestion] — [why]
|
|
84
|
+
- **Body:** [suggestion] — [why]
|
|
85
|
+
- **Mono:** [suggestion] — [why]
|
|
86
|
+
|
|
87
|
+
What do you prefer?"
|
|
88
|
+
|
|
89
|
+
## Step 5: Present Final Choices
|
|
90
|
+
|
|
91
|
+
Once they've made decisions:
|
|
92
|
+
|
|
93
|
+
"Here's your design system:
|
|
94
|
+
|
|
95
|
+
**Colors:**
|
|
96
|
+
- Primary: `[color]`
|
|
97
|
+
- Secondary: `[color]`
|
|
98
|
+
- Neutral: `[color]`
|
|
99
|
+
|
|
100
|
+
**Typography:**
|
|
101
|
+
- Heading: [Font Name]
|
|
102
|
+
- Body: [Font Name]
|
|
103
|
+
- Mono: [Font Name]
|
|
104
|
+
|
|
105
|
+
Does this look good? Ready to save it?"
|
|
106
|
+
|
|
107
|
+
## Step 6: Create the Files
|
|
108
|
+
|
|
109
|
+
Once approved, create two files:
|
|
110
|
+
|
|
111
|
+
**File 1:** `/product/design-system/colors.json`
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"primary": "[color]",
|
|
115
|
+
"secondary": "[color]",
|
|
116
|
+
"neutral": "[color]"
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**File 2:** `/product/design-system/typography.json`
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"heading": "[Font Name]",
|
|
124
|
+
"body": "[Font Name]",
|
|
125
|
+
"mono": "[Font Name]"
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Step 7: Implement Changes in Code
|
|
130
|
+
|
|
131
|
+
Now, apply these choices to the running application:
|
|
132
|
+
|
|
133
|
+
1. **Update Fonts**:
|
|
134
|
+
- Modify `index.html`.
|
|
135
|
+
- Replace the existing Google Fonts `<link>` with the new selection.
|
|
136
|
+
- Ensure you include weights 400, 500, 700 for non-mono, and 400 for mono.
|
|
137
|
+
|
|
138
|
+
2. **Update Colors**:
|
|
139
|
+
- Modify `src/index.css`.
|
|
140
|
+
- Replace the CSS variables in `:root` and `.dark` with the `oklch` values of the chosen Tailwind colors (you can approximate or use a converter if needed, or mapped hex values if `oklch` is too complex, but Impeccable prefers `oklch`).
|
|
141
|
+
- Ensure `--font-display`, `--font-body`, and `--font-mono` in `src/index.css` or `tailwind.config.js` match the new font names.
|
|
142
|
+
|
|
143
|
+
## Step 8: Confirm Completion
|
|
144
|
+
|
|
145
|
+
Let the user know:
|
|
146
|
+
|
|
147
|
+
"I've saved AND applied your design tokens:
|
|
148
|
+
- **Files**: `colors.json`, `typography.json`
|
|
149
|
+
- **Code**: Updated `index.html` and `src/index.css`
|
|
150
|
+
|
|
151
|
+
**Your palette:**
|
|
152
|
+
- Primary: `[color]`
|
|
153
|
+
- Secondary: `[color]`
|
|
154
|
+
- Neutral: `[color]`
|
|
155
|
+
|
|
156
|
+
**Your fonts:**
|
|
157
|
+
- [Heading Font]
|
|
158
|
+
- [Body Font]
|
|
159
|
+
- [Mono Font]
|
|
160
|
+
|
|
161
|
+
The application now reflects your Impeccable aesthetic.
|
|
162
|
+
|
|
163
|
+
Next step: Run `/design-shell` to design your application's navigation and layout."
|
|
164
|
+
|
|
165
|
+
## Reference: Impeccable Font Pairings
|
|
166
|
+
|
|
167
|
+
- **Modern & Characterful:** DM Sans + Plus Jakarta Sans + JetBrains Mono
|
|
168
|
+
- **Bold & Technical:** Space Grotesk + Manrope + Space Mono
|
|
169
|
+
- **Refined Editorial:** Playfair Display + Urbanist + IBM Plex Mono
|
|
170
|
+
- **Soft & Organic:** Nunito (Rounded) + Quicksand + Fira Code
|
|
171
|
+
- **Brutalist:** Syne + Epilogue + JetBrains Mono
|
|
172
|
+
|
|
173
|
+
## Important Notes
|
|
174
|
+
|
|
175
|
+
- Colors should be Tailwind palette names (not hex codes)
|
|
176
|
+
- Fonts should be exact Google Fonts names
|
|
177
|
+
- **Keep it distinct**: If the user suggests "Inter", suggest "Plus Jakarta Sans" or "Manrope" as a more modern alternative.
|
|
178
|
+
- Design tokens apply to screen designs only — the Design OS app keeps its own aesthetic
|
|
179
|
+
|
|
180
|
+
## Step 9: Auto-Audit (Impeccable QA)
|
|
181
|
+
|
|
182
|
+
Before completing, perform a quick self-audit against Impeccable principles.
|
|
183
|
+
|
|
184
|
+
**Check:**
|
|
185
|
+
1. Are any "AI Slop" fonts used? (Inter, Roboto, Open Sans, Arial) → Fail
|
|
186
|
+
2. Are colors tinted (not pure gray)? → Pass/Fail
|
|
187
|
+
3. Is there a clear dominant + accent hierarchy? → Pass/Fail
|
|
188
|
+
4. Are `oklch` or wide-gamut values preferred over hex where possible? → Pass/Fail
|
|
189
|
+
|
|
190
|
+
**If any checks fail:**
|
|
191
|
+
"⚠️ **Impeccable Audit Warning**: [Issue]. Recommend revising before proceeding."
|
|
192
|
+
|
|
193
|
+
**If all checks pass:**
|
|
194
|
+
"✅ **Impeccable Audit Passed**: Design tokens meet quality standards."
|
|
195
|
+
|
|
196
|
+
Save this audit result to `design-system/QA/tokens-audit.md`:
|
|
197
|
+
```markdown
|
|
198
|
+
# Design Tokens Audit
|
|
199
|
+
|
|
200
|
+
**Date**: [timestamp]
|
|
201
|
+
**Status**: [Pass/Fail]
|
|
202
|
+
|
|
203
|
+
## Checks
|
|
204
|
+
- [x] No AI Slop fonts
|
|
205
|
+
- [x] Tinted neutrals
|
|
206
|
+
- [x] Dominant + accent hierarchy
|
|
207
|
+
- [x] Modern color format (oklch)
|
|
208
|
+
|
|
209
|
+
## Notes
|
|
210
|
+
[Any observations]
|
|
211
|
+
```
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# Impeccable Command Workflow
|
|
2
|
+
|
|
3
|
+
This guide shows how Impeccable commands work together to transform your designs.
|
|
4
|
+
|
|
5
|
+
## The Periodic Table
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
╔═══════════════════════════════════════════════════════════════════════════════════════╗
|
|
9
|
+
║ DIAGNOSTIC QUALITY ADAPTATION ENHANCEMENT ║
|
|
10
|
+
║ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ║
|
|
11
|
+
║ │ Au │ │ Cr │ │ No │ │ Po │ │ Op │ │ Ha │ │ Cl │ │ Si │ │ Ad │ │ An │ │ Co │ │ De │ ║
|
|
12
|
+
║ │audit│ │crit│ │norm│ │poli│ │opti│ │hard│ │clar│ │simp│ │adap│ │anim│ │colo│ │deli│ ║
|
|
13
|
+
║ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ ║
|
|
14
|
+
║ ║
|
|
15
|
+
║ INTENSITY SYSTEM ║
|
|
16
|
+
║ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ║
|
|
17
|
+
║ │ Qu │ │ Bo │ │ Ti │ │ Ex │ │ On │ ║
|
|
18
|
+
║ │quie│ │bold│ │teac│ │extr│ │onbo│ ║
|
|
19
|
+
║ └────┘ └────┘ └────┘ └────┘ └────┘ ║
|
|
20
|
+
╚═══════════════════════════════════════════════════════════════════════════════════════╝
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Command Categories
|
|
26
|
+
|
|
27
|
+
### 🔧 SYSTEM — Run Once
|
|
28
|
+
|
|
29
|
+
| Command | When | Purpose |
|
|
30
|
+
|---------|------|---------|
|
|
31
|
+
| `/teach-impeccable` | **Before Phase 2** | One-time setup for project design context |
|
|
32
|
+
| `/extract` | After 2-3 features built | Extract reusable components into design system |
|
|
33
|
+
| `/onboard` | When designing first-time UX | Design onboarding flows and empty states |
|
|
34
|
+
|
|
35
|
+
### 🔍 DIAGNOSTIC — Run at Checkpoints
|
|
36
|
+
|
|
37
|
+
| Command | When | Purpose |
|
|
38
|
+
|---------|------|---------|
|
|
39
|
+
| `/audit` | After tokens, shell, before export | Technical quality check (a11y, perf, theming) |
|
|
40
|
+
| `/critique` | After shell, after each section | UX evaluation (hierarchy, emotion, architecture) |
|
|
41
|
+
|
|
42
|
+
### ✅ QUALITY — Run After Diagnostics
|
|
43
|
+
|
|
44
|
+
| Command | Fixes issues from | Purpose |
|
|
45
|
+
|---------|-------------------|---------|
|
|
46
|
+
| `/normalize` | `/audit` (theming) | Design system consistency |
|
|
47
|
+
| `/harden` | `/audit` (resilience) | Error handling, i18n, edge cases |
|
|
48
|
+
| `/optimize` | `/audit` (performance) | Speed, animations, bundle size |
|
|
49
|
+
| `/polish` | `/critique` (details) | Alignment, spacing, refinements |
|
|
50
|
+
|
|
51
|
+
### 🔄 ADAPTATION — Run During Refinement
|
|
52
|
+
|
|
53
|
+
| Command | When | Purpose |
|
|
54
|
+
|---------|------|---------|
|
|
55
|
+
| `/clarify` | Copy is confusing | Improve labels, errors, microcopy |
|
|
56
|
+
| `/simplify` | Design feels cluttered | Strip to essence |
|
|
57
|
+
| `/adapt` | Before export | Ensure multi-device compatibility |
|
|
58
|
+
|
|
59
|
+
### 🎚️ INTENSITY — Run for Calibration
|
|
60
|
+
|
|
61
|
+
| Command | When | Purpose |
|
|
62
|
+
|---------|------|---------|
|
|
63
|
+
| `/bolder` | `/critique` says "too safe" | Amplify generic designs |
|
|
64
|
+
| `/quieter` | `/critique` says "too loud" | Tone down aggressive designs |
|
|
65
|
+
|
|
66
|
+
⚠️ These are **mutually exclusive**. Never run both.
|
|
67
|
+
|
|
68
|
+
### ✨ ENHANCEMENT — Run Before Shipping
|
|
69
|
+
|
|
70
|
+
| Command | When | Purpose |
|
|
71
|
+
|---------|------|---------|
|
|
72
|
+
| `/animate` | After polish | Add purposeful motion |
|
|
73
|
+
| `/colorize` | Design is monochromatic | Add strategic color |
|
|
74
|
+
| `/delight` | Before export | Add moments of joy |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## The Complete Flow
|
|
79
|
+
|
|
80
|
+
### Phase 2: Design System
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
┌─────────────────────┐
|
|
84
|
+
│ /teach-impeccable │ ← One-time setup
|
|
85
|
+
└──────────┬──────────┘
|
|
86
|
+
│
|
|
87
|
+
┌──────────▼──────────┐
|
|
88
|
+
│ /design-tokens │
|
|
89
|
+
│ ← Auto-audit │
|
|
90
|
+
└──────────┬──────────┘
|
|
91
|
+
│
|
|
92
|
+
┌──────────▼──────────┐
|
|
93
|
+
│ /design-shell │
|
|
94
|
+
│ ← Auto-audit │
|
|
95
|
+
└──────────┬──────────┘
|
|
96
|
+
│
|
|
97
|
+
┌──────────▼──────────┐
|
|
98
|
+
│ /audit │ ← Full manual check
|
|
99
|
+
└──────────┬──────────┘
|
|
100
|
+
│
|
|
101
|
+
┌────────────────┼────────────────┐
|
|
102
|
+
│ │ │
|
|
103
|
+
┌────────▼───────┐ ┌──────▼──────┐ ┌───────▼───────┐
|
|
104
|
+
│ /normalize │ │ /harden │ │ /optimize │
|
|
105
|
+
│ (if theming) │ │ (if edge) │ │ (if perf) │
|
|
106
|
+
└────────┬───────┘ └──────┬──────┘ └───────┬───────┘
|
|
107
|
+
│ │ │
|
|
108
|
+
└────────────────┼────────────────┘
|
|
109
|
+
│
|
|
110
|
+
┌──────────▼──────────┐
|
|
111
|
+
│ /critique │ ← UX evaluation
|
|
112
|
+
└──────────┬──────────┘
|
|
113
|
+
│
|
|
114
|
+
┌────────────────┼────────────────┐
|
|
115
|
+
│ │ │
|
|
116
|
+
┌────────▼───────┐ ┌──────▼──────┐ ┌───────▼───────┐
|
|
117
|
+
│ /bolder │ │ /quieter │ │ /simplify │
|
|
118
|
+
│ (if safe) │ │ (if loud) │ │ (if complex) │
|
|
119
|
+
└────────┬───────┘ └──────┬──────┘ └───────┬───────┘
|
|
120
|
+
│ │ │
|
|
121
|
+
└────────────────┼────────────────┘
|
|
122
|
+
│
|
|
123
|
+
┌──────────▼──────────┐
|
|
124
|
+
│ /adapt │ ← Responsive check
|
|
125
|
+
└──────────┬──────────┘
|
|
126
|
+
│
|
|
127
|
+
┌──────────▼──────────┐
|
|
128
|
+
│ /polish │ ← Final details
|
|
129
|
+
└──────────┬──────────┘
|
|
130
|
+
│
|
|
131
|
+
┌────────────────┼────────────────┐
|
|
132
|
+
│ │ │
|
|
133
|
+
┌────────▼───────┐ ┌──────▼──────┐ ┌───────▼───────┐
|
|
134
|
+
│ /animate │ │ /colorize │ │ /delight │
|
|
135
|
+
└────────┬───────┘ └──────┬──────┘ └───────┬───────┘
|
|
136
|
+
│ │ │
|
|
137
|
+
└────────────────┼────────────────┘
|
|
138
|
+
│
|
|
139
|
+
┌──────────▼──────────┐
|
|
140
|
+
│ /export-product │ ← Pre-export audit check
|
|
141
|
+
└─────────────────────┘
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Phase 4: Per Feature
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
/shape-spec → Design screens → /clarify → /simplify → /audit → /polish → /implement-tasks
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Quick Reference
|
|
153
|
+
|
|
154
|
+
| Situation | Run |
|
|
155
|
+
|-----------|-----|
|
|
156
|
+
| Starting design phase | `/teach-impeccable` |
|
|
157
|
+
| Design looks generic/AI-generated | `/audit` → `/bolder` |
|
|
158
|
+
| Design is overwhelming | `/critique` → `/quieter` |
|
|
159
|
+
| Accessibility issues | `/audit` → `/harden` |
|
|
160
|
+
| Inconsistent tokens | `/audit` → `/normalize` |
|
|
161
|
+
| Slow performance | `/audit` → `/optimize` |
|
|
162
|
+
| Ready to ship | `/polish` → `/animate` → `/delight` |
|
|
163
|
+
| Before export | `/audit` check required |
|