design-protocol 1.0.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 (72) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +225 -0
  3. package/agents/dp-researcher.md +239 -0
  4. package/agents/dp-verifier.md +207 -0
  5. package/bin/install.js +464 -0
  6. package/commands/dp-back.md +221 -0
  7. package/commands/dp-discuss.md +257 -0
  8. package/commands/dp-execute.md +513 -0
  9. package/commands/dp-journey.md +85 -0
  10. package/commands/dp-progress.md +178 -0
  11. package/commands/dp-roadmap.md +83 -0
  12. package/commands/dp-skip.md +186 -0
  13. package/commands/dp-start.md +510 -0
  14. package/commands/dp-storytell.md +94 -0
  15. package/commands/dp-verify.md +207 -0
  16. package/package.json +59 -0
  17. package/skills/dp-color/SKILL.md +214 -0
  18. package/skills/dp-color/export_tokens.py +297 -0
  19. package/skills/dp-color/references/apca-contrast.md +87 -0
  20. package/skills/dp-color/references/hue-emotions.md +109 -0
  21. package/skills/dp-color/references/oklch-gamut.md +79 -0
  22. package/skills/dp-color/references/pitfalls.md +171 -0
  23. package/skills/dp-color/references/scale-patterns.md +206 -0
  24. package/skills/dp-color/references/tool-workflows.md +200 -0
  25. package/skills/dp-discovery/SKILL.md +480 -0
  26. package/skills/dp-eng_review/SKILL.md +471 -0
  27. package/skills/dp-eng_review/references/code-review-checklist.md +385 -0
  28. package/skills/dp-eng_review/references/react-patterns.md +512 -0
  29. package/skills/dp-eng_review/references/shadcn-patterns.md +510 -0
  30. package/skills/dp-eng_review/references/tailwind-conventions.md +351 -0
  31. package/skills/dp-journey/SKILL.md +682 -0
  32. package/skills/dp-journey/references/journey-types.md +97 -0
  33. package/skills/dp-journey/references/map-structures.md +177 -0
  34. package/skills/dp-journey/references/omnichannel-patterns.md +208 -0
  35. package/skills/dp-journey/references/research-methods.md +125 -0
  36. package/skills/dp-prd/SKILL.md +201 -0
  37. package/skills/dp-prd/references/claude-code-spec.md +107 -0
  38. package/skills/dp-prd/references/interview-questions.md +158 -0
  39. package/skills/dp-prd/references/section-templates.md +231 -0
  40. package/skills/dp-research/SKILL.md +540 -0
  41. package/skills/dp-research/references/facilitation-guide.md +291 -0
  42. package/skills/dp-research/references/interview-guide-template.md +190 -0
  43. package/skills/dp-research/references/method-selection.md +195 -0
  44. package/skills/dp-research/references/question-writing.md +244 -0
  45. package/skills/dp-research/references/research-report-template.md +363 -0
  46. package/skills/dp-research/references/synthesis-methods.md +289 -0
  47. package/skills/dp-research/references/usability-test-template.md +260 -0
  48. package/skills/dp-roadmap/SKILL.md +648 -0
  49. package/skills/dp-roadmap/references/prioritization-frameworks.md +312 -0
  50. package/skills/dp-roadmap/references/roadmap-structures.md +179 -0
  51. package/skills/dp-roadmap/references/roadmap-workshops.md +264 -0
  52. package/skills/dp-roadmap/references/theme-development.md +168 -0
  53. package/skills/dp-storytell/SKILL.md +645 -0
  54. package/skills/dp-storytell/references/audience-playbooks.md +260 -0
  55. package/skills/dp-storytell/references/content-type-templates.md +310 -0
  56. package/skills/dp-storytell/references/delivery-tactics.md +228 -0
  57. package/skills/dp-storytell/references/narrative-frameworks.md +259 -0
  58. package/skills/dp-ui/SKILL.md +503 -0
  59. package/skills/dp-ui/references/b2b-enterprise-patterns.md +319 -0
  60. package/skills/dp-ui/references/data-visualization.md +304 -0
  61. package/skills/dp-ui/references/visual-design-principles.md +237 -0
  62. package/skills/dp-ux/SKILL.md +414 -0
  63. package/skills/dp-ux/references/accessibility-checklist.md +128 -0
  64. package/skills/dp-ux/references/product-excellence.md +149 -0
  65. package/skills/dp-ux/references/usability-principles.md +140 -0
  66. package/skills/dp-ux/references/ux-patterns.md +221 -0
  67. package/templates/config.json +55 -0
  68. package/templates/context.md +96 -0
  69. package/templates/project.md +83 -0
  70. package/templates/requirements.md +137 -0
  71. package/templates/roadmap.md +168 -0
  72. package/templates/state.md +107 -0
@@ -0,0 +1,351 @@
1
+ # Tailwind Conventions
2
+
3
+ Project-specific Tailwind CSS standards and patterns. Reference this when reviewing styling consistency.
4
+
5
+ ---
6
+
7
+ ## Spacing System {#spacing}
8
+
9
+ Always use the Tailwind spacing scale. Never use arbitrary values unless absolutely necessary.
10
+
11
+ ### Spacing Scale Reference
12
+
13
+ | Class | Value | Use Case |
14
+ |-------|-------|----------|
15
+ | `*-0` | 0px | Reset |
16
+ | `*-0.5` | 2px | Micro spacing |
17
+ | `*-1` | 4px | Tight spacing |
18
+ | `*-2` | 8px | Small gaps |
19
+ | `*-3` | 12px | Default gap |
20
+ | `*-4` | 16px | Section spacing |
21
+ | `*-6` | 24px | Large gaps |
22
+ | `*-8` | 32px | Section breaks |
23
+ | `*-12` | 48px | Major sections |
24
+ | `*-16` | 64px | Page sections |
25
+
26
+ ### Spacing Anti-Patterns
27
+
28
+ ```tsx
29
+ // BAD: Arbitrary values
30
+ <div className="mt-[13px] p-[7px] gap-[11px]">
31
+
32
+ // GOOD: Use scale
33
+ <div className="mt-3 p-2 gap-3">
34
+
35
+ // BAD: Inconsistent spacing
36
+ <div className="p-4">
37
+ <div className="p-3"> {/* Different from parent */}
38
+ <div className="p-5"> {/* Different again */}
39
+
40
+ // GOOD: Consistent rhythm
41
+ <div className="p-6">
42
+ <div className="p-4">
43
+ <div className="p-4">
44
+ ```
45
+
46
+ ### When Arbitrary Values Are OK
47
+
48
+ ```tsx
49
+ // OK: Matching specific design specs or logos
50
+ <div className="w-[120px]"> {/* Logo container with exact size */}
51
+
52
+ // OK: Complex calculations
53
+ <div className="h-[calc(100vh-64px)]"> {/* Full height minus header */}
54
+
55
+ // OK: Unusual aspect ratios
56
+ <div className="aspect-[16/9]">
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Color Usage
62
+
63
+ ### Use Design Tokens
64
+
65
+ ```tsx
66
+ // BAD: Raw color values
67
+ <div className="bg-slate-100 text-gray-900 border-gray-200">
68
+ <div className="text-[#1a1a1a] bg-[#f5f5f5]">
69
+
70
+ // GOOD: Design tokens (from shadcn/ui)
71
+ <div className="bg-background text-foreground border-border">
72
+ <div className="bg-muted text-muted-foreground">
73
+ <div className="bg-card text-card-foreground">
74
+ <div className="bg-primary text-primary-foreground">
75
+ <div className="bg-secondary text-secondary-foreground">
76
+ <div className="bg-accent text-accent-foreground">
77
+ <div className="bg-destructive text-destructive-foreground">
78
+ ```
79
+
80
+ ### Semantic Color Usage
81
+
82
+ | Token | Use For |
83
+ |-------|---------|
84
+ | `background/foreground` | Main page background and text |
85
+ | `card/card-foreground` | Elevated surfaces |
86
+ | `muted/muted-foreground` | Subdued backgrounds and secondary text |
87
+ | `primary/primary-foreground` | Primary actions, links |
88
+ | `secondary/secondary-foreground` | Secondary actions |
89
+ | `accent/accent-foreground` | Highlights, hover states |
90
+ | `destructive/destructive-foreground` | Delete, error states |
91
+ | `border` | All borders |
92
+ | `input` | Form input borders |
93
+ | `ring` | Focus rings |
94
+
95
+ ### Status Colors
96
+
97
+ ```tsx
98
+ // Define consistent status colors
99
+ // Success
100
+ <Badge className="bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-100">
101
+ Active
102
+ </Badge>
103
+
104
+ // Warning
105
+ <Badge className="bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-100">
106
+ Pending
107
+ </Badge>
108
+
109
+ // Error (use destructive)
110
+ <Badge variant="destructive">Failed</Badge>
111
+
112
+ // Info
113
+ <Badge className="bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-100">
114
+ In Progress
115
+ </Badge>
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Typography
121
+
122
+ ### Heading Hierarchy
123
+
124
+ ```tsx
125
+ // Page title
126
+ <h1 className="text-3xl font-bold tracking-tight">Page Title</h1>
127
+
128
+ // Section title
129
+ <h2 className="text-2xl font-semibold tracking-tight">Section</h2>
130
+
131
+ // Subsection
132
+ <h3 className="text-xl font-semibold">Subsection</h3>
133
+
134
+ // Card/component title
135
+ <h4 className="text-lg font-medium">Card Title</h4>
136
+
137
+ // Small heading
138
+ <h5 className="text-base font-medium">Small Heading</h5>
139
+ ```
140
+
141
+ ### Text Sizes
142
+
143
+ ```tsx
144
+ // Body text (default)
145
+ <p className="text-sm">Standard body text</p>
146
+
147
+ // Large body
148
+ <p className="text-base">Larger body text</p>
149
+
150
+ // Small/caption
151
+ <p className="text-xs text-muted-foreground">Caption or hint text</p>
152
+
153
+ // Lead paragraph
154
+ <p className="text-lg text-muted-foreground">Introductory text</p>
155
+ ```
156
+
157
+ ### Text Utilities
158
+
159
+ ```tsx
160
+ // Truncation
161
+ <p className="truncate">Long text that will be truncated...</p>
162
+ <p className="line-clamp-2">Text limited to 2 lines...</p>
163
+
164
+ // Alignment
165
+ <p className="text-left">Left (default)</p>
166
+ <p className="text-center">Center</p>
167
+ <p className="text-right">Right</p>
168
+
169
+ // Font weight
170
+ <span className="font-normal">Normal (400)</span>
171
+ <span className="font-medium">Medium (500)</span>
172
+ <span className="font-semibold">Semibold (600)</span>
173
+ <span className="font-bold">Bold (700)</span>
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Layout Patterns
179
+
180
+ ### Flexbox
181
+
182
+ ```tsx
183
+ // Horizontal center
184
+ <div className="flex items-center justify-center">
185
+
186
+ // Space between
187
+ <div className="flex items-center justify-between">
188
+
189
+ // Stack with gap
190
+ <div className="flex flex-col gap-4">
191
+
192
+ // Row with gap
193
+ <div className="flex items-center gap-2">
194
+ ```
195
+
196
+ ### Grid
197
+
198
+ ```tsx
199
+ // Responsive grid
200
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
201
+
202
+ // Dashboard layout
203
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
204
+ ```
205
+
206
+ ### Common Layouts
207
+
208
+ ```tsx
209
+ // Page container
210
+ <div className="container mx-auto px-4 py-8">
211
+
212
+ // Centered content with max width
213
+ <div className="mx-auto max-w-2xl">
214
+
215
+ // Full-height page
216
+ <div className="min-h-screen">
217
+
218
+ // Sticky header
219
+ <header className="sticky top-0 z-50 bg-background/95 backdrop-blur">
220
+ ```
221
+
222
+ ---
223
+
224
+ ## Responsive Design
225
+
226
+ ### Breakpoint Usage
227
+
228
+ | Breakpoint | Min Width | Use For |
229
+ |------------|-----------|---------|
230
+ | (default) | 0px | Mobile first |
231
+ | `sm:` | 640px | Large phones |
232
+ | `md:` | 768px | Tablets |
233
+ | `lg:` | 1024px | Laptops |
234
+ | `xl:` | 1280px | Desktops |
235
+ | `2xl:` | 1536px | Large screens |
236
+
237
+ ### Responsive Patterns
238
+
239
+ ```tsx
240
+ // Mobile-first approach
241
+ <div className="p-4 md:p-6 lg:p-8">
242
+
243
+ // Hide/show
244
+ <div className="hidden md:block">Desktop only</div>
245
+ <div className="md:hidden">Mobile only</div>
246
+
247
+ // Responsive grid
248
+ <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
249
+
250
+ // Responsive text
251
+ <h1 className="text-2xl md:text-3xl lg:text-4xl font-bold">
252
+ ```
253
+
254
+ ---
255
+
256
+ ## Interactive States
257
+
258
+ ### Required Focus States
259
+
260
+ ```tsx
261
+ // ALWAYS include focus-visible for interactive elements
262
+ <button className="focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2">
263
+
264
+ // shadcn components have this built in - don't remove it!
265
+ ```
266
+
267
+ ### Hover States
268
+
269
+ ```tsx
270
+ // Subtle background change
271
+ <div className="hover:bg-accent transition-colors">
272
+
273
+ // Button hover (built into variants)
274
+ <Button>Has hover built in</Button>
275
+
276
+ // Custom hover
277
+ <div className="hover:bg-muted/50 transition-colors cursor-pointer">
278
+ ```
279
+
280
+ ### Transitions
281
+
282
+ ```tsx
283
+ // Standard transition
284
+ <div className="transition-colors"> {/* Color changes */}
285
+ <div className="transition-opacity"> {/* Opacity changes */}
286
+ <div className="transition-all"> {/* Everything (use sparingly) */}
287
+
288
+ // Duration
289
+ <div className="transition-colors duration-150"> {/* Faster */}
290
+ <div className="transition-colors duration-300"> {/* Slower */}
291
+ ```
292
+
293
+ ---
294
+
295
+ ## Common Anti-Patterns
296
+
297
+ ### Conflicting Classes
298
+
299
+ ```tsx
300
+ // BAD: Conflicting classes
301
+ <div className="p-4 p-6"> {/* Which one applies? */}
302
+ <div className="text-red-500 text-blue-500"> {/* Unpredictable */}
303
+
304
+ // BAD: Overriding base with arbitrary
305
+ <div className="mt-4 mt-[20px]"> {/* Confusing */}
306
+ ```
307
+
308
+ ### Unnecessary Complexity
309
+
310
+ ```tsx
311
+ // BAD: Over-specified
312
+ <div className="flex flex-row items-stretch justify-start">
313
+ // flex-row is default, items-stretch is default, justify-start is default
314
+
315
+ // GOOD: Only what's needed
316
+ <div className="flex">
317
+ ```
318
+
319
+ ### Magic Numbers
320
+
321
+ ```tsx
322
+ // BAD: Arbitrary values everywhere
323
+ <div className="w-[342px] h-[87px] mt-[13px] rounded-[7px]">
324
+
325
+ // GOOD: Use scale and standard values
326
+ <div className="w-80 h-20 mt-3 rounded-lg">
327
+ ```
328
+
329
+ ---
330
+
331
+ ## Dark Mode
332
+
333
+ ### Using Dark Mode Classes
334
+
335
+ ```tsx
336
+ // Explicit dark mode styles
337
+ <div className="bg-white dark:bg-slate-900">
338
+ <p className="text-gray-900 dark:text-gray-100">
339
+
340
+ // BETTER: Use design tokens (automatic dark mode)
341
+ <div className="bg-background"> {/* Automatically handles dark mode */}
342
+ <p className="text-foreground"> {/* Automatically handles dark mode */}
343
+ ```
344
+
345
+ ### Dark Mode Testing Checklist
346
+
347
+ - [ ] All text is readable in both modes
348
+ - [ ] Borders are visible in both modes
349
+ - [ ] Status colors work in both modes
350
+ - [ ] Images/icons work in both modes
351
+ - [ ] Focus states visible in both modes