substrate-ai 0.1.21 → 0.1.23
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/dist/{app-Bltq6BEm.js → app-CY3MaJtP.js} +55 -2
- package/dist/cli/index.js +3332 -492
- package/dist/index.d.ts +83 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
- package/packs/bmad/data/elicitation-methods.csv +51 -0
- package/packs/bmad/manifest.yaml +152 -0
- package/packs/bmad/prompts/analysis-step-1-vision.md +51 -0
- package/packs/bmad/prompts/analysis-step-2-scope.md +59 -0
- package/packs/bmad/prompts/architecture-step-1-context.md +69 -0
- package/packs/bmad/prompts/architecture-step-2-decisions.md +69 -0
- package/packs/bmad/prompts/architecture-step-3-patterns.md +58 -0
- package/packs/bmad/prompts/critique-analysis.md +88 -0
- package/packs/bmad/prompts/critique-architecture.md +96 -0
- package/packs/bmad/prompts/critique-planning.md +96 -0
- package/packs/bmad/prompts/critique-stories.md +93 -0
- package/packs/bmad/prompts/elicitation-apply.md +40 -0
- package/packs/bmad/prompts/planning-step-1-classification.md +50 -0
- package/packs/bmad/prompts/planning-step-2-frs.md +60 -0
- package/packs/bmad/prompts/planning-step-3-nfrs.md +75 -0
- package/packs/bmad/prompts/readiness-check.md +139 -0
- package/packs/bmad/prompts/refine-artifact.md +52 -0
- package/packs/bmad/prompts/stories-step-1-epics.md +59 -0
- package/packs/bmad/prompts/stories-step-2-stories.md +78 -0
- package/packs/bmad/prompts/ux-step-1-discovery.md +69 -0
- package/packs/bmad/prompts/ux-step-2-design-system.md +64 -0
- package/packs/bmad/prompts/ux-step-3-journeys.md +80 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# BMAD Adversarial Readiness Check Agent
|
|
2
|
+
|
|
3
|
+
## Context (pre-assembled by pipeline)
|
|
4
|
+
|
|
5
|
+
### Functional Requirements
|
|
6
|
+
{{functional_requirements}}
|
|
7
|
+
|
|
8
|
+
### Non-Functional Requirements
|
|
9
|
+
{{non_functional_requirements}}
|
|
10
|
+
|
|
11
|
+
### Architecture Decisions
|
|
12
|
+
{{architecture_decisions}}
|
|
13
|
+
|
|
14
|
+
### Generated Stories
|
|
15
|
+
{{stories}}
|
|
16
|
+
|
|
17
|
+
{{ux_decisions}}
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Mission
|
|
22
|
+
|
|
23
|
+
You are a senior engineering lead conducting a go/no-go review before implementation begins.
|
|
24
|
+
**Your success is measured by finding gaps others missed — not by confirming everything is fine.**
|
|
25
|
+
|
|
26
|
+
Approach this review with professional skepticism. Assume gaps exist until proven otherwise.
|
|
27
|
+
Your job is to protect the engineering team from starting implementation with an incomplete or
|
|
28
|
+
contradictory plan. A false READY verdict costs 10x more than a correct NEEDS_WORK verdict.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Review Protocol
|
|
33
|
+
|
|
34
|
+
Work through each check in order. Be thorough. Be adversarial.
|
|
35
|
+
|
|
36
|
+
### Step 1: FR Coverage Analysis
|
|
37
|
+
|
|
38
|
+
For EVERY functional requirement listed above:
|
|
39
|
+
1. Identify which story (by key) explicitly covers this FR in its acceptance criteria
|
|
40
|
+
2. Determine if the coverage is **full** (AC directly tests the FR), **partial** (FR mentioned but not tested), or **missing** (no story covers it)
|
|
41
|
+
3. Flag missing coverage as a **blocker** finding
|
|
42
|
+
4. Flag partial coverage as a **major** finding
|
|
43
|
+
|
|
44
|
+
Ask yourself: "If I only built the stories as written, would this FR be implemented?" If the answer is "maybe" or "no", flag it.
|
|
45
|
+
|
|
46
|
+
### Step 2: Architecture Compliance Check
|
|
47
|
+
|
|
48
|
+
For EVERY story:
|
|
49
|
+
1. Check if the story's implementation implies a technology or pattern **not in the architecture decisions**
|
|
50
|
+
2. Check if the story **contradicts** an architecture decision (e.g., story uses REST when architecture specifies GraphQL)
|
|
51
|
+
3. Flag contradictions as **blocker** findings
|
|
52
|
+
4. Flag implicit technology references not in architecture as **major** findings
|
|
53
|
+
|
|
54
|
+
### Step 3: Story Quality Assessment
|
|
55
|
+
|
|
56
|
+
For EVERY story:
|
|
57
|
+
1. Are the acceptance criteria in Given/When/Then or clearly testable format?
|
|
58
|
+
- Vague ACs like "the system works correctly" = **major** finding
|
|
59
|
+
2. Are the tasks granular enough to estimate? (Each task should be < 1 day)
|
|
60
|
+
- Monolithic tasks like "implement the entire auth system" = **major** finding
|
|
61
|
+
3. Does the story have a clear definition of done?
|
|
62
|
+
- Missing or ambiguous DoD = **minor** finding
|
|
63
|
+
|
|
64
|
+
### Step 4: UX Alignment (Conditional)
|
|
65
|
+
|
|
66
|
+
**Only if UX decisions are provided above:**
|
|
67
|
+
|
|
68
|
+
For EVERY story that involves user-facing functionality:
|
|
69
|
+
1. Does the story reference the component strategy or design system from UX decisions?
|
|
70
|
+
2. Does the story account for accessibility requirements?
|
|
71
|
+
3. Does the story align with the user journey flows?
|
|
72
|
+
4. Flag missing UX alignment as **major** findings
|
|
73
|
+
|
|
74
|
+
**If no UX decisions were provided, skip this step entirely.**
|
|
75
|
+
|
|
76
|
+
### Step 5: Dependency Validity
|
|
77
|
+
|
|
78
|
+
For EVERY story with dependencies on other stories:
|
|
79
|
+
1. Do the referenced stories actually exist (check story keys)?
|
|
80
|
+
2. Are the dependency chains acyclic?
|
|
81
|
+
3. Flag invalid references as **blocker** findings
|
|
82
|
+
4. Flag potentially circular dependencies as **major** findings
|
|
83
|
+
|
|
84
|
+
### Step 6: Final Verdict
|
|
85
|
+
|
|
86
|
+
Determine your verdict:
|
|
87
|
+
- **NOT_READY**: Any of these conditions are true:
|
|
88
|
+
- 3 or more blocker findings
|
|
89
|
+
- FR coverage_score < 50%
|
|
90
|
+
- Multiple critical architecture contradictions
|
|
91
|
+
- **NEEDS_WORK**: Any of these conditions are true:
|
|
92
|
+
- 1-2 blocker findings (auto-remediable via story regeneration)
|
|
93
|
+
- FR coverage_score 50-79%
|
|
94
|
+
- Several major findings
|
|
95
|
+
- **READY**: All of these conditions are true:
|
|
96
|
+
- Zero blocker findings
|
|
97
|
+
- FR coverage_score >= 80%
|
|
98
|
+
- Only minor findings (if any)
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Output Contract
|
|
103
|
+
|
|
104
|
+
Emit ONLY this YAML block as your final output — no other text.
|
|
105
|
+
|
|
106
|
+
**CRITICAL YAML RULES**: All string values MUST be quoted with double quotes. Arrays use `-` notation. Keep values on single lines.
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
verdict: "READY"
|
|
110
|
+
coverage_score: 95
|
|
111
|
+
findings:
|
|
112
|
+
- category: "fr_coverage"
|
|
113
|
+
severity: "blocker"
|
|
114
|
+
description: "FR-3 (User can export reports as PDF) has no story covering it. Story 2-4 mentions reporting but does not include export functionality."
|
|
115
|
+
affected_items:
|
|
116
|
+
- "FR-3"
|
|
117
|
+
- "2-4"
|
|
118
|
+
- category: "story_quality"
|
|
119
|
+
severity: "minor"
|
|
120
|
+
description: "Story 1-2 AC3 is vague: 'the system responds appropriately'. Should specify expected response time and format."
|
|
121
|
+
affected_items:
|
|
122
|
+
- "1-2"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Valid verdict values: READY, NEEDS_WORK, NOT_READY
|
|
126
|
+
Valid category values: fr_coverage, architecture_compliance, story_quality, ux_alignment, dependency_validity
|
|
127
|
+
Valid severity values: blocker, major, minor
|
|
128
|
+
|
|
129
|
+
If you cannot perform the review:
|
|
130
|
+
|
|
131
|
+
```yaml
|
|
132
|
+
verdict: "NOT_READY"
|
|
133
|
+
coverage_score: 0
|
|
134
|
+
findings:
|
|
135
|
+
- category: "fr_coverage"
|
|
136
|
+
severity: "blocker"
|
|
137
|
+
description: "Unable to perform readiness review: insufficient context provided."
|
|
138
|
+
affected_items: []
|
|
139
|
+
```
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# BMAD Refinement Agent
|
|
2
|
+
|
|
3
|
+
## Phase Context
|
|
4
|
+
|
|
5
|
+
{{phase_context}}
|
|
6
|
+
|
|
7
|
+
## Original Artifact
|
|
8
|
+
|
|
9
|
+
{{original_artifact}}
|
|
10
|
+
|
|
11
|
+
## Critique Issues to Address
|
|
12
|
+
|
|
13
|
+
The following issues were identified by the quality reviewer. You must address each one:
|
|
14
|
+
|
|
15
|
+
{{critique_issues}}
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Your Role
|
|
20
|
+
|
|
21
|
+
You are a skilled technical writer and architect. Your job is to improve the artifact above by addressing every issue in the critique list.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
1. Read the original artifact carefully to understand its full content and intent.
|
|
28
|
+
|
|
29
|
+
2. Review each critique issue and understand exactly what needs to change:
|
|
30
|
+
- **blocker** issues must be fully resolved — the refined artifact must not contain the original deficiency.
|
|
31
|
+
- **major** issues must be addressed with substantive improvements, not cosmetic changes.
|
|
32
|
+
- **minor** issues should be addressed where possible without disrupting the overall structure.
|
|
33
|
+
|
|
34
|
+
3. Produce a revised version of the artifact that:
|
|
35
|
+
- Addresses every listed issue
|
|
36
|
+
- Preserves all correct and valid content from the original
|
|
37
|
+
- Maintains the same format and structure as the original (YAML fields, markdown sections, etc.)
|
|
38
|
+
- Does NOT introduce new problems while fixing existing ones
|
|
39
|
+
|
|
40
|
+
4. The refined artifact must be complete and self-contained — it replaces the original entirely.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Output
|
|
45
|
+
|
|
46
|
+
Return ONLY the refined artifact content — no preamble, no "Here is the refined version:", no explanation.
|
|
47
|
+
|
|
48
|
+
Start directly with the artifact content, exactly as the original was formatted.
|
|
49
|
+
|
|
50
|
+
If the original was a YAML block, return a YAML block.
|
|
51
|
+
If the original was a markdown document, return a markdown document.
|
|
52
|
+
If the original was structured text, maintain that structure.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# BMAD Stories Step 1: Epic Design
|
|
2
|
+
|
|
3
|
+
## Context (pre-assembled by pipeline)
|
|
4
|
+
|
|
5
|
+
### Requirements (from Planning Phase)
|
|
6
|
+
{{requirements}}
|
|
7
|
+
|
|
8
|
+
### Architecture Decisions (from Solutioning Phase)
|
|
9
|
+
{{architecture_decisions}}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Mission
|
|
14
|
+
|
|
15
|
+
Design the **epic structure** — high-level groupings of work organized by user value, with explicit mapping to functional requirements. This ensures full FR coverage before diving into story details.
|
|
16
|
+
|
|
17
|
+
## Instructions
|
|
18
|
+
|
|
19
|
+
1. **Organize epics by user value, never by technical layer:**
|
|
20
|
+
- GOOD: "User Authentication & Onboarding", "Dashboard & Analytics"
|
|
21
|
+
- BAD: "Database Setup", "API Development", "Frontend Components"
|
|
22
|
+
- Each epic must be independently valuable
|
|
23
|
+
- No forward dependencies — Epic N should not require Epic N+1
|
|
24
|
+
|
|
25
|
+
2. **Map FRs to epics:**
|
|
26
|
+
- Use `fr_coverage` to list which functional requirements each epic addresses
|
|
27
|
+
- Every FR from the planning phase must appear in at least one epic's coverage
|
|
28
|
+
- This creates traceability before detailed story writing begins
|
|
29
|
+
|
|
30
|
+
3. **Keep descriptions focused:**
|
|
31
|
+
- Each epic's description should explain the user value it delivers
|
|
32
|
+
- Include enough context for story generation in the next step
|
|
33
|
+
|
|
34
|
+
## Output Contract
|
|
35
|
+
|
|
36
|
+
Emit ONLY this YAML block as your final output — no other text.
|
|
37
|
+
|
|
38
|
+
**CRITICAL**: All string values MUST be quoted with double quotes.
|
|
39
|
+
|
|
40
|
+
```yaml
|
|
41
|
+
result: success
|
|
42
|
+
epics:
|
|
43
|
+
- title: "User Onboarding and Habit Management"
|
|
44
|
+
description: "Core habit tracking functionality that delivers immediate user value"
|
|
45
|
+
fr_coverage:
|
|
46
|
+
- "FR-0"
|
|
47
|
+
- "FR-1"
|
|
48
|
+
- title: "Analytics and Streak Visualization"
|
|
49
|
+
description: "Insight features that motivate continued usage"
|
|
50
|
+
fr_coverage:
|
|
51
|
+
- "FR-2"
|
|
52
|
+
- "FR-3"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
If you cannot produce valid output:
|
|
56
|
+
|
|
57
|
+
```yaml
|
|
58
|
+
result: failed
|
|
59
|
+
```
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# BMAD Stories Step 2: Story Generation
|
|
2
|
+
|
|
3
|
+
## Context (pre-assembled by pipeline)
|
|
4
|
+
|
|
5
|
+
### Epic Structure (from Step 1)
|
|
6
|
+
{{epic_structure}}
|
|
7
|
+
|
|
8
|
+
### Requirements (from Planning Phase)
|
|
9
|
+
{{requirements}}
|
|
10
|
+
|
|
11
|
+
### Architecture Decisions (from Solutioning Phase)
|
|
12
|
+
{{architecture_decisions}}
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Mission
|
|
17
|
+
|
|
18
|
+
Expand the epic structure into **implementation-ready stories** with acceptance criteria. Each story should be sized for a single developer in 1-3 days.
|
|
19
|
+
|
|
20
|
+
## Instructions
|
|
21
|
+
|
|
22
|
+
1. **Write implementation-ready stories:**
|
|
23
|
+
- `key`: Short identifier like "1-1" or "2-3" (epic number - story number)
|
|
24
|
+
- `title`: Clear, action-oriented (e.g., "User registration with email verification")
|
|
25
|
+
- `description`: What the developer needs to build and why. Include enough context to start coding.
|
|
26
|
+
- `acceptance_criteria`: Specific, testable conditions. Minimum 1 per story. Use concrete language.
|
|
27
|
+
- `priority`: must (MVP-critical), should (high-value post-MVP), could (nice-to-have)
|
|
28
|
+
|
|
29
|
+
2. **Ensure full FR coverage:**
|
|
30
|
+
- The epic structure from Step 1 maps FRs to epics — generate stories that fulfill each FR
|
|
31
|
+
- Cross-reference: every FR should be covered by at least one story's acceptance criteria
|
|
32
|
+
|
|
33
|
+
3. **Respect architecture decisions:**
|
|
34
|
+
- Stories should reference the chosen tech stack and patterns
|
|
35
|
+
- If architecture specifies a project structure, Epic 1 Story 1 should be project scaffolding
|
|
36
|
+
|
|
37
|
+
4. **Size stories appropriately:**
|
|
38
|
+
- Each story completable by one developer in 1-3 days
|
|
39
|
+
- If too large, split into multiple stories within the same epic
|
|
40
|
+
- If an epic has more than 8 stories, consider if the epic should be split
|
|
41
|
+
|
|
42
|
+
## Output Contract
|
|
43
|
+
|
|
44
|
+
Emit ONLY this YAML block as your final output — no other text.
|
|
45
|
+
|
|
46
|
+
**CRITICAL YAML RULES**:
|
|
47
|
+
- All string values MUST be quoted with double quotes.
|
|
48
|
+
- Acceptance criteria must be plain English descriptions — NO code snippets, function calls, or special characters inside strings.
|
|
49
|
+
- BAD: `- "convertMarkdown('# hello') returns '<h1>hello</h1>'"` (embedded quotes break YAML)
|
|
50
|
+
- GOOD: `- "Converting a heading produces the correct HTML h1 tag"`
|
|
51
|
+
|
|
52
|
+
```yaml
|
|
53
|
+
result: success
|
|
54
|
+
epics:
|
|
55
|
+
- title: "User Onboarding and Habit Management"
|
|
56
|
+
description: "Core habit tracking functionality that delivers immediate user value"
|
|
57
|
+
stories:
|
|
58
|
+
- key: "1-1"
|
|
59
|
+
title: "Project scaffolding and CLI setup"
|
|
60
|
+
description: "Initialize the project with TypeScript, Commander, and SQLite"
|
|
61
|
+
acceptance_criteria:
|
|
62
|
+
- "CLI binary runs and shows help text"
|
|
63
|
+
- "SQLite database is created on first run"
|
|
64
|
+
priority: must
|
|
65
|
+
- key: "1-2"
|
|
66
|
+
title: "Register and list habits"
|
|
67
|
+
description: "Users can create habits and view all tracked habits"
|
|
68
|
+
acceptance_criteria:
|
|
69
|
+
- "habit add command creates a new habit"
|
|
70
|
+
- "habit list command shows all habits with status"
|
|
71
|
+
priority: must
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
If you cannot produce valid output:
|
|
75
|
+
|
|
76
|
+
```yaml
|
|
77
|
+
result: failed
|
|
78
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# BMAD UX Design Step 1: Discovery + Core Experience
|
|
2
|
+
|
|
3
|
+
## Context (pre-assembled by pipeline)
|
|
4
|
+
|
|
5
|
+
### Product Brief (from Analysis Phase)
|
|
6
|
+
{{product_brief}}
|
|
7
|
+
|
|
8
|
+
### Requirements (from Planning Phase)
|
|
9
|
+
{{requirements}}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Mission
|
|
14
|
+
|
|
15
|
+
Conduct a thorough **UX discovery** for this product. Your goal is to define:
|
|
16
|
+
1. The target user personas and their goals
|
|
17
|
+
2. The core experience vision — what should it feel like to use this product?
|
|
18
|
+
3. Emotional response targets — what emotions should users feel?
|
|
19
|
+
4. Inspiration references — existing products, design patterns, or aesthetics to reference
|
|
20
|
+
|
|
21
|
+
This is the foundation for all subsequent UX design decisions. Be specific and user-centered.
|
|
22
|
+
|
|
23
|
+
## Instructions
|
|
24
|
+
|
|
25
|
+
1. **Define target personas** (2-4 personas):
|
|
26
|
+
- Name + role (e.g., "Alex, startup founder")
|
|
27
|
+
- Primary goal when using this product
|
|
28
|
+
- Key frustrations the product should solve
|
|
29
|
+
- Technical comfort level
|
|
30
|
+
|
|
31
|
+
2. **Articulate the core experience vision**:
|
|
32
|
+
- What is the ONE sentence that captures how users should experience this product?
|
|
33
|
+
- Example: "Effortless, like having a brilliant assistant who anticipates your needs"
|
|
34
|
+
|
|
35
|
+
3. **Set emotional response targets** (3-5 emotional goals):
|
|
36
|
+
- What should users feel when they first open the product?
|
|
37
|
+
- What should they feel after completing a key task?
|
|
38
|
+
- Example: "Confident, not overwhelmed; Surprised by how fast it works"
|
|
39
|
+
|
|
40
|
+
4. **Identify inspiration references** (2-4 references):
|
|
41
|
+
- Products, apps, or design systems whose UX quality to emulate
|
|
42
|
+
- What specifically to borrow (interaction model, visual clarity, information density)
|
|
43
|
+
|
|
44
|
+
## Output Contract
|
|
45
|
+
|
|
46
|
+
Emit ONLY this YAML block as your final output — no other text.
|
|
47
|
+
|
|
48
|
+
**CRITICAL**: All string values MUST be quoted with double quotes.
|
|
49
|
+
|
|
50
|
+
```yaml
|
|
51
|
+
result: success
|
|
52
|
+
target_personas:
|
|
53
|
+
- "Alex (startup founder): wants rapid iteration; frustrated by slow dev tools; high technical comfort"
|
|
54
|
+
- "Sam (product manager): needs clear status visibility; frustrated by context-switching; moderate technical comfort"
|
|
55
|
+
core_experience: "Instant clarity — every action produces visible, understandable results within seconds"
|
|
56
|
+
emotional_goals:
|
|
57
|
+
- "Empowered: users feel in control of a complex process"
|
|
58
|
+
- "Focused: the interface surfaces only what matters right now"
|
|
59
|
+
- "Confident: clear feedback means users always know what's happening"
|
|
60
|
+
inspiration_references:
|
|
61
|
+
- "Linear.app: information density and keyboard-first workflow"
|
|
62
|
+
- "Raycast: speed and discoverability without cognitive overload"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
If you cannot produce valid output:
|
|
66
|
+
|
|
67
|
+
```yaml
|
|
68
|
+
result: failed
|
|
69
|
+
```
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# BMAD UX Design Step 2: Design System + Visual Foundation
|
|
2
|
+
|
|
3
|
+
## Context (pre-assembled by pipeline)
|
|
4
|
+
|
|
5
|
+
### Product Brief (from Analysis Phase)
|
|
6
|
+
{{product_brief}}
|
|
7
|
+
|
|
8
|
+
### Requirements (from Planning Phase)
|
|
9
|
+
{{requirements}}
|
|
10
|
+
|
|
11
|
+
### UX Discovery (from Step 1)
|
|
12
|
+
{{ux_discovery}}
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Mission
|
|
17
|
+
|
|
18
|
+
Build on the UX discovery to define the **design system and visual foundation** for this product. Your goal is to establish the design language that will guide all UI development decisions.
|
|
19
|
+
|
|
20
|
+
## Instructions
|
|
21
|
+
|
|
22
|
+
1. **Define the design system approach**:
|
|
23
|
+
- Should this product use an existing component library (e.g., shadcn/ui, MUI, Chakra) or custom?
|
|
24
|
+
- What is the rationale based on the target personas and core experience vision?
|
|
25
|
+
- Example: "shadcn/ui with Tailwind CSS — minimal overhead, full customization, matches developer-focused audience"
|
|
26
|
+
|
|
27
|
+
2. **Establish the visual foundation** — the overall aesthetic:
|
|
28
|
+
- Layout philosophy: spacious or dense? Grid or freeform?
|
|
29
|
+
- Motion: animated transitions or static? Micro-interactions?
|
|
30
|
+
- Personality: professional/corporate, playful/approachable, technical/utilitarian?
|
|
31
|
+
|
|
32
|
+
3. **Define 3-5 design principles**:
|
|
33
|
+
- Short, actionable statements that guide UI decisions
|
|
34
|
+
- Example: "Progressive disclosure: show complexity only when needed"
|
|
35
|
+
- Example: "Keyboard first: every action reachable without a mouse"
|
|
36
|
+
|
|
37
|
+
4. **Specify color and typography direction**:
|
|
38
|
+
- Color palette: light/dark mode? Primary accent color family?
|
|
39
|
+
- Typography: serif, sans-serif, monospace for code? Specific families if known?
|
|
40
|
+
- Example: "Dark-mode-first with neutral gray base, blue accent. Inter for UI, JetBrains Mono for code"
|
|
41
|
+
|
|
42
|
+
## Output Contract
|
|
43
|
+
|
|
44
|
+
Emit ONLY this YAML block as your final output — no other text.
|
|
45
|
+
|
|
46
|
+
**CRITICAL**: All string values MUST be quoted with double quotes.
|
|
47
|
+
|
|
48
|
+
```yaml
|
|
49
|
+
result: success
|
|
50
|
+
design_system: "shadcn/ui with Tailwind CSS — provides accessible, composable primitives with full design token control"
|
|
51
|
+
visual_foundation: "Dense-information layout with generous whitespace at page level. Subtle motion for state changes only. Technical-utilitarian personality with warm accents to reduce coldness."
|
|
52
|
+
design_principles:
|
|
53
|
+
- "Progressive disclosure: surface complexity only when the user requests it"
|
|
54
|
+
- "Keyboard-first: every interaction is achievable without a mouse"
|
|
55
|
+
- "Visible state: system status is always visible, never hidden"
|
|
56
|
+
- "Consistent feedback: every action produces an immediate, unambiguous response"
|
|
57
|
+
color_and_typography: "Dark-mode primary with light-mode option. Slate gray base with indigo accent. Inter 400/500/600 for UI text, JetBrains Mono for code and terminal output."
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
If you cannot produce valid output:
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
result: failed
|
|
64
|
+
```
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# BMAD UX Design Step 3: User Journeys + Component Strategy + Accessibility
|
|
2
|
+
|
|
3
|
+
## Context (pre-assembled by pipeline)
|
|
4
|
+
|
|
5
|
+
### Product Brief (from Analysis Phase)
|
|
6
|
+
{{product_brief}}
|
|
7
|
+
|
|
8
|
+
### Requirements (from Planning Phase)
|
|
9
|
+
{{requirements}}
|
|
10
|
+
|
|
11
|
+
### UX Discovery (from Step 1)
|
|
12
|
+
{{ux_discovery}}
|
|
13
|
+
|
|
14
|
+
### Design System (from Step 2)
|
|
15
|
+
{{design_system}}
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Mission
|
|
20
|
+
|
|
21
|
+
Complete the UX design by mapping **user journeys**, defining the **component strategy**, identifying key **UX patterns**, and establishing **accessibility and responsive design guidelines**.
|
|
22
|
+
|
|
23
|
+
## Instructions
|
|
24
|
+
|
|
25
|
+
1. **Map 2-4 critical user journeys**:
|
|
26
|
+
- Each journey covers a key workflow from the user's perspective
|
|
27
|
+
- Format: "User goal → Entry point → Steps → Success state → Failure state"
|
|
28
|
+
- Focus on the 2-4 highest-value workflows from the requirements
|
|
29
|
+
- Example: "New user onboarding → Landing page → Sign up → Dashboard → First action → Completion"
|
|
30
|
+
|
|
31
|
+
2. **Define the component strategy**:
|
|
32
|
+
- What are the 3-5 most complex/critical UI components to design first?
|
|
33
|
+
- For each: name, purpose, key interactions, and data requirements
|
|
34
|
+
- Example: "Pipeline status dashboard: real-time progress visualization with expandable step details"
|
|
35
|
+
|
|
36
|
+
3. **Identify 3-5 key UX patterns**:
|
|
37
|
+
- Specific interaction patterns that recur across the product
|
|
38
|
+
- Example: "Optimistic updates: apply changes immediately, roll back on error"
|
|
39
|
+
- Example: "Command palette (Cmd+K): global action access without navigation"
|
|
40
|
+
- Example: "Toast notifications: transient feedback for async operations"
|
|
41
|
+
|
|
42
|
+
4. **Establish accessibility and responsive design guidelines**:
|
|
43
|
+
- WCAG target level (AA recommended minimum)
|
|
44
|
+
- Keyboard navigation requirements
|
|
45
|
+
- Screen reader support priorities
|
|
46
|
+
- Responsive breakpoints and mobile strategy (mobile-first? adaptive? PWA?)
|
|
47
|
+
- Example: "WCAG AA minimum. Full keyboard navigation for all core flows. ARIA labels on all interactive elements. Mobile-responsive at 320px+ breakpoints."
|
|
48
|
+
|
|
49
|
+
## Output Contract
|
|
50
|
+
|
|
51
|
+
Emit ONLY this YAML block as your final output — no other text.
|
|
52
|
+
|
|
53
|
+
**CRITICAL**: All string values MUST be quoted with double quotes.
|
|
54
|
+
|
|
55
|
+
```yaml
|
|
56
|
+
result: success
|
|
57
|
+
user_journeys:
|
|
58
|
+
- "First run: User installs CLI → runs 'substrate auto init' → provides project concept → pipeline starts automatically → watches real-time progress → reviews results"
|
|
59
|
+
- "Resume after failure: User sees failed story → inspects error → runs 'substrate auto resume' → pipeline retries from last checkpoint → completes successfully"
|
|
60
|
+
- "Amend existing run: User wants to change direction → runs 'substrate auto amend --concept ...' → sees diff of changes → approves → pipeline re-runs affected phases"
|
|
61
|
+
component_strategy: "Priority components: (1) Pipeline status view — hierarchical phase/story progress with real-time updates; (2) Story detail panel — structured view of AC, tasks, and test results; (3) Error inspector — contextual error display with suggested fixes"
|
|
62
|
+
ux_patterns:
|
|
63
|
+
- "Streaming output: display pipeline logs in real-time with ANSI color preservation"
|
|
64
|
+
- "Progressive detail: collapsed by default, expand on demand"
|
|
65
|
+
- "Inline error recovery: show fix suggestions adjacent to failure context"
|
|
66
|
+
- "Persistent state: remember last run context across sessions"
|
|
67
|
+
accessibility_guidelines:
|
|
68
|
+
- "WCAG AA compliance minimum"
|
|
69
|
+
- "Full keyboard navigation for all interactive elements"
|
|
70
|
+
- "High-contrast mode support via prefers-color-scheme"
|
|
71
|
+
- "Reduced motion media query respected for animations"
|
|
72
|
+
- "ARIA live regions for streaming output updates"
|
|
73
|
+
- "Mobile-responsive at 320px minimum width"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
If you cannot produce valid output:
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
result: failed
|
|
80
|
+
```
|