@hustle-together/api-dev-tools 3.12.3 → 4.5.1

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 (159) hide show
  1. package/.claude/adr-requests/.gitkeep +10 -0
  2. package/.claude/agents/adr-researcher.md +109 -0
  3. package/.claude/agents/visual-analyzer.md +183 -0
  4. package/.claude/api-dev-state.json +7 -463
  5. package/.claude/documentation-audit.json +114 -0
  6. package/.claude/registry.json +289 -0
  7. package/.claude/settings.json +45 -1
  8. package/.claude/workflow-logs/None.json +49 -0
  9. package/.claude/workflow-logs/session-20251230-143727.json +106 -0
  10. package/.skills/adr-deep-research/SKILL.md +351 -0
  11. package/.skills/api-create/SKILL.md +116 -17
  12. package/.skills/api-research/SKILL.md +130 -0
  13. package/.skills/docs-sync/SKILL.md +260 -0
  14. package/.skills/docs-update/SKILL.md +205 -0
  15. package/.skills/hustle-brand/SKILL.md +368 -0
  16. package/.skills/hustle-build/SKILL.md +786 -0
  17. package/.skills/hustle-build-review/SKILL.md +518 -0
  18. package/.skills/parallel-spawn/SKILL.md +212 -0
  19. package/.skills/ralph-continue/SKILL.md +151 -0
  20. package/.skills/ralph-loop/SKILL.md +341 -0
  21. package/.skills/ralph-status/SKILL.md +87 -0
  22. package/.skills/refactor/SKILL.md +59 -0
  23. package/.skills/shadcn/SKILL.md +522 -0
  24. package/.skills/test-all/SKILL.md +210 -0
  25. package/.skills/test-builds/SKILL.md +208 -0
  26. package/.skills/test-debug/SKILL.md +212 -0
  27. package/.skills/test-e2e/SKILL.md +168 -0
  28. package/.skills/test-review/SKILL.md +707 -0
  29. package/.skills/test-unit/SKILL.md +143 -0
  30. package/.skills/test-visual/SKILL.md +301 -0
  31. package/.skills/token-report/SKILL.md +132 -0
  32. package/CHANGELOG.md +575 -0
  33. package/README.md +426 -56
  34. package/bin/cli.js +1538 -88
  35. package/commands/hustle-api-create.md +22 -0
  36. package/commands/hustle-build.md +259 -0
  37. package/commands/hustle-combine.md +81 -2
  38. package/commands/hustle-ui-create-page.md +84 -2
  39. package/commands/hustle-ui-create.md +82 -2
  40. package/hooks/__pycache__/api-workflow-check.cpython-314.pyc +0 -0
  41. package/hooks/__pycache__/auto-answer.cpython-314.pyc +0 -0
  42. package/hooks/__pycache__/cache-research.cpython-314.pyc +0 -0
  43. package/hooks/__pycache__/check-api-routes.cpython-314.pyc +0 -0
  44. package/hooks/__pycache__/check-playwright-setup.cpython-314.pyc +0 -0
  45. package/hooks/__pycache__/check-storybook-setup.cpython-314.pyc +0 -0
  46. package/hooks/__pycache__/check-update.cpython-314.pyc +0 -0
  47. package/hooks/__pycache__/completion-promise-detector.cpython-314.pyc +0 -0
  48. package/hooks/__pycache__/context-capacity-warning.cpython-314.pyc +0 -0
  49. package/hooks/__pycache__/detect-interruption.cpython-314.pyc +0 -0
  50. package/hooks/__pycache__/docs-update-check.cpython-314.pyc +0 -0
  51. package/hooks/__pycache__/enforce-a11y-audit.cpython-314.pyc +0 -0
  52. package/hooks/__pycache__/enforce-brand-guide.cpython-314.pyc +0 -0
  53. package/hooks/__pycache__/enforce-component-type-confirm.cpython-314.pyc +0 -0
  54. package/hooks/__pycache__/enforce-deep-research.cpython-314.pyc +0 -0
  55. package/hooks/__pycache__/enforce-disambiguation.cpython-314.pyc +0 -0
  56. package/hooks/__pycache__/enforce-documentation.cpython-314.pyc +0 -0
  57. package/hooks/__pycache__/enforce-dry-run.cpython-314.pyc +0 -0
  58. package/hooks/__pycache__/enforce-environment.cpython-314.pyc +0 -0
  59. package/hooks/__pycache__/enforce-external-research.cpython-314.pyc +0 -0
  60. package/hooks/__pycache__/enforce-freshness.cpython-314.pyc +0 -0
  61. package/hooks/__pycache__/enforce-interview.cpython-314.pyc +0 -0
  62. package/hooks/__pycache__/enforce-page-components.cpython-314.pyc +0 -0
  63. package/hooks/__pycache__/enforce-page-data-schema.cpython-314.pyc +0 -0
  64. package/hooks/__pycache__/enforce-questions-sourced.cpython-314.pyc +0 -0
  65. package/hooks/__pycache__/enforce-refactor.cpython-314.pyc +0 -0
  66. package/hooks/__pycache__/enforce-research.cpython-314.pyc +0 -0
  67. package/hooks/__pycache__/enforce-schema-from-interview.cpython-314.pyc +0 -0
  68. package/hooks/__pycache__/enforce-schema.cpython-314.pyc +0 -0
  69. package/hooks/__pycache__/enforce-scope.cpython-314.pyc +0 -0
  70. package/hooks/__pycache__/enforce-tdd-red.cpython-314.pyc +0 -0
  71. package/hooks/__pycache__/enforce-ui-disambiguation.cpython-314.pyc +0 -0
  72. package/hooks/__pycache__/enforce-ui-interview.cpython-314.pyc +0 -0
  73. package/hooks/__pycache__/enforce-verify.cpython-314.pyc +0 -0
  74. package/hooks/__pycache__/generate-adr-options.cpython-314.pyc +0 -0
  75. package/hooks/__pycache__/generate-manifest-entry.cpython-314.pyc +0 -0
  76. package/hooks/__pycache__/hook_utils.cpython-314.pyc +0 -0
  77. package/hooks/__pycache__/notify-input-needed.cpython-314.pyc +0 -0
  78. package/hooks/__pycache__/notify-phase-complete.cpython-314.pyc +0 -0
  79. package/hooks/__pycache__/ntfy-on-question.cpython-314.pyc +0 -0
  80. package/hooks/__pycache__/orchestrator-completion.cpython-314.pyc +0 -0
  81. package/hooks/__pycache__/orchestrator-handoff.cpython-314.pyc +0 -0
  82. package/hooks/__pycache__/orchestrator-session-startup.cpython-314.pyc +0 -0
  83. package/hooks/__pycache__/parallel-orchestrator.cpython-314.pyc +0 -0
  84. package/hooks/__pycache__/periodic-reground.cpython-314.pyc +0 -0
  85. package/hooks/__pycache__/project-document-prompt.cpython-314.pyc +0 -0
  86. package/hooks/__pycache__/remote-question-proxy.cpython-314.pyc +0 -0
  87. package/hooks/__pycache__/remote-question-server.cpython-314.pyc +0 -0
  88. package/hooks/__pycache__/run-code-review.cpython-314.pyc +0 -0
  89. package/hooks/__pycache__/run-visual-qa.cpython-314.pyc +0 -0
  90. package/hooks/__pycache__/session-logger.cpython-314.pyc +0 -0
  91. package/hooks/__pycache__/session-startup.cpython-314.pyc +0 -0
  92. package/hooks/__pycache__/track-scope-coverage.cpython-314.pyc +0 -0
  93. package/hooks/__pycache__/track-token-usage.cpython-314.pyc +0 -0
  94. package/hooks/__pycache__/track-tool-use.cpython-314.pyc +0 -0
  95. package/hooks/__pycache__/update-adr-decision.cpython-314.pyc +0 -0
  96. package/hooks/__pycache__/update-api-showcase.cpython-314.pyc +0 -0
  97. package/hooks/__pycache__/update-registry.cpython-314.pyc +0 -0
  98. package/hooks/__pycache__/update-ui-showcase.cpython-314.pyc +0 -0
  99. package/hooks/__pycache__/verify-after-green.cpython-314.pyc +0 -0
  100. package/hooks/__pycache__/verify-implementation.cpython-314.pyc +0 -0
  101. package/hooks/api-workflow-check.py +34 -0
  102. package/hooks/auto-answer.py +305 -0
  103. package/hooks/check-update.py +132 -0
  104. package/hooks/completion-promise-detector.py +293 -0
  105. package/hooks/context-capacity-warning.py +171 -0
  106. package/hooks/docs-update-check.py +120 -0
  107. package/hooks/enforce-dry-run.py +134 -0
  108. package/hooks/enforce-external-research.py +25 -0
  109. package/hooks/enforce-interview.py +20 -0
  110. package/hooks/generate-adr-options.py +282 -0
  111. package/hooks/hook_utils.py +609 -0
  112. package/hooks/lib/__pycache__/__init__.cpython-314.pyc +0 -0
  113. package/hooks/lib/__pycache__/greptile.cpython-314.pyc +0 -0
  114. package/hooks/lib/__pycache__/ntfy.cpython-314.pyc +0 -0
  115. package/hooks/ntfy-on-question.py +240 -0
  116. package/hooks/orchestrator-completion.py +313 -0
  117. package/hooks/orchestrator-handoff.py +267 -0
  118. package/hooks/orchestrator-session-startup.py +146 -0
  119. package/hooks/parallel-orchestrator.py +451 -0
  120. package/hooks/periodic-reground.py +270 -67
  121. package/hooks/project-document-prompt.py +302 -0
  122. package/hooks/remote-question-proxy.py +284 -0
  123. package/hooks/remote-question-server.py +1224 -0
  124. package/hooks/run-code-review.py +176 -29
  125. package/hooks/run-visual-qa.py +338 -0
  126. package/hooks/session-logger.py +27 -1
  127. package/hooks/session-startup.py +113 -0
  128. package/hooks/update-adr-decision.py +236 -0
  129. package/hooks/update-api-showcase.py +13 -1
  130. package/hooks/update-testing-checklist.py +195 -0
  131. package/hooks/update-ui-showcase.py +13 -1
  132. package/package.json +7 -3
  133. package/scripts/extract-schema-docs.cjs +322 -0
  134. package/templates/.skills/hustle-interview/SKILL.md +174 -0
  135. package/templates/CLAUDE-SECTION.md +89 -64
  136. package/templates/adr-viewer/_components/ADRViewer.tsx +326 -0
  137. package/templates/api-dev-state.json +33 -1
  138. package/templates/api-showcase/_components/APIModal.tsx +100 -8
  139. package/templates/api-showcase/_components/APIShowcase.tsx +36 -4
  140. package/templates/api-showcase/_components/APITester.tsx +367 -58
  141. package/templates/brand-page/page.tsx +645 -0
  142. package/templates/component/Component.visual.spec.ts +30 -24
  143. package/templates/docs/page.tsx +230 -0
  144. package/templates/eslint-plugin-zod-schema/index.js +446 -0
  145. package/templates/eslint-plugin-zod-schema/package.json +26 -0
  146. package/templates/github-workflows/security.yml +274 -0
  147. package/templates/hustle-build-defaults.json +136 -0
  148. package/templates/hustle-dev-dashboard/page.tsx +365 -0
  149. package/templates/page/page.e2e.test.ts +30 -26
  150. package/templates/performance-budgets.json +63 -5
  151. package/templates/playwright-report/page.tsx +258 -0
  152. package/templates/registry.json +279 -3
  153. package/templates/review-dashboard/page.tsx +510 -0
  154. package/templates/settings.json +155 -7
  155. package/templates/test-results/page.tsx +237 -0
  156. package/templates/typedoc.json +19 -0
  157. package/templates/ui-showcase/_components/UIShowcase.tsx +48 -1
  158. package/templates/ui-showcase/_components/VisualTestingDashboard.tsx +579 -0
  159. package/templates/ui-showcase/page.tsx +1 -1
@@ -0,0 +1,368 @@
1
+ ---
2
+ name: hustle-brand
3
+ description: Create and edit comprehensive brand guide with interview-driven discovery
4
+ tools: Bash, Read, Write, Glob, Grep, Task, AskUserQuestion, TodoWrite
5
+ model: sonnet
6
+ ---
7
+
8
+ # Hustle Brand - Brand Guide Creator
9
+
10
+ Create a comprehensive brand guide through interview-driven discovery. The brand guide becomes the single source of truth for all UI development, ensuring consistency across every component, page, and interaction.
11
+
12
+ ## Why This Matters
13
+
14
+ > **Without a brand guide**, every AI-generated component looks slightly different.
15
+ > Colors drift, fonts vary, animations feel inconsistent.
16
+ > **With a brand guide**, every element feels like it belongs.
17
+
18
+ ## When to Use
19
+
20
+ - During initial project setup (Installation Wizard Phase 3)
21
+ - Anytime with `/hustle-brand` to create or edit
22
+ - Before any UI development work
23
+ - When rebranding or updating visual identity
24
+
25
+ ## What Gets Created
26
+
27
+ ### 1. Brand Guide Document (`.claude/BRAND_GUIDE.md`)
28
+
29
+ The comprehensive brand specification including:
30
+ - Colors (primary, secondary, accent, semantic, gradients)
31
+ - Typography (fonts, sizes, weights, line heights)
32
+ - Spacing system (consistent padding/margins)
33
+ - Border radius conventions
34
+ - Shadows and elevation
35
+ - Animation principles (timing, easing, motion style)
36
+ - Voice and tone guidelines
37
+ - Terminology dictionary
38
+ - Do's and Don'ts
39
+
40
+ ### 2. Brand Page (`src/app/brand/page.tsx`)
41
+
42
+ A living showcase of your brand including:
43
+ - Color palette with copy-to-clipboard
44
+ - Typography scale demonstration
45
+ - Button states (default, hover, active, disabled, loading)
46
+ - Form elements (inputs, selects, checkboxes, radios)
47
+ - Card variations
48
+ - Animation examples (GSAP, Framer Motion, CSS)
49
+ - Custom elements from interview (Three.js, terminal effects, etc.)
50
+ - Voice examples
51
+
52
+ ### 3. ShadCN Theme (`src/lib/theme.ts`)
53
+
54
+ All brand values as CSS variables for ShadCN:
55
+ ```css
56
+ :root {
57
+ --primary: 222.2 47.4% 11.2%;
58
+ --primary-foreground: 210 40% 98%;
59
+ --secondary: 210 40% 96.1%;
60
+ /* ... full theme */
61
+ }
62
+ ```
63
+
64
+ ### 4. Registry Entry
65
+
66
+ Brand tracked in `registry.json`:
67
+ ```json
68
+ {
69
+ "brand_guide": {
70
+ "created_at": "2025-12-29T10:00:00Z",
71
+ "last_updated": "2025-12-29T10:00:00Z",
72
+ "version": 1,
73
+ "interview_completed": true,
74
+ "sections": ["colors", "typography", "animations", "voice"],
75
+ "custom_elements": ["terminal-animation", "gradient-text"]
76
+ }
77
+ }
78
+ ```
79
+
80
+ ## Interview Flow
81
+
82
+ ### Phase 1: Foundation
83
+
84
+ ```
85
+ ┌─────────────────────────────────────────────────────────────────────────────┐
86
+ │ BRAND GUIDE CREATOR │
87
+ │ │
88
+ │ Let's create your brand guide. This will be the foundation for all UI. │
89
+ │ │
90
+ │ You can either: │
91
+ │ [1] Answer interview questions (Recommended) │
92
+ │ [2] Fill out a quick form (faster, uses defaults) │
93
+ │ [3] Import from Figma/existing brand kit │
94
+ │ │
95
+ │ Choice? > │
96
+ └─────────────────────────────────────────────────────────────────────────────┘
97
+ ```
98
+
99
+ ### Phase 2: Visual Identity
100
+
101
+ **Colors:**
102
+ - What's your primary brand color? (hex or description)
103
+ - What mood should the secondary colors convey? (professional, playful, bold)
104
+ - Do you want gradients? What style? (subtle, vibrant, aurora)
105
+ - Dark mode: mirror light, or distinct personality?
106
+
107
+ **Typography:**
108
+ - What font family? (Inter, system fonts, custom Google Font)
109
+ - What's the personality? (modern, classic, technical, friendly)
110
+ - Do you need code/monospace fonts?
111
+
112
+ **Spacing & Sizing:**
113
+ - Prefer compact or spacious layouts?
114
+ - Border radius style? (sharp, subtle, fully rounded)
115
+ - Shadow depth? (flat, subtle, elevated)
116
+
117
+ ### Phase 3: Motion & Animation
118
+
119
+ **Animation Style:**
120
+ - What's the motion personality? (snappy, smooth, bouncy, minimal)
121
+ - Preferred library? (CSS, Framer Motion, GSAP, none)
122
+ - Special effects wanted? (parallax, 3D, particles, terminal)
123
+
124
+ **Loading States:**
125
+ - Skeleton loaders or spinners?
126
+ - Progress bars style?
127
+ - Micro-interactions level? (subtle, noticeable, delightful)
128
+
129
+ ### Phase 4: Voice & Tone
130
+
131
+ **Share of Voice:**
132
+ ```
133
+ How should the UI communicate?
134
+
135
+ [1] Professional & Informative (Recommended)
136
+ "Your report is ready for download."
137
+
138
+ [2] Friendly & Casual
139
+ "Hey! Your report's all done. Grab it here!"
140
+
141
+ [3] Technical & Precise
142
+ "Report generated. 847 records processed. Download available."
143
+
144
+ [4] Playful & Character-driven
145
+ "Beep boop! I crunched those numbers for you!"
146
+
147
+ [5] Custom (describe your voice)
148
+ ```
149
+
150
+ **Terminology:**
151
+ - What do you call your users? (users, members, customers, friends)
152
+ - CTA language preference? (Get Started, Begin, Let's Go, Start Free)
153
+ - Error tone? (apologetic, matter-of-fact, helpful)
154
+
155
+ ### Phase 5: Custom Elements
156
+
157
+ Based on your answers, I'll suggest custom elements:
158
+
159
+ ```
160
+ Based on your "technical + snappy" preferences, consider:
161
+
162
+ [x] Terminal-style code animations
163
+ [x] Typing effect for hero text
164
+ [ ] Matrix rain background
165
+ [x] Syntax-highlighted code blocks
166
+ [ ] ASCII art elements
167
+ [ ] Glitch effects
168
+
169
+ Select the ones you want (comma-separated): > 1,2,4
170
+ ```
171
+
172
+ ### Phase 6: Generation
173
+
174
+ After interview completion:
175
+
176
+ 1. Generate `BRAND_GUIDE.md` with all specifications
177
+ 2. Create Brand Page with live examples
178
+ 3. Configure ShadCN theme variables
179
+ 4. Update registry with brand metadata
180
+ 5. Add to dashboard navigation
181
+
182
+ ## Brand Page Structure
183
+
184
+ ```tsx
185
+ // src/app/brand/page.tsx
186
+ export default function BrandPage() {
187
+ return (
188
+ <div className="container py-12 space-y-16">
189
+ {/* Header */}
190
+ <BrandHeader />
191
+
192
+ {/* Color Palette */}
193
+ <ColorPalette />
194
+
195
+ {/* Typography Scale */}
196
+ <TypographyShowcase />
197
+
198
+ {/* Components */}
199
+ <section>
200
+ <h2>Components</h2>
201
+ <ButtonStates />
202
+ <FormElements />
203
+ <CardVariations />
204
+ <NavigationExamples />
205
+ </section>
206
+
207
+ {/* Animations */}
208
+ <section>
209
+ <h2>Motion</h2>
210
+ <AnimationExamples />
211
+ <LoadingStates />
212
+ <MicroInteractions />
213
+ </section>
214
+
215
+ {/* Custom Elements */}
216
+ <section>
217
+ <h2>Custom Elements</h2>
218
+ {/* Based on interview: terminal, gradients, etc. */}
219
+ <CustomElementShowcase />
220
+ </section>
221
+
222
+ {/* Voice Examples */}
223
+ <section>
224
+ <h2>Voice & Tone</h2>
225
+ <VoiceExamples />
226
+ <TerminologyGuide />
227
+ <DosAndDonts />
228
+ </section>
229
+ </div>
230
+ );
231
+ }
232
+ ```
233
+
234
+ ## ShadCN Integration
235
+
236
+ All UI uses ShadCN components configured with brand values:
237
+
238
+ ```bash
239
+ # Initialize ShadCN with brand theme
240
+ npx shadcn@latest init
241
+
242
+ # Components auto-use brand colors
243
+ npx shadcn@latest add button input card
244
+ ```
245
+
246
+ Theme enforced via `tailwind.config.ts`:
247
+ ```ts
248
+ theme: {
249
+ extend: {
250
+ colors: {
251
+ // Generated from brand interview
252
+ primary: "hsl(var(--primary))",
253
+ secondary: "hsl(var(--secondary))",
254
+ accent: "hsl(var(--accent))",
255
+ },
256
+ fontFamily: {
257
+ // From brand interview
258
+ sans: ["var(--font-sans)", ...defaultTheme.fontFamily.sans],
259
+ },
260
+ animation: {
261
+ // Brand-specific animations
262
+ "fade-in": "fadeIn var(--animation-duration) var(--animation-easing)",
263
+ }
264
+ }
265
+ }
266
+ ```
267
+
268
+ ## Freshness & Updates
269
+
270
+ Brand guide tracked with freshness:
271
+ - Last updated timestamp in registry
272
+ - `/hustle-brand` shows time since last update
273
+ - Prompts for review if >30 days old
274
+ - Version history for rollback
275
+
276
+ ## Commands
277
+
278
+ ```bash
279
+ # Create new brand guide (full interview)
280
+ /hustle-brand
281
+
282
+ # Quick edit specific section
283
+ /hustle-brand --edit colors
284
+ /hustle-brand --edit typography
285
+ /hustle-brand --edit voice
286
+
287
+ # View current brand summary
288
+ /hustle-brand --status
289
+
290
+ # Export brand kit
291
+ /hustle-brand --export
292
+
293
+ # Reset and start over
294
+ /hustle-brand --reset
295
+ ```
296
+
297
+ ## Dashboard Integration
298
+
299
+ Brand page linked from Hustle Dev Dashboard:
300
+ - "Brand Guide" card with last updated date
301
+ - Quick preview of primary colors
302
+ - Link to full brand page
303
+ - Edit button launching `/hustle-brand --edit`
304
+
305
+ ## Installation Wizard Integration
306
+
307
+ During initial setup:
308
+
309
+ ```
310
+ ═══════════════════════════════════════════════════════════════════
311
+ HUSTLE DEV TOOLS - SETUP
312
+ ═══════════════════════════════════════════════════════════════════
313
+
314
+ Step 3 of 8: Brand Guide Setup
315
+
316
+ A brand guide ensures all AI-generated UI looks consistent.
317
+ This is HIGHLY RECOMMENDED but can be done later.
318
+
319
+ [1] Create brand guide now (5-10 min interview)
320
+ [2] Use defaults (can customize later with /hustle-brand)
321
+ [3] Skip for now (warning: UI may be inconsistent)
322
+
323
+ Choice? >
324
+ ═══════════════════════════════════════════════════════════════════
325
+ ```
326
+
327
+ ## Example Output
328
+
329
+ After completing the interview:
330
+
331
+ ```
332
+ ═══════════════════════════════════════════════════════════════════
333
+ BRAND GUIDE CREATED
334
+ ═══════════════════════════════════════════════════════════════════
335
+
336
+ Files Created:
337
+ ✅ .claude/BRAND_GUIDE.md (comprehensive spec)
338
+ ✅ src/app/brand/page.tsx (live showcase)
339
+ ✅ src/lib/theme.ts (ShadCN config)
340
+ ✅ src/styles/brand.css (CSS variables)
341
+
342
+ Brand Summary:
343
+ ───────────────────────────────────────
344
+ Primary: #6366F1 (Indigo)
345
+ Secondary: #F1F5F9 (Slate)
346
+ Font: Inter
347
+ Motion: Snappy (200ms ease-out)
348
+ Voice: Professional & Helpful
349
+ ───────────────────────────────────────
350
+
351
+ Custom Elements Included:
352
+ • Terminal-style code animations
353
+ • Gradient text effects
354
+ • Skeleton loaders
355
+
356
+ Quick Links:
357
+ 📖 Brand Page: http://localhost:3000/brand
358
+ 📝 Edit Brand: /hustle-brand --edit
359
+ 🎨 Dashboard: http://localhost:3000/hustle-dev-dashboard
360
+
361
+ ═══════════════════════════════════════════════════════════════════
362
+ ```
363
+
364
+ ## See Also
365
+
366
+ - `/hustle-ui-create` - Uses brand guide for components
367
+ - `/hustle-ui-create-page` - Uses brand guide for pages
368
+ - `/shadcn` - ShadCN documentation and component installation