devlyn-cli 0.0.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.
@@ -0,0 +1,502 @@
1
+ ---
2
+ description: Extract all design values from selected style for exact reproduction
3
+ argument-hint: <style-number> [platform] (e.g., "3", "3 flutter", "style 2 web")
4
+ allowed-tools: Bash(ls:*), Bash(cat:*), Bash(grep:*), View, Edit, Write
5
+ ---
6
+
7
+ Extract design values from a style preview HTML to generate a framework-agnostic design reference.
8
+
9
+ <context>
10
+ User input: $ARGUMENTS
11
+ Available styles: !`ls -1 docs/design/style_*.html 2>/dev/null || echo "No styles found"`
12
+ </context>
13
+
14
+ <input_parsing>
15
+
16
+ Parse two values from input:
17
+
18
+ 1. **Style number** (required): "3", "style 3", or "style_3_concept_name" all resolve to style 3
19
+
20
+ 2. **Platform** (optional, defaults to "web"):
21
+ - `web` — HTML/CSS, React, Vue, Svelte, Next.js
22
+ - `flutter` — Dart/Flutter
23
+ - `native` — iOS (SwiftUI) / Android (Compose)
24
+ - `desktop` — Electron, Tauri, PyQt
25
+ - `terminal` — CLI apps with color support
26
+
27
+ </input_parsing>
28
+
29
+ <goal>
30
+
31
+ Create a design reference document that enables any AI agent to:
32
+
33
+ 1. Apply correct visual styling (colors, typography, spacing, shadows, motion)
34
+ 2. Build components that match the design language (patterns, behaviors, icon approach)
35
+
36
+ This document contains **values and patterns**—no framework-specific implementation code. The implementing agent determines the correct syntax based on the actual project setup.
37
+
38
+ **Important distinction**:
39
+
40
+ - This document defines HOW things should look (reusable across any page structure)
41
+ - Feature specs define WHAT to build (page structure, sections, content)
42
+ - An agent uses both: feature spec for structure + this document for styling
43
+
44
+ </goal>
45
+
46
+ <extraction_requirements>
47
+
48
+ Extract all concrete values that define the design's appearance and reusable component patterns.
49
+
50
+ <colors>
51
+ Extract every color used:
52
+ - Background, surface, text primary, text secondary
53
+ - Accent colors (primary, secondary if present)
54
+ - Borders, dividers, hover states
55
+ - Any gradients (with exact color stops and direction)
56
+
57
+ Format: hex values (e.g., #F4F7FA)
58
+ </colors>
59
+
60
+ <typography>
61
+ Extract the exact font configuration:
62
+ - Font family name (exact Google Fonts spelling)
63
+ - All font weights used (e.g., 300, 400, 600, 700)
64
+
65
+ For each text level (H1, H2, H3, Body, Body Large, Small/Caption, Label):
66
+
67
+ - Size in pixels
68
+ - Weight
69
+ - Letter-spacing (em or px)
70
+ - Line-height (unitless ratio)
71
+ </typography>
72
+
73
+ <spacing>
74
+ Extract actual pixel values used, not abstract scales:
75
+ - Section/page padding
76
+ - Hero section padding (if different)
77
+ - Component/card padding (large and small variants)
78
+ - Element gap (between buttons, cards)
79
+ - Tight gap (icon + text, inline elements)
80
+ - Navigation gaps
81
+ - Section header margin-bottom
82
+ </spacing>
83
+
84
+ <shape>
85
+ Extract border-radius values:
86
+ - Cards and containers
87
+ - Feature icons
88
+ - Small icons
89
+ - Buttons and pills (often "full" or 100px)
90
+ - CTA sections (if different)
91
+ </shape>
92
+
93
+ <shadows>
94
+ Extract complete box-shadow CSS values:
95
+ - Default/subtle shadow
96
+ - Navigation/badge shadow
97
+ - Floating card shadow
98
+ - Hover state shadow
99
+ - Button hover shadow
100
+
101
+ Include the full value: offset, blur, spread, color with alpha.
102
+ </shadows>
103
+
104
+ <motion>
105
+ Extract animation timing:
106
+ - Easing function (exact cubic-bezier or keyword)
107
+ - Base transition duration
108
+ - Enter/appear animation duration
109
+ - Scroll-triggered transition duration
110
+ - Stagger delay between items
111
+ - Any cyclic animation durations (float, drift effects)
112
+ </motion>
113
+
114
+ <effects>
115
+ Only if present in the design:
116
+ - Background effects (orbs, gradients, patterns)
117
+ - Glassmorphism (backdrop-filter blur value, background opacity)
118
+ - Gradient text treatment
119
+ - Any texture overlays
120
+ </effects>
121
+
122
+ <components>
123
+ Extract reusable component patterns found in the design. For each distinct component type:
124
+
125
+ 1. **Navigation** (if present):
126
+
127
+ - Layout type (fixed, sticky, static)
128
+ - Visual treatment (solid, glassmorphism, transparent)
129
+ - Elements included (logo style, link style, CTA style)
130
+
131
+ 2. **Cards** (identify all card variants):
132
+
133
+ - Name/purpose (feature card, stat card, testimonial card, etc.)
134
+ - Icon approach: emoji, SVG, or icon font
135
+ - If emoji: note this explicitly
136
+ - Icon container style (size, background, radius)
137
+ - Content structure (what elements: icon, title, description, stat, etc.)
138
+ - Hover behavior (transform, shadow change, with duration)
139
+
140
+ 3. **Buttons** (identify all variants):
141
+
142
+ - Primary, secondary, ghost styles
143
+ - Hover transforms and shadow changes
144
+
145
+ 4. **Badges/Labels**:
146
+
147
+ - Visual style (pill, tag, etc.)
148
+ - Any animated elements (pulse dots, etc.)
149
+
150
+ 5. **Section Headers**:
151
+
152
+ - Label + title + description pattern
153
+ - Alignment (centered, left)
154
+
155
+ 6. **Special Elements**:
156
+ - Any unique patterns (floating cards, step indicators, etc.)
157
+ - Animation behaviors
158
+
159
+ For each component, describe it as a reusable pattern that can be applied regardless of how many times it appears or what content it contains.
160
+ </components>
161
+
162
+ <interactive_states>
163
+ Document hover/active/focus states for interactive elements:
164
+
165
+ - What property changes (transform, shadow, background, scale, opacity)
166
+ - From value → To value
167
+ - Duration and easing
168
+
169
+ Format as a reference table.
170
+ </interactive_states>
171
+
172
+ <character>
173
+ Summarize the design's personality:
174
+ - Theme: Light or Dark
175
+ - Shape language: Angular, Curved, or Mixed
176
+ - Density: Spacious or Dense
177
+ - Energy: Calm, Dynamic, or Playful
178
+ </character>
179
+
180
+ </extraction_requirements>
181
+
182
+ <output_format>
183
+
184
+ Generate `docs/design-system.md` with this structure:
185
+
186
+ ```markdown
187
+ # Design Style: {Concept Name}
188
+
189
+ > {One sentence capturing the design's mood and intent}
190
+
191
+ **Platform**: {platform}
192
+ **Source**: `{source filename}`
193
+
194
+ ---
195
+
196
+ ## Implementation Note
197
+
198
+ This document defines the visual design language—HOW things should look.
199
+
200
+ When implementing:
201
+
202
+ 1. Use your **feature spec** for page structure (WHAT sections/components to build)
203
+ 2. Use **this document** for styling those components (HOW they should look)
204
+ 3. Apply values using syntax appropriate for your framework
205
+
206
+ ---
207
+
208
+ ## Colors
209
+
210
+ | Role | Value |
211
+ | --------------------- | --------- |
212
+ | Background | `#______` |
213
+ | Surface | `#______` |
214
+ | Text | `#______` |
215
+ | Text Muted | `#______` |
216
+ | Accent | `#______` |
217
+ | {additional roles...} | `#______` |
218
+
219
+ **Gradients** (if present):
220
+
221
+ - {Name}: `{direction}deg, {color1} {stop1}%, {color2} {stop2}%`
222
+
223
+ ## Typography
224
+
225
+ **Font Family**: {exact name} (with {fallback} for {language} if applicable)
226
+ **Weights**: {comma-separated list}
227
+
228
+ | Element | Size | Weight | Letter-spacing | Line-height |
229
+ | ------------- | ----- | ------ | -------------- | ----------- |
230
+ | H1 | {n}px | {n} | {n}em | {n} |
231
+ | H2 | {n}px | {n} | {n}em | {n} |
232
+ | H3 | {n}px | {n} | {n}em | {n} |
233
+ | Body | {n}px | {n} | — | {n} |
234
+ | Body Large | {n}px | {n} | — | {n} |
235
+ | Small/Caption | {n}px | {n} | — | {n} |
236
+ | Label | {n}px | {n} | — | {n} |
237
+
238
+ ## Spacing
239
+
240
+ | Context | Value |
241
+ | ---------------------------- | -------------------------------- |
242
+ | Section padding | {n}px vertical, {n}px horizontal |
243
+ | Hero padding | {top}px top, {bottom}px bottom |
244
+ | Card padding (large) | {n}px |
245
+ | Card padding (small) | {n}px |
246
+ | Element gap | {n}px |
247
+ | Tight gap | {n}px |
248
+ | Section header margin-bottom | {n}px |
249
+
250
+ ## Shape
251
+
252
+ | Context | Radius |
253
+ | ---------------- | ------------ |
254
+ | Cards/Containers | {n}px |
255
+ | Icons (large) | {n}px |
256
+ | Icons (small) | {n}px |
257
+ | Buttons/Pills | {n}px (full) |
258
+
259
+ ## Shadows
260
+
261
+ | Name | Value |
262
+ | ------------ | --------------------- |
263
+ | Subtle | `{full shadow value}` |
264
+ | Card | `{full shadow value}` |
265
+ | Card Hover | `{full shadow value}` |
266
+ | Float | `{full shadow value}` |
267
+ | Button Hover | `{full shadow value}` |
268
+
269
+ ## Motion
270
+
271
+ | Property | Value |
272
+ | ------------------- | ---------------------------------- |
273
+ | Easing (soft) | `cubic-bezier({a}, {b}, {c}, {d})` |
274
+ | Easing (bounce) | `cubic-bezier({a}, {b}, {c}, {d})` |
275
+ | Base duration | {n}s |
276
+ | Hover duration | {n}s |
277
+ | Enter duration | {n}s |
278
+ | Stagger | {n}s |
279
+ | {Cyclic animations} | {n}s |
280
+
281
+ ## Effects
282
+
283
+ {Only include sections that exist in the source design}
284
+
285
+ **Background Elements** (if present):
286
+
287
+ - {Description with sizes, colors, blur, positions, animations}
288
+
289
+ **Glassmorphism** (if present):
290
+
291
+ - Background: `rgba({r}, {g}, {b}, {a})`
292
+ - Backdrop blur: {n}px
293
+
294
+ **Gradient Text** (if present):
295
+
296
+ - Applied to: {list elements}
297
+ - CSS: background-clip text with transparent fill
298
+
299
+ ---
300
+
301
+ ## Component Patterns
302
+
303
+ Reusable patterns that define how components should look, regardless of page structure.
304
+
305
+ ### Icon Approach
306
+
307
+ - **Type**: {emoji | SVG | icon font}
308
+ - **Container**: {size}px, {background}, {radius}px radius
309
+ {If emoji, note: "Use emoji characters directly, not icon libraries"}
310
+
311
+ ### Navigation
312
+
313
+ - **Position**: {fixed center | sticky top | etc.}
314
+ - **Style**: {glassmorphism | solid | transparent}
315
+ - **Elements**: Logo ({style}), Links ({style}), CTA button ({style})
316
+
317
+ ### Card: Feature
318
+
319
+ - **Use for**: Feature highlights, service descriptions
320
+ - **Structure**: Icon container → Title → Description
321
+ - **Icon**: {size}px container, {background style}
322
+ - **Hover**: {transform}, {shadow change}, {duration}
323
+
324
+ ### Card: Stat
325
+
326
+ - **Use for**: Metrics, numbers, KPIs
327
+ - **Structure**: Large value (gradient text) → Label
328
+ - **Hover**: {transform}, {duration}
329
+
330
+ ### Card: {Other variants found...}
331
+
332
+ {Document each distinct card pattern}
333
+
334
+ ### Button: Primary
335
+
336
+ - **Style**: {gradient/solid} background, {text color}
337
+ - **Hover**: {transform}, {shadow}
338
+
339
+ ### Button: Secondary
340
+
341
+ - **Style**: {background}, {border if any}
342
+ - **Hover**: {changes}
343
+
344
+ ### Badge/Label
345
+
346
+ - **Style**: Pill shape, {background}, {text style}
347
+ - **Animation**: {if any, e.g., pulse dot}
348
+
349
+ ### Section Header
350
+
351
+ - **Pattern**: Label badge (optional) → H2 title → Description (optional)
352
+ - **Alignment**: {centered | left}
353
+ - **Spacing**: {margin-bottom}px below
354
+
355
+ ### {Special Patterns}
356
+
357
+ {Document any unique patterns like floating cards, step indicators, etc.}
358
+
359
+ ---
360
+
361
+ ## Interactive States
362
+
363
+ | Component | Trigger | Property | From | To | Duration |
364
+ | ------------------------------------------ | ------- | --------- | ------ | ---------------- | -------- |
365
+ | Feature Card | hover | transform | none | translateY(-8px) | {n}s |
366
+ | Feature Card | hover | shadow | subtle | card-hover | {n}s |
367
+ | Button Primary | hover | transform | none | translateY(-3px) | {n}s |
368
+ | Button Primary | hover | shadow | none | button-hover | {n}s |
369
+ | {continue for all interactive elements...} | | | | | |
370
+
371
+ ---
372
+
373
+ ## Character
374
+
375
+ - **Theme**: {Light | Dark}
376
+ - **Shape**: {Angular | Curved | Mixed}
377
+ - **Density**: {Spacious | Dense}
378
+ - **Energy**: {Calm | Dynamic | Playful}
379
+
380
+ ---
381
+
382
+ ## Token Reference
383
+
384
+ Quick reference for implementation.
385
+
386
+ ### Colors
387
+ ```
388
+
389
+ color-bg: #**\_\_**
390
+ color-surface: #**\_\_**
391
+ color-text: #**\_\_**
392
+ color-text-muted: #**\_\_**
393
+ color-accent: #**\_\_**
394
+ gradient-primary: {direction}, {stops}
395
+
396
+ ```
397
+
398
+ ### Typography
399
+ ```
400
+
401
+ font-family: {name}, {fallback}
402
+ font-weight-regular: {n}
403
+ font-weight-semibold: {n}
404
+ font-weight-bold: {n}
405
+
406
+ ```
407
+
408
+ ### Spacing
409
+ ```
410
+
411
+ space-section: {n}px
412
+ space-component: {n}px
413
+ space-element: {n}px
414
+ space-tight: {n}px
415
+
416
+ ```
417
+
418
+ ### Shape
419
+ ```
420
+
421
+ radius-card: {n}px
422
+ radius-icon: {n}px
423
+ radius-button: full
424
+
425
+ ```
426
+
427
+ ### Motion
428
+ ```
429
+
430
+ ease-soft: cubic-bezier({values})
431
+ ease-bounce: cubic-bezier({values})
432
+ duration-base: {n}s
433
+ duration-hover: {n}s
434
+
435
+ ```
436
+
437
+ ---
438
+
439
+ _Generated from: `{source filename}`_
440
+ ```
441
+
442
+ </output_format>
443
+
444
+ <platform_adaptations>
445
+
446
+ Adjust the Token Reference section based on platform:
447
+
448
+ **flutter**: Include Dart-style comments showing Color() and Duration() syntax as reference
449
+ **native**: Note that colors should be added to asset catalogs
450
+ **terminal**: Include ANSI color code mappings
451
+
452
+ Keep these as **reference comments**, not copy-paste code.
453
+
454
+ </platform_adaptations>
455
+
456
+ <quality_verification>
457
+
458
+ Before saving, verify completeness:
459
+
460
+ **Values extraction**:
461
+
462
+ - [ ] All colors extracted with valid hex values
463
+ - [ ] Font name matches exact Google Fonts spelling
464
+ - [ ] Typography table complete for all text levels
465
+ - [ ] Spacing values are concrete pixels
466
+ - [ ] Border radius values for all contexts
467
+ - [ ] Shadow values are complete CSS
468
+ - [ ] Easing is exact cubic-bezier
469
+ - [ ] Animation durations in seconds
470
+
471
+ **Component patterns**:
472
+
473
+ - [ ] Icon approach clearly stated (emoji vs SVG vs font)
474
+ - [ ] All card variants documented with hover behavior
475
+ - [ ] Button variants documented
476
+ - [ ] Navigation pattern documented
477
+ - [ ] Section header pattern documented
478
+ - [ ] Special/unique patterns documented
479
+
480
+ **Interactive states**:
481
+
482
+ - [ ] All hover transforms documented
483
+ - [ ] All shadow transitions documented
484
+ - [ ] Durations specified for each
485
+
486
+ **Reproduction test**: Could another agent read this document and build components that look identical, regardless of what page structure they're implementing?
487
+
488
+ </quality_verification>
489
+
490
+ <execution>
491
+
492
+ 1. Parse style number and platform from $ARGUMENTS
493
+ 2. Read the matching `docs/design/style_{n}_*.html` file
494
+ 3. Extract all values following the extraction requirements
495
+ 4. Extract all component patterns
496
+ 5. Document all interactive states
497
+ 6. Generate `docs/design-system.md` following the output format
498
+ 7. Confirm what was created and note the source file
499
+
500
+ If the style file doesn't exist, list the available options.
501
+
502
+ </execution>
@@ -0,0 +1,116 @@
1
+ Scan the codebase to generate a feature-oriented product document.
2
+
3
+ <procedure>
4
+ 1. Read project metadata files in parallel: package.json, README.md, CLAUDE.md, any config files
5
+ 2. Scan directory structure to understand architecture: `ls -la` on root, src/, app/, components/, pages/, api/
6
+ 3. Identify features by analyzing:
7
+ - Route definitions (pages, API endpoints)
8
+ - Major components and their purposes
9
+ - State management (stores, contexts)
10
+ - External integrations (APIs, services, databases)
11
+ 4. For each feature, trace through the code to understand its scope
12
+ 5. Generate the feature document using the output format below
13
+ </procedure>
14
+
15
+ <investigate_thoroughly>
16
+ Read actual code files, not just file names. Understand what each feature DOES by examining implementations. Do not guess features from names alone. Use parallel tool calls when reading multiple files.
17
+ </investigate_thoroughly>
18
+
19
+ <feature_identification>
20
+
21
+ ## Where to Look for Features
22
+
23
+ - `/app` or `/pages` → User-facing routes and pages
24
+ - `/components` → UI features and reusable functionality
25
+ - `/api` or `/server` → Backend capabilities
26
+ - `/hooks` or `/lib` → Core functionality and utilities
27
+ - `/store` or `/context` → State-managed features
28
+ - Config files → Integrations and external services
29
+
30
+ ## What Qualifies as a Feature
31
+
32
+ A feature is user-facing functionality or a distinct capability:
33
+
34
+ - ✓ "Real-time transcription" → feature
35
+ - ✓ "User authentication" → feature
36
+ - ✓ "Export to PDF" → feature
37
+ - ✗ "Button component" → implementation detail
38
+ - ✗ "API wrapper" → implementation detail
39
+
40
+ ## Feature Attributes to Capture
41
+
42
+ For each feature identify:
43
+
44
+ - Name — clear, user-oriented label
45
+ - Description — what it does in 1-2 sentences
46
+ - Status — [Implemented / Partial / Planned] based on code evidence
47
+ - Key files — main files that implement this feature
48
+ - Dependencies — external services, APIs, or libraries required
49
+
50
+ </feature_identification>
51
+
52
+ <output_format>
53
+ Generate a markdown document structured as follows:
54
+
55
+ ```markdown
56
+ # [Project Name] — Feature Documentation
57
+
58
+ > Auto-generated from codebase scan on [date]
59
+
60
+ ## Overview
61
+
62
+ [2-3 sentences: what this product is and its primary purpose]
63
+
64
+ ## Tech Stack
65
+
66
+ - **Framework**: [e.g., Next.js 15, React 19]
67
+ - **Language**: [e.g., TypeScript 5.x]
68
+ - **Database**: [e.g., Supabase, PostgreSQL]
69
+ - **Key Libraries**: [list major dependencies]
70
+
71
+ ---
72
+
73
+ ## Features
74
+
75
+ ### 1. [Feature Name]
76
+
77
+ **Status**: Implemented | Partial | Planned
78
+
79
+ [1-2 sentence description of what this feature does for the user]
80
+
81
+ **Key Files**:
82
+
83
+ - `src/components/FeatureComponent.tsx` — main UI
84
+ - `src/hooks/useFeature.ts` — logic
85
+ - `src/api/feature.ts` — backend
86
+
87
+ **Dependencies**: [External services, APIs]
88
+
89
+ ---
90
+
91
+ ### 2. [Feature Name]
92
+
93
+ ...
94
+
95
+ ---
96
+
97
+ ## Architecture Notes
98
+
99
+ [Brief description of how features connect: data flow, state management patterns, API structure]
100
+
101
+ ## Integrations
102
+
103
+ | Service | Purpose | Config Location |
104
+ | ---------------- | ----------------------- | ------------------ |
105
+ | [e.g., Supabase] | [e.g., Auth + Database] | [e.g., .env.local] |
106
+
107
+ ## Not Yet Implemented
108
+
109
+ [Features found in comments, TODOs, or partial code that aren't complete]
110
+ ```
111
+
112
+ </output_format>
113
+
114
+ <task>
115
+ Scan this codebase now. Generate the feature document and output it in a code block. Be thorough — read actual implementations to understand features, not just file names.
116
+ </task>