Compare commits
2 Commits
c5117e5382
...
ccd6cacd89
| Author | SHA1 | Date |
|---|---|---|
|
|
ccd6cacd89 | |
|
|
accae5d789 |
305
CHANGELOG.md
305
CHANGELOG.md
|
|
@ -2,6 +2,311 @@
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [6.0.0-alpha.5]
|
||||||
|
|
||||||
|
**Release: November 4, 2025**
|
||||||
|
|
||||||
|
This alpha release represents a major refinement of BMM workflows, documentation accuracy, and the introduction of the revolutionary 3-track scale system. The focus is on workflow consistency, eliminating bloat, and providing accurate, reality-based guidance for modern AI-driven development.
|
||||||
|
|
||||||
|
### 🎯 3-Track Scale System - Revolutionary Simplification
|
||||||
|
|
||||||
|
**From 5 Levels to 3 Clear Tracks:**
|
||||||
|
|
||||||
|
The BMM scale system has been dramatically simplified from a confusing 5-level hierarchy (Levels 0-4) to 3 intuitive, preference-driven tracks:
|
||||||
|
|
||||||
|
- **Quick Flow** - Fast, lightweight development for small changes and quick iterations
|
||||||
|
- **BMad Method** - Balanced approach for most development projects
|
||||||
|
- **Enterprise Method** - Comprehensive methodology for large-scale, mission-critical systems
|
||||||
|
|
||||||
|
**Key Changes:**
|
||||||
|
|
||||||
|
- Replaced `project_level` variable with `project_track` throughout all workflows
|
||||||
|
- Updated 8 workflow path YAML files to reflect new track naming (removed level-based paths)
|
||||||
|
- Simplified workflow-init to guide users based on preference, not artificial "levels"
|
||||||
|
- Updated all documentation to reference tracks instead of levels
|
||||||
|
- Eliminated confusing "target_scale" variable (no longer needed)
|
||||||
|
|
||||||
|
**Impact:**
|
||||||
|
|
||||||
|
Users now choose development approach based on **project needs and team preference**, not arbitrary complexity levels. This aligns with how real teams actually work and removes decision paralysis.
|
||||||
|
|
||||||
|
**Documentation Updated:**
|
||||||
|
|
||||||
|
- `scale-adaptive-system.md` - Complete rewrite around 3-track methodology (756 line overhaul)
|
||||||
|
- `quick-start.md` - Updated to reference tracks
|
||||||
|
- `brownfield-guide.md` - Track-based guidance instead of level-based
|
||||||
|
- `glossary.md` - New track definitions, removed level references
|
||||||
|
- `workflow-status/init/instructions.md` - Major rewrite for track-based initialization (865 lines)
|
||||||
|
|
||||||
|
### ✨ Workflow Modernization & Standardization
|
||||||
|
|
||||||
|
**1. Elicitation System Modernization:**
|
||||||
|
|
||||||
|
- Removed legacy `<elicit-required />` XML tag from core workflow.xml
|
||||||
|
- Replaced with explicit `<invoke-task halt="true">adv-elicit.xml</invoke-task>` pattern
|
||||||
|
- More self-documenting and eliminates confusing indirection layer
|
||||||
|
- Added strategic elicitation points across all planning workflows:
|
||||||
|
- **PRD:** After success criteria, scope, functional requirements, and final review
|
||||||
|
- **Create-Epics-And-Stories:** After epic proposals and each epic's stories
|
||||||
|
- **Architecture:** After decisions, structure, patterns, implementation patterns, and final doc
|
||||||
|
- Updated audit-workflow to remove obsolete elicit-required tag scanning
|
||||||
|
|
||||||
|
**2. Input Document Discovery Streamlined:**
|
||||||
|
|
||||||
|
- Replaced verbose 19-line "Input Document Discovery" sections with single critical tag
|
||||||
|
- New concise format: `<critical>Input documents specified in workflow.yaml input_file_patterns...</critical>`
|
||||||
|
- Eliminates duplication (workflow.yaml already defines patterns - why repeat them?)
|
||||||
|
- Updated across 6 workflows: PRD, create-epics-and-stories, architecture, tech-spec, UX, gate-check
|
||||||
|
- **Saved ~114 lines of repeated bloat**
|
||||||
|
|
||||||
|
**3. Epic/Story Template Standardization:**
|
||||||
|
|
||||||
|
- Replaced hardcoded 8-epic templates with clean repeating patterns using N/M variables
|
||||||
|
- Added BDD-style acceptance criteria (Given/When/Then/And) for better clarity
|
||||||
|
- Removed instructional bloat from templates (moved to instructions.md where it belongs)
|
||||||
|
- **Principle:** Templates show OUTPUT structure, instructions show PROCESS
|
||||||
|
- Applied to both create-epics-and-stories and tech-spec workflows
|
||||||
|
- Templates now use HTML comments to clearly indicate repeating sections
|
||||||
|
|
||||||
|
**4. Workflow.yaml Pattern Consistency:**
|
||||||
|
|
||||||
|
- Standardized `input_file_patterns` across all workflows
|
||||||
|
- Separated `recommended_inputs` (semantic WHAT) from `input_file_patterns` (file discovery WHERE)
|
||||||
|
- Removed duplication between recommended_inputs file paths and input_file_patterns
|
||||||
|
- Create-epics-and-stories now uses proper whole/sharded pattern like architecture workflow
|
||||||
|
- Solutioning-gate-check cleaned up to use semantic descriptions not file paths
|
||||||
|
|
||||||
|
**Files Changed:** 18 files across core, planning, and solutioning workflows
|
||||||
|
|
||||||
|
### 📚 Documentation Accuracy Overhaul
|
||||||
|
|
||||||
|
**Agent YAML as Source of Truth:**
|
||||||
|
|
||||||
|
Fixed critical documentation inaccuracies by treating agent YAML files as the authoritative source:
|
||||||
|
|
||||||
|
**agents-guide.md Corrections:**
|
||||||
|
|
||||||
|
- Fixed Game Developer workflow names (dev-story → develop-story, added story-done)
|
||||||
|
- Added agent name "Paige" to Technical Writer (matches naming pattern)
|
||||||
|
- Corrected epic-tech-context ownership (Architect → SM agent across all docs)
|
||||||
|
- Updated agent reference tables to reflect actual capabilities from YAML configs
|
||||||
|
|
||||||
|
**workflows-implementation.md Corrections:**
|
||||||
|
|
||||||
|
- Fixed epic-tech-context agent attribution in 3 locations (Architect → SM)
|
||||||
|
- Updated multi-agent workflow ownership table
|
||||||
|
- Aligned all workflow descriptions with actual agent YAML definitions
|
||||||
|
|
||||||
|
**Impact:** Zero hallucination risk - documentation now accurately reflects what agents can actually do.
|
||||||
|
|
||||||
|
### 🏗️ Brownfield Development Reality Check
|
||||||
|
|
||||||
|
**Rewrote brownfield-guide.md Phase 0 Section:**
|
||||||
|
|
||||||
|
Replaced oversimplified 3-scenario model with **real-world guidance** for messy brownfield projects:
|
||||||
|
|
||||||
|
**New Scenarios (4 instead of 3):**
|
||||||
|
|
||||||
|
- **Scenario A:** No documentation → `document-project` workflow (existing)
|
||||||
|
- **Scenario B:** Docs exist but massive/outdated/incomplete → **document-project** (NEW - very common case)
|
||||||
|
- **Scenario C:** Good docs but massive files → **shard-doc → index-docs** (NEW - handles >500 line files)
|
||||||
|
- **Scenario D:** Confirmed AI-optimized docs → Skip Phase 0 (correctly marked as RARE)
|
||||||
|
|
||||||
|
**Key Additions:**
|
||||||
|
|
||||||
|
- Default recommendation: "Run document-project unless you have confirmed, trusted, AI-optimized docs"
|
||||||
|
- Quality assessment checklist (current, AI-optimized, comprehensive, trusted)
|
||||||
|
- Massive document handling guidance (>500 lines, 10+ sections triggers shard-doc)
|
||||||
|
- Explicit explanation of why regenerating is better than indexing bad docs
|
||||||
|
- Impact explanation: how outdated docs break AI workflows (token limits, wrong assumptions, broken integrations)
|
||||||
|
|
||||||
|
**Principle:** "When in doubt, run document-project" - Better to spend 10-30 minutes generating fresh docs than waste hours debugging AI agents with bad documentation.
|
||||||
|
|
||||||
|
### 🚀 PM/UX Evolution for Enterprise Agentic Development
|
||||||
|
|
||||||
|
**New Section: The Evolving Role of Product Managers & UX Designers**
|
||||||
|
|
||||||
|
Added comprehensive forward-looking guidance based on **November 2025 industry research**:
|
||||||
|
|
||||||
|
**Industry Trends:**
|
||||||
|
|
||||||
|
- 56% of product professionals cite AI/ML as top strategic focus
|
||||||
|
- PRD-to-Code automation: build and deploy apps in 10-15 minutes (current state)
|
||||||
|
- By 2026: Roles converging into "Full-Stack Product Lead" (PM + Design + Engineering)
|
||||||
|
- Very high salaries for AI Agent PMs who orchestrate autonomous development systems
|
||||||
|
|
||||||
|
**Role Transformation:**
|
||||||
|
|
||||||
|
- PMs evolving from spec writers → code orchestrators
|
||||||
|
- Writing AI-optimized PRDs that **feed agentic pipelines directly**
|
||||||
|
- UX designers generating production code with Figma-to-code tools
|
||||||
|
- Technical fluency becoming **table stakes**, not optional
|
||||||
|
- Reviewing PRs from AI agents alongside human developers
|
||||||
|
|
||||||
|
**How BMad Method Enables This Future (10 Ways):**
|
||||||
|
|
||||||
|
1. AI-Executable PRD Generation - PRDs become work packages for cloud agents
|
||||||
|
2. Automated Epic/Story Breakdown - No more manual story refinement sessions
|
||||||
|
3. Human-in-the-Loop Architecture - PMs learn while validating technical decisions
|
||||||
|
4. Cloud Agentic Pipeline Vision - Current (2025) + Future (2026) roadmap with diagrams
|
||||||
|
5. UX Design Integration - Designs validated through working prototypes
|
||||||
|
6. PM Technical Skills Development - Learn by doing through conversational workflows
|
||||||
|
7. Organizational Leverage - 1 PM → 20-50 AI agents (5-10× productivity multiplier)
|
||||||
|
8. Quality Consistency - What gets built matches what was specified
|
||||||
|
9. Rapid Prototyping - Hours to validate ideas vs months
|
||||||
|
10. Career Path Evolution - Positions PMs for emerging AI Agent PM, Full-Stack Product Lead roles
|
||||||
|
|
||||||
|
**Cloud Agentic Pipeline Vision:**
|
||||||
|
|
||||||
|
```
|
||||||
|
Current (2025): PM PRD → Stories → Human devs + BMad agents → PRs → Review → Deploy
|
||||||
|
Future (2026): PM PRD → Stories → Cloud AI agents → Auto PRs → Review → Auto-merge → Deploy
|
||||||
|
Time savings: 6-8 weeks → 2-5 days
|
||||||
|
```
|
||||||
|
|
||||||
|
**What Remains Human:**
|
||||||
|
|
||||||
|
- Product vision, empathy, creativity, judgment, ethics
|
||||||
|
- PMs spend MORE time on human elements (AI handles execution)
|
||||||
|
- Product leaders become "builder-thinkers" not just spec writers
|
||||||
|
|
||||||
|
### 📖 Document Tightening
|
||||||
|
|
||||||
|
**enterprise-agentic-development.md Overhaul:**
|
||||||
|
|
||||||
|
- Reduced from 1207 → 640 lines (47% reduction)
|
||||||
|
- 10× more BMad-centric - every section ties back to how BMad enables the future
|
||||||
|
- Removed redundant examples, consolidated sections, kept actionable insights
|
||||||
|
- Stronger value propositions for PMs, UX, enterprise teams throughout
|
||||||
|
|
||||||
|
**Key Message:** "The future isn't AI replacing PMs—it's AI-augmented PMs becoming 10× more powerful through BMad Method."
|
||||||
|
|
||||||
|
### 🛠️ Infrastructure & Quality
|
||||||
|
|
||||||
|
**Agent Naming Consistency:**
|
||||||
|
|
||||||
|
- Renamed `paige.agent.yaml` → `tech-writer.agent.yaml` (matches agent naming pattern)
|
||||||
|
- Updated all references across documentation and workflow files
|
||||||
|
|
||||||
|
**README Updates:**
|
||||||
|
|
||||||
|
- Updated local installation instructions
|
||||||
|
- Better hierarchy and clearer CTAs in root README
|
||||||
|
|
||||||
|
### 🔄 Breaking Changes
|
||||||
|
|
||||||
|
**Variable Renames:**
|
||||||
|
|
||||||
|
- `project_level` → `project_track` in PRD and all planning workflows
|
||||||
|
- Removed `target_scale` variable (no longer needed with 3-track system)
|
||||||
|
|
||||||
|
**Workflow Path Files:**
|
||||||
|
|
||||||
|
- Removed 9 level-based workflow paths (brownfield-level-0, greenfield-level-3, etc.)
|
||||||
|
- Added 6 new track-based workflow paths (quick-flow-greenfield, method-brownfield, enterprise-greenfield, etc.)
|
||||||
|
|
||||||
|
**Workflow Triggers:**
|
||||||
|
|
||||||
|
- Tech-spec workflow descriptions updated to reference tracks not levels
|
||||||
|
|
||||||
|
### 📊 Impact Summary
|
||||||
|
|
||||||
|
These changes bring BMM from alpha.4's solid foundation to alpha.5's **production-ready professionalism**:
|
||||||
|
|
||||||
|
- **Accuracy:** Documentation matches YAML source of truth (zero hallucination risk)
|
||||||
|
- **Simplicity:** 3-track system eliminates decision paralysis and artificial complexity
|
||||||
|
- **Reality:** Brownfield guidance handles messy real-world scenarios, not idealized ones
|
||||||
|
- **Forward-looking:** PM/UX evolution section positions BMad as essential framework for emerging roles
|
||||||
|
- **Consistency:** Standardized elicitation, input discovery, and template patterns across all workflows
|
||||||
|
- **Maintainability:** 47% documentation reduction + ~114 lines of bloat removed from workflows
|
||||||
|
- **Actionable:** Concrete workflows, commands, examples throughout all guidance
|
||||||
|
|
||||||
|
Users now have **trustworthy, reality-based, future-oriented guidance** for using BMad Method in both current workflows and emerging agentic development patterns.
|
||||||
|
|
||||||
|
### 📦 Files Changed
|
||||||
|
|
||||||
|
**Core & Infrastructure (3 files):**
|
||||||
|
|
||||||
|
- `bmad/core/tasks/workflow.xml` - Removed elicit-required tag
|
||||||
|
- `src/core/tasks/workflow.xml` - Removed elicit-required tag
|
||||||
|
- `package.json` - Version bump
|
||||||
|
|
||||||
|
**Documentation (8 files):**
|
||||||
|
|
||||||
|
- `src/modules/bmm/docs/README.md` - Track references
|
||||||
|
- `src/modules/bmm/docs/agents-guide.md` - Accuracy fixes, agent ownership corrections
|
||||||
|
- `src/modules/bmm/docs/brownfield-guide.md` - Phase 0 reality check, track migration
|
||||||
|
- `src/modules/bmm/docs/enterprise-agentic-development.md` - PM/UX evolution, 47% reduction
|
||||||
|
- `src/modules/bmm/docs/faq.md` - Track references
|
||||||
|
- `src/modules/bmm/docs/glossary.md` - Track definitions, removed levels
|
||||||
|
- `src/modules/bmm/docs/quick-spec-flow.md` - Track references
|
||||||
|
- `src/modules/bmm/docs/scale-adaptive-system.md` - Complete 3-track rewrite
|
||||||
|
|
||||||
|
**Workflow Paths (14 files):**
|
||||||
|
|
||||||
|
- Removed: 9 level-based paths (brownfield-level-0 through greenfield-level-4)
|
||||||
|
- Added: 6 track-based paths (quick-flow/method/enterprise × greenfield/brownfield)
|
||||||
|
|
||||||
|
**Planning Workflows (11 files):**
|
||||||
|
|
||||||
|
- PRD workflow: Elicitation, track migration, input discovery, checklist updates
|
||||||
|
- Create-epics-and-stories: Template rebuild, BDD format, elicitation, input patterns
|
||||||
|
- Tech-spec: Template rebuild, BDD format, input discovery
|
||||||
|
- Architecture: Elicitation points, input discovery
|
||||||
|
|
||||||
|
**Solutioning Workflows (2 files):**
|
||||||
|
|
||||||
|
- UX Design: Input discovery streamlined
|
||||||
|
- Gate-check: Input pattern cleanup, semantic descriptions
|
||||||
|
|
||||||
|
**Build & Utilities (2 files):**
|
||||||
|
|
||||||
|
- Audit workflow: Updated tag scanner (removed elicit-required)
|
||||||
|
- Workflow status init: Track-based initialization logic
|
||||||
|
|
||||||
|
**Total: 40+ files changed**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx bmad-method@6.0.0-alpha.5 install
|
||||||
|
```
|
||||||
|
|
||||||
|
For upgrading from alpha.4:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Backup your customizations first
|
||||||
|
npx bmad-method@6.0.0-alpha.5 install
|
||||||
|
```
|
||||||
|
|
||||||
|
### Migration Notes
|
||||||
|
|
||||||
|
If upgrading from v6.0.0-alpha.4:
|
||||||
|
|
||||||
|
1. **Scale System Change:** The 5-level system (Levels 0-4) is now 3 tracks (Quick Flow, BMad Method, Enterprise Method)
|
||||||
|
- Existing projects continue to work - workflows auto-detect track from context
|
||||||
|
- New projects will use track-based initialization
|
||||||
|
- Review `docs/scale-adaptive-system.md` for the new mental model
|
||||||
|
|
||||||
|
2. **Workflow Improvements:**
|
||||||
|
- Better elicitation at strategic decision points (you'll be asked for input more frequently)
|
||||||
|
- Cleaner templates with BDD acceptance criteria
|
||||||
|
- More consistent input document discovery
|
||||||
|
|
||||||
|
3. **Documentation Accuracy:**
|
||||||
|
- Agent capabilities now match YAML definitions exactly
|
||||||
|
- Brownfield guidance handles real-world messy scenarios
|
||||||
|
- PM/UX evolution section shows future of AI-driven development
|
||||||
|
|
||||||
|
4. **Agent Naming:** Technical Writer agent file renamed (paige.agent.yaml → tech-writer.agent.yaml)
|
||||||
|
- No functional impact - just internal naming consistency
|
||||||
|
|
||||||
|
5. **No Breaking Changes:** Existing project structures, workflow outputs, and customizations remain compatible
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [6.0.0-alpha.4]
|
## [6.0.0-alpha.4]
|
||||||
|
|
||||||
**Release: November 2, 2025**
|
**Release: November 2, 2025**
|
||||||
|
|
|
||||||
|
|
@ -161,7 +161,7 @@
|
||||||
<action if="condition met">Do something</action>
|
<action if="condition met">Do something</action>
|
||||||
```
|
```
|
||||||
|
|
||||||
<action>Scan instructions.md for nested tag references using pattern: <(action|ask|check|template-output|invoke-workflow|goto|step|elicit-required)> within text content</action>
|
<action>Scan instructions.md for nested tag references using pattern: <(action|ask|check|template-output|invoke-workflow|invoke-task|goto|step)> within text content
|
||||||
<action>Record any instances of nested tag references with line numbers</action>
|
<action>Record any instances of nested tag references with line numbers</action>
|
||||||
<action>Scan instructions.md for conditional execution antipattern: self-closing check tags</action>
|
<action>Scan instructions.md for conditional execution antipattern: self-closing check tags</action>
|
||||||
<action>Detect pattern: `<check>.*</check>` on single line (self-closing check)</action>
|
<action>Detect pattern: `<check>.*</check>` on single line (self-closing check)</action>
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,7 @@
|
||||||
<rule n="1">Steps execute in exact numerical order (1, 2, 3...)</rule>
|
<rule n="1">Steps execute in exact numerical order (1, 2, 3...)</rule>
|
||||||
<rule n="2">Optional steps: Ask user unless #yolo mode active</rule>
|
<rule n="2">Optional steps: Ask user unless #yolo mode active</rule>
|
||||||
<rule n="3">Template-output tags: Save content → Show user → Get approval before continuing</rule>
|
<rule n="3">Template-output tags: Save content → Show user → Get approval before continuing</rule>
|
||||||
<rule n="4">Elicit tags: Execute immediately unless #yolo mode (which skips ALL elicitation)</rule>
|
<rule n="4">User must approve each major section before continuing UNLESS #yolo mode active</rule>
|
||||||
<rule n="5">User must approve each major section before continuing UNLESS #yolo mode active</rule>
|
|
||||||
</WORKFLOW-RULES>
|
</WORKFLOW-RULES>
|
||||||
|
|
||||||
<flow>
|
<flow>
|
||||||
|
|
@ -75,14 +74,6 @@
|
||||||
<action>Display generated content</action>
|
<action>Display generated content</action>
|
||||||
<ask>Continue [c] or Edit [e]? WAIT for response</ask>
|
<ask>Continue [c] or Edit [e]? WAIT for response</ask>
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if tag="elicit-required">
|
|
||||||
<mandate critical="true">YOU MUST READ the file at {project-root}/bmad/core/tasks/adv-elicit.xml using Read tool BEFORE presenting
|
|
||||||
any elicitation menu</mandate>
|
|
||||||
<action>Load and run task {project-root}/bmad/core/tasks/adv-elicit.xml with current context</action>
|
|
||||||
<action>Show elicitation menu 5 relevant options (list 1-5 options, Continue [c] or Reshuffle [r])</action>
|
|
||||||
<mandate>HALT and WAIT for user selection</mandate>
|
|
||||||
</if>
|
|
||||||
</substep>
|
</substep>
|
||||||
|
|
||||||
<substep n="2d" title="Step Completion">
|
<substep n="2d" title="Step Completion">
|
||||||
|
|
@ -123,7 +114,6 @@
|
||||||
</execution>
|
</execution>
|
||||||
<output>
|
<output>
|
||||||
<tag>template-output - Save content checkpoint</tag>
|
<tag>template-output - Save content checkpoint</tag>
|
||||||
<tag>elicit-required - Trigger enhancement</tag>
|
|
||||||
<tag>critical - Cannot be skipped</tag>
|
<tag>critical - Cannot be skipped</tag>
|
||||||
<tag>example - Show example output</tag>
|
<tag>example - Show example output</tag>
|
||||||
</output>
|
</output>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"$schema": "https://json.schemastore.org/package.json",
|
"$schema": "https://json.schemastore.org/package.json",
|
||||||
"name": "bmad-method",
|
"name": "bmad-method",
|
||||||
"version": "6.0.0-alpha.4",
|
"version": "6.0.0-alpha.5",
|
||||||
"description": "Breakthrough Method of Agile AI-driven Development",
|
"description": "Breakthrough Method of Agile AI-driven Development",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"agile",
|
"agile",
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,7 @@
|
||||||
<rule n="1">Steps execute in exact numerical order (1, 2, 3...)</rule>
|
<rule n="1">Steps execute in exact numerical order (1, 2, 3...)</rule>
|
||||||
<rule n="2">Optional steps: Ask user unless #yolo mode active</rule>
|
<rule n="2">Optional steps: Ask user unless #yolo mode active</rule>
|
||||||
<rule n="3">Template-output tags: Save content → Show user → Get approval before continuing</rule>
|
<rule n="3">Template-output tags: Save content → Show user → Get approval before continuing</rule>
|
||||||
<rule n="4">Elicit tags: Execute immediately unless #yolo mode (which skips ALL elicitation)</rule>
|
<rule n="4">User must approve each major section before continuing UNLESS #yolo mode active</rule>
|
||||||
<rule n="5">User must approve each major section before continuing UNLESS #yolo mode active</rule>
|
|
||||||
</WORKFLOW-RULES>
|
</WORKFLOW-RULES>
|
||||||
|
|
||||||
<flow>
|
<flow>
|
||||||
|
|
@ -75,14 +74,6 @@
|
||||||
<action>Display generated content</action>
|
<action>Display generated content</action>
|
||||||
<ask>Continue [c] or Edit [e]? WAIT for response</ask>
|
<ask>Continue [c] or Edit [e]? WAIT for response</ask>
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if tag="elicit-required">
|
|
||||||
<mandate critical="true">YOU MUST READ the file at {project-root}/bmad/core/tasks/adv-elicit.xml using Read tool BEFORE presenting
|
|
||||||
any elicitation menu</mandate>
|
|
||||||
<action>Load and run task {project-root}/bmad/core/tasks/adv-elicit.xml with current context</action>
|
|
||||||
<action>Show elicitation menu 5 relevant options (list 1-5 options, Continue [c] or Reshuffle [r])</action>
|
|
||||||
<mandate>HALT and WAIT for user selection</mandate>
|
|
||||||
</if>
|
|
||||||
</substep>
|
</substep>
|
||||||
|
|
||||||
<substep n="2d" title="Step Completion">
|
<substep n="2d" title="Step Completion">
|
||||||
|
|
@ -123,7 +114,6 @@
|
||||||
</execution>
|
</execution>
|
||||||
<output>
|
<output>
|
||||||
<tag>template-output - Save content checkpoint</tag>
|
<tag>template-output - Save content checkpoint</tag>
|
||||||
<tag>elicit-required - Trigger enhancement</tag>
|
|
||||||
<tag>critical - Cannot be skipped</tag>
|
<tag>critical - Cannot be skipped</tag>
|
||||||
<tag>example - Show example output</tag>
|
<tag>example - Show example output</tag>
|
||||||
</output>
|
</output>
|
||||||
|
|
|
||||||
|
|
@ -161,7 +161,7 @@
|
||||||
<action if="condition met">Do something</action>
|
<action if="condition met">Do something</action>
|
||||||
```
|
```
|
||||||
|
|
||||||
<action>Scan instructions.md for nested tag references using pattern: <(action|ask|check|template-output|invoke-workflow|goto|step|elicit-required)> within text content</action>
|
<action>Scan instructions.md for nested tag references using pattern: <(action|ask|check|template-output|invoke-workflow|invoke-task|goto|step)> within text content</action>
|
||||||
<action>Record any instances of nested tag references with line numbers</action>
|
<action>Record any instances of nested tag references with line numbers</action>
|
||||||
<action>Scan instructions.md for conditional execution antipattern: self-closing check tags</action>
|
<action>Scan instructions.md for conditional execution antipattern: self-closing check tags</action>
|
||||||
<action>Detect pattern: `<check>.*</check>` on single line (self-closing check)</action>
|
<action>Detect pattern: `<check>.*</check>` on single line (self-closing check)</action>
|
||||||
|
|
|
||||||
|
|
@ -9,26 +9,8 @@
|
||||||
<critical>Communicate all responses in {communication_language} and tailor to {user_skill_level}</critical>
|
<critical>Communicate all responses in {communication_language} and tailor to {user_skill_level}</critical>
|
||||||
<critical>Generate all documents in {document_output_language}</critical>
|
<critical>Generate all documents in {document_output_language}</critical>
|
||||||
<critical>SAVE PROGRESS after each major step - use <template-output> tags throughout</critical>
|
<critical>SAVE PROGRESS after each major step - use <template-output> tags throughout</critical>
|
||||||
|
|
||||||
<critical>DOCUMENT OUTPUT: Professional, specific, actionable UX design decisions WITH RATIONALE. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.</critical>
|
<critical>DOCUMENT OUTPUT: Professional, specific, actionable UX design decisions WITH RATIONALE. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.</critical>
|
||||||
|
<critical>Input documents specified in workflow.yaml input_file_patterns - workflow engine handles fuzzy matching, whole vs sharded document discovery automatically</critical>
|
||||||
## 📚 Input Document Discovery
|
|
||||||
|
|
||||||
This workflow requires: PRD or product brief, and may reference epics/stories, brainstorming documents, or brownfield project documentation.
|
|
||||||
|
|
||||||
**Discovery Process** (execute for each referenced document):
|
|
||||||
|
|
||||||
1. **Search for whole document first** - Use fuzzy file matching to find the complete document
|
|
||||||
2. **Check for sharded version** - If whole document not found, look for `{doc-name}/index.md`
|
|
||||||
3. **If sharded version found**:
|
|
||||||
- Read `index.md` to understand the document structure
|
|
||||||
- Read ALL section files listed in the index
|
|
||||||
- Treat the combined content as if it were a single document
|
|
||||||
4. **Brownfield projects**: The `document-project` workflow always creates `{output_folder}/docs/index.md`
|
|
||||||
|
|
||||||
**Priority**: If both whole and sharded versions exist, use the whole document.
|
|
||||||
|
|
||||||
**Fuzzy matching**: Be flexible with document names - users may use variations in naming conventions.
|
|
||||||
|
|
||||||
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
|
|
|
||||||
|
|
@ -234,21 +234,22 @@
|
||||||
- [ ] Dependencies on external systems documented
|
- [ ] Dependencies on external systems documented
|
||||||
- [ ] Data requirements specified
|
- [ ] Data requirements specified
|
||||||
|
|
||||||
### Level-Appropriate Detail
|
### Track-Appropriate Detail
|
||||||
|
|
||||||
**If Level 2:**
|
**If BMad Method:**
|
||||||
|
|
||||||
- [ ] PRD supports lightweight tech-spec workflow
|
|
||||||
- [ ] 5-15 story scope reasonable for project size
|
|
||||||
- [ ] Complexity appropriate for small team/solo dev
|
|
||||||
|
|
||||||
**If Level 3-4:**
|
|
||||||
|
|
||||||
- [ ] PRD supports full architecture workflow
|
- [ ] PRD supports full architecture workflow
|
||||||
- [ ] Epic structure supports phased delivery
|
- [ ] Epic structure supports phased delivery
|
||||||
- [ ] Scope appropriate for team-based development
|
- [ ] Scope appropriate for product/platform development
|
||||||
- [ ] Clear value delivery through epic sequence
|
- [ ] Clear value delivery through epic sequence
|
||||||
|
|
||||||
|
**If Enterprise Method:**
|
||||||
|
|
||||||
|
- [ ] PRD addresses enterprise requirements (security, compliance, multi-tenancy)
|
||||||
|
- [ ] Epic structure supports extended planning phases
|
||||||
|
- [ ] Scope includes security, devops, and test strategy considerations
|
||||||
|
- [ ] Clear value delivery with enterprise gates
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 10. Quality and Polish
|
## 10. Quality and Polish
|
||||||
|
|
|
||||||
|
|
@ -9,55 +9,44 @@
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document provides the detailed epic breakdown for {{project_name}}, expanding on the high-level epic list in the [PRD](./PRD.md).
|
This document provides the complete epic and story breakdown for {{project_name}}, decomposing the requirements from the [PRD](./PRD.md) into implementable stories.
|
||||||
|
|
||||||
Each epic includes:
|
{{epics_summary}}
|
||||||
|
|
||||||
- Expanded goal and value proposition
|
|
||||||
- Complete story breakdown with user stories
|
|
||||||
- Acceptance criteria for each story
|
|
||||||
- Story sequencing and dependencies
|
|
||||||
|
|
||||||
**Epic Sequencing Principles:**
|
|
||||||
|
|
||||||
- Epic 1 establishes foundational infrastructure and initial functionality
|
|
||||||
- Subsequent epics build progressively, each delivering significant end-to-end value
|
|
||||||
- Stories within epics are vertically sliced and sequentially ordered
|
|
||||||
- No forward dependencies - each story builds only on previous work
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
{{epic_details}}
|
<!-- Repeat for each epic (N = 1, 2, 3...) -->
|
||||||
|
|
||||||
---
|
## Epic {{N}}: {{epic_title_N}}
|
||||||
|
|
||||||
## Story Guidelines Reference
|
{{epic_goal_N}}
|
||||||
|
|
||||||
**Story Format:**
|
<!-- Repeat for each story (M = 1, 2, 3...) within epic N -->
|
||||||
|
|
||||||
```
|
### Story {{N}}.{{M}}: {{story_title_N_M}}
|
||||||
**Story [EPIC.N]: [Story Title]**
|
|
||||||
|
|
||||||
As a [user type],
|
As a {{user_type}},
|
||||||
I want [goal/desire],
|
I want {{capability}},
|
||||||
So that [benefit/value].
|
So that {{value_benefit}}.
|
||||||
|
|
||||||
**Acceptance Criteria:**
|
**Acceptance Criteria:**
|
||||||
1. [Specific testable criterion]
|
|
||||||
2. [Another specific criterion]
|
|
||||||
3. [etc.]
|
|
||||||
|
|
||||||
**Prerequisites:** [Dependencies on previous stories, if any]
|
**Given** {{precondition}}
|
||||||
```
|
**When** {{action}}
|
||||||
|
**Then** {{expected_outcome}}
|
||||||
|
|
||||||
**Story Requirements:**
|
**And** {{additional_criteria}}
|
||||||
|
|
||||||
- **Vertical slices** - Complete, testable functionality delivery
|
**Prerequisites:** {{dependencies_on_previous_stories}}
|
||||||
- **Sequential ordering** - Logical progression within epic
|
|
||||||
- **No forward dependencies** - Only depend on previous work
|
**Technical Notes:** {{implementation_guidance}}
|
||||||
- **AI-agent sized** - Completable in 2-4 hour focused session
|
|
||||||
- **Value-focused** - Integrate technical enablers into value-delivering stories
|
<!-- End story repeat -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**For implementation:** Use the `create-story` workflow to generate individual story implementation plans from this epic breakdown.
|
<!-- End epic repeat -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_For implementation: Use the `create-story` workflow to generate individual story implementation plans from this epic breakdown._
|
||||||
|
|
|
||||||
|
|
@ -1,395 +1,169 @@
|
||||||
# Epic and Story Decomposition - Bite-Sized Implementation Planning
|
# Epic and Story Decomposition - Intent-Based Implementation Planning
|
||||||
|
|
||||||
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
|
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
|
||||||
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
||||||
<critical>This workflow transforms requirements into BITE-SIZED STORIES for limited context agents</critical>
|
<critical>This workflow transforms requirements into BITE-SIZED STORIES for development agents</critical>
|
||||||
<critical>EVERY story must be completable by a single limited context window dev agent in one session</critical>
|
<critical>EVERY story must be completable by a single dev agent in one focused session</critical>
|
||||||
<critical>Communicate all responses in {communication_language} and adapt deeply to {user_skill_level}</critical>
|
<critical>Communicate all responses in {communication_language} and adapt to {user_skill_level}</critical>
|
||||||
<critical>Generate all documents in {document_output_language}</critical>
|
<critical>Generate all documents in {document_output_language}</critical>
|
||||||
<critical>LIVING DOCUMENT: Write to epics.md continuously as you work - never wait until the end</critical>
|
<critical>LIVING DOCUMENT: Write to epics.md continuously as you work - never wait until the end</critical>
|
||||||
|
<critical>Input documents specified in workflow.yaml input_file_patterns - workflow engine handles fuzzy matching, whole vs sharded document discovery automatically</critical>
|
||||||
|
|
||||||
<workflow>
|
<workflow>
|
||||||
|
|
||||||
<step n="0" goal="Load context and requirements">
|
<step n="1" goal="Load PRD and extract requirements">
|
||||||
<action>Welcome the {user_name} to the project inception high level epic and story planning.
|
<action>Welcome {user_name} to epic and story planning
|
||||||
|
|
||||||
Load required documents:
|
Load required documents (fuzzy match, handle both whole and sharded):
|
||||||
|
|
||||||
1. PRD.md (must exist - fuzzy match on name, might be a folder with an index and smaller sharded files also)
|
- PRD.md (required)
|
||||||
2. domain-brief.md (if exists)
|
- domain-brief.md (if exists)
|
||||||
3. product-brief.md (if exists)
|
- product-brief.md (if exists)
|
||||||
|
|
||||||
Extract from PRD:
|
Extract from PRD:
|
||||||
|
|
||||||
- Functional requirements
|
- All functional requirements
|
||||||
- Non-functional requirements
|
- Non-functional requirements
|
||||||
- Domain considerations
|
- Domain considerations and compliance needs
|
||||||
- Project type
|
- Project type and complexity
|
||||||
- MVP scope vs growth features
|
- MVP vs growth vs vision scope boundaries
|
||||||
|
|
||||||
If continuing from PRD workflow:
|
Understand the context:
|
||||||
"Great! Now let's break down your requirements into actionable epics and bite-sized stories that development agents can implement independently."
|
|
||||||
|
|
||||||
If starting fresh:
|
- What makes this product special (the magic)
|
||||||
"I'll help you transform your PRD into organized epics with implementable stories. Each story will be small enough for a single dev agent to complete in one session."</action>
|
- Technical constraints
|
||||||
|
- User types and their goals
|
||||||
|
- Success criteria</action>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="1" goal="Form epics from natural groupings">
|
<step n="2" goal="Propose epic structure from natural groupings">
|
||||||
<action>Transform requirements into epics organically
|
<action>Analyze requirements and identify natural epic boundaries
|
||||||
|
|
||||||
INTENT: Find natural boundaries that make sense for THIS product
|
INTENT: Find organic groupings that make sense for THIS product
|
||||||
|
|
||||||
Look at the requirements and find patterns:
|
Look for natural patterns:
|
||||||
|
|
||||||
- Features that work together
|
- Features that work together cohesively
|
||||||
- User journeys that connect
|
- User journeys that connect
|
||||||
- Technical systems that relate
|
- Business capabilities that cluster
|
||||||
- Business capabilities that group
|
- Domain requirements that relate (compliance, validation, security)
|
||||||
- Domain requirements that cluster (compliance, validation, etc.)
|
- Technical systems that should be built together
|
||||||
|
|
||||||
Examples of natural epic formation:
|
Name epics based on VALUE, not technical layers:
|
||||||
|
|
||||||
- Auth features → "User Management" epic
|
- Good: "User Onboarding", "Content Discovery", "Compliance Framework"
|
||||||
- Payment features → "Monetization" epic
|
- Avoid: "Database Layer", "API Endpoints", "Frontend"
|
||||||
- Social features → "Community" epic
|
|
||||||
- Admin features → "Administration" epic
|
|
||||||
- Compliance requirements → "Regulatory Compliance" epic
|
|
||||||
- API endpoints → "API Infrastructure" epic
|
|
||||||
|
|
||||||
But let the product guide you - don't force standard patterns
|
|
||||||
|
|
||||||
Each epic should:
|
Each epic should:
|
||||||
|
|
||||||
- Have a clear business goal
|
- Have clear business goal and user value
|
||||||
- Be independently valuable
|
- Be independently valuable
|
||||||
- Contain 3-8 related features
|
- Contain 3-8 related capabilities
|
||||||
- Be completable in 1-2 sprints
|
- Be deliverable in cohesive phase
|
||||||
|
|
||||||
Name epics based on value, not technical components:
|
For greenfield projects:
|
||||||
GOOD: "User Onboarding", "Content Discovery", "Team Collaboration"
|
|
||||||
NOT: "Database", "Frontend", "API"
|
|
||||||
|
|
||||||
If domain considerations exist:
|
- First epic MUST establish foundation (project setup, core infrastructure, deployment pipeline)
|
||||||
|
- Foundation enables all subsequent work
|
||||||
|
|
||||||
- Create dedicated compliance/validation epics
|
For complex domains:
|
||||||
- Note special expertise needed per epic
|
|
||||||
- Flag epics with regulatory dependencies
|
|
||||||
|
|
||||||
Present epic groupings conversationally:
|
- Consider dedicated compliance/regulatory epics
|
||||||
"Based on your requirements, I see these natural epic groupings:
|
- Group validation and safety requirements logically
|
||||||
|
- Note expertise requirements
|
||||||
|
|
||||||
1. [Epic Name] - [Brief description]
|
Present proposed epic structure showing:
|
||||||
2. [Epic Name] - [Brief description]
|
|
||||||
3. [Epic Name] - [Brief description]
|
|
||||||
|
|
||||||
Does this organization make sense for how you think about the product?"</action>
|
- Epic titles with clear value statements
|
||||||
|
- High-level scope of each epic
|
||||||
|
- Suggested sequencing
|
||||||
|
- Why this grouping makes sense</action>
|
||||||
|
|
||||||
<template-output>epics_structure</template-output>
|
<template-output>epics_summary</template-output>
|
||||||
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="2" goal="Decompose into bite-sized stories">
|
<step n="3" goal="Decompose each epic into bite-sized stories" repeat="for-each-epic">
|
||||||
<critical>Small vertical sliced small stories are best for agentic dumb developers to implement without forgetting things</critical>
|
<action>Break down Epic {{N}} into small, implementable stories
|
||||||
|
|
||||||
<action>Break each epic into small, implementable stories
|
INTENT: Create stories sized for single dev agent completion
|
||||||
|
|
||||||
INTENT: Create stories that one dev agent can complete independently
|
For each epic, generate:
|
||||||
|
|
||||||
For each epic, decompose into stories that are:
|
- Epic title as `epic_title_{{N}}`
|
||||||
|
- Epic goal/value as `epic_goal_{{N}}`
|
||||||
|
- All stories as repeated pattern `story_title_{{N}}_{{M}}` for each story M
|
||||||
|
|
||||||
- Small enough for single context window
|
CRITICAL for Epic 1 (Foundation):
|
||||||
|
|
||||||
|
- Story 1.1 MUST be project setup/infrastructure initialization
|
||||||
|
- Sets up: repo structure, build system, deployment pipeline basics, core dependencies
|
||||||
|
- Creates foundation for all subsequent stories
|
||||||
|
- Note: Architecture workflow will flesh out technical details
|
||||||
|
|
||||||
|
Each story should follow BDD-style acceptance criteria:
|
||||||
|
|
||||||
|
**Story Pattern:**
|
||||||
|
As a [user type],
|
||||||
|
I want [specific capability],
|
||||||
|
So that [clear value/benefit].
|
||||||
|
|
||||||
|
**Acceptance Criteria using BDD:**
|
||||||
|
Given [precondition or initial state]
|
||||||
|
When [action or trigger]
|
||||||
|
Then [expected outcome]
|
||||||
|
|
||||||
|
And [additional criteria as needed]
|
||||||
|
|
||||||
|
**Prerequisites:** Only previous stories (never forward dependencies)
|
||||||
|
|
||||||
|
**Technical Notes:** Implementation guidance, affected components, compliance requirements
|
||||||
|
|
||||||
|
Ensure stories are:
|
||||||
|
|
||||||
|
- Vertically sliced (deliver complete functionality, not just one layer)
|
||||||
|
- Sequentially ordered (logical progression, no forward dependencies)
|
||||||
|
- Independently valuable when possible
|
||||||
|
- Small enough for single-session completion
|
||||||
- Clear enough for autonomous implementation
|
- Clear enough for autonomous implementation
|
||||||
- Independent enough to develop in parallel when possible
|
|
||||||
- Specific enough to have clear acceptance criteria
|
|
||||||
|
|
||||||
GOOD story examples:
|
For each story in epic {{N}}, output variables following this pattern:
|
||||||
|
|
||||||
- "Create login API endpoint that accepts email/password and returns JWT"
|
- story*title*{{N}}_1, story_title_{{N}}\_2, etc.
|
||||||
- "Build user profile component with avatar upload to S3"
|
- Each containing: user story, BDD acceptance criteria, prerequisites, technical notes</action>
|
||||||
- "Add password reset email template and sending logic"
|
|
||||||
- "Implement rate limiting on auth endpoints (5 attempts per minute)"
|
|
||||||
- "Create HIPAA-compliant audit log for patient data access"
|
|
||||||
- "Build FDA 21 CFR Part 11 electronic signature component"
|
|
||||||
|
|
||||||
BAD story examples:
|
<template-output>epic*title*{{N}}</template-output>
|
||||||
|
<template-output>epic*goal*{{N}}</template-output>
|
||||||
|
|
||||||
- "Build complete authentication system" (too big)
|
<action>For each story M in epic {{N}}, generate story content</action>
|
||||||
- "Handle user management" (too vague)
|
<template-output>story*title*{{N}}\_{{M}}</template-output>
|
||||||
- "Make it secure" (not specific)
|
|
||||||
- "Integrate everything" (requires multiple contexts)
|
|
||||||
|
|
||||||
Story format:
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
"As a [user type], I want [specific feature], so that [clear value]"
|
|
||||||
|
|
||||||
Technical notes to include:
|
|
||||||
|
|
||||||
- Affected files/components if known
|
|
||||||
- Required endpoints/methods
|
|
||||||
- Data structures needed
|
|
||||||
- Specific validation rules
|
|
||||||
- Compliance requirements if applicable
|
|
||||||
- Dependencies on other stories
|
|
||||||
|
|
||||||
Domain-aware story creation:
|
|
||||||
|
|
||||||
- For healthcare: Include specific regulations per story
|
|
||||||
- For fintech: Note PCI/security requirements per story
|
|
||||||
- For govtech: Flag accessibility needs per story
|
|
||||||
- For aerospace: Include safety/validation requirements
|
|
||||||
|
|
||||||
Check each story:
|
|
||||||
|
|
||||||
- Can this be explained in <1000 words?
|
|
||||||
- Can one agent complete without another's output?
|
|
||||||
- Is the scope crystal clear?
|
|
||||||
- Are success criteria obvious?
|
|
||||||
- Are domain requirements specified?
|
|
||||||
|
|
||||||
If too big → split into smaller stories
|
|
||||||
If too vague → add specifics
|
|
||||||
If dependent → note the dependency clearly
|
|
||||||
If domain-critical → flag compliance needs</action>
|
|
||||||
|
|
||||||
<template-output>epic_1_stories</template-output>
|
|
||||||
<template-output>epic_2_stories</template-output>
|
|
||||||
<template-output>epic_3_stories</template-output>
|
|
||||||
|
|
||||||
<!-- Continue for each epic discovered -->
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="3" goal="Sequence for smart implementation">
|
<step n="4" goal="Review and finalize epic breakdown">
|
||||||
<action>Order stories for successful development
|
<action>Review the complete epic breakdown for quality and completeness
|
||||||
|
|
||||||
INTENT: Create a logical flow that minimizes blockers and maximizes progress
|
Validate:
|
||||||
|
|
||||||
Consider dependencies:
|
- All functional requirements from PRD are covered by stories
|
||||||
TECHNICAL:
|
- Epic 1 establishes proper foundation
|
||||||
|
- All stories are vertically sliced
|
||||||
|
- No forward dependencies exist
|
||||||
|
- Story sizing is appropriate for single-session completion
|
||||||
|
- BDD acceptance criteria are clear and testable
|
||||||
|
- Domain/compliance requirements are properly distributed
|
||||||
|
- Sequencing enables incremental value delivery
|
||||||
|
|
||||||
- Authentication before protected features
|
Confirm with {user_name}:
|
||||||
- Data models before business logic
|
|
||||||
- Core features before enhancements
|
|
||||||
- API before frontend that uses it
|
|
||||||
|
|
||||||
DOMAIN:
|
- Epic structure makes sense
|
||||||
|
- Story breakdown is actionable
|
||||||
|
- Dependencies are clear
|
||||||
|
- BDD format provides clarity
|
||||||
|
- Ready for architecture and implementation phases</action>
|
||||||
|
|
||||||
- Compliance infrastructure before features
|
<template-output>epic_breakdown_summary</template-output>
|
||||||
- Validation framework before clinical features
|
|
||||||
- Audit logging before financial transactions
|
|
||||||
- Safety systems before operational features
|
|
||||||
|
|
||||||
PRACTICAL:
|
|
||||||
|
|
||||||
- What gives visible progress early?
|
|
||||||
- What reduces risk soonest?
|
|
||||||
- What enables parallel work?
|
|
||||||
- What delivers value fastest?
|
|
||||||
|
|
||||||
Create implementation phases:
|
|
||||||
|
|
||||||
Phase 1 - Foundation:
|
|
||||||
|
|
||||||
- Core data models
|
|
||||||
- Authentication/authorization
|
|
||||||
- Basic infrastructure
|
|
||||||
- Essential APIs
|
|
||||||
- Compliance foundation (if domain requires)
|
|
||||||
|
|
||||||
Phase 2 - Core Features:
|
|
||||||
|
|
||||||
- MVP functionality
|
|
||||||
- Key user flows
|
|
||||||
- Basic UI/UX
|
|
||||||
- Critical integrations
|
|
||||||
- Domain validations (if applicable)
|
|
||||||
|
|
||||||
Phase 3 - Enhancement:
|
|
||||||
|
|
||||||
- Polish and refinement
|
|
||||||
- Additional features
|
|
||||||
- Performance optimization
|
|
||||||
- Extended functionality
|
|
||||||
- Advanced compliance features
|
|
||||||
|
|
||||||
Phase 4 - Growth:
|
|
||||||
|
|
||||||
- Analytics and monitoring
|
|
||||||
- Advanced features
|
|
||||||
- Scaling preparations
|
|
||||||
- Nice-to-have additions
|
|
||||||
|
|
||||||
For complex domains, add gates:
|
|
||||||
|
|
||||||
- "Gate: Security audit before payment processing"
|
|
||||||
- "Gate: Clinical validation before patient features"
|
|
||||||
- "Gate: Compliance review before launch"
|
|
||||||
|
|
||||||
Present the sequencing conversationally:
|
|
||||||
"Here's a smart implementation order:
|
|
||||||
|
|
||||||
**Phase 1 (Foundation) - Week 1-2:**
|
|
||||||
|
|
||||||
- Story 1.1: [Description]
|
|
||||||
- Story 1.2: [Description] (can parallel with 1.1)
|
|
||||||
- Story 1.3: [Description] (depends on 1.1)
|
|
||||||
|
|
||||||
**Phase 2 (Core) - Week 3-4:**
|
|
||||||
[Continue...]
|
|
||||||
|
|
||||||
This gives you something working by [milestone] and allows [X] stories to run in parallel."</action>
|
|
||||||
|
|
||||||
<template-output>implementation_sequence</template-output>
|
|
||||||
<template-output>development_phases</template-output>
|
|
||||||
<template-output>dependency_graph</template-output>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step n="4" goal="Validate story sizing and clarity">
|
|
||||||
<action>Review all stories for dev agent compatibility
|
|
||||||
|
|
||||||
Run through each story and verify:
|
|
||||||
|
|
||||||
SIZE CHECK:
|
|
||||||
|
|
||||||
- Story description < 500 words
|
|
||||||
- Clear inputs and outputs defined
|
|
||||||
- Single responsibility principle
|
|
||||||
- No hidden complexity
|
|
||||||
|
|
||||||
CLARITY CHECK:
|
|
||||||
|
|
||||||
- Acceptance criteria explicit
|
|
||||||
- Technical approach clear
|
|
||||||
- No ambiguous requirements
|
|
||||||
- Success measurable
|
|
||||||
|
|
||||||
DEPENDENCY CHECK:
|
|
||||||
|
|
||||||
- Dependencies documented
|
|
||||||
- Can start with clear inputs
|
|
||||||
- Outputs well-defined
|
|
||||||
- Parallel opportunities noted
|
|
||||||
|
|
||||||
DOMAIN CHECK (if applicable):
|
|
||||||
|
|
||||||
- Compliance requirements stated
|
|
||||||
- Validation criteria defined
|
|
||||||
- Regulatory references included
|
|
||||||
- Special expertise noted
|
|
||||||
|
|
||||||
If any issues found:
|
|
||||||
"Story [X] seems too large. Let me split it:
|
|
||||||
|
|
||||||
- [Smaller story 1]
|
|
||||||
- [Smaller story 2]"
|
|
||||||
|
|
||||||
"Story [Y] needs clarification on [aspect]. How should we handle [specific question]?"
|
|
||||||
|
|
||||||
Final validation:
|
|
||||||
"All stories are now sized for 200k context limits.
|
|
||||||
|
|
||||||
- Total stories: [count]
|
|
||||||
- Can run in parallel: [count]
|
|
||||||
- Sequential dependencies: [count]
|
|
||||||
- Estimated completion: [timeframe]"</action>
|
|
||||||
|
|
||||||
<template-output>story_validation</template-output>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step n="5" goal="Create development guidance">
|
|
||||||
<action>Add practical guidance for implementation teams
|
|
||||||
|
|
||||||
Create quick reference for development:
|
|
||||||
|
|
||||||
GETTING STARTED:
|
|
||||||
"Start with Phase 1 stories - multiple can run in parallel.
|
|
||||||
Key files to create first: [list]
|
|
||||||
Recommended agent allocation: [suggestion]"
|
|
||||||
|
|
||||||
DOMAIN GUIDANCE (if applicable):
|
|
||||||
"Critical compliance checkpoints:
|
|
||||||
|
|
||||||
- After story [X]: Run [validation]
|
|
||||||
- Before story [Y]: Review [regulation]
|
|
||||||
- Throughout: Maintain [audit trail]"
|
|
||||||
|
|
||||||
TECHNICAL NOTES:
|
|
||||||
"Architecture decisions needed:
|
|
||||||
|
|
||||||
- [Decision 1] affects stories [A, B, C]
|
|
||||||
- [Decision 2] blocks story [D]
|
|
||||||
|
|
||||||
Consider these patterns:
|
|
||||||
|
|
||||||
- [Pattern] for [epic]
|
|
||||||
- [Pattern] for [requirement]"
|
|
||||||
|
|
||||||
RISK MITIGATION:
|
|
||||||
"Watch out for:
|
|
||||||
|
|
||||||
- [Risk] in story [X]
|
|
||||||
- [Complexity] in epic [Y]
|
|
||||||
- [Dependency] between [A] and [B]"
|
|
||||||
|
|
||||||
SUCCESS METRICS:
|
|
||||||
"You'll know Phase 1 is complete when:
|
|
||||||
|
|
||||||
- [Measurable outcome]
|
|
||||||
- [Testable feature]
|
|
||||||
- [Validation passed]"</action>
|
|
||||||
|
|
||||||
<template-output>implementation_guidance</template-output>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step n="6" goal="Finalize and prepare handoff">
|
|
||||||
<action>Complete the epics document and prepare for development
|
|
||||||
|
|
||||||
Review what we've created:
|
|
||||||
"We've successfully decomposed your requirements into:
|
|
||||||
|
|
||||||
- [x] epics
|
|
||||||
- [Y] total stories
|
|
||||||
- [Z] phases of development
|
|
||||||
|
|
||||||
Every story is sized for a single dev agent to complete independently."
|
|
||||||
|
|
||||||
Highlight key achievements:
|
|
||||||
|
|
||||||
- Stories respect 200k context limit
|
|
||||||
- Dependencies clearly mapped
|
|
||||||
- Domain requirements integrated
|
|
||||||
- Parallel development enabled
|
|
||||||
|
|
||||||
Save completed epics.md with:
|
|
||||||
|
|
||||||
- Full epic descriptions
|
|
||||||
- All stories with acceptance criteria
|
|
||||||
- Implementation sequence
|
|
||||||
- Development phases
|
|
||||||
- Dependency notes
|
|
||||||
- Domain compliance requirements (if applicable)</action>
|
|
||||||
|
|
||||||
<output>**✅ Epic Decomposition Complete, {user_name}!**
|
|
||||||
|
|
||||||
Your requirements are now organized into **{epic_count} epics** with **{story_count} bite-sized stories**.
|
|
||||||
|
|
||||||
**Created:**
|
|
||||||
|
|
||||||
- **epics.md** - Complete epic breakdown with implementable stories
|
|
||||||
|
|
||||||
**Key Stats:**
|
|
||||||
|
|
||||||
- Average story size: Fits in 200k context
|
|
||||||
- Parallel stories: {parallel_count} can run simultaneously
|
|
||||||
- Sequential chains: {sequential_count} dependency chains
|
|
||||||
- Estimated velocity: {velocity_estimate}
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
|
|
||||||
1. Review epics.md for the complete breakdown
|
|
||||||
2. Start Phase 1 implementation with parallel stories
|
|
||||||
3. Use story IDs for tracking progress
|
|
||||||
|
|
||||||
Each story is crafted for a single dev agent to complete autonomously. No monoliths, no confusion, just clear implementation paths.
|
|
||||||
|
|
||||||
Ready to begin development with any story marked "can start immediately"!</output>
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
</workflow>
|
</workflow>
|
||||||
|
|
|
||||||
|
|
@ -13,23 +13,35 @@ document_output_language: "{config_source}:document_output_language"
|
||||||
user_skill_level: "{config_source}:user_skill_level"
|
user_skill_level: "{config_source}:user_skill_level"
|
||||||
date: system-generated
|
date: system-generated
|
||||||
|
|
||||||
# Workflow components
|
# Input requirements
|
||||||
|
recommended_inputs:
|
||||||
|
- prd: "Product Requirements Document with FRs and NFRs"
|
||||||
|
- product_brief: "Product Brief with vision and goals (optional)"
|
||||||
|
- domain_brief: "Domain-specific requirements and context (optional)"
|
||||||
|
|
||||||
|
# Smart input file references - handles both whole docs and sharded docs
|
||||||
|
# Priority: Whole document first, then sharded version
|
||||||
|
input_file_patterns:
|
||||||
|
prd:
|
||||||
|
whole: "{output_folder}/*prd*.md"
|
||||||
|
sharded: "{output_folder}/*prd*/index.md"
|
||||||
|
|
||||||
|
product_brief:
|
||||||
|
whole: "{output_folder}/*product*brief*.md"
|
||||||
|
sharded: "{output_folder}/*product*brief*/index.md"
|
||||||
|
|
||||||
|
domain_brief:
|
||||||
|
whole: "{output_folder}/*domain*brief*.md"
|
||||||
|
sharded: "{output_folder}/*domain*brief*/index.md"
|
||||||
|
|
||||||
|
# Module path and component files
|
||||||
installed_path: "{project-root}/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories"
|
installed_path: "{project-root}/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories"
|
||||||
instructions: "{installed_path}/instructions.md"
|
instructions: "{installed_path}/instructions.md"
|
||||||
template: "{installed_path}/epics-template.md"
|
template: "{installed_path}/epics-template.md"
|
||||||
|
|
||||||
# Input files (from parent PRD workflow)
|
# Output configuration
|
||||||
prd_file: "{output_folder}/PRD.md"
|
|
||||||
|
|
||||||
# Output files
|
|
||||||
default_output_file: "{output_folder}/epics.md"
|
default_output_file: "{output_folder}/epics.md"
|
||||||
|
|
||||||
# Optional input documents
|
|
||||||
recommended_inputs:
|
|
||||||
- prd: "{output_folder}/PRD.md"
|
|
||||||
- product_brief: "{output_folder}/product-brief.md"
|
|
||||||
- domain_brief: "{output_folder}/domain-brief.md"
|
|
||||||
|
|
||||||
standalone: true
|
standalone: true
|
||||||
|
|
||||||
web_bundle:
|
web_bundle:
|
||||||
|
|
|
||||||
|
|
@ -7,24 +7,7 @@
|
||||||
<critical>Generate all documents in {document_output_language}</critical>
|
<critical>Generate all documents in {document_output_language}</critical>
|
||||||
<critical>LIVING DOCUMENT: Write to PRD.md continuously as you discover - never wait until the end</critical>
|
<critical>LIVING DOCUMENT: Write to PRD.md continuously as you discover - never wait until the end</critical>
|
||||||
<critical>GUIDING PRINCIPLE: Find and weave the product's magic throughout - what makes it special should inspire every section</critical>
|
<critical>GUIDING PRINCIPLE: Find and weave the product's magic throughout - what makes it special should inspire every section</critical>
|
||||||
|
<critical>Input documents specified in workflow.yaml input_file_patterns - workflow engine handles fuzzy matching, whole vs sharded document discovery automatically</critical>
|
||||||
## 📚 Input Document Discovery
|
|
||||||
|
|
||||||
This workflow requires: product brief, and may reference market research or brownfield project documentation.
|
|
||||||
|
|
||||||
**Discovery Process** (execute for each referenced document):
|
|
||||||
|
|
||||||
1. **Search for whole document first** - Use fuzzy file matching to find the complete document
|
|
||||||
2. **Check for sharded version** - If whole document not found, look for `{doc-name}/index.md`
|
|
||||||
3. **If sharded version found**:
|
|
||||||
- Read `index.md` to understand the document structure
|
|
||||||
- Read ALL section files listed in the index
|
|
||||||
- Treat the combined content as if it were a single document
|
|
||||||
4. **Brownfield projects**: The `document-project` workflow always creates `{output_folder}/docs/index.md`
|
|
||||||
|
|
||||||
**Priority**: If both whole and sharded versions exist, use the whole document.
|
|
||||||
|
|
||||||
**Fuzzy matching**: Be flexible with document names - users may use variations in naming conventions.
|
|
||||||
|
|
||||||
<workflow>
|
<workflow>
|
||||||
|
|
||||||
|
|
@ -37,14 +20,14 @@ This workflow requires: product brief, and may reference market research or brow
|
||||||
<action>Load the FULL file: {status_file}</action>
|
<action>Load the FULL file: {status_file}</action>
|
||||||
<action>Parse workflow_status section</action>
|
<action>Parse workflow_status section</action>
|
||||||
<action>Check status of "prd" workflow</action>
|
<action>Check status of "prd" workflow</action>
|
||||||
<action>Get project_level from YAML metadata</action>
|
<action>Get project_track from YAML metadata</action>
|
||||||
<action>Find first non-completed workflow (next expected workflow)</action>
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
<check if="project_level < 2">
|
<check if="project_track is Quick Flow">
|
||||||
<output>**Level {{project_level}} Project - Redirecting**
|
<output>**Quick Flow Track - Redirecting**
|
||||||
|
|
||||||
Level 0-1 projects use tech-spec workflow for simpler planning.
|
Quick Flow projects use tech-spec workflow for implementation-focused planning.
|
||||||
PRD is for Level 2-4 projects that need comprehensive requirements.</output>
|
PRD is for BMad Method and Enterprise Method tracks that need comprehensive requirements.</output>
|
||||||
<action>Exit and suggest tech-spec workflow</action>
|
<action>Exit and suggest tech-spec workflow</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
|
@ -132,6 +115,7 @@ Weave in the magic:
|
||||||
<check if="business focus">
|
<check if="business focus">
|
||||||
<template-output>business_metrics</template-output>
|
<template-output>business_metrics</template-output>
|
||||||
</check>
|
</check>
|
||||||
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="3" goal="Scope Definition">
|
<step n="3" goal="Scope Definition">
|
||||||
|
|
@ -156,6 +140,7 @@ For complex domains:
|
||||||
<template-output>mvp_scope</template-output>
|
<template-output>mvp_scope</template-output>
|
||||||
<template-output>growth_features</template-output>
|
<template-output>growth_features</template-output>
|
||||||
<template-output>vision_features</template-output>
|
<template-output>vision_features</template-output>
|
||||||
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="4" goal="Domain-Specific Exploration" optional="true">
|
<step n="4" goal="Domain-Specific Exploration" optional="true">
|
||||||
|
|
@ -256,7 +241,7 @@ Always relate back to the product magic:
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="7" goal="UX Principles" optional="true">
|
<step n="7" goal="UX Principles" if="project has UI or UX">
|
||||||
<action>Only if product has a UI
|
<action>Only if product has a UI
|
||||||
|
|
||||||
Light touch on UX - not full design:
|
Light touch on UX - not full design:
|
||||||
|
|
@ -304,6 +289,7 @@ The magic thread:
|
||||||
Highlight which requirements deliver the special experience</action>
|
Highlight which requirements deliver the special experience</action>
|
||||||
|
|
||||||
<template-output>functional_requirements_complete</template-output>
|
<template-output>functional_requirements_complete</template-output>
|
||||||
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="9" goal="Non-Functional Requirements Discovery">
|
<step n="9" goal="Non-Functional Requirements Discovery">
|
||||||
|
|
@ -339,9 +325,6 @@ Skip categories that don't apply!</action>
|
||||||
<check if="integration matters">
|
<check if="integration matters">
|
||||||
<template-output>integration_requirements</template-output>
|
<template-output>integration_requirements</template-output>
|
||||||
</check>
|
</check>
|
||||||
<check if="no NFRs discussed">
|
|
||||||
<template-output>no_nfrs</template-output>
|
|
||||||
</check>
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="10" goal="Review PRD and transition to epics">
|
<step n="10" goal="Review PRD and transition to epics">
|
||||||
|
|
@ -355,9 +338,13 @@ Skip categories that don't apply!</action>
|
||||||
- Requirements: [count] functional, [count] non-functional
|
- Requirements: [count] functional, [count] non-functional
|
||||||
- Special considerations: [domain/innovation]
|
- Special considerations: [domain/innovation]
|
||||||
|
|
||||||
Does this capture your product vision?"
|
Does this capture your product vision?"</action>
|
||||||
|
|
||||||
|
<template-output>prd_summary</template-output>
|
||||||
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
|
|
||||||
|
<action>After PRD review and refinement complete:
|
||||||
|
|
||||||
After confirmation:
|
|
||||||
"Excellent! Now we need to break these requirements into implementable epics and stories.
|
"Excellent! Now we need to break these requirements into implementable epics and stories.
|
||||||
|
|
||||||
For the epic breakdown, you have two options:
|
For the epic breakdown, you have two options:
|
||||||
|
|
@ -379,12 +366,10 @@ This keeps each session focused and manageable."
|
||||||
If continue:
|
If continue:
|
||||||
"Let's continue with epic breakdown here..."
|
"Let's continue with epic breakdown here..."
|
||||||
[Proceed with epics-stories subworkflow]
|
[Proceed with epics-stories subworkflow]
|
||||||
Set project_level and target_scale based on project analysis
|
Set project_track based on workflow status (BMad Method or Enterprise Method)
|
||||||
Generate epic_details for the epics breakdown document</action>
|
Generate epic_details for the epics breakdown document</action>
|
||||||
|
|
||||||
<template-output>prd_summary</template-output>
|
<template-output>project_track</template-output>
|
||||||
<template-output>project_level</template-output>
|
|
||||||
<template-output>target_scale</template-output>
|
|
||||||
<template-output>epic_details</template-output>
|
<template-output>epic_details</template-output>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Product Requirements Document (PRD) Workflow
|
# Product Requirements Document (PRD) Workflow
|
||||||
name: prd
|
name: prd
|
||||||
description: "Unified PRD workflow for project levels 2-4. Produces strategic PRD and tactical epic breakdown. Hands off to architecture workflow for technical design. Note: Level 0-1 use tech-spec workflow."
|
description: "Unified PRD workflow for BMad Method and Enterprise Method tracks. Produces strategic PRD and tactical epic breakdown. Hands off to architecture workflow for technical design. Note: Quick Flow track uses tech-spec workflow."
|
||||||
author: "BMad"
|
author: "BMad"
|
||||||
|
|
||||||
# Critical variables from config
|
# Critical variables from config
|
||||||
|
|
@ -47,7 +47,7 @@ standalone: true
|
||||||
|
|
||||||
web_bundle:
|
web_bundle:
|
||||||
name: "prd"
|
name: "prd"
|
||||||
description: "Unified PRD workflow for project levels 2-4. Produces strategic PRD and tactical epic breakdown. Hands off to architecture workflow for technical design. Note: Level 0-1 use tech-spec workflow."
|
description: "Unified PRD workflow for BMad Method and Enterprise Method tracks. Produces strategic PRD and tactical epic breakdown. Hands off to architecture workflow for technical design. Note: Quick Flow track uses tech-spec workflow."
|
||||||
author: "BMad"
|
author: "BMad"
|
||||||
instructions: "bmad/bmm/workflows/2-plan-workflows/prd/instructions.md"
|
instructions: "bmad/bmm/workflows/2-plan-workflows/prd/instructions.md"
|
||||||
validation: "bmad/bmm/workflows/2-plan-workflows/prd/checklist.md"
|
validation: "bmad/bmm/workflows/2-plan-workflows/prd/checklist.md"
|
||||||
|
|
|
||||||
|
|
@ -5,51 +5,73 @@
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Epic: {{epic_title}}
|
<!-- Repeat for each epic (N = 1, 2, 3...) -->
|
||||||
|
|
||||||
**Slug:** {{epic_slug}}
|
## Epic {{N}}: {{epic_title_N}}
|
||||||
|
|
||||||
|
**Slug:** {{epic_slug_N}}
|
||||||
|
|
||||||
### Goal
|
### Goal
|
||||||
|
|
||||||
{{epic_goal}}
|
{{epic_goal_N}}
|
||||||
|
|
||||||
### Scope
|
### Scope
|
||||||
|
|
||||||
{{epic_scope}}
|
{{epic_scope_N}}
|
||||||
|
|
||||||
### Success Criteria
|
### Success Criteria
|
||||||
|
|
||||||
{{epic_success_criteria}}
|
{{epic_success_criteria_N}}
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|
||||||
{{epic_dependencies}}
|
{{epic_dependencies_N}}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Story Map
|
## Story Map - Epic {{N}}
|
||||||
|
|
||||||
{{story_map}}
|
{{story_map_N}}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Story Summaries
|
## Stories - Epic {{N}}
|
||||||
|
|
||||||
{{story_summaries}}
|
<!-- Repeat for each story (M = 1, 2, 3...) within epic N -->
|
||||||
|
|
||||||
|
### Story {{N}}.{{M}}: {{story_title_N_M}}
|
||||||
|
|
||||||
|
As a {{user_type}},
|
||||||
|
I want {{capability}},
|
||||||
|
So that {{value_benefit}}.
|
||||||
|
|
||||||
|
**Acceptance Criteria:**
|
||||||
|
|
||||||
|
**Given** {{precondition}}
|
||||||
|
**When** {{action}}
|
||||||
|
**Then** {{expected_outcome}}
|
||||||
|
|
||||||
|
**And** {{additional_criteria}}
|
||||||
|
|
||||||
|
**Prerequisites:** {{dependencies_on_previous_stories}}
|
||||||
|
|
||||||
|
**Technical Notes:** {{implementation_guidance}}
|
||||||
|
|
||||||
|
**Estimated Effort:** {{story_points}} points ({{time_estimate}})
|
||||||
|
|
||||||
|
<!-- End story repeat -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Implementation Timeline
|
## Implementation Timeline - Epic {{N}}
|
||||||
|
|
||||||
**Total Story Points:** {{total_points}}
|
**Total Story Points:** {{total_points_N}}
|
||||||
|
|
||||||
**Estimated Timeline:** {{estimated_timeline}}
|
**Estimated Timeline:** {{estimated_timeline_N}}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Implementation Sequence
|
<!-- End epic repeat -->
|
||||||
|
|
||||||
{{implementation_sequence}}
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,26 +10,8 @@
|
||||||
<critical>Level 0: tech-spec + single user story | Level 1: tech-spec + epic/stories</critical>
|
<critical>Level 0: tech-spec + single user story | Level 1: tech-spec + epic/stories</critical>
|
||||||
<critical>LIVING DOCUMENT: Write to tech-spec.md continuously as you discover - never wait until the end</critical>
|
<critical>LIVING DOCUMENT: Write to tech-spec.md continuously as you discover - never wait until the end</critical>
|
||||||
<critical>CONTEXT IS KING: Gather ALL available context before generating specs</critical>
|
<critical>CONTEXT IS KING: Gather ALL available context before generating specs</critical>
|
||||||
|
|
||||||
<critical>DOCUMENT OUTPUT: Technical, precise, definitive. Specific versions only. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.</critical>
|
<critical>DOCUMENT OUTPUT: Technical, precise, definitive. Specific versions only. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.</critical>
|
||||||
|
<critical>Input documents specified in workflow.yaml input_file_patterns - workflow engine handles fuzzy matching, whole vs sharded document discovery automatically</critical>
|
||||||
## 📚 Input Document Discovery
|
|
||||||
|
|
||||||
This workflow intelligently discovers and loads all available context including: product brief, research documents, brownfield project documentation, and project setup files.
|
|
||||||
|
|
||||||
**Discovery Process** (execute for each referenced document):
|
|
||||||
|
|
||||||
1. **Search for whole document first** - Use fuzzy file matching to find the complete document
|
|
||||||
2. **Check for sharded version** - If whole document not found, look for `{doc-name}/index.md`
|
|
||||||
3. **If sharded version found**:
|
|
||||||
- Read `index.md` to understand the document structure
|
|
||||||
- Read ALL section files listed in the index
|
|
||||||
- Treat the combined content as if it were a single document
|
|
||||||
4. **Brownfield projects**: The `document-project` workflow always creates `{output_folder}/docs/index.md`
|
|
||||||
|
|
||||||
**Priority**: If both whole and sharded versions exist, use the whole document.
|
|
||||||
|
|
||||||
**Fuzzy matching**: Be flexible with document names - users may use variations in naming conventions.
|
|
||||||
|
|
||||||
<step n="0" goal="Validate workflow readiness and detect project level" tag="workflow-status">
|
<step n="0" goal="Validate workflow readiness and detect project level" tag="workflow-status">
|
||||||
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,53 @@
|
||||||
# Story: {{story_title}}
|
# Story {{N}}.{{M}}: {{story_title}}
|
||||||
|
|
||||||
Status: Draft
|
**Status:** Draft
|
||||||
|
|
||||||
## Story
|
---
|
||||||
|
|
||||||
As a {{role}},
|
## User Story
|
||||||
|
|
||||||
|
As a {{user_type}},
|
||||||
I want {{capability}},
|
I want {{capability}},
|
||||||
so that {{benefit}}.
|
So that {{value_benefit}}.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Acceptance Criteria
|
## Acceptance Criteria
|
||||||
|
|
||||||
{{acceptance_criteria}}
|
**Given** {{precondition}}
|
||||||
|
**When** {{action}}
|
||||||
|
**Then** {{expected_outcome}}
|
||||||
|
|
||||||
## Tasks / Subtasks
|
**And** {{additional_criteria}}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Implementation Details
|
||||||
|
|
||||||
|
### Tasks / Subtasks
|
||||||
|
|
||||||
{{tasks_subtasks}}
|
{{tasks_subtasks}}
|
||||||
|
|
||||||
## Dev Notes
|
|
||||||
|
|
||||||
### Technical Summary
|
### Technical Summary
|
||||||
|
|
||||||
{{technical_summary}}
|
{{technical_summary}}
|
||||||
|
|
||||||
### Tech-Spec Reference
|
### Project Structure Notes
|
||||||
|
|
||||||
**Full details:** See [tech-spec.md](../tech-spec.md)
|
- **Files to modify:** {{files_to_modify}}
|
||||||
|
- **Expected test locations:** {{test_locations}}
|
||||||
|
- **Estimated effort:** {{story_points}} story points ({{time_estimate}})
|
||||||
|
- **Prerequisites:** {{dependencies}}
|
||||||
|
|
||||||
The tech-spec contains comprehensive context including:
|
### Key Code References
|
||||||
|
|
||||||
|
{{existing_code_references}}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Context References
|
||||||
|
|
||||||
|
**Tech-Spec:** [tech-spec.md](../tech-spec.md) - Primary context document containing:
|
||||||
|
|
||||||
- Brownfield codebase analysis (if applicable)
|
- Brownfield codebase analysis (if applicable)
|
||||||
- Framework and library details with versions
|
- Framework and library details with versions
|
||||||
|
|
@ -34,32 +55,14 @@ The tech-spec contains comprehensive context including:
|
||||||
- Integration points and dependencies
|
- Integration points and dependencies
|
||||||
- Complete implementation guidance
|
- Complete implementation guidance
|
||||||
|
|
||||||
### Project Structure Notes
|
**Architecture:** {{architecture_references}}
|
||||||
|
|
||||||
- **Files to modify:** {{files_to_modify}}
|
<!-- Additional context XML paths will be added here if story-context workflow is run -->
|
||||||
- **Expected test locations:** {{test_locations}}
|
|
||||||
- **Estimated effort:** {{story_points}} story points ({{time_estimate}})
|
|
||||||
- **Dependencies:** {{dependencies}}
|
|
||||||
|
|
||||||
### Key Code References
|
|
||||||
|
|
||||||
{{existing_code_references}}
|
|
||||||
|
|
||||||
### References
|
|
||||||
|
|
||||||
- **Tech Spec:** [tech-spec.md](../tech-spec.md) - Primary context document
|
|
||||||
- **Architecture:** {{architecture_references}}
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Dev Agent Record
|
## Dev Agent Record
|
||||||
|
|
||||||
### Context Reference
|
|
||||||
|
|
||||||
**Primary Context:** [tech-spec.md](../tech-spec.md) - Contains all brownfield analysis, framework details, and implementation guidance
|
|
||||||
|
|
||||||
<!-- Additional context XML paths will be added here if story-context workflow is run -->
|
|
||||||
|
|
||||||
### Agent Model Used
|
### Agent Model Used
|
||||||
|
|
||||||
<!-- Will be populated during dev-story execution -->
|
<!-- Will be populated during dev-story execution -->
|
||||||
|
|
@ -68,11 +71,11 @@ The tech-spec contains comprehensive context including:
|
||||||
|
|
||||||
<!-- Will be populated during dev-story execution -->
|
<!-- Will be populated during dev-story execution -->
|
||||||
|
|
||||||
### Completion Notes List
|
### Completion Notes
|
||||||
|
|
||||||
<!-- Will be populated during dev-story execution -->
|
<!-- Will be populated during dev-story execution -->
|
||||||
|
|
||||||
### File List
|
### Files Modified
|
||||||
|
|
||||||
<!-- Will be populated during dev-story execution -->
|
<!-- Will be populated during dev-story execution -->
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# Technical Specification Workflow (Level 0)
|
# Technical Specification
|
||||||
name: tech-spec-sm
|
name: tech-spec
|
||||||
description: "Technical specification workflow for Level 0 projects (single atomic changes). Creates focused tech spec for bug fixes, single endpoint additions, or small isolated changes. Tech-spec only - no PRD needed."
|
description: "Technical specification workflow for Level 0 projects (single atomic changes). Creates focused tech spec for bug fixes, single endpoint additions, or small isolated changes. Tech-spec only - no PRD needed."
|
||||||
author: "BMad"
|
author: "BMad"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,24 +9,8 @@
|
||||||
<critical>Communicate all responses in {communication_language} and tailor to {user_skill_level}</critical>
|
<critical>Communicate all responses in {communication_language} and tailor to {user_skill_level}</critical>
|
||||||
<critical>Generate all documents in {document_output_language}</critical>
|
<critical>Generate all documents in {document_output_language}</critical>
|
||||||
<critical>This workflow replaces architecture with a conversation-driven approach</critical>
|
<critical>This workflow replaces architecture with a conversation-driven approach</critical>
|
||||||
|
<critical>Input documents specified in workflow.yaml input_file_patterns - workflow engine handles fuzzy matching, whole vs sharded document discovery automatically</critical>
|
||||||
## 📚 Input Document Discovery
|
<critical>ELICITATION POINTS: After completing each major architectural decision area (identified by template-output tags for decision_record, project_structure, novel_pattern_designs, implementation_patterns, and architecture_document), invoke advanced elicitation to refine decisions before proceeding</critical>
|
||||||
|
|
||||||
This workflow requires: PRD and epics/stories, and may reference UX design specifications or brownfield project documentation.
|
|
||||||
|
|
||||||
**Discovery Process** (execute for each referenced document):
|
|
||||||
|
|
||||||
1. **Search for whole document first** - Use fuzzy file matching to find the complete document
|
|
||||||
2. **Check for sharded version** - If whole document not found, look for `{doc-name}/index.md`
|
|
||||||
3. **If sharded version found**:
|
|
||||||
- Read `index.md` to understand the document structure
|
|
||||||
- Read ALL section files listed in the index
|
|
||||||
- Treat the combined content as if it were a single document
|
|
||||||
4. **Brownfield projects**: The `document-project` workflow always creates `{output_folder}/docs/index.md`
|
|
||||||
|
|
||||||
**Priority**: If both whole and sharded versions exist, use the whole document.
|
|
||||||
|
|
||||||
**Fuzzy matching**: Be flexible with document names - users may use variations in naming conventions.
|
|
||||||
|
|
||||||
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
|
|
@ -379,6 +363,7 @@ Provided by Starter: {{yes_if_from_starter}}
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<template-output>decision_record</template-output>
|
<template-output>decision_record</template-output>
|
||||||
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="5" goal="Address cross-cutting concerns">
|
<step n="5" goal="Address cross-cutting concerns">
|
||||||
|
|
@ -408,6 +393,7 @@ Provided by Starter: {{yes_if_from_starter}}
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<template-output>project_structure</template-output>
|
<template-output>project_structure</template-output>
|
||||||
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="7" goal="Design novel architectural patterns" optional="true">
|
<step n="7" goal="Design novel architectural patterns" optional="true">
|
||||||
|
|
@ -481,6 +467,7 @@ Provided by Starter: {{yes_if_from_starter}}
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<template-output>novel_pattern_designs</template-output>
|
<template-output>novel_pattern_designs</template-output>
|
||||||
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="8" goal="Define implementation patterns to prevent agent conflicts">
|
<step n="8" goal="Define implementation patterns to prevent agent conflicts">
|
||||||
|
|
@ -573,6 +560,7 @@ Enforcement: "All agents MUST follow this pattern"
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<template-output>implementation_patterns</template-output>
|
<template-output>implementation_patterns</template-output>
|
||||||
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="9" goal="Validate architectural coherence">
|
<step n="9" goal="Validate architectural coherence">
|
||||||
|
|
@ -626,6 +614,7 @@ Enforcement: "All agents MUST follow this pattern"
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
<template-output>architecture_document</template-output>
|
<template-output>architecture_document</template-output>
|
||||||
|
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="11" goal="Validate document completeness">
|
<step n="11" goal="Validate document completeness">
|
||||||
|
|
|
||||||
|
|
@ -3,24 +3,7 @@
|
||||||
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
|
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
|
||||||
<critical>You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml</critical>
|
<critical>You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml</critical>
|
||||||
<critical>Communicate all findings and analysis in {communication_language} throughout the assessment</critical>
|
<critical>Communicate all findings and analysis in {communication_language} throughout the assessment</critical>
|
||||||
|
<critical>Input documents specified in workflow.yaml input_file_patterns - workflow engine handles fuzzy matching, whole vs sharded document discovery automatically</critical>
|
||||||
## 📚 Input Document Discovery
|
|
||||||
|
|
||||||
This workflow validates: PRD, epics/stories, architecture, and may reference UX design, tech specs, or brownfield project documentation.
|
|
||||||
|
|
||||||
**Discovery Process** (execute for each referenced document):
|
|
||||||
|
|
||||||
1. **Search for whole document first** - Use fuzzy file matching to find the complete document
|
|
||||||
2. **Check for sharded version** - If whole document not found, look for `{doc-name}/index.md`
|
|
||||||
3. **If sharded version found**:
|
|
||||||
- Read `index.md` to understand the document structure
|
|
||||||
- Read ALL section files listed in the index
|
|
||||||
- Treat the combined content as if it were a single document
|
|
||||||
4. **Brownfield projects**: The `document-project` workflow always creates `{output_folder}/docs/index.md`
|
|
||||||
|
|
||||||
**Priority**: If both whole and sharded versions exist, use the whole document.
|
|
||||||
|
|
||||||
**Fuzzy matching**: Be flexible with document names - users may use variations in naming conventions.
|
|
||||||
|
|
||||||
<workflow>
|
<workflow>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,13 +24,13 @@ validation: "{installed_path}/checklist.md"
|
||||||
# Output configuration
|
# Output configuration
|
||||||
default_output_file: "{output_folder}/implementation-readiness-report-{{date}}.md"
|
default_output_file: "{output_folder}/implementation-readiness-report-{{date}}.md"
|
||||||
|
|
||||||
# Expected input documents (varies by project level)
|
# Input requirements
|
||||||
recommended_inputs:
|
recommended_inputs:
|
||||||
- prd: "{output_folder}/prd*.md"
|
- prd: "Product Requirements Document with FRs and NFRs"
|
||||||
- architecture: "{output_folder}/architecture*.md or {output_folder}/architecture*.md"
|
- architecture: "System Architecture with decisions and patterns"
|
||||||
- tech_spec: "{output_folder}/tech-spec*.md"
|
- tech_spec: "Technical Specification (for Quick Flow track)"
|
||||||
- epics_stories: "{output_folder}/epic*.md"
|
- epics: "Epic breakdown with user stories"
|
||||||
- ux_artifacts: "{output_folder}/ux*.md"
|
- ux_design: "UX design specification (if UI components)"
|
||||||
|
|
||||||
# Smart input file references - handles both whole docs and sharded docs
|
# Smart input file references - handles both whole docs and sharded docs
|
||||||
# Priority: Whole document first, then sharded version
|
# Priority: Whole document first, then sharded version
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue