@theproductguy/create-mission-control 1.0.17 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/package.json +1 -1
  2. package/src/template/agent-os/WORKFLOW.md +139 -0
  3. package/src/template/agent-os/commands/adapt/adapt.md +189 -0
  4. package/src/template/agent-os/commands/animate/animate.md +184 -0
  5. package/src/template/agent-os/commands/audit/audit.md +123 -0
  6. package/src/template/agent-os/commands/bolder/bolder.md +126 -0
  7. package/src/template/agent-os/commands/clarify/clarify.md +173 -0
  8. package/src/template/agent-os/commands/colorize/colorize.md +152 -0
  9. package/src/template/agent-os/commands/critique/critique.md +112 -0
  10. package/src/template/agent-os/commands/delight/delight.md +311 -0
  11. package/src/template/agent-os/commands/design-screen/design-screen.md +5 -0
  12. package/src/template/agent-os/commands/design-shell/design-shell.md +5 -0
  13. package/src/template/agent-os/commands/design-tokens/design-tokens.md +5 -0
  14. package/src/template/agent-os/commands/extract/extract.md +88 -0
  15. package/src/template/agent-os/commands/harden/harden.md +351 -0
  16. package/src/template/agent-os/commands/impeccable/impeccable.md +163 -0
  17. package/src/template/agent-os/commands/normalize/normalize.md +61 -0
  18. package/src/template/agent-os/commands/onboard/onboard.md +236 -0
  19. package/src/template/agent-os/commands/optimize/optimize.md +262 -0
  20. package/src/template/agent-os/commands/plan-product/3-create-roadmap.md +7 -3
  21. package/src/template/agent-os/commands/polish/polish.md +196 -0
  22. package/src/template/agent-os/commands/quieter/quieter.md +112 -0
  23. package/src/template/agent-os/commands/simplify/simplify.md +131 -0
  24. package/src/template/agent-os/commands/teach-impeccable/teach-impeccable.md +67 -0
  25. package/src/template/control-center/backend/index.js +1 -1
  26. package/src/template/control-center/frontend/src/App.tsx +85 -839
  27. package/src/template/control-center/frontend/src/components/DesignOSOverlay.tsx +38 -0
  28. package/src/template/control-center/frontend/src/components/Guidance.tsx +56 -0
  29. package/src/template/control-center/frontend/src/components/NextStepCard.tsx +115 -0
  30. package/src/template/control-center/frontend/src/components/PromptButton.tsx +43 -0
  31. package/src/template/control-center/frontend/src/components/StatusItem.tsx +38 -0
  32. package/src/template/control-center/frontend/src/components/modals/CreateSpecModal.tsx +73 -0
  33. package/src/template/control-center/frontend/src/components/modals/DeleteSpecModal.tsx +42 -0
  34. package/src/template/control-center/frontend/src/components/modals/FileEditorModal.tsx +87 -0
  35. package/src/template/control-center/frontend/src/components/modals/SettingsModal.tsx +46 -0
  36. package/src/template/control-center/frontend/src/components/ui/ToastContext.tsx +1 -1
  37. package/src/template/control-center/frontend/src/contexts/IdeContext.tsx +6 -0
  38. package/src/template/control-center/frontend/src/hooks/useFileEditor.ts +42 -0
  39. package/src/template/control-center/frontend/src/hooks/useProjectState.ts +45 -0
  40. package/src/template/control-center/frontend/src/index.css +26 -0
  41. package/src/template/control-center/frontend/src/types.ts +65 -0
  42. package/src/template/control-center/frontend/tailwind.config.js +15 -3
  43. package/src/template/control-center/product/design-system/QA/audit-report.md +34 -0
  44. package/src/template/control-center/product/mission.md +38 -0
  45. package/src/template/control-center/product/roadmap.md +10 -0
  46. package/src/template/design-system/src/lib/product-loader.ts +6 -0
  47. package/src/template/package-lock.json +2756 -134
  48. package/src/template/package.json +2 -2
  49. package/src/template/agent-os-ui/_package.json +0 -54
  50. package/src/template/agent-os-ui/package.json +0 -54
  51. package/src/template/control-center/frontend/src/components/ThemeToggle.tsx +0 -64
@@ -0,0 +1,351 @@
1
+ # COMMAND: Harden
2
+ **Description**: Improve interface resilience through better error handling, i18n support, text overflow handling, and edge case management. Makes interfaces robust and production-ready.
3
+
4
+
5
+ Strengthen interfaces against edge cases, errors, internationalization issues, and real-world usage scenarios that break idealized designs.
6
+
7
+ ## Assess Hardening Needs
8
+
9
+ Identify weaknesses and edge cases:
10
+
11
+ 1. **Test with extreme inputs**:
12
+ - Very long text (names, descriptions, titles)
13
+ - Very short text (empty, single character)
14
+ - Special characters (emoji, RTL text, accents)
15
+ - Large numbers (millions, billions)
16
+ - Many items (1000+ list items, 50+ options)
17
+ - No data (empty states)
18
+
19
+ 2. **Test error scenarios**:
20
+ - Network failures (offline, slow, timeout)
21
+ - API errors (400, 401, 403, 404, 500)
22
+ - Validation errors
23
+ - Permission errors
24
+ - Rate limiting
25
+ - Concurrent operations
26
+
27
+ 3. **Test internationalization**:
28
+ - Long translations (German is often 30% longer than English)
29
+ - RTL languages (Arabic, Hebrew)
30
+ - Character sets (Chinese, Japanese, Korean, emoji)
31
+ - Date/time formats
32
+ - Number formats (1,000 vs 1.000)
33
+ - Currency symbols
34
+
35
+ **CRITICAL**: Designs that only work with perfect data aren't production-ready. Harden against reality.
36
+
37
+ ## Hardening Dimensions
38
+
39
+ Systematically improve resilience:
40
+
41
+ ### Text Overflow & Wrapping
42
+
43
+ **Long text handling**:
44
+ ```css
45
+ /* Single line with ellipsis */
46
+ .truncate {
47
+ overflow: hidden;
48
+ text-overflow: ellipsis;
49
+ white-space: nowrap;
50
+ }
51
+
52
+ /* Multi-line with clamp */
53
+ .line-clamp {
54
+ display: -webkit-box;
55
+ -webkit-line-clamp: 3;
56
+ -webkit-box-orient: vertical;
57
+ overflow: hidden;
58
+ }
59
+
60
+ /* Allow wrapping */
61
+ .wrap {
62
+ word-wrap: break-word;
63
+ overflow-wrap: break-word;
64
+ hyphens: auto;
65
+ }
66
+ ```
67
+
68
+ **Flex/Grid overflow**:
69
+ ```css
70
+ /* Prevent flex items from overflowing */
71
+ .flex-item {
72
+ min-width: 0; /* Allow shrinking below content size */
73
+ overflow: hidden;
74
+ }
75
+
76
+ /* Prevent grid items from overflowing */
77
+ .grid-item {
78
+ min-width: 0;
79
+ min-height: 0;
80
+ }
81
+ ```
82
+
83
+ **Responsive text sizing**:
84
+ - Use `clamp()` for fluid typography
85
+ - Set minimum readable sizes (14px on mobile)
86
+ - Test text scaling (zoom to 200%)
87
+ - Ensure containers expand with text
88
+
89
+ ### Internationalization (i18n)
90
+
91
+ **Text expansion**:
92
+ - Add 30-40% space budget for translations
93
+ - Use flexbox/grid that adapts to content
94
+ - Test with longest language (usually German)
95
+ - Avoid fixed widths on text containers
96
+
97
+ ```jsx
98
+ // ❌ Bad: Assumes short English text
99
+ <button className="w-24">Submit</button>
100
+
101
+ // ✅ Good: Adapts to content
102
+ <button className="px-4 py-2">Submit</button>
103
+ ```
104
+
105
+ **RTL (Right-to-Left) support**:
106
+ ```css
107
+ /* Use logical properties */
108
+ margin-inline-start: 1rem; /* Not margin-left */
109
+ padding-inline: 1rem; /* Not padding-left/right */
110
+ border-inline-end: 1px solid; /* Not border-right */
111
+
112
+ /* Or use dir attribute */
113
+ [dir="rtl"] .arrow { transform: scaleX(-1); }
114
+ ```
115
+
116
+ **Character set support**:
117
+ - Use UTF-8 encoding everywhere
118
+ - Test with Chinese/Japanese/Korean (CJK) characters
119
+ - Test with emoji (they can be 2-4 bytes)
120
+ - Handle different scripts (Latin, Cyrillic, Arabic, etc.)
121
+
122
+ **Date/Time formatting**:
123
+ ```javascript
124
+ // ✅ Use Intl API for proper formatting
125
+ new Intl.DateTimeFormat('en-US').format(date); // 1/15/2024
126
+ new Intl.DateTimeFormat('de-DE').format(date); // 15.1.2024
127
+
128
+ new Intl.NumberFormat('en-US', {
129
+ style: 'currency',
130
+ currency: 'USD'
131
+ }).format(1234.56); // $1,234.56
132
+ ```
133
+
134
+ **Pluralization**:
135
+ ```javascript
136
+ // ❌ Bad: Assumes English pluralization
137
+ `${count} item${count !== 1 ? 's' : ''}`
138
+
139
+ // ✅ Good: Use proper i18n library
140
+ t('items', { count }) // Handles complex plural rules
141
+ ```
142
+
143
+ ### Error Handling
144
+
145
+ **Network errors**:
146
+ - Show clear error messages
147
+ - Provide retry button
148
+ - Explain what happened
149
+ - Offer offline mode (if applicable)
150
+ - Handle timeout scenarios
151
+
152
+ ```jsx
153
+ // Error states with recovery
154
+ {error && (
155
+ <ErrorMessage>
156
+ <p>Failed to load data. {error.message}</p>
157
+ <button onClick={retry}>Try again</button>
158
+ </ErrorMessage>
159
+ )}
160
+ ```
161
+
162
+ **Form validation errors**:
163
+ - Inline errors near fields
164
+ - Clear, specific messages
165
+ - Suggest corrections
166
+ - Don't block submission unnecessarily
167
+ - Preserve user input on error
168
+
169
+ **API errors**:
170
+ - Handle each status code appropriately
171
+ - 400: Show validation errors
172
+ - 401: Redirect to login
173
+ - 403: Show permission error
174
+ - 404: Show not found state
175
+ - 429: Show rate limit message
176
+ - 500: Show generic error, offer support
177
+
178
+ **Graceful degradation**:
179
+ - Core functionality works without JavaScript
180
+ - Images have alt text
181
+ - Progressive enhancement
182
+ - Fallbacks for unsupported features
183
+
184
+ ### Edge Cases & Boundary Conditions
185
+
186
+ **Empty states**:
187
+ - No items in list
188
+ - No search results
189
+ - No notifications
190
+ - No data to display
191
+ - Provide clear next action
192
+
193
+ **Loading states**:
194
+ - Initial load
195
+ - Pagination load
196
+ - Refresh
197
+ - Show what's loading ("Loading your projects...")
198
+ - Time estimates for long operations
199
+
200
+ **Large datasets**:
201
+ - Pagination or virtual scrolling
202
+ - Search/filter capabilities
203
+ - Performance optimization
204
+ - Don't load all 10,000 items at once
205
+
206
+ **Concurrent operations**:
207
+ - Prevent double-submission (disable button while loading)
208
+ - Handle race conditions
209
+ - Optimistic updates with rollback
210
+ - Conflict resolution
211
+
212
+ **Permission states**:
213
+ - No permission to view
214
+ - No permission to edit
215
+ - Read-only mode
216
+ - Clear explanation of why
217
+
218
+ **Browser compatibility**:
219
+ - Polyfills for modern features
220
+ - Fallbacks for unsupported CSS
221
+ - Feature detection (not browser detection)
222
+ - Test in target browsers
223
+
224
+ ### Input Validation & Sanitization
225
+
226
+ **Client-side validation**:
227
+ - Required fields
228
+ - Format validation (email, phone, URL)
229
+ - Length limits
230
+ - Pattern matching
231
+ - Custom validation rules
232
+
233
+ **Server-side validation** (always):
234
+ - Never trust client-side only
235
+ - Validate and sanitize all inputs
236
+ - Protect against injection attacks
237
+ - Rate limiting
238
+
239
+ **Constraint handling**:
240
+ ```html
241
+ <!-- Set clear constraints -->
242
+ <input
243
+ type="text"
244
+ maxlength="100"
245
+ pattern="[A-Za-z0-9]+"
246
+ required
247
+ aria-describedby="username-hint"
248
+ />
249
+ <small id="username-hint">
250
+ Letters and numbers only, up to 100 characters
251
+ </small>
252
+ ```
253
+
254
+ ### Accessibility Resilience
255
+
256
+ **Keyboard navigation**:
257
+ - All functionality accessible via keyboard
258
+ - Logical tab order
259
+ - Focus management in modals
260
+ - Skip links for long content
261
+
262
+ **Screen reader support**:
263
+ - Proper ARIA labels
264
+ - Announce dynamic changes (live regions)
265
+ - Descriptive alt text
266
+ - Semantic HTML
267
+
268
+ **Motion sensitivity**:
269
+ ```css
270
+ @media (prefers-reduced-motion: reduce) {
271
+ * {
272
+ animation-duration: 0.01ms !important;
273
+ animation-iteration-count: 1 !important;
274
+ transition-duration: 0.01ms !important;
275
+ }
276
+ }
277
+ ```
278
+
279
+ **High contrast mode**:
280
+ - Test in Windows high contrast mode
281
+ - Don't rely only on color
282
+ - Provide alternative visual cues
283
+
284
+ ### Performance Resilience
285
+
286
+ **Slow connections**:
287
+ - Progressive image loading
288
+ - Skeleton screens
289
+ - Optimistic UI updates
290
+ - Offline support (service workers)
291
+
292
+ **Memory leaks**:
293
+ - Clean up event listeners
294
+ - Cancel subscriptions
295
+ - Clear timers/intervals
296
+ - Abort pending requests on unmount
297
+
298
+ **Throttling & Debouncing**:
299
+ ```javascript
300
+ // Debounce search input
301
+ const debouncedSearch = debounce(handleSearch, 300);
302
+
303
+ // Throttle scroll handler
304
+ const throttledScroll = throttle(handleScroll, 100);
305
+ ```
306
+
307
+ ## Testing Strategies
308
+
309
+ **Manual testing**:
310
+ - Test with extreme data (very long, very short, empty)
311
+ - Test in different languages
312
+ - Test offline
313
+ - Test slow connection (throttle to 3G)
314
+ - Test with screen reader
315
+ - Test keyboard-only navigation
316
+ - Test on old browsers
317
+
318
+ **Automated testing**:
319
+ - Unit tests for edge cases
320
+ - Integration tests for error scenarios
321
+ - E2E tests for critical paths
322
+ - Visual regression tests
323
+ - Accessibility tests (axe, WAVE)
324
+
325
+ **IMPORTANT**: Hardening is about expecting the unexpected. Real users will do things you never imagined.
326
+
327
+ **NEVER**:
328
+ - Assume perfect input (validate everything)
329
+ - Ignore internationalization (design for global)
330
+ - Leave error messages generic ("Error occurred")
331
+ - Forget offline scenarios
332
+ - Trust client-side validation alone
333
+ - Use fixed widths for text
334
+ - Assume English-length text
335
+ - Block entire interface when one component errors
336
+
337
+ ## Verify Hardening
338
+
339
+ Test thoroughly with edge cases:
340
+
341
+ - **Long text**: Try names with 100+ characters
342
+ - **Emoji**: Use emoji in all text fields
343
+ - **RTL**: Test with Arabic or Hebrew
344
+ - **CJK**: Test with Chinese/Japanese/Korean
345
+ - **Network issues**: Disable internet, throttle connection
346
+ - **Large datasets**: Test with 1000+ items
347
+ - **Concurrent actions**: Click submit 10 times rapidly
348
+ - **Errors**: Force API errors, test all error states
349
+ - **Empty**: Remove all data, test empty states
350
+
351
+ Remember: You're hardening for production reality, not demo perfection. Expect users to input weird data, lose connection mid-flow, and use your product in unexpected ways. Build resilience into every component.
@@ -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 |
@@ -0,0 +1,61 @@
1
+ # COMMAND: Normalize
2
+ **Description**: Normalize design to match your design system and ensure consistency
3
+
4
+
5
+ Analyze and redesign the feature to perfectly match our design system standards, aesthetics, and established patterns.
6
+
7
+ ## Plan
8
+
9
+ Before making changes, deeply understand the context:
10
+
11
+ 1. **Discover the design system**: Search for design system documentation, UI guidelines, component libraries, or style guides (grep for "design system", "ui guide", "style guide", etc.). Study it thoroughly until you understand:
12
+ - Core design principles and aesthetic direction
13
+ - Target audience and personas
14
+ - Component patterns and conventions
15
+ - Design tokens (colors, typography, spacing)
16
+
17
+ **CRITICAL**: If something isn't clear, ask. Don't guess at design system principles.
18
+
19
+ 2. **Analyze the current feature**: Assess what works and what doesn't:
20
+ - Where does it deviate from design system patterns?
21
+ - Which inconsistencies are cosmetic vs. functional?
22
+ - What's the root cause—missing tokens, one-off implementations, or conceptual misalignment?
23
+
24
+ 3. **Create a normalization plan**: Define specific changes that will align the feature with the design system:
25
+ - Which components can be replaced with design system equivalents?
26
+ - Which styles need to use design tokens instead of hard-coded values?
27
+ - How can UX patterns match established user flows?
28
+
29
+ **IMPORTANT**: Great design is effective design. Prioritize UX consistency and usability over visual polish alone. Think through the best possible experience for your use case and personas first.
30
+
31
+ ## Execute
32
+
33
+ Systematically address all inconsistencies across these dimensions:
34
+
35
+ - **Typography**: Use design system fonts, sizes, weights, and line heights. Replace hard-coded values with typographic tokens or classes.
36
+ - **Color & Theme**: Apply design system color tokens. Remove one-off color choices that break the palette.
37
+ - **Spacing & Layout**: Use spacing tokens (margins, padding, gaps). Align with grid systems and layout patterns used elsewhere.
38
+ - **Components**: Replace custom implementations with design system components. Ensure props and variants match established patterns.
39
+ - **Motion & Interaction**: Match animation timing, easing, and interaction patterns to other features.
40
+ - **Responsive Behavior**: Ensure breakpoints and responsive patterns align with design system standards.
41
+ - **Accessibility**: Verify contrast ratios, focus states, ARIA labels match design system requirements.
42
+ - **Progressive Disclosure**: Match information hierarchy and complexity management to established patterns.
43
+
44
+ **NEVER**:
45
+ - Create new one-off components when design system equivalents exist
46
+ - Hard-code values that should use design tokens
47
+ - Introduce new patterns that diverge from the design system
48
+ - Compromise accessibility for visual consistency
49
+
50
+ This is not an exhaustive list—apply judgment to identify all areas needing normalization.
51
+
52
+ ## Clean Up
53
+
54
+ After normalization, ensure code quality:
55
+
56
+ - **Consolidate reusable components**: If you created new components that should be shared, move them to the design system or shared UI component path.
57
+ - **Remove orphaned code**: Delete unused implementations, styles, or files made obsolete by normalization.
58
+ - **Verify quality**: Lint, type-check, and test according to repository guidelines. Ensure normalization didn't introduce regressions.
59
+ - **Ensure DRYness**: Look for duplication introduced during refactoring and consolidate.
60
+
61
+ Remember: You are a brilliant frontend designer with impeccable taste, equally strong in UX and UI. Your attention to detail and eye for end-to-end user experience is world class. Execute with precision and thoroughness.