get-shit-pretty 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -9
  3. package/agents/{gsp-accessibility-auditor.md → gsp-auditor.md} +17 -14
  4. package/agents/gsp-brand-auditor.md +97 -0
  5. package/agents/gsp-brand-strategist.md +64 -27
  6. package/agents/{gsp-design-engineer.md → gsp-builder.md} +12 -9
  7. package/agents/gsp-campaign-director.md +50 -11
  8. package/agents/gsp-codebase-scanner.md +171 -0
  9. package/agents/gsp-critic.md +18 -13
  10. package/agents/gsp-designer.md +126 -0
  11. package/agents/gsp-identity-designer.md +90 -0
  12. package/agents/gsp-project-researcher.md +102 -0
  13. package/agents/gsp-researcher.md +54 -18
  14. package/agents/gsp-reviewer.md +66 -0
  15. package/agents/gsp-scoper.md +103 -0
  16. package/agents/gsp-system-architect.md +91 -26
  17. package/agents/gsp-verbal-strategist.md +84 -0
  18. package/bin/install.js +161 -5
  19. package/commands/gsp/brand-audit.md +116 -0
  20. package/commands/gsp/brand-discover.md +17 -0
  21. package/commands/gsp/brand-identity.md +200 -0
  22. package/commands/gsp/brand-patterns.md +223 -0
  23. package/commands/gsp/brand-research.md +99 -0
  24. package/commands/gsp/brand-strategy.md +140 -0
  25. package/commands/gsp/brand-system.md +17 -0
  26. package/commands/gsp/brand-verbal.md +94 -0
  27. package/commands/gsp/brand.md +9 -83
  28. package/commands/gsp/brief.md +142 -0
  29. package/commands/gsp/build.md +49 -41
  30. package/commands/gsp/critique.md +140 -0
  31. package/commands/gsp/design.md +65 -50
  32. package/commands/gsp/discover.md +17 -0
  33. package/commands/gsp/doctor.md +319 -0
  34. package/commands/gsp/help.md +85 -38
  35. package/commands/gsp/identity.md +18 -0
  36. package/commands/gsp/launch.md +55 -35
  37. package/commands/gsp/new-project.md +5 -86
  38. package/commands/gsp/new.md +237 -0
  39. package/commands/gsp/plan.md +18 -0
  40. package/commands/gsp/progress.md +58 -26
  41. package/commands/gsp/research.md +91 -34
  42. package/commands/gsp/review.md +115 -59
  43. package/commands/gsp/strategy.md +18 -0
  44. package/commands/gsp/system.md +8 -65
  45. package/commands/gsp/update.md +102 -0
  46. package/commands/gsp/verbal.md +18 -0
  47. package/package.json +2 -2
  48. package/prompts/01-design-system-architect.md +35 -3
  49. package/prompts/03-ui-ux-pattern-master.md +11 -1
  50. package/prompts/09-design-to-code-translator.md +9 -0
  51. package/prompts/10-project-scoper.md +51 -0
  52. package/prompts/11-deliverable-reviewer.md +58 -0
  53. package/prompts/12-project-researcher.md +57 -0
  54. package/references/brand-archetypes.md +151 -0
  55. package/references/brand-prism.md +138 -0
  56. package/references/chunk-format.md +48 -0
  57. package/references/design-trends.md +47 -0
  58. package/references/positioning-frameworks.md +197 -0
  59. package/references/questioning.md +1 -1
  60. package/references/trends/aurora-gradients.md +245 -0
  61. package/references/trends/bento-grid.md +473 -0
  62. package/references/trends/claymorphism.md +232 -0
  63. package/references/trends/dark-mode-oled.md +282 -0
  64. package/references/trends/glassmorphism.md +455 -0
  65. package/references/trends/kinetic-typography.md +277 -0
  66. package/references/trends/liquid-glass.md +236 -0
  67. package/references/trends/micro-interactions.md +307 -0
  68. package/references/trends/neubrutalism.md +276 -0
  69. package/references/voice-tone.md +193 -0
  70. package/scripts/gsp-statusline.js +1 -1
  71. package/templates/branding/brief.md +74 -0
  72. package/templates/branding/config.json +26 -0
  73. package/templates/branding/roadmap.md +43 -0
  74. package/templates/branding/state.md +29 -0
  75. package/templates/changelog.md +4 -0
  76. package/templates/codebase-inventory.md +71 -0
  77. package/templates/exports-index.md +93 -0
  78. package/templates/manifest.md +19 -0
  79. package/templates/phases/brief.md +53 -0
  80. package/templates/phases/build.md +24 -48
  81. package/templates/phases/critique.md +68 -0
  82. package/templates/phases/design.md +54 -32
  83. package/templates/phases/discover.md +60 -0
  84. package/templates/phases/identity.md +78 -0
  85. package/templates/phases/launch.md +48 -55
  86. package/templates/phases/research.md +75 -47
  87. package/templates/phases/review.md +27 -75
  88. package/templates/phases/strategy.md +67 -0
  89. package/templates/phases/system.md +84 -78
  90. package/templates/phases/verbal.md +63 -0
  91. package/templates/{project.md → projects/brief.md} +13 -17
  92. package/templates/projects/config.json +32 -0
  93. package/templates/projects/roadmap.md +59 -0
  94. package/templates/{state.md → projects/state.md} +19 -9
  95. package/agents/gsp-spec-engineer.md +0 -121
  96. package/agents/gsp-ui-designer.md +0 -59
  97. package/commands/gsp/spec.md +0 -88
  98. package/templates/config.json +0 -26
  99. package/templates/phases/brand.md +0 -60
  100. package/templates/phases/spec.md +0 -46
  101. package/templates/roadmap.md +0 -62
@@ -0,0 +1,193 @@
1
+ # Voice & Tone Framework
2
+
3
+ ## Voice vs Tone
4
+
5
+ **Voice** is the consistent personality of the brand. It doesn't change.
6
+ **Tone** is how voice flexes based on context. It adapts to situation.
7
+
8
+ Analogy: Your voice is who you are. Your tone is how you speak at a wedding vs a funeral vs a bar.
9
+
10
+ ---
11
+
12
+ ## 1. Voice Attribute Framework
13
+
14
+ ### Defining Voice Attributes
15
+ Choose 3-5 attributes that describe how the brand communicates. Each attribute needs:
16
+
17
+ 1. **The attribute** (e.g., "Confident")
18
+ 2. **What it means** (e.g., "We speak with authority and certainty")
19
+ 3. **What it doesn't mean** (e.g., "Not arrogant, dismissive, or condescending")
20
+ 4. **Example** (e.g., "We know this works" vs "We're the best and everyone else is wrong")
21
+
22
+ ### Template
23
+
24
+ | Attribute | Means | Doesn't Mean | Do | Don't |
25
+ |-----------|-------|-------------|-----|-------|
26
+ | Confident | Assured, knowledgeable | Arrogant, dismissive | "Here's the best approach" | "Obviously, anyone would know" |
27
+ | Warm | Friendly, approachable | Overly casual, unprofessional | "We're here to help" | "Hey bestie! lol" |
28
+ | Clear | Direct, simple | Dumbed down, patronizing | "Sign up in 3 steps" | "Even a child could do it" |
29
+
30
+ ### Common Voice Attribute Pairs
31
+ - **Confident but not arrogant** — authority without superiority
32
+ - **Playful but not childish** — fun without being unserious
33
+ - **Expert but not elitist** — knowledgeable without excluding
34
+ - **Warm but not saccharine** — friendly without being fake
35
+ - **Bold but not aggressive** — daring without being off-putting
36
+ - **Casual but not sloppy** — relaxed without being unprofessional
37
+ - **Technical but not jargony** — precise without being inaccessible
38
+
39
+ ---
40
+
41
+ ## 2. Tone Spectrum
42
+
43
+ ### The 5 Spectrums
44
+
45
+ Plot the brand's default position on each scale (1-5):
46
+
47
+ ```
48
+ Formal 1 ─── 2 ─── 3 ─── 4 ─── 5 Casual
49
+ Serious 1 ─── 2 ─── 3 ─── 4 ─── 5 Playful
50
+ Authoritative 1 ─── 2 ─── 3 ─── 4 ─── 5 Friendly
51
+ Technical 1 ─── 2 ─── 3 ─── 4 ─── 5 Simple
52
+ Reserved 1 ─── 2 ─── 3 ─── 4 ─── 5 Enthusiastic
53
+ ```
54
+
55
+ ### Tone Shift by Context
56
+
57
+ The default position shifts based on context. Map the range:
58
+
59
+ | Context | Formal↔Casual | Serious↔Playful | Auth↔Friendly |
60
+ |---------|:------------:|:--------------:|:-------------:|
61
+ | Homepage | 3 | 3 | 3 |
62
+ | Error message | 2 | 2 | 4 |
63
+ | Success state | 3 | 4 | 4 |
64
+ | Marketing email | 4 | 4 | 3 |
65
+ | Legal/terms | 1 | 1 | 2 |
66
+ | Social media | 4 | 5 | 5 |
67
+ | Customer support | 2 | 2 | 5 |
68
+ | Onboarding | 3 | 3 | 4 |
69
+ | Empty state | 3 | 4 | 4 |
70
+ | Loading state | 3 | 3 | 3 |
71
+
72
+ ---
73
+
74
+ ## 3. Voice Chart (Do / Don't)
75
+
76
+ ### Per-Attribute Chart
77
+
78
+ For each voice attribute, provide concrete writing examples:
79
+
80
+ **Attribute: Confident**
81
+
82
+ | Do | Don't |
83
+ |-----|-------|
84
+ | "Your data is protected with 256-bit encryption" | "We think your data should be pretty safe" |
85
+ | "Here's what we recommend" | "You might maybe want to consider" |
86
+ | "This will save you 3 hours per week" | "This could potentially help save some time" |
87
+
88
+ **Attribute: Warm**
89
+
90
+ | Do | Don't |
91
+ |-----|-------|
92
+ | "Welcome back! Here's what's new" | "User session resumed. New items: 3" |
93
+ | "We're here if you need anything" | "Submit a ticket for assistance" |
94
+ | "Great choice!" | "Selection confirmed" |
95
+
96
+ ### Grammar & Style Rules
97
+ - **Contractions:** Yes/No (Casual brands: yes. Formal: no.)
98
+ - **Oxford comma:** Yes/No
99
+ - **Exclamation marks:** Never / Sparingly / Freely
100
+ - **Emoji:** Never / In social only / Everywhere
101
+ - **First person:** "We" / "I" / Varies
102
+ - **Addressing user:** "You" / Name / Formal
103
+ - **Sentence length:** Short (avg 15 words) / Medium (20) / Long (25+)
104
+ - **Jargon:** Avoid / Define on first use / Use freely (technical audience)
105
+
106
+ ---
107
+
108
+ ## 4. Messaging Matrix
109
+
110
+ ### Structure
111
+
112
+ | Audience Segment | Key Message | Supporting Points | Tone Shift | Proof Point | Priority Channel |
113
+ |-----------------|-------------|-------------------|-----------|------------|-----------------|
114
+ | Primary persona | Core value prop for this segment | 2-3 supporting messages | How tone adapts | Evidence/social proof | Where to reach them |
115
+
116
+ ### Building the Matrix
117
+ 1. List audience segments from brand brief / personas
118
+ 2. For each segment, identify their primary motivation (what they care about most)
119
+ 3. Craft a key message that connects brand benefit to their motivation
120
+ 4. Add supporting points that build the case
121
+ 5. Note how tone shifts for this audience
122
+ 6. Provide proof points (data, testimonials, case studies)
123
+ 7. Identify the primary channel to reach them
124
+
125
+ ---
126
+
127
+ ## 5. Content Types Reference
128
+
129
+ ### Tone Guidelines by Content Type
130
+
131
+ **Headlines:** Bold, concise, lead with benefit. 6-10 words.
132
+ **Body copy:** Conversational, scannable, substantive. Short paragraphs.
133
+ **CTAs:** Action-oriented, specific, urgent without pressure. 2-5 words.
134
+ **Error messages:** Helpful, blame-free, solution-focused. State what happened + what to do.
135
+ **Success messages:** Celebratory, brief, confirm what happened. Move forward.
136
+ **Empty states:** Encouraging, instructional, not apologetic. Guide next action.
137
+ **Tooltips:** Ultra-concise, single purpose, no fluff. One sentence.
138
+ **Notifications:** Contextual, actionable, respectful of attention. Clear priority.
139
+ **Onboarding:** Friendly, progressive, encouraging. Build confidence.
140
+ **Legal:** Clear, plain language where possible. Accessible but accurate.
141
+
142
+ ---
143
+
144
+ ## 6. Brand Narrative Arc
145
+
146
+ ### The 4-Part Story Structure
147
+
148
+ **1. Setup (Context)**
149
+ Establish the world as it is. What's the status quo? What does the audience experience daily?
150
+
151
+ **2. Tension (Problem)**
152
+ Introduce the conflict. What's broken, frustrating, or missing? Why can't things stay the way they are?
153
+
154
+ **3. Resolution (Solution)**
155
+ Present the brand as the answer. How does it address the tension? What changes?
156
+
157
+ **4. Transformation (Outcome)**
158
+ Show the new reality. How is life different now? What has the audience gained?
159
+
160
+ ### Example: Slack
161
+ 1. **Setup:** Teams communicate through email, meetings, and scattered tools
162
+ 2. **Tension:** Information is lost, context-switching is exhausting, work feels fragmented
163
+ 3. **Resolution:** Slack brings all communication into organized channels with searchable history
164
+ 4. **Transformation:** Teams move faster, stay aligned, and actually enjoy working together
165
+
166
+ ---
167
+
168
+ ## 7. Naming Conventions
169
+
170
+ ### Naming Principles
171
+ 1. **Memorability:** Easy to say, spell, and remember
172
+ 2. **Meaning:** Communicates something about the brand or product
173
+ 3. **Distinctiveness:** Different from competitors
174
+ 4. **Scalability:** Works as the brand grows
175
+ 5. **Availability:** Domain, social handles, trademarks
176
+
177
+ ### Naming Approaches
178
+ - **Descriptive:** Says what it does (General Electric, PayPal)
179
+ - **Suggestive:** Hints at benefit (Pinterest, Slack)
180
+ - **Abstract:** Invented word (Kodak, Xerox)
181
+ - **Acronym:** Initials (IBM, BMW)
182
+ - **Founder:** Named after creator (Ford, Chanel)
183
+ - **Metaphor:** Borrowed meaning (Amazon, Apple)
184
+
185
+ ### Product/Feature Naming
186
+ - Consistent pattern across products (Apple: i-prefix, Google: single words)
187
+ - Hierarchy should be clear (Brand > Product > Feature > Sub-feature)
188
+ - Internal names vs external names — keep them separate
189
+
190
+ ## Sources
191
+ - Flaxton, K. (2020). *Voice and Tone in UX Writing*. A List Apart.
192
+ - Content Design London. *Content Design* methodology.
193
+ - NN/g. *Writing for the Web: Tone of Voice* research.
@@ -151,7 +151,7 @@ process.stdin.on('end', () => {
151
151
  (lParts[0] === iParts[0] && lParts[1] > iParts[1]) ||
152
152
  (lParts[0] === iParts[0] && lParts[1] === iParts[1] && lParts[2] > iParts[2]);
153
153
  if (isNewer) {
154
- updateTag = ` \x1b[33m\u2191 v${latest}\x1b[0m`;
154
+ updateTag = ` \x1b[33m\u2191 /gsp:update\x1b[0m`;
155
155
  }
156
156
  }
157
157
  }
@@ -0,0 +1,74 @@
1
+ # Brand Brief
2
+
3
+ ## Brand
4
+ - **Name:** {BRAND_NAME}
5
+ - **Date:** {DATE}
6
+
7
+ ## Company
8
+ - **Company name:** {COMPANY}
9
+ - **Industry:** {INDUSTRY}
10
+ - **Founded:** {YEAR}
11
+ - **Size:** {SIZE}
12
+ - **Existing brand?** {YES_NO}
13
+
14
+ ## Brand Mode
15
+ - **Mode:** {new | evolve}
16
+ - **Reason:** {why — market shift, audience change, product pivot, staleness}
17
+
18
+ ### Existing Brand State (evolve only)
19
+ - **Current brand age:** {years}
20
+ - **Existing guidelines?** {yes — description | no}
21
+ - **Brand equity:** {what's working}
22
+ - **Pain points:** {what's not working}
23
+
24
+ ### Evolution Scope (evolve only)
25
+ - **Preserve:** {elements to keep}
26
+ - **Evolve:** {elements to refresh}
27
+ - **Replace:** {elements to redo}
28
+
29
+ ## Mission & Vision
30
+ - **Mission:** {MISSION}
31
+ - **Vision:** {VISION}
32
+ - **Values:** {VALUES}
33
+
34
+ ## Audience
35
+ - **Primary:** {PRIMARY_AUDIENCE}
36
+ - **Secondary:** {SECONDARY_AUDIENCE}
37
+ - **Demographics:** {DEMOGRAPHICS}
38
+ - **Psychographics:** {PSYCHOGRAPHICS}
39
+
40
+ ## Personality
41
+ - **Brand personality:** {PERSONALITY}
42
+ - **Tone:** {TONE}
43
+ - **How should the brand feel?** {FEELING}
44
+
45
+ ## Competitive Landscape
46
+ - **Direct competitors:** {COMPETITORS}
47
+ - **What sets you apart?** {DIFFERENTIATORS}
48
+ - **Brands admired:** {BRANDS}
49
+
50
+ ## Inspiration
51
+ - **Styles liked:** {STYLES}
52
+ - **Styles to avoid:** {AVOID}
53
+ - **Existing assets:** {ASSETS}
54
+
55
+ ## Constraints
56
+ - **Timeline:** {TIMELINE}
57
+ - **Budget:** {BUDGET}
58
+ - **Must-haves:** {MUST_HAVES}
59
+ - **Non-negotiables:** {NON_NEGOTIABLES}
60
+
61
+ ## Goals
62
+ - **Business goal:** {BUSINESS_GOAL}
63
+ - **Brand goal:** {BRAND_GOAL}
64
+ - **Success metrics:** {METRICS}
65
+
66
+ ## Deliverables
67
+ - [ ] Discovery & research
68
+ - [ ] Brand strategy
69
+ - [ ] Verbal identity
70
+ - [ ] Visual identity
71
+ - [ ] Color palettes
72
+
73
+ ## Notes
74
+ {ADDITIONAL_NOTES}
@@ -0,0 +1,26 @@
1
+ {
2
+ "version": "0.4.0",
3
+ "project_type": "brand",
4
+ "brand": {
5
+ "name": "",
6
+ "created": ""
7
+ },
8
+ "brand_mode": "new",
9
+ "evolution_scope": {
10
+ "preserve": [],
11
+ "evolve": [],
12
+ "replace": []
13
+ },
14
+ "phases": {
15
+ "audit": { "status": "skipped", "output": "audit/" },
16
+ "discover": { "status": "pending", "output": "discover/" },
17
+ "strategy": { "status": "pending", "output": "strategy/" },
18
+ "verbal": { "status": "pending", "output": "verbal/" },
19
+ "identity": { "status": "pending", "output": "identity/" },
20
+ "system": { "status": "pending", "output": "system/" }
21
+ },
22
+ "system_config": {
23
+ "tech_stack": "",
24
+ "system_strategy": "generate"
25
+ }
26
+ }
@@ -0,0 +1,43 @@
1
+ # Brand Roadmap
2
+
3
+ ## Brand: {BRAND_NAME}
4
+ **Created:** {DATE}
5
+
6
+ ---
7
+
8
+ ## Phase 0: Audit (optional)
9
+ **Status:** skipped
10
+ **Command:** `/gsp:brand-audit`
11
+ **Input:** Existing brand assets + BRIEF.md
12
+ **Output:** `audit/`
13
+ **Goal:** Audit existing brand. Assess coherence, market fit, equity. Produce evolution map.
14
+ **When:** Run when evolving an existing brand. Skip for new brands.
15
+
16
+ ## Phase 1: Research
17
+ **Status:** pending
18
+ **Command:** `/gsp:brand-research`
19
+ **Input:** BRIEF.md
20
+ **Output:** `discover/`
21
+ **Goal:** Research market landscape, audience personas, competitive positioning, trends.
22
+
23
+ ## Phase 2: Strategy
24
+ **Status:** pending
25
+ **Command:** `/gsp:brand-strategy`
26
+ **Input:** BRIEF.md + discover/
27
+ **Output:** `strategy/`
28
+ **Goal:** Define brand positioning — archetype, positioning map, personality, messaging.
29
+
30
+ ## Phases 3-4: Identity (Verbal + Visual)
31
+ **Status:** pending
32
+ **Command:** `/gsp:brand-identity`
33
+ **Input:** BRIEF.md + strategy/
34
+ **Output:** `verbal/` + `identity/` + `palettes.json`
35
+ **Goal:** Build verbal and visual identity — voice, tone, logo, color, typography.
36
+ **Granular re-run:** `/gsp:brand-verbal` (phase 3 only)
37
+
38
+ ## Phase 5: Patterns (Design System)
39
+ **Status:** pending
40
+ **Command:** `/gsp:brand-patterns`
41
+ **Input:** Identity + Strategy + Verbal + BRIEF.md
42
+ **Output:** `system/` (foundations, components, tokens.json) + `preview.html`
43
+ **Goal:** Build design system, generate brand preview, transition to project diamond.
@@ -0,0 +1,29 @@
1
+ # Brand State
2
+
3
+ ## Brand: {BRAND_NAME}
4
+ **Started:** {DATE}
5
+ **Mode:** {new | evolve}
6
+ **Current Phase:** 0 (Not started)
7
+ **Prettiness Level:** 0%
8
+
9
+ ---
10
+
11
+ ## Phase Progress
12
+
13
+ | # | Phase | Status | Started | Completed |
14
+ |---|-------|--------|---------|-----------|
15
+ | 0 | Audit | skipped | — | — |
16
+ | 1 | Discover | pending | — | — |
17
+ | 2 | Strategy | pending | — | — |
18
+ | 3 | Verbal | pending | — | — |
19
+ | 4 | Identity | pending | — | — |
20
+ | 5 | System | pending | — | — |
21
+
22
+ ## Status Values
23
+ <!-- pending | in-progress | complete | needs-revision | skipped -->
24
+
25
+ ## Decisions
26
+ <!-- Key brand decisions and rationale -->
27
+
28
+ ## Notes
29
+ <!-- Session notes, observations, blockers -->
@@ -0,0 +1,4 @@
1
+ # Design Changelog
2
+ > One entry per completed project. Scan this for quick codebase history.
3
+
4
+ <!-- newest first -->
@@ -0,0 +1,71 @@
1
+ # Codebase Inventory
2
+
3
+ > Auto-generated by `/gsp:new` during codebase analysis.
4
+ > Downstream phases consume this instead of rescanning.
5
+
6
+ ## Classification
7
+
8
+ **Codebase type:** `{greenfield | boilerplate | existing}`
9
+
10
+ **Rationale:** {Why this classification — e.g., "Fresh create-next-app with no custom components", "Has 12 custom components and a theme system"}
11
+
12
+ ## Tech Stack
13
+
14
+ | Layer | Value |
15
+ |-------|-------|
16
+ | Framework | {e.g., Next.js 14, Expo 51, Vite + React} |
17
+ | Language | {e.g., TypeScript, JavaScript} |
18
+ | Styling | {e.g., Tailwind CSS, CSS Modules, StyleSheet} |
19
+ | UI Kit | {e.g., shadcn/ui, RN Reusables, none} |
20
+ | Package Manager | {e.g., npm, pnpm, bun, yarn} |
21
+ | Build Tool | {e.g., Next.js built-in, Vite, Metro} |
22
+
23
+ ## Existing Components
24
+
25
+ | Component | Path | Props / Variants | Reusable? | Notes |
26
+ |-----------|------|------------------|-----------|-------|
27
+ | {name} | {path} | {key props} | {yes/no/partially} | {notes} |
28
+
29
+ ## Tokens & Theming
30
+
31
+ **Token source:** {e.g., `tailwind.config.ts`, `globals.css`, `theme.ts`, `tokens.json`}
32
+ **Format:** {e.g., CSS custom properties, Tailwind theme, JS object, JSON tokens}
33
+
34
+ | Category | Defined? | Details |
35
+ |----------|----------|---------|
36
+ | Colors | {yes/no} | {e.g., "Custom palette in tailwind.config.ts extend.colors"} |
37
+ | Typography | {yes/no} | {e.g., "Custom fonts via next/font, scale in Tailwind"} |
38
+ | Spacing | {yes/no} | {e.g., "Default Tailwind spacing"} |
39
+ | Radii | {yes/no} | {details} |
40
+ | Shadows | {yes/no} | {details} |
41
+ | Dark mode | {yes/no} | {e.g., "CSS class strategy via next-themes"} |
42
+
43
+ ## Architecture Patterns
44
+
45
+ | Pattern | Value |
46
+ |---------|-------|
47
+ | Component style | {e.g., functional components, forwardRef wrappers, compound components} |
48
+ | State management | {e.g., React Context, Zustand, Redux, useState only} |
49
+ | Data fetching | {e.g., Server Components, React Query, SWR, fetch in useEffect} |
50
+ | Routing | {e.g., Next.js App Router, Expo Router, React Router} |
51
+ | File organization | {e.g., feature-based, type-based, flat} |
52
+
53
+ ## Conventions
54
+
55
+ | Convention | Value |
56
+ |------------|-------|
57
+ | Naming | {e.g., PascalCase components, kebab-case files, camelCase utils} |
58
+ | Exports | {e.g., named exports, default exports, barrel files} |
59
+ | Styling approach | {e.g., `cn()` utility, `className` strings, `StyleSheet.create`} |
60
+ | Import aliases | {e.g., `@/` → `src/`, `~/` → project root} |
61
+
62
+ ## Key Paths
63
+
64
+ | Path | Purpose |
65
+ |------|---------|
66
+ | Components | {e.g., `src/components/`, `components/ui/`} |
67
+ | Layouts | {e.g., `src/app/layout.tsx`, `app/(tabs)/_layout.tsx`} |
68
+ | Pages / Screens | {e.g., `src/app/`, `app/(tabs)/`} |
69
+ | Tokens / Theme | {e.g., `tailwind.config.ts`, `src/styles/globals.css`} |
70
+ | Config | {e.g., `next.config.js`, `app.json`} |
71
+ | Public / Assets | {e.g., `public/`, `assets/`} |
@@ -0,0 +1,93 @@
1
+ # GSP Design Exports
2
+
3
+ > Load this file first, then load only the chunks needed for your task.
4
+
5
+ ## Usage
6
+
7
+ This file is the entry point for coding agents consuming GSP design output.
8
+
9
+ 1. Read this file to find chunk paths for your task
10
+ 2. Load only the chunks relevant to your current screen or component
11
+ 3. Each chunk is self-contained — follow `## Related` links for cross-references
12
+
13
+ ## Quick Reference
14
+
15
+ - Building a screen? → Design table → load screen chunk + referenced components
16
+ - Need a component spec? → Components table (in brand system)
17
+ - Need color/type/spacing? → Foundations table (in brand system)
18
+ - Need project scope? → Brief table
19
+ - Need UX patterns or reference specs? → Research table
20
+
21
+ ## Design System (Brand-Level)
22
+
23
+ <!-- BEGIN:system -->
24
+ | Section | Chunk | Lines |
25
+ |---------|-------|-------|
26
+ | _(populated by /gsp:brand-system — lives in brand directory)_ | | |
27
+
28
+ ### Foundations
29
+
30
+ | Foundation | File | Tokens |
31
+ |------------|------|--------|
32
+ | | | |
33
+
34
+ ### Components
35
+
36
+ | Component | File | States | Variants |
37
+ |-----------|------|--------|----------|
38
+ | | | | |
39
+ <!-- END:system -->
40
+
41
+ ## Project Brief
42
+
43
+ <!-- BEGIN:brief -->
44
+ | Section | File |
45
+ |---------|------|
46
+ | _(populated by /gsp:brief)_ | |
47
+ <!-- END:brief -->
48
+
49
+ ## Project Research
50
+
51
+ <!-- BEGIN:research -->
52
+ | Section | File |
53
+ |---------|------|
54
+ | _(populated by /gsp:research)_ | |
55
+ <!-- END:research -->
56
+
57
+ ## Design
58
+
59
+ <!-- BEGIN:design -->
60
+ | # | Screen | File | Components Used |
61
+ |---|--------|------|-----------------|
62
+ | _(populated by /gsp:design)_ | | | |
63
+
64
+ ### Shared
65
+
66
+ | Section | File |
67
+ |---------|------|
68
+ | | |
69
+ <!-- END:design -->
70
+
71
+ ## Design Critique
72
+
73
+ <!-- BEGIN:critique -->
74
+ | Section | File |
75
+ |---------|------|
76
+ | _(populated by /gsp:critique)_ | |
77
+ <!-- END:critique -->
78
+
79
+ ## Deliverable Review
80
+
81
+ <!-- BEGIN:review -->
82
+ | Section | File |
83
+ |---------|------|
84
+ | _(populated by /gsp:review)_ | |
85
+ <!-- END:review -->
86
+
87
+ ## Launch Campaign (Optional)
88
+
89
+ <!-- BEGIN:launch -->
90
+ | Section | File |
91
+ |---------|------|
92
+ | _(populated by /gsp:launch — optional)_ | |
93
+ <!-- END:launch -->
@@ -0,0 +1,19 @@
1
+ # Build Manifest: {project-name}
2
+ > Brand: {brand} | Built: {DATE} | Status: {complete|partial}
3
+ > Branch: {branch or "—"} | PR: {pr-url or "—"}
4
+
5
+ ## Components
6
+
7
+ | # | Component | Path | Action |
8
+ |---|-----------|------|--------|
9
+ {rows — one per component built. Action: added | modified}
10
+
11
+ ## Patterns
12
+
13
+ | # | Pattern | Description |
14
+ |---|---------|-------------|
15
+ {rows — conventions established by this project, or "No new patterns."}
16
+
17
+ ## Files Touched
18
+
19
+ {flat list of all target file paths, one per line with `- ` prefix}
@@ -0,0 +1,53 @@
1
+ # Project Brief
2
+
3
+ ## Project: {PROJECT_NAME}
4
+ **Brand:** {BRAND_NAME}
5
+ **Date:** {DATE}
6
+
7
+ ---
8
+
9
+ > This phase scopes the project. Produces planning chunks + INDEX.md in the `brief/` directory.
10
+
11
+ ## Chunk Mapping
12
+
13
+ ### Brief Chunks (`brief/`)
14
+
15
+ | Chunk File | Content |
16
+ |-----------|---------|
17
+ | `scope.md` | Screen/component list, priorities, project boundaries |
18
+ | `target-adaptations.md` | Project-specific component adaptations from the brand system |
19
+ | `install-manifest.md` | Install commands for needed components (conditional — shadcn/rn-reusables only) |
20
+ | `gap-analysis.md` | Components/tokens in design but not in codebase (conditional — existing target only) |
21
+ | `file-references.md` | Paths to existing components/tokens being used (conditional — existing target only) |
22
+
23
+ ## Content Reference
24
+
25
+ Each chunk follows the format in `references/chunk-format.md`. Below is the structural reference for what each chunk should contain:
26
+
27
+ ### scope.md
28
+ - **Screen list:** prioritized list of screens to design and build
29
+ - **Component scope:** which brand system components this project uses
30
+ - **Project boundaries:** what's in scope and out of scope
31
+ - **Success criteria:** measurable outcomes for the project
32
+ - **Dependencies:** external systems, APIs, content needs
33
+ - **Issue framing:** how this project maps to bounded issues/PRs
34
+
35
+ ### target-adaptations.md
36
+ - **Token overrides:** project-specific token adjustments (if any)
37
+ - **Component adaptations:** brand components that need project-specific variants
38
+ - **Platform considerations:** platform-specific adjustments (mobile, desktop, etc.)
39
+ - **Implementation target mapping:** design components → target primitives (shadcn, rn-reusables, existing, code)
40
+ - Links to brand system components: `{BRAND_PATH}/system/components/{name}.md`
41
+
42
+ ### install-manifest.md
43
+ - Install commands for all needed components
44
+ - Only produced for shadcn/rn-reusables targets
45
+
46
+ ### gap-analysis.md
47
+ - Components in brand system but not in project codebase
48
+ - Tokens in brand system but not in project codebase
49
+ - Only produced for existing target codebases
50
+
51
+ ### file-references.md
52
+ - Paths to all existing components/tokens being used
53
+ - Only produced for existing target codebases