@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.
- package/.claude/adr-requests/.gitkeep +10 -0
- package/.claude/agents/adr-researcher.md +109 -0
- package/.claude/agents/visual-analyzer.md +183 -0
- package/.claude/api-dev-state.json +7 -463
- package/.claude/documentation-audit.json +114 -0
- package/.claude/registry.json +289 -0
- package/.claude/settings.json +45 -1
- package/.claude/workflow-logs/None.json +49 -0
- package/.claude/workflow-logs/session-20251230-143727.json +106 -0
- package/.skills/adr-deep-research/SKILL.md +351 -0
- package/.skills/api-create/SKILL.md +116 -17
- package/.skills/api-research/SKILL.md +130 -0
- package/.skills/docs-sync/SKILL.md +260 -0
- package/.skills/docs-update/SKILL.md +205 -0
- package/.skills/hustle-brand/SKILL.md +368 -0
- package/.skills/hustle-build/SKILL.md +786 -0
- package/.skills/hustle-build-review/SKILL.md +518 -0
- package/.skills/parallel-spawn/SKILL.md +212 -0
- package/.skills/ralph-continue/SKILL.md +151 -0
- package/.skills/ralph-loop/SKILL.md +341 -0
- package/.skills/ralph-status/SKILL.md +87 -0
- package/.skills/refactor/SKILL.md +59 -0
- package/.skills/shadcn/SKILL.md +522 -0
- package/.skills/test-all/SKILL.md +210 -0
- package/.skills/test-builds/SKILL.md +208 -0
- package/.skills/test-debug/SKILL.md +212 -0
- package/.skills/test-e2e/SKILL.md +168 -0
- package/.skills/test-review/SKILL.md +707 -0
- package/.skills/test-unit/SKILL.md +143 -0
- package/.skills/test-visual/SKILL.md +301 -0
- package/.skills/token-report/SKILL.md +132 -0
- package/CHANGELOG.md +575 -0
- package/README.md +426 -56
- package/bin/cli.js +1538 -88
- package/commands/hustle-api-create.md +22 -0
- package/commands/hustle-build.md +259 -0
- package/commands/hustle-combine.md +81 -2
- package/commands/hustle-ui-create-page.md +84 -2
- package/commands/hustle-ui-create.md +82 -2
- package/hooks/__pycache__/api-workflow-check.cpython-314.pyc +0 -0
- package/hooks/__pycache__/auto-answer.cpython-314.pyc +0 -0
- package/hooks/__pycache__/cache-research.cpython-314.pyc +0 -0
- package/hooks/__pycache__/check-api-routes.cpython-314.pyc +0 -0
- package/hooks/__pycache__/check-playwright-setup.cpython-314.pyc +0 -0
- package/hooks/__pycache__/check-storybook-setup.cpython-314.pyc +0 -0
- package/hooks/__pycache__/check-update.cpython-314.pyc +0 -0
- package/hooks/__pycache__/completion-promise-detector.cpython-314.pyc +0 -0
- package/hooks/__pycache__/context-capacity-warning.cpython-314.pyc +0 -0
- package/hooks/__pycache__/detect-interruption.cpython-314.pyc +0 -0
- package/hooks/__pycache__/docs-update-check.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-a11y-audit.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-brand-guide.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-component-type-confirm.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-deep-research.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-disambiguation.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-documentation.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-dry-run.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-environment.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-external-research.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-freshness.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-interview.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-page-components.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-page-data-schema.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-questions-sourced.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-refactor.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-research.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-schema-from-interview.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-schema.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-scope.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-tdd-red.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-ui-disambiguation.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-ui-interview.cpython-314.pyc +0 -0
- package/hooks/__pycache__/enforce-verify.cpython-314.pyc +0 -0
- package/hooks/__pycache__/generate-adr-options.cpython-314.pyc +0 -0
- package/hooks/__pycache__/generate-manifest-entry.cpython-314.pyc +0 -0
- package/hooks/__pycache__/hook_utils.cpython-314.pyc +0 -0
- package/hooks/__pycache__/notify-input-needed.cpython-314.pyc +0 -0
- package/hooks/__pycache__/notify-phase-complete.cpython-314.pyc +0 -0
- package/hooks/__pycache__/ntfy-on-question.cpython-314.pyc +0 -0
- package/hooks/__pycache__/orchestrator-completion.cpython-314.pyc +0 -0
- package/hooks/__pycache__/orchestrator-handoff.cpython-314.pyc +0 -0
- package/hooks/__pycache__/orchestrator-session-startup.cpython-314.pyc +0 -0
- package/hooks/__pycache__/parallel-orchestrator.cpython-314.pyc +0 -0
- package/hooks/__pycache__/periodic-reground.cpython-314.pyc +0 -0
- package/hooks/__pycache__/project-document-prompt.cpython-314.pyc +0 -0
- package/hooks/__pycache__/remote-question-proxy.cpython-314.pyc +0 -0
- package/hooks/__pycache__/remote-question-server.cpython-314.pyc +0 -0
- package/hooks/__pycache__/run-code-review.cpython-314.pyc +0 -0
- package/hooks/__pycache__/run-visual-qa.cpython-314.pyc +0 -0
- package/hooks/__pycache__/session-logger.cpython-314.pyc +0 -0
- package/hooks/__pycache__/session-startup.cpython-314.pyc +0 -0
- package/hooks/__pycache__/track-scope-coverage.cpython-314.pyc +0 -0
- package/hooks/__pycache__/track-token-usage.cpython-314.pyc +0 -0
- package/hooks/__pycache__/track-tool-use.cpython-314.pyc +0 -0
- package/hooks/__pycache__/update-adr-decision.cpython-314.pyc +0 -0
- package/hooks/__pycache__/update-api-showcase.cpython-314.pyc +0 -0
- package/hooks/__pycache__/update-registry.cpython-314.pyc +0 -0
- package/hooks/__pycache__/update-ui-showcase.cpython-314.pyc +0 -0
- package/hooks/__pycache__/verify-after-green.cpython-314.pyc +0 -0
- package/hooks/__pycache__/verify-implementation.cpython-314.pyc +0 -0
- package/hooks/api-workflow-check.py +34 -0
- package/hooks/auto-answer.py +305 -0
- package/hooks/check-update.py +132 -0
- package/hooks/completion-promise-detector.py +293 -0
- package/hooks/context-capacity-warning.py +171 -0
- package/hooks/docs-update-check.py +120 -0
- package/hooks/enforce-dry-run.py +134 -0
- package/hooks/enforce-external-research.py +25 -0
- package/hooks/enforce-interview.py +20 -0
- package/hooks/generate-adr-options.py +282 -0
- package/hooks/hook_utils.py +609 -0
- package/hooks/lib/__pycache__/__init__.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/greptile.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/ntfy.cpython-314.pyc +0 -0
- package/hooks/ntfy-on-question.py +240 -0
- package/hooks/orchestrator-completion.py +313 -0
- package/hooks/orchestrator-handoff.py +267 -0
- package/hooks/orchestrator-session-startup.py +146 -0
- package/hooks/parallel-orchestrator.py +451 -0
- package/hooks/periodic-reground.py +270 -67
- package/hooks/project-document-prompt.py +302 -0
- package/hooks/remote-question-proxy.py +284 -0
- package/hooks/remote-question-server.py +1224 -0
- package/hooks/run-code-review.py +176 -29
- package/hooks/run-visual-qa.py +338 -0
- package/hooks/session-logger.py +27 -1
- package/hooks/session-startup.py +113 -0
- package/hooks/update-adr-decision.py +236 -0
- package/hooks/update-api-showcase.py +13 -1
- package/hooks/update-testing-checklist.py +195 -0
- package/hooks/update-ui-showcase.py +13 -1
- package/package.json +7 -3
- package/scripts/extract-schema-docs.cjs +322 -0
- package/templates/.skills/hustle-interview/SKILL.md +174 -0
- package/templates/CLAUDE-SECTION.md +89 -64
- package/templates/adr-viewer/_components/ADRViewer.tsx +326 -0
- package/templates/api-dev-state.json +33 -1
- package/templates/api-showcase/_components/APIModal.tsx +100 -8
- package/templates/api-showcase/_components/APIShowcase.tsx +36 -4
- package/templates/api-showcase/_components/APITester.tsx +367 -58
- package/templates/brand-page/page.tsx +645 -0
- package/templates/component/Component.visual.spec.ts +30 -24
- package/templates/docs/page.tsx +230 -0
- package/templates/eslint-plugin-zod-schema/index.js +446 -0
- package/templates/eslint-plugin-zod-schema/package.json +26 -0
- package/templates/github-workflows/security.yml +274 -0
- package/templates/hustle-build-defaults.json +136 -0
- package/templates/hustle-dev-dashboard/page.tsx +365 -0
- package/templates/page/page.e2e.test.ts +30 -26
- package/templates/performance-budgets.json +63 -5
- package/templates/playwright-report/page.tsx +258 -0
- package/templates/registry.json +279 -3
- package/templates/review-dashboard/page.tsx +510 -0
- package/templates/settings.json +155 -7
- package/templates/test-results/page.tsx +237 -0
- package/templates/typedoc.json +19 -0
- package/templates/ui-showcase/_components/UIShowcase.tsx +48 -1
- package/templates/ui-showcase/_components/VisualTestingDashboard.tsx +579 -0
- 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
|