Ignore and untrack BMad directories
This commit is contained in:
@@ -1,190 +0,0 @@
|
||||
---
|
||||
name: 'step-01-document-discovery'
|
||||
description: 'Discover and inventory all project documents, handling duplicates and organizing file structure'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation-readiness'
|
||||
|
||||
# File References
|
||||
thisStepFile: './step-01-document-discovery.md'
|
||||
nextStepFile: './step-02-prd-analysis.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md'
|
||||
templateFile: '{workflow_path}/templates/readiness-report-template.md'
|
||||
---
|
||||
|
||||
# Step 1: Document Discovery
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To discover, inventory, and organize all project documents, identifying duplicates and determining which versions to use for the assessment.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are an expert Product Manager and Scrum Master
|
||||
- ✅ Your focus is on finding organizing and documenting what exists
|
||||
- ✅ You identify ambiguities and ask for clarification
|
||||
- ✅ Success is measured in clear file inventory and conflict resolution
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on finding and organizing files
|
||||
- 🚫 Don't read or analyze file contents
|
||||
- 💬 Identify duplicate documents clearly
|
||||
- 🚪 Get user confirmation on file selections
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Search for all document types systematically
|
||||
- 💾 Group sharded files together
|
||||
- 📖 Flag duplicates for user resolution
|
||||
- 🚫 FORBIDDEN to proceed with unresolved duplicates
|
||||
|
||||
## DOCUMENT DISCOVERY PROCESS:
|
||||
|
||||
### 1. Initialize Document Discovery
|
||||
|
||||
"Beginning **Document Discovery** to inventory all project files.
|
||||
|
||||
I will:
|
||||
|
||||
1. Search for all required documents (PRD, Architecture, Epics, UX)
|
||||
2. Group sharded documents together
|
||||
3. Identify any duplicates (whole + sharded versions)
|
||||
4. Present findings for your confirmation"
|
||||
|
||||
### 2. Document Search Patterns
|
||||
|
||||
Search for each document type using these patterns:
|
||||
|
||||
#### A. PRD Documents
|
||||
|
||||
- Whole: `{planning_artifacts}/*prd*.md`
|
||||
- Sharded: `{planning_artifacts}/*prd*/index.md` and related files
|
||||
|
||||
#### B. Architecture Documents
|
||||
|
||||
- Whole: `{planning_artifacts}/*architecture*.md`
|
||||
- Sharded: `{planning_artifacts}/*architecture*/index.md` and related files
|
||||
|
||||
#### C. Epics & Stories Documents
|
||||
|
||||
- Whole: `{planning_artifacts}/*epic*.md`
|
||||
- Sharded: `{planning_artifacts}/*epic*/index.md` and related files
|
||||
|
||||
#### D. UX Design Documents
|
||||
|
||||
- Whole: `{planning_artifacts}/*ux*.md`
|
||||
- Sharded: `{planning_artifacts}/*ux*/index.md` and related files
|
||||
|
||||
### 3. Organize Findings
|
||||
|
||||
For each document type found:
|
||||
|
||||
```
|
||||
## [Document Type] Files Found
|
||||
|
||||
**Whole Documents:**
|
||||
- [filename.md] ([size], [modified date])
|
||||
|
||||
**Sharded Documents:**
|
||||
- Folder: [foldername]/
|
||||
- index.md
|
||||
- [other files in folder]
|
||||
```
|
||||
|
||||
### 4. Identify Critical Issues
|
||||
|
||||
#### Duplicates (CRITICAL)
|
||||
|
||||
If both whole and sharded versions exist:
|
||||
|
||||
```
|
||||
⚠️ CRITICAL ISSUE: Duplicate document formats found
|
||||
- PRD exists as both whole.md AND prd/ folder
|
||||
- YOU MUST choose which version to use
|
||||
- Remove or rename the other version to avoid confusion
|
||||
```
|
||||
|
||||
#### Missing Documents (WARNING)
|
||||
|
||||
If required documents not found:
|
||||
|
||||
```
|
||||
⚠️ WARNING: Required document not found
|
||||
- Architecture document not found
|
||||
- Will impact assessment completeness
|
||||
```
|
||||
|
||||
### 5. Add Initial Report Section
|
||||
|
||||
Initialize {outputFile} with {templateFile}.
|
||||
|
||||
### 6. Present Findings and Get Confirmation
|
||||
|
||||
Display findings and ask:
|
||||
"**Document Discovery Complete**
|
||||
|
||||
[Show organized file list]
|
||||
|
||||
**Issues Found:**
|
||||
|
||||
- [List any duplicates requiring resolution]
|
||||
- [List any missing documents]
|
||||
|
||||
**Required Actions:**
|
||||
|
||||
- If duplicates exist: Please remove/rename one version
|
||||
- Confirm which documents to use for assessment
|
||||
|
||||
**Ready to proceed?** [C] Continue after resolving issues"
|
||||
|
||||
### 7. Present MENU OPTIONS
|
||||
|
||||
Display: **Select an Option:** [C] Continue to File Validation
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed with 'C' selection
|
||||
- If duplicates identified, insist on resolution first
|
||||
- User can clarify file locations or request additional searches
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF C: Save document inventory to {outputFile}, update frontmatter with completed step and files being included, and only then load read fully and execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then redisplay menu
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and document inventory is saved will you load {nextStepFile} to begin file validation.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- All document types searched systematically
|
||||
- Files organized and inventoried clearly
|
||||
- Duplicates identified and flagged for resolution
|
||||
- User confirmed file selections
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not searching all document types
|
||||
- Ignoring duplicate document conflicts
|
||||
- Proceeding without resolving critical issues
|
||||
- Not saving document inventory
|
||||
|
||||
**Master Rule:** Clear file identification is essential for accurate assessment.
|
||||
@@ -1,178 +0,0 @@
|
||||
---
|
||||
name: 'step-02-prd-analysis'
|
||||
description: 'Read and analyze PRD to extract all FRs and NFRs for coverage validation'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation-readiness'
|
||||
|
||||
# File References
|
||||
thisStepFile: './step-02-prd-analysis.md'
|
||||
nextStepFile: './step-03-epic-coverage-validation.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md'
|
||||
epicsFile: '{planning_artifacts}/*epic*.md' # Will be resolved to actual file
|
||||
---
|
||||
|
||||
# Step 2: PRD Analysis
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To fully read and analyze the PRD document (whole or sharded) to extract all Functional Requirements (FRs) and Non-Functional Requirements (NFRs) for validation against epics coverage.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are an expert Product Manager and Scrum Master
|
||||
- ✅ Your expertise is in requirements analysis and traceability
|
||||
- ✅ You think critically about requirement completeness
|
||||
- ✅ Success is measured in thorough requirement extraction
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on reading and extracting from PRD
|
||||
- 🚫 Don't validate files (done in step 1)
|
||||
- 💬 Read PRD completely - whole or all sharded files
|
||||
- 🚪 Extract every FR and NFR with numbering
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load and completely read the PRD
|
||||
- 💾 Extract all requirements systematically
|
||||
- 📖 Document findings in the report
|
||||
- 🚫 FORBIDDEN to skip or summarize PRD content
|
||||
|
||||
## PRD ANALYSIS PROCESS:
|
||||
|
||||
### 1. Initialize PRD Analysis
|
||||
|
||||
"Beginning **PRD Analysis** to extract all requirements.
|
||||
|
||||
I will:
|
||||
|
||||
1. Load the PRD document (whole or sharded)
|
||||
2. Read it completely and thoroughly
|
||||
3. Extract ALL Functional Requirements (FRs)
|
||||
4. Extract ALL Non-Functional Requirements (NFRs)
|
||||
5. Document findings for coverage validation"
|
||||
|
||||
### 2. Load and Read PRD
|
||||
|
||||
From the document inventory in step 1:
|
||||
|
||||
- If whole PRD file exists: Load and read it completely
|
||||
- If sharded PRD exists: Load and read ALL files in the PRD folder
|
||||
- Ensure complete coverage - no files skipped
|
||||
|
||||
### 3. Extract Functional Requirements (FRs)
|
||||
|
||||
Search for and extract:
|
||||
|
||||
- Numbered FRs (FR1, FR2, FR3, etc.)
|
||||
- Requirements labeled "Functional Requirement"
|
||||
- User stories or use cases that represent functional needs
|
||||
- Business rules that must be implemented
|
||||
|
||||
Format findings as:
|
||||
|
||||
```
|
||||
## Functional Requirements Extracted
|
||||
|
||||
FR1: [Complete requirement text]
|
||||
FR2: [Complete requirement text]
|
||||
FR3: [Complete requirement text]
|
||||
...
|
||||
Total FRs: [count]
|
||||
```
|
||||
|
||||
### 4. Extract Non-Functional Requirements (NFRs)
|
||||
|
||||
Search for and extract:
|
||||
|
||||
- Performance requirements (response times, throughput)
|
||||
- Security requirements (authentication, encryption, etc.)
|
||||
- Usability requirements (accessibility, ease of use)
|
||||
- Reliability requirements (uptime, error rates)
|
||||
- Scalability requirements (concurrent users, data growth)
|
||||
- Compliance requirements (standards, regulations)
|
||||
|
||||
Format findings as:
|
||||
|
||||
```
|
||||
## Non-Functional Requirements Extracted
|
||||
|
||||
NFR1: [Performance requirement]
|
||||
NFR2: [Security requirement]
|
||||
NFR3: [Usability requirement]
|
||||
...
|
||||
Total NFRs: [count]
|
||||
```
|
||||
|
||||
### 5. Document Additional Requirements
|
||||
|
||||
Look for:
|
||||
|
||||
- Constraints or assumptions
|
||||
- Technical requirements not labeled as FR/NFR
|
||||
- Business constraints
|
||||
- Integration requirements
|
||||
|
||||
### 6. Add to Assessment Report
|
||||
|
||||
Append to {outputFile}:
|
||||
|
||||
```markdown
|
||||
## PRD Analysis
|
||||
|
||||
### Functional Requirements
|
||||
|
||||
[Complete FR list from section 3]
|
||||
|
||||
### Non-Functional Requirements
|
||||
|
||||
[Complete NFR list from section 4]
|
||||
|
||||
### Additional Requirements
|
||||
|
||||
[Any other requirements or constraints found]
|
||||
|
||||
### PRD Completeness Assessment
|
||||
|
||||
[Initial assessment of PRD completeness and clarity]
|
||||
```
|
||||
|
||||
### 7. Auto-Proceed to Next Step
|
||||
|
||||
After PRD analysis complete, immediately load next step for epic coverage validation.
|
||||
|
||||
## PROCEEDING TO EPIC COVERAGE VALIDATION
|
||||
|
||||
PRD analysis complete. Loading next step to validate epic coverage.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- PRD loaded and read completely
|
||||
- All FRs extracted with full text
|
||||
- All NFRs identified and documented
|
||||
- Findings added to assessment report
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not reading complete PRD (especially sharded versions)
|
||||
- Missing requirements in extraction
|
||||
- Summarizing instead of extracting full text
|
||||
- Not documenting findings in report
|
||||
|
||||
**Master Rule:** Complete requirement extraction is essential for traceability validation.
|
||||
@@ -1,179 +0,0 @@
|
||||
---
|
||||
name: 'step-03-epic-coverage-validation'
|
||||
description: 'Validate that all PRD FRs are covered in epics and stories'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation-readiness'
|
||||
|
||||
# File References
|
||||
thisStepFile: './step-03-epic-coverage-validation.md'
|
||||
nextStepFile: './step-04-ux-alignment.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md'
|
||||
---
|
||||
|
||||
# Step 3: Epic Coverage Validation
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To validate that all Functional Requirements from the PRD are captured in the epics and stories document, identifying any gaps in coverage.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are an expert Product Manager and Scrum Master
|
||||
- ✅ Your expertise is in requirements traceability
|
||||
- ✅ You ensure no requirements fall through the cracks
|
||||
- ✅ Success is measured in complete FR coverage
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on FR coverage validation
|
||||
- 🚫 Don't analyze story quality (that's later)
|
||||
- 💬 Compare PRD FRs against epic coverage list
|
||||
- 🚪 Document every missing FR
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load epics document completely
|
||||
- 💾 Extract FR coverage from epics
|
||||
- 📖 Compare against PRD FR list
|
||||
- 🚫 FORBIDDEN to proceed without documenting gaps
|
||||
|
||||
## EPIC COVERAGE VALIDATION PROCESS:
|
||||
|
||||
### 1. Initialize Coverage Validation
|
||||
|
||||
"Beginning **Epic Coverage Validation**.
|
||||
|
||||
I will:
|
||||
|
||||
1. Load the epics and stories document
|
||||
2. Extract FR coverage information
|
||||
3. Compare against PRD FRs from previous step
|
||||
4. Identify any FRs not covered in epics"
|
||||
|
||||
### 2. Load Epics Document
|
||||
|
||||
From the document inventory in step 1:
|
||||
|
||||
- Load the epics and stories document (whole or sharded)
|
||||
- Read it completely to find FR coverage information
|
||||
- Look for sections like "FR Coverage Map" or similar
|
||||
|
||||
### 3. Extract Epic FR Coverage
|
||||
|
||||
From the epics document:
|
||||
|
||||
- Find FR coverage mapping or list
|
||||
- Extract which FR numbers are claimed to be covered
|
||||
- Document which epics cover which FRs
|
||||
|
||||
Format as:
|
||||
|
||||
```
|
||||
## Epic FR Coverage Extracted
|
||||
|
||||
FR1: Covered in Epic X
|
||||
FR2: Covered in Epic Y
|
||||
FR3: Covered in Epic Z
|
||||
...
|
||||
Total FRs in epics: [count]
|
||||
```
|
||||
|
||||
### 4. Compare Coverage Against PRD
|
||||
|
||||
Using the PRD FR list from step 2:
|
||||
|
||||
- Check each PRD FR against epic coverage
|
||||
- Identify FRs NOT covered in epics
|
||||
- Note any FRs in epics but NOT in PRD
|
||||
|
||||
Create coverage matrix:
|
||||
|
||||
```
|
||||
## FR Coverage Analysis
|
||||
|
||||
| FR Number | PRD Requirement | Epic Coverage | Status |
|
||||
| --------- | --------------- | -------------- | --------- |
|
||||
| FR1 | [PRD text] | Epic X Story Y | ✓ Covered |
|
||||
| FR2 | [PRD text] | **NOT FOUND** | ❌ MISSING |
|
||||
| FR3 | [PRD text] | Epic Z Story A | ✓ Covered |
|
||||
```
|
||||
|
||||
### 5. Document Missing Coverage
|
||||
|
||||
List all FRs not covered:
|
||||
|
||||
```
|
||||
## Missing FR Coverage
|
||||
|
||||
### Critical Missing FRs
|
||||
|
||||
FR#: [Full requirement text from PRD]
|
||||
- Impact: [Why this is critical]
|
||||
- Recommendation: [Which epic should include this]
|
||||
|
||||
### High Priority Missing FRs
|
||||
|
||||
[List any other uncovered FRs]
|
||||
```
|
||||
|
||||
### 6. Add to Assessment Report
|
||||
|
||||
Append to {outputFile}:
|
||||
|
||||
```markdown
|
||||
## Epic Coverage Validation
|
||||
|
||||
### Coverage Matrix
|
||||
|
||||
[Complete coverage matrix from section 4]
|
||||
|
||||
### Missing Requirements
|
||||
|
||||
[List of uncovered FRs from section 5]
|
||||
|
||||
### Coverage Statistics
|
||||
|
||||
- Total PRD FRs: [count]
|
||||
- FRs covered in epics: [count]
|
||||
- Coverage percentage: [percentage]
|
||||
```
|
||||
|
||||
### 7. Auto-Proceed to Next Step
|
||||
|
||||
After coverage validation complete, immediately load next step.
|
||||
|
||||
## PROCEEDING TO UX ALIGNMENT
|
||||
|
||||
Epic coverage validation complete. Loading next step for UX alignment.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Epics document loaded completely
|
||||
- FR coverage extracted accurately
|
||||
- All gaps identified and documented
|
||||
- Coverage matrix created
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not reading complete epics document
|
||||
- Missing FRs in comparison
|
||||
- Not documenting uncovered requirements
|
||||
- Incomplete coverage analysis
|
||||
|
||||
**Master Rule:** Every FR must have a traceable implementation path.
|
||||
@@ -1,139 +0,0 @@
|
||||
---
|
||||
name: 'step-04-ux-alignment'
|
||||
description: 'Check for UX document and validate alignment with PRD and Architecture'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation-readiness'
|
||||
|
||||
# File References
|
||||
thisStepFile: './step-04-ux-alignment.md'
|
||||
nextStepFile: './step-05-epic-quality-review.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md'
|
||||
---
|
||||
|
||||
# Step 4: UX Alignment
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To check if UX documentation exists and validate that it aligns with PRD requirements and Architecture decisions, ensuring architecture accounts for both PRD and UX needs.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a UX VALIDATOR ensuring user experience is properly addressed
|
||||
- ✅ UX requirements must be supported by architecture
|
||||
- ✅ Missing UX documentation is a warning if UI is implied
|
||||
- ✅ Alignment gaps must be documented
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Check for UX document existence first
|
||||
- 🚫 Don't assume UX is not needed
|
||||
- 💬 Validate alignment between UX, PRD, and Architecture
|
||||
- 🚪 Add findings to the output report
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Search for UX documentation
|
||||
- 💾 If found, validate alignment
|
||||
- 📖 If not found, assess if UX is implied
|
||||
- 🚫 FORBIDDEN to proceed without completing assessment
|
||||
|
||||
## UX ALIGNMENT PROCESS:
|
||||
|
||||
### 1. Initialize UX Validation
|
||||
|
||||
"Beginning **UX Alignment** validation.
|
||||
|
||||
I will:
|
||||
|
||||
1. Check if UX documentation exists
|
||||
2. If UX exists: validate alignment with PRD and Architecture
|
||||
3. If no UX: determine if UX is implied and document warning"
|
||||
|
||||
### 2. Search for UX Documentation
|
||||
|
||||
Search patterns:
|
||||
|
||||
- `{planning_artifacts}/*ux*.md` (whole document)
|
||||
- `{planning_artifacts}/*ux*/index.md` (sharded)
|
||||
- Look for UI-related terms in other documents
|
||||
|
||||
### 3. If UX Document Exists
|
||||
|
||||
#### A. UX ↔ PRD Alignment
|
||||
|
||||
- Check UX requirements reflected in PRD
|
||||
- Verify user journeys in UX match PRD use cases
|
||||
- Identify UX requirements not in PRD
|
||||
|
||||
#### B. UX ↔ Architecture Alignment
|
||||
|
||||
- Verify architecture supports UX requirements
|
||||
- Check performance needs (responsiveness, load times)
|
||||
- Identify UI components not supported by architecture
|
||||
|
||||
### 4. If No UX Document
|
||||
|
||||
Assess if UX/UI is implied:
|
||||
|
||||
- Does PRD mention user interface?
|
||||
- Are there web/mobile components implied?
|
||||
- Is this a user-facing application?
|
||||
|
||||
If UX implied but missing: Add warning to report
|
||||
|
||||
### 5. Add Findings to Report
|
||||
|
||||
Append to {outputFile}:
|
||||
|
||||
```markdown
|
||||
## UX Alignment Assessment
|
||||
|
||||
### UX Document Status
|
||||
|
||||
[Found/Not Found]
|
||||
|
||||
### Alignment Issues
|
||||
|
||||
[List any misalignments between UX, PRD, and Architecture]
|
||||
|
||||
### Warnings
|
||||
|
||||
[Any warnings about missing UX or architectural gaps]
|
||||
```
|
||||
|
||||
### 6. Auto-Proceed to Next Step
|
||||
|
||||
After UX assessment complete, immediately load next step.
|
||||
|
||||
## PROCEEDING TO EPIC QUALITY REVIEW
|
||||
|
||||
UX alignment assessment complete. Loading next step for epic quality review.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- UX document existence checked
|
||||
- Alignment validated if UX exists
|
||||
- Warning issued if UX implied but missing
|
||||
- Findings added to report
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not checking for UX document
|
||||
- Ignoring alignment issues
|
||||
- Not documenting warnings
|
||||
@@ -1,252 +0,0 @@
|
||||
---
|
||||
name: 'step-05-epic-quality-review'
|
||||
description: 'Validate epics and stories against create-epics-and-stories best practices'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation-readiness'
|
||||
|
||||
# File References
|
||||
thisStepFile: './step-05-epic-quality-review.md'
|
||||
nextStepFile: './step-06-final-assessment.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md'
|
||||
epicsBestPractices: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories'
|
||||
---
|
||||
|
||||
# Step 5: Epic Quality Review
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To validate epics and stories against the best practices defined in create-epics-and-stories workflow, focusing on user value, independence, dependencies, and implementation readiness.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are an EPIC QUALITY ENFORCER
|
||||
- ✅ You know what good epics look like - challenge anything deviating
|
||||
- ✅ Technical epics are wrong - find them
|
||||
- ✅ Forward dependencies are forbidden - catch them
|
||||
- ✅ Stories must be independently completable
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Apply create-epics-and-stories standards rigorously
|
||||
- 🚫 Don't accept "technical milestones" as epics
|
||||
- 💬 Challenge every dependency on future work
|
||||
- 🚪 Verify proper story sizing and structure
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Systematically validate each epic and story
|
||||
- 💾 Document all violations of best practices
|
||||
- 📖 Check every dependency relationship
|
||||
- 🚫 FORBIDDEN to accept structural problems
|
||||
|
||||
## EPIC QUALITY REVIEW PROCESS:
|
||||
|
||||
### 1. Initialize Best Practices Validation
|
||||
|
||||
"Beginning **Epic Quality Review** against create-epics-and-stories standards.
|
||||
|
||||
I will rigorously validate:
|
||||
|
||||
- Epics deliver user value (not technical milestones)
|
||||
- Epic independence (Epic 2 doesn't need Epic 3)
|
||||
- Story dependencies (no forward references)
|
||||
- Proper story sizing and completeness
|
||||
|
||||
Any deviation from best practices will be flagged as a defect."
|
||||
|
||||
### 2. Epic Structure Validation
|
||||
|
||||
#### A. User Value Focus Check
|
||||
|
||||
For each epic:
|
||||
|
||||
- **Epic Title:** Is it user-centric (what user can do)?
|
||||
- **Epic Goal:** Does it describe user outcome?
|
||||
- **Value Proposition:** Can users benefit from this epic alone?
|
||||
|
||||
**Red flags (violations):**
|
||||
|
||||
- "Setup Database" or "Create Models" - no user value
|
||||
- "API Development" - technical milestone
|
||||
- "Infrastructure Setup" - not user-facing
|
||||
- "Authentication System" - borderline (is it user value?)
|
||||
|
||||
#### B. Epic Independence Validation
|
||||
|
||||
Test epic independence:
|
||||
|
||||
- **Epic 1:** Must stand alone completely
|
||||
- **Epic 2:** Can function using only Epic 1 output
|
||||
- **Epic 3:** Can function using Epic 1 & 2 outputs
|
||||
- **Rule:** Epic N cannot require Epic N+1 to work
|
||||
|
||||
**Document failures:**
|
||||
|
||||
- "Epic 2 requires Epic 3 features to function"
|
||||
- Stories in Epic 2 referencing Epic 3 components
|
||||
- Circular dependencies between epics
|
||||
|
||||
### 3. Story Quality Assessment
|
||||
|
||||
#### A. Story Sizing Validation
|
||||
|
||||
Check each story:
|
||||
|
||||
- **Clear User Value:** Does the story deliver something meaningful?
|
||||
- **Independent:** Can it be completed without future stories?
|
||||
|
||||
**Common violations:**
|
||||
|
||||
- "Setup all models" - not a USER story
|
||||
- "Create login UI (depends on Story 1.3)" - forward dependency
|
||||
|
||||
#### B. Acceptance Criteria Review
|
||||
|
||||
For each story's ACs:
|
||||
|
||||
- **Given/When/Then Format:** Proper BDD structure?
|
||||
- **Testable:** Each AC can be verified independently?
|
||||
- **Complete:** Covers all scenarios including errors?
|
||||
- **Specific:** Clear expected outcomes?
|
||||
|
||||
**Issues to find:**
|
||||
|
||||
- Vague criteria like "user can login"
|
||||
- Missing error conditions
|
||||
- Incomplete happy path
|
||||
- Non-measurable outcomes
|
||||
|
||||
### 4. Dependency Analysis
|
||||
|
||||
#### A. Within-Epic Dependencies
|
||||
|
||||
Map story dependencies within each epic:
|
||||
|
||||
- Story 1.1 must be completable alone
|
||||
- Story 1.2 can use Story 1.1 output
|
||||
- Story 1.3 can use Story 1.1 & 1.2 outputs
|
||||
|
||||
**Critical violations:**
|
||||
|
||||
- "This story depends on Story 1.4"
|
||||
- "Wait for future story to work"
|
||||
- Stories referencing features not yet implemented
|
||||
|
||||
#### B. Database/Entity Creation Timing
|
||||
|
||||
Validate database creation approach:
|
||||
|
||||
- **Wrong:** Epic 1 Story 1 creates all tables upfront
|
||||
- **Right:** Each story creates tables it needs
|
||||
- **Check:** Are tables created only when first needed?
|
||||
|
||||
### 5. Special Implementation Checks
|
||||
|
||||
#### A. Starter Template Requirement
|
||||
|
||||
Check if Architecture specifies starter template:
|
||||
|
||||
- If YES: Epic 1 Story 1 must be "Set up initial project from starter template"
|
||||
- Verify story includes cloning, dependencies, initial configuration
|
||||
|
||||
#### B. Greenfield vs Brownfield Indicators
|
||||
|
||||
Greenfield projects should have:
|
||||
|
||||
- Initial project setup story
|
||||
- Development environment configuration
|
||||
- CI/CD pipeline setup early
|
||||
|
||||
Brownfield projects should have:
|
||||
|
||||
- Integration points with existing systems
|
||||
- Migration or compatibility stories
|
||||
|
||||
### 6. Best Practices Compliance Checklist
|
||||
|
||||
For each epic, verify:
|
||||
|
||||
- [ ] Epic delivers user value
|
||||
- [ ] Epic can function independently
|
||||
- [ ] Stories appropriately sized
|
||||
- [ ] No forward dependencies
|
||||
- [ ] Database tables created when needed
|
||||
- [ ] Clear acceptance criteria
|
||||
- [ ] Traceability to FRs maintained
|
||||
|
||||
### 7. Quality Assessment Documentation
|
||||
|
||||
Document all findings by severity:
|
||||
|
||||
#### 🔴 Critical Violations
|
||||
|
||||
- Technical epics with no user value
|
||||
- Forward dependencies breaking independence
|
||||
- Epic-sized stories that cannot be completed
|
||||
|
||||
#### 🟠 Major Issues
|
||||
|
||||
- Vague acceptance criteria
|
||||
- Stories requiring future stories
|
||||
- Database creation violations
|
||||
|
||||
#### 🟡 Minor Concerns
|
||||
|
||||
- Formatting inconsistencies
|
||||
- Minor structure deviations
|
||||
- Documentation gaps
|
||||
|
||||
### 8. Autonomous Review Execution
|
||||
|
||||
This review runs autonomously to maintain standards:
|
||||
|
||||
- Apply best practices without compromise
|
||||
- Document every violation with specific examples
|
||||
- Provide clear remediation guidance
|
||||
- Prepare recommendations for each issue
|
||||
|
||||
## REVIEW COMPLETION:
|
||||
|
||||
After completing epic quality review:
|
||||
|
||||
- Update {outputFile} with all quality findings
|
||||
- Document specific best practices violations
|
||||
- Provide actionable recommendations
|
||||
- Load {nextStepFile} for final readiness assessment
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
This step executes autonomously. Load {nextStepFile} only after complete epic quality review is documented.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- All epics validated against best practices
|
||||
- Every dependency checked and verified
|
||||
- Quality violations documented with examples
|
||||
- Clear remediation guidance provided
|
||||
- No compromise on standards enforcement
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Accepting technical epics as valid
|
||||
- Ignoring forward dependencies
|
||||
- Not verifying story sizing
|
||||
- Overlooking obvious violations
|
||||
|
||||
**Master Rule:** Enforce best practices rigorously. Find all violations.
|
||||
@@ -1,133 +0,0 @@
|
||||
---
|
||||
name: 'step-06-final-assessment'
|
||||
description: 'Compile final assessment and polish the readiness report'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/implementation-readiness'
|
||||
|
||||
# File References
|
||||
thisStepFile: './step-06-final-assessment.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md'
|
||||
---
|
||||
|
||||
# Step 6: Final Assessment
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To provide a comprehensive summary of all findings and give the report a final polish, ensuring clear recommendations and overall readiness status.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 📖 You are at the final step - complete the assessment
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are delivering the FINAL ASSESSMENT
|
||||
- ✅ Your findings are objective and backed by evidence
|
||||
- ✅ Provide clear, actionable recommendations
|
||||
- ✅ Success is measured by value of findings
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Compile and summarize all findings
|
||||
- 🚫 Don't soften the message - be direct
|
||||
- 💬 Provide specific examples for problems
|
||||
- 🚪 Add final section to the report
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Review all findings from previous steps
|
||||
- 💾 Add summary and recommendations
|
||||
- 📖 Determine overall readiness status
|
||||
- 🚫 Complete and present final report
|
||||
|
||||
## FINAL ASSESSMENT PROCESS:
|
||||
|
||||
### 1. Initialize Final Assessment
|
||||
|
||||
"Completing **Final Assessment**.
|
||||
|
||||
I will now:
|
||||
|
||||
1. Review all findings from previous steps
|
||||
2. Provide a comprehensive summary
|
||||
3. Add specific recommendations
|
||||
4. Determine overall readiness status"
|
||||
|
||||
### 2. Review Previous Findings
|
||||
|
||||
Check the {outputFile} for sections added by previous steps:
|
||||
|
||||
- File and FR Validation findings
|
||||
- UX Alignment issues
|
||||
- Epic Quality violations
|
||||
|
||||
### 3. Add Final Assessment Section
|
||||
|
||||
Append to {outputFile}:
|
||||
|
||||
```markdown
|
||||
## Summary and Recommendations
|
||||
|
||||
### Overall Readiness Status
|
||||
|
||||
[READY/NEEDS WORK/NOT READY]
|
||||
|
||||
### Critical Issues Requiring Immediate Action
|
||||
|
||||
[List most critical issues that must be addressed]
|
||||
|
||||
### Recommended Next Steps
|
||||
|
||||
1. [Specific action item 1]
|
||||
2. [Specific action item 2]
|
||||
3. [Specific action item 3]
|
||||
|
||||
### Final Note
|
||||
|
||||
This assessment identified [X] issues across [Y] categories. Address the critical issues before proceeding to implementation. These findings can be used to improve the artifacts or you may choose to proceed as-is.
|
||||
```
|
||||
|
||||
### 4. Complete the Report
|
||||
|
||||
- Ensure all findings are clearly documented
|
||||
- Verify recommendations are actionable
|
||||
- Add date and assessor information
|
||||
- Save the final report
|
||||
|
||||
### 5. Present Completion
|
||||
|
||||
Display:
|
||||
"**Implementation Readiness Assessment Complete**
|
||||
|
||||
Report generated: {outputFile}
|
||||
|
||||
The assessment found [number] issues requiring attention. Review the detailed report for specific findings and recommendations."
|
||||
|
||||
## WORKFLOW COMPLETE
|
||||
|
||||
The implementation readiness workflow is now complete. The report contains all findings and recommendations for the user to consider.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- All findings compiled and summarized
|
||||
- Clear recommendations provided
|
||||
- Readiness status determined
|
||||
- Final report saved
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not reviewing previous findings
|
||||
- Incomplete summary
|
||||
- No clear recommendations
|
||||
@@ -1,4 +0,0 @@
|
||||
# Implementation Readiness Assessment Report
|
||||
|
||||
**Date:** {{date}}
|
||||
**Project:** {{project_name}}
|
||||
@@ -1,55 +0,0 @@
|
||||
---
|
||||
name: check-implementation-readiness
|
||||
description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.'
|
||||
web_bundle: false
|
||||
---
|
||||
|
||||
# Implementation Readiness
|
||||
|
||||
**Goal:** Validate that PRD, Architecture, Epics and Stories are complete and aligned before Phase 4 implementation starts, with a focus on ensuring epics and stories are logical and have accounted for all requirements and planning.
|
||||
|
||||
**Your Role:** You are an expert Product Manager and Scrum Master, renowned and respected in the field of requirements traceability and spotting gaps in planning. Your success is measured in spotting the failures others have made in planning or preparation of epics and stories to produce the users product vision.
|
||||
|
||||
## WORKFLOW ARCHITECTURE
|
||||
|
||||
### Core Principles
|
||||
|
||||
- **Micro-file Design**: Each step of the overall goal is a self contained instruction file that you will adhere too 1 file as directed at a time
|
||||
- **Just-In-Time Loading**: Only 1 current step file will be loaded, read, and executed to completion - never load future step files until told to do so
|
||||
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
||||
- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
|
||||
- **Append-Only Building**: Build documents by appending content as directed to the output file
|
||||
|
||||
### Step Processing Rules
|
||||
|
||||
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
||||
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
||||
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
||||
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
||||
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
|
||||
6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
||||
|
||||
### Critical Rules (NO EXCEPTIONS)
|
||||
|
||||
- 🛑 **NEVER** load multiple step files simultaneously
|
||||
- 📖 **ALWAYS** read entire step file before execution
|
||||
- 🚫 **NEVER** skip steps or optimize the sequence
|
||||
- 💾 **ALWAYS** update frontmatter of output files when writing the final output for a specific step
|
||||
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
||||
- ⏸️ **ALWAYS** halt at menus and wait for user input
|
||||
- 📋 **NEVER** create mental todo lists from future steps
|
||||
|
||||
---
|
||||
|
||||
## INITIALIZATION SEQUENCE
|
||||
|
||||
### 1. Module Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### 2. First Step EXECUTION
|
||||
|
||||
Load, read the full file and then execute `./step-01-document-discovery.md` to begin the workflow.
|
||||
@@ -1,12 +0,0 @@
|
||||
---
|
||||
stepsCompleted: []
|
||||
inputDocuments: []
|
||||
workflowType: 'architecture'
|
||||
project_name: '{{project_name}}'
|
||||
user_name: '{{user_name}}'
|
||||
date: '{{date}}'
|
||||
---
|
||||
|
||||
# Architecture Decision Document
|
||||
|
||||
_This document builds collaboratively through step-by-step discovery. Sections are appended as we work through each architectural decision together._
|
||||
@@ -1,11 +0,0 @@
|
||||
domain,signals,complexity_level,suggested_workflow,web_searches
|
||||
e_commerce,"shopping,cart,checkout,payment,products,store",medium,standard,"ecommerce architecture patterns, payment processing, inventory management"
|
||||
fintech,"banking,payment,trading,finance,money,investment",high,enhanced,"financial security, PCI compliance, trading algorithms, fraud detection"
|
||||
healthcare,"medical,diagnostic,clinical,patient,hospital,health",high,enhanced,"HIPAA compliance, medical data security, FDA regulations, health tech"
|
||||
social,"social network,community,users,friends,posts,sharing",high,advanced,"social graph algorithms, feed ranking, notification systems, privacy"
|
||||
education,"learning,course,student,teacher,training,academic",medium,standard,"LMS architecture, progress tracking, assessment systems, video streaming"
|
||||
productivity,"productivity,workflow,tasks,management,business,tools",medium,standard,"collaboration patterns, real-time editing, notification systems, integration"
|
||||
media,"content,media,video,audio,streaming,broadcast",high,advanced,"CDN architecture, video encoding, streaming protocols, content delivery"
|
||||
iot,"IoT,sensors,devices,embedded,smart,connected",high,advanced,"device communication, real-time data processing, edge computing, security"
|
||||
government,"government,civic,public,admin,policy,regulation",high,enhanced,"accessibility standards, security clearance, data privacy, audit trails"
|
||||
gaming,"game,gaming,multiplayer,real-time,interactive,entertainment",high,advanced,"real-time multiplayer, game engine architecture, matchmaking, leaderboards"
|
||||
|
@@ -1,7 +0,0 @@
|
||||
project_type,detection_signals,description,typical_starters
|
||||
web_app,"website,web application,browser,frontend,UI,interface",Web-based applications running in browsers,Next.js, Vite, Remix
|
||||
mobile_app,"mobile,iOS,Android,app,smartphone,tablet",Native mobile applications,React Native, Expo, Flutter
|
||||
api_backend,"API,REST,GraphQL,backend,service,microservice",Backend services and APIs,NestJS, Express, Fastify
|
||||
full_stack,"full-stack,complete,web+mobile,frontend+backend",Applications with both frontend and backend,T3 App, RedwoodJS, Blitz
|
||||
cli_tool,"CLI,command line,terminal,console,tool",Command-line interface tools,oclif, Commander, Caporal
|
||||
desktop_app,"desktop,Electron,Tauri,native app,macOS,Windows",Desktop applications,Electron, Tauri, Flutter Desktop
|
||||
|
Can't render this file because it has a wrong number of fields in line 2.
|
@@ -1,153 +0,0 @@
|
||||
# Step 1: Architecture Workflow Initialization
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
||||
- ✅ ALWAYS treat this as collaborative discovery between architectural peers
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- 💬 FOCUS on initialization and setup only - don't look ahead to future steps
|
||||
- 🚪 DETECT existing workflow state and handle continuation properly
|
||||
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis before taking any action
|
||||
- 💾 Initialize document and update frontmatter
|
||||
- 📖 Set up frontmatter `stepsCompleted: [1]` before loading next step
|
||||
- 🚫 FORBIDDEN to load next step until setup is complete
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Variables from workflow.md are available in memory
|
||||
- Previous context = what's in output document + frontmatter
|
||||
- Don't assume knowledge from other steps
|
||||
- Input document discovery happens in this step
|
||||
|
||||
## YOUR TASK:
|
||||
|
||||
Initialize the Architecture workflow by detecting continuation state, discovering input documents, and setting up the document for collaborative architectural decision making.
|
||||
|
||||
## INITIALIZATION SEQUENCE:
|
||||
|
||||
### 1. Check for Existing Workflow
|
||||
|
||||
First, check if the output document already exists:
|
||||
|
||||
- Look for existing {planning_artifacts}/`*architecture*.md`
|
||||
- If exists, read the complete file(s) including frontmatter
|
||||
- If not exists, this is a fresh workflow
|
||||
|
||||
### 2. Handle Continuation (If Document Exists)
|
||||
|
||||
If the document exists and has frontmatter with `stepsCompleted`:
|
||||
|
||||
- **STOP here** and load `./step-01b-continue.md` immediately
|
||||
- Do not proceed with any initialization tasks
|
||||
- Let step-01b handle the continuation logic
|
||||
|
||||
### 3. Fresh Workflow Setup (If No Document)
|
||||
|
||||
If no document exists or no `stepsCompleted` in frontmatter:
|
||||
|
||||
#### A. Input Document Discovery
|
||||
|
||||
Discover and load context documents using smart discovery. Documents can be in the following locations:
|
||||
- {planning_artifacts}/**
|
||||
- {output_folder}/**
|
||||
- {product_knowledge}/**
|
||||
- docs/**
|
||||
|
||||
Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content)
|
||||
|
||||
Try to discover the following:
|
||||
- Product Brief (`*brief*.md`)
|
||||
- Product Requirements Document (`*prd*.md`)
|
||||
- UX Design (`*ux-design*.md`) and other
|
||||
- Research Documents (`*research*.md`)
|
||||
- Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.)
|
||||
- Project Context (`**/project-context.md`)
|
||||
|
||||
<critical>Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules</critical>
|
||||
|
||||
**Loading Rules:**
|
||||
|
||||
- Load ALL discovered files completely that the user confirmed or provided (no offset/limit)
|
||||
- If there is a project context, whatever is relevant should try to be biased in the remainder of this whole workflow process
|
||||
- For sharded folders, load ALL files to get complete picture, using the index first to potentially know the potential of each document
|
||||
- index.md is a guide to what's relevant whenever available
|
||||
- Track all successfully loaded files in frontmatter `inputDocuments` array
|
||||
|
||||
#### B. Validate Required Inputs
|
||||
|
||||
Before proceeding, verify we have the essential inputs:
|
||||
|
||||
**PRD Validation:**
|
||||
|
||||
- If no PRD found: "Architecture requires a PRD to work from. Please run the PRD workflow first or provide the PRD file path."
|
||||
- Do NOT proceed without PRD
|
||||
|
||||
**Other Input that might exist:**
|
||||
|
||||
- UX Spec: "Provides UI/UX architectural requirements"
|
||||
|
||||
#### C. Create Initial Document
|
||||
|
||||
Copy the template from `{installed_path}/architecture-decision-template.md` to `{planning_artifacts}/architecture.md`
|
||||
|
||||
#### D. Complete Initialization and Report
|
||||
|
||||
Complete setup and report to user:
|
||||
|
||||
**Document Setup:**
|
||||
|
||||
- Created: `{planning_artifacts}/architecture.md` from template
|
||||
- Initialized frontmatter with workflow state
|
||||
|
||||
**Input Documents Discovered:**
|
||||
Report what was found:
|
||||
"Welcome {{user_name}}! I've set up your Architecture workspace for {{project_name}}.
|
||||
|
||||
**Documents Found:**
|
||||
|
||||
- PRD: {number of PRD files loaded or "None found - REQUIRED"}
|
||||
- UX Design: {number of UX files loaded or "None found"}
|
||||
- Research: {number of research files loaded or "None found"}
|
||||
- Project docs: {number of project files loaded or "None found"}
|
||||
- Project context: {project_context_rules count of rules for AI agents found}
|
||||
|
||||
**Files loaded:** {list of specific file names or "No additional documents found"}
|
||||
|
||||
Ready to begin architectural decision making. Do you have any other documents you'd like me to include?
|
||||
|
||||
[C] Continue to project context analysis
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ Existing workflow detected and handed off to step-01b correctly
|
||||
✅ Fresh workflow initialized with template and frontmatter
|
||||
✅ Input documents discovered and loaded using sharded-first logic
|
||||
✅ All discovered files tracked in frontmatter `inputDocuments`
|
||||
✅ PRD requirement validated and communicated
|
||||
✅ User confirmed document setup and can proceed
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Proceeding with fresh initialization when existing workflow exists
|
||||
❌ Not updating frontmatter with discovered input documents
|
||||
❌ Creating document without proper template
|
||||
❌ Not checking sharded folders first before whole files
|
||||
❌ Not reporting what documents were found to user
|
||||
❌ Proceeding without validating PRD requirement
|
||||
|
||||
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
||||
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
||||
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||
|
||||
## NEXT STEP:
|
||||
|
||||
After user selects [C] to continue, only after ensuring all the template output has been created, then load `./step-02-context.md` to analyze the project context and begin architectural decision making.
|
||||
|
||||
Remember: Do NOT proceed to step-02 until user explicitly selects [C] from the menu and setup is confirmed!
|
||||
@@ -1,164 +0,0 @@
|
||||
# Step 1b: Workflow Continuation Handler
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
|
||||
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
||||
- ✅ ALWAYS treat this as collaborative discovery between architectural peers
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- 💬 FOCUS on understanding current state and getting user confirmation
|
||||
- 🚪 HANDLE workflow resumption smoothly and transparently
|
||||
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis before taking any action
|
||||
- 📖 Read existing document completely to understand current state
|
||||
- 💾 Update frontmatter to reflect continuation
|
||||
- 🚫 FORBIDDEN to proceed to next step without user confirmation
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Existing document and frontmatter are available
|
||||
- Input documents already loaded should be in frontmatter `inputDocuments`
|
||||
- Steps already completed are in `stepsCompleted` array
|
||||
- Focus on understanding where we left off
|
||||
|
||||
## YOUR TASK:
|
||||
|
||||
Handle workflow continuation by analyzing existing work and guiding the user to resume at the appropriate step.
|
||||
|
||||
## CONTINUATION SEQUENCE:
|
||||
|
||||
### 1. Analyze Current Document State
|
||||
|
||||
Read the existing architecture document completely and analyze:
|
||||
|
||||
**Frontmatter Analysis:**
|
||||
|
||||
- `stepsCompleted`: What steps have been done
|
||||
- `inputDocuments`: What documents were loaded
|
||||
- `lastStep`: Last step that was executed
|
||||
- `project_name`, `user_name`, `date`: Basic context
|
||||
|
||||
**Content Analysis:**
|
||||
|
||||
- What sections exist in the document
|
||||
- What architectural decisions have been made
|
||||
- What appears incomplete or in progress
|
||||
- Any TODOs or placeholders remaining
|
||||
|
||||
### 2. Present Continuation Summary
|
||||
|
||||
Show the user their current progress:
|
||||
|
||||
"Welcome back {{user_name}}! I found your Architecture work for {{project_name}}.
|
||||
|
||||
**Current Progress:**
|
||||
|
||||
- Steps completed: {{stepsCompleted list}}
|
||||
- Last step worked on: Step {{lastStep}}
|
||||
- Input documents loaded: {{number of inputDocuments}} files
|
||||
|
||||
**Document Sections Found:**
|
||||
{list all H2/H3 sections found in the document}
|
||||
|
||||
{if_incomplete_sections}
|
||||
**Incomplete Areas:**
|
||||
|
||||
- {areas that appear incomplete or have placeholders}
|
||||
{/if_incomplete_sections}
|
||||
|
||||
**What would you like to do?**
|
||||
[R] Resume from where we left off
|
||||
[C] Continue to next logical step
|
||||
[O] Overview of all remaining steps
|
||||
[X] Start over (will overwrite existing work)
|
||||
"
|
||||
|
||||
### 3. Handle User Choice
|
||||
|
||||
#### If 'R' (Resume from where we left off):
|
||||
|
||||
- Identify the next step based on `stepsCompleted`
|
||||
- Load the appropriate step file to continue
|
||||
- Example: If `stepsCompleted: [1, 2, 3]`, load `step-04-decisions.md`
|
||||
|
||||
#### If 'C' (Continue to next logical step):
|
||||
|
||||
- Analyze the document content to determine logical next step
|
||||
- May need to review content quality and completeness
|
||||
- If content seems complete for current step, advance to next
|
||||
- If content seems incomplete, suggest staying on current step
|
||||
|
||||
#### If 'O' (Overview of all remaining steps):
|
||||
|
||||
- Provide brief description of all remaining steps
|
||||
- Let user choose which step to work on
|
||||
- Don't assume sequential progression is always best
|
||||
|
||||
#### If 'X' (Start over):
|
||||
|
||||
- Confirm: "This will delete all existing architectural decisions. Are you sure? (y/n)"
|
||||
- If confirmed: Delete existing document and return to step-01-init.md
|
||||
- If not confirmed: Return to continuation menu
|
||||
|
||||
### 4. Navigate to Selected Step
|
||||
|
||||
After user makes choice:
|
||||
|
||||
**Load the selected step file:**
|
||||
|
||||
- Update frontmatter `lastStep` to reflect current navigation
|
||||
- Execute the selected step file
|
||||
- Let that step handle the detailed continuation logic
|
||||
|
||||
**State Preservation:**
|
||||
|
||||
- Maintain all existing content in the document
|
||||
- Keep `stepsCompleted` accurate
|
||||
- Track the resumption in workflow status
|
||||
|
||||
### 5. Special Continuation Cases
|
||||
|
||||
#### If `stepsCompleted` is empty but document has content:
|
||||
|
||||
- This suggests an interrupted workflow
|
||||
- Ask user: "I see the document has content but no steps are marked as complete. Should I analyze what's here and set the appropriate step status?"
|
||||
|
||||
#### If document appears corrupted or incomplete:
|
||||
|
||||
- Ask user: "The document seems incomplete. Would you like me to try to recover what's here, or would you prefer to start fresh?"
|
||||
|
||||
#### If document is complete but workflow not marked as done:
|
||||
|
||||
- Ask user: "The architecture looks complete! Should I mark this workflow as finished, or is there more you'd like to work on?"
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ Existing document state properly analyzed and understood
|
||||
✅ User presented with clear continuation options
|
||||
✅ User choice handled appropriately and transparently
|
||||
✅ Workflow state preserved and updated correctly
|
||||
✅ Navigation to appropriate step handled smoothly
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Not reading the complete existing document before making suggestions
|
||||
❌ Losing track of what steps were actually completed
|
||||
❌ Automatically proceeding without user confirmation of next steps
|
||||
❌ Not checking for incomplete or placeholder content
|
||||
❌ Losing existing document content during resumption
|
||||
|
||||
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
||||
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
||||
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||
|
||||
## NEXT STEP:
|
||||
|
||||
After user selects their continuation option, load the appropriate step file based on their choice. The step file will handle the detailed work from that point forward.
|
||||
|
||||
Remember: The goal is smooth, transparent resumption that respects the work already done while giving the user control over how to proceed.
|
||||
@@ -1,224 +0,0 @@
|
||||
# Step 2: Project Context Analysis
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
|
||||
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
||||
- ✅ ALWAYS treat this as collaborative discovery between architectural peers
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- 💬 FOCUS on understanding project scope and requirements for architecture
|
||||
- 🎯 ANALYZE loaded documents, don't assume or generate requirements
|
||||
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis before taking any action
|
||||
- ⚠️ Present A/P/C menu after generating project context analysis
|
||||
- 💾 ONLY save when user chooses C (Continue)
|
||||
- 📖 Update frontmatter `stepsCompleted: [1, 2]` before loading next step
|
||||
- 🚫 FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
This step will generate content and present choices:
|
||||
|
||||
- **A (Advanced Elicitation)**: Use discovery protocols to develop deeper insights about project context and architectural implications
|
||||
- **P (Party Mode)**: Bring multiple perspectives to analyze project requirements from different architectural angles
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Current document and frontmatter from step 1 are available
|
||||
- Input documents already loaded are in memory (PRD, epics, UX spec, etc.)
|
||||
- Focus on architectural implications of requirements
|
||||
- No technology decisions yet - pure analysis phase
|
||||
|
||||
## YOUR TASK:
|
||||
|
||||
Fully read and Analyze the loaded project documents to understand architectural scope, requirements, and constraints before beginning decision making.
|
||||
|
||||
## CONTEXT ANALYSIS SEQUENCE:
|
||||
|
||||
### 1. Review Project Requirements
|
||||
|
||||
**From PRD Analysis:**
|
||||
|
||||
- Extract and analyze Functional Requirements (FRs)
|
||||
- Identify Non-Functional Requirements (NFRs) like performance, security, compliance
|
||||
- Note any technical constraints or dependencies mentioned
|
||||
- Count and categorize requirements to understand project scale
|
||||
|
||||
**From Epics/Stories (if available):**
|
||||
|
||||
- Map epic structure and user stories to architectural components
|
||||
- Extract acceptance criteria for technical implications
|
||||
- Identify cross-cutting concerns that span multiple epics
|
||||
- Estimate story complexity for architectural planning
|
||||
|
||||
**From UX Design (if available):**
|
||||
|
||||
- Extract architectural implications from UX requirements:
|
||||
- Component complexity (simple forms vs rich interactions)
|
||||
- Animation/transition requirements
|
||||
- Real-time update needs (live data, collaborative features)
|
||||
- Platform-specific UI requirements
|
||||
- Accessibility standards (WCAG compliance level)
|
||||
- Responsive design breakpoints
|
||||
- Offline capability requirements
|
||||
- Performance expectations (load times, interaction responsiveness)
|
||||
|
||||
### 2. Project Scale Assessment
|
||||
|
||||
Calculate and present project complexity:
|
||||
|
||||
**Complexity Indicators:**
|
||||
|
||||
- Real-time features requirements
|
||||
- Multi-tenancy needs
|
||||
- Regulatory compliance requirements
|
||||
- Integration complexity
|
||||
- User interaction complexity
|
||||
- Data complexity and volume
|
||||
|
||||
### 3. Reflect Understanding
|
||||
|
||||
Present your analysis back to user for validation:
|
||||
|
||||
"I'm reviewing your project documentation for {{project_name}}.
|
||||
|
||||
{if_epics_loaded}I see {{epic_count}} epics with {{story_count}} total stories.{/if_epics_loaded}
|
||||
{if_no_epics}I found {{fr_count}} functional requirements organized into {{fr_category_list}}.{/if_no_epics}
|
||||
{if_ux_loaded}I also found your UX specification which defines the user experience requirements.{/if_ux_loaded}
|
||||
|
||||
**Key architectural aspects I notice:**
|
||||
|
||||
- [Summarize core functionality from FRs]
|
||||
- [Note critical NFRs that will shape architecture]
|
||||
- {if_ux_loaded}[Note UX complexity and technical requirements]{/if_ux_loaded}
|
||||
- [Identify unique technical challenges or constraints]
|
||||
- [Highlight any regulatory or compliance requirements]
|
||||
|
||||
**Scale indicators:**
|
||||
|
||||
- Project complexity appears to be: [low/medium/high/enterprise]
|
||||
- Primary technical domain: [web/mobile/api/backend/full-stack/etc]
|
||||
- Cross-cutting concerns identified: [list major ones]
|
||||
|
||||
This analysis will help me guide you through the architectural decisions needed to ensure AI agents implement this consistently.
|
||||
|
||||
Does this match your understanding of the project scope and requirements?"
|
||||
|
||||
### 4. Generate Project Context Content
|
||||
|
||||
Prepare the content to append to the document:
|
||||
|
||||
#### Content Structure:
|
||||
|
||||
```markdown
|
||||
## Project Context Analysis
|
||||
|
||||
### Requirements Overview
|
||||
|
||||
**Functional Requirements:**
|
||||
{{analysis of FRs and what they mean architecturally}}
|
||||
|
||||
**Non-Functional Requirements:**
|
||||
{{NFRs that will drive architectural decisions}}
|
||||
|
||||
**Scale & Complexity:**
|
||||
{{project_scale_assessment}}
|
||||
|
||||
- Primary domain: {{technical_domain}}
|
||||
- Complexity level: {{complexity_level}}
|
||||
- Estimated architectural components: {{component_count}}
|
||||
|
||||
### Technical Constraints & Dependencies
|
||||
|
||||
{{known_constraints_dependencies}}
|
||||
|
||||
### Cross-Cutting Concerns Identified
|
||||
|
||||
{{concerns_that_will_affect_multiple_components}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content and present choices:
|
||||
|
||||
"I've drafted the Project Context Analysis based on your requirements. This sets the foundation for our architectural decisions.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**What would you like to do?**
|
||||
[A] Advanced Elicitation - Let's dive deeper into architectural implications
|
||||
[P] Party Mode - Bring different perspectives to analyze requirements
|
||||
[C] Continue - Save this analysis and begin architectural decisions"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current context analysis
|
||||
- Process the enhanced architectural insights that come back
|
||||
- Ask user: "Accept these enhancements to the project context analysis? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project context
|
||||
- Process the collaborative improvements to architectural understanding
|
||||
- Ask user: "Accept these changes to the project context analysis? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'C' (Continue):
|
||||
|
||||
- Append the final content to `{planning_artifacts}/architecture.md`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2]`
|
||||
- Load `./step-03-starter.md`
|
||||
|
||||
## APPEND TO DOCUMENT:
|
||||
|
||||
When user selects 'C', append the content directly to the document using the structure from step 4.
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ All input documents thoroughly analyzed for architectural implications
|
||||
✅ Project scope and complexity clearly assessed and validated
|
||||
✅ Technical constraints and dependencies identified
|
||||
✅ Cross-cutting concerns mapped for architectural planning
|
||||
✅ User confirmation of project understanding
|
||||
✅ A/P/C menu presented and handled correctly
|
||||
✅ Content properly appended to document when C selected
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Skimming documents without deep architectural analysis
|
||||
❌ Missing or misinterpreting critical NFRs
|
||||
❌ Not validating project understanding with user
|
||||
❌ Underestimating complexity indicators
|
||||
❌ Generating content without real analysis of loaded documents
|
||||
❌ Not presenting A/P/C menu after content generation
|
||||
|
||||
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
||||
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
||||
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||
|
||||
## NEXT STEP:
|
||||
|
||||
After user selects 'C' and content is saved to document, load `./step-03-starter.md` to evaluate starter template options.
|
||||
|
||||
Remember: Do NOT proceed to step-03 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
||||
@@ -1,331 +0,0 @@
|
||||
# Step 3: Starter Template Evaluation
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- ✅ ALWAYS treat this as collaborative discovery between architectural peers
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- 💬 FOCUS on evaluating starter template options with current versions
|
||||
- 🌐 ALWAYS search the web to verify current versions - NEVER trust hardcoded versions
|
||||
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
||||
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete architecture
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis before taking any action
|
||||
- 🌐 Search the web to verify current versions and options
|
||||
- ⚠️ Present A/P/C menu after generating starter template analysis
|
||||
- 💾 ONLY save when user chooses C (Continue)
|
||||
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
|
||||
- 🚫 FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
This step will generate content and present choices:
|
||||
|
||||
- **A (Advanced Elicitation)**: Use discovery protocols to explore unconventional starter options or custom approaches
|
||||
- **P (Party Mode)**: Bring multiple perspectives to evaluate starter trade-offs for different use cases
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Project context from step 2 is available and complete
|
||||
- Project context file from step-01 may contain technical preferences
|
||||
- No architectural decisions made yet - evaluating foundations
|
||||
- Focus on technical preferences discovery and starter evaluation
|
||||
- Consider project requirements and existing preferences when evaluating options
|
||||
|
||||
## YOUR TASK:
|
||||
|
||||
Discover technical preferences and evaluate starter template options, leveraging existing technical preferences and establishing solid architectural foundations.
|
||||
|
||||
## STARTER EVALUATION SEQUENCE:
|
||||
|
||||
### 0. Check Technical Preferences & Context
|
||||
|
||||
**Check Project Context for Existing Technical Preferences:**
|
||||
"Before we dive into starter templates, let me check if you have any technical preferences already documented.
|
||||
|
||||
{{if_project_context_exists}}
|
||||
I found some technical rules in your project context file:
|
||||
{{extracted_technical_preferences_from_project_context}}
|
||||
|
||||
**Project Context Technical Rules Found:**
|
||||
|
||||
- Languages/Frameworks: {{languages_frameworks_from_context}}
|
||||
- Tools & Libraries: {{tools_from_context}}
|
||||
- Development Patterns: {{patterns_from_context}}
|
||||
- Platform Preferences: {{platforms_from_context}}
|
||||
|
||||
{{else}}
|
||||
No existing technical preferences found in project context file. We'll establish your technical preferences now.
|
||||
{{/if_project_context}}"
|
||||
|
||||
**Discover User Technical Preferences:**
|
||||
"Based on your project context, let's discuss your technical preferences:
|
||||
|
||||
{{primary_technology_category}} Preferences:
|
||||
|
||||
- **Languages**: Do you have preferences between TypeScript/JavaScript, Python, Go, Rust, etc.?
|
||||
- **Frameworks**: Any existing familiarity or preferences (React, Vue, Angular, Next.js, etc.)?
|
||||
- **Databases**: Any preferences or existing infrastructure (PostgreSQL, MongoDB, MySQL, etc.)?
|
||||
|
||||
**Development Experience:**
|
||||
|
||||
- What's your team's experience level with different technologies?
|
||||
- Are there any technologies you want to learn vs. what you're comfortable with?
|
||||
|
||||
**Platform/Deployment Preferences:**
|
||||
|
||||
- Cloud provider preferences (AWS, Vercel, Railway, etc.)?
|
||||
- Container preferences (Docker, Serverless, Traditional)?
|
||||
|
||||
**Integrations:**
|
||||
|
||||
- Any existing systems or APIs you need to integrate with?
|
||||
- Third-party services you plan to use (payment, authentication, analytics, etc.)?
|
||||
|
||||
These preferences will help me recommend the most suitable starter templates and guide our architectural decisions."
|
||||
|
||||
### 1. Identify Primary Technology Domain
|
||||
|
||||
Based on project context analysis and technical preferences, identify the primary technology stack:
|
||||
|
||||
- **Web application** → Look for Next.js, Vite, Remix, SvelteKit starters
|
||||
- **Mobile app** → Look for React Native, Expo, Flutter starters
|
||||
- **API/Backend** → Look for NestJS, Express, Fastify, Supabase starters
|
||||
- **CLI tool** → Look for CLI framework starters (oclif, commander, etc.)
|
||||
- **Full-stack** → Look for T3, RedwoodJS, Blitz, Next.js starters
|
||||
- **Desktop** → Look for Electron, Tauri starters
|
||||
|
||||
### 2. UX Requirements Consideration
|
||||
|
||||
If UX specification was loaded, consider UX requirements when selecting starter:
|
||||
|
||||
- **Rich animations** → Framer Motion compatible starter
|
||||
- **Complex forms** → React Hook Form included starter
|
||||
- **Real-time features** → Socket.io or WebSocket ready starter
|
||||
- **Design system** → Storybook-enabled starter
|
||||
- **Offline capability** → Service worker or PWA configured starter
|
||||
|
||||
### 3. Research Current Starter Options
|
||||
|
||||
Search the web to find current, maintained starter templates:
|
||||
|
||||
```
|
||||
Search the web: "{{primary_technology}} starter template CLI create command latest"
|
||||
Search the web: "{{primary_technology}} boilerplate generator latest options"
|
||||
Search the web: "{{primary_technology}} production-ready starter best practices"
|
||||
```
|
||||
|
||||
### 4. Investigate Top Starter Options
|
||||
|
||||
For each promising starter found, investigate details:
|
||||
|
||||
```
|
||||
Search the web: "{{starter_name}} default setup technologies included latest"
|
||||
Search the web: "{{starter_name}} project structure file organization"
|
||||
Search the web: "{{starter_name}} production deployment capabilities"
|
||||
Search the web: "{{starter_name}} recent updates maintenance status"
|
||||
```
|
||||
|
||||
### 5. Analyze What Each Starter Provides
|
||||
|
||||
For each viable starter option, document:
|
||||
|
||||
**Technology Decisions Made:**
|
||||
|
||||
- Language/TypeScript configuration
|
||||
- Styling solution (CSS, Tailwind, Styled Components, etc.)
|
||||
- Testing framework setup
|
||||
- Linting/Formatting configuration
|
||||
- Build tooling and optimization
|
||||
- Project structure and organization
|
||||
|
||||
**Architectural Patterns Established:**
|
||||
|
||||
- Code organization patterns
|
||||
- Component structure conventions
|
||||
- API layering approach
|
||||
- State management setup
|
||||
- Routing patterns
|
||||
- Environment configuration
|
||||
|
||||
**Development Experience Features:**
|
||||
|
||||
- Hot reloading and development server
|
||||
- TypeScript configuration
|
||||
- Debugging setup
|
||||
- Testing infrastructure
|
||||
- Documentation generation
|
||||
|
||||
### 6. Present Starter Options
|
||||
|
||||
Based on user skill level and project needs:
|
||||
|
||||
**For Expert Users:**
|
||||
"Found {{starter_name}} which provides:
|
||||
{{quick_decision_list_of_key_decisions}}
|
||||
|
||||
This would establish our base architecture with these technical decisions already made. Use it?"
|
||||
|
||||
**For Intermediate Users:**
|
||||
"I found {{starter_name}}, which is a well-maintained starter for {{project_type}} projects.
|
||||
|
||||
It makes these architectural decisions for us:
|
||||
{{decision_list_with_explanations}}
|
||||
|
||||
This gives us a solid foundation following current best practices. Should we use it?"
|
||||
|
||||
**For Beginner Users:**
|
||||
"I found {{starter_name}}, which is like a pre-built foundation for your project.
|
||||
|
||||
Think of it like buying a prefab house frame instead of cutting each board yourself.
|
||||
|
||||
It makes these decisions for us:
|
||||
{{friendly_explanation_of_decisions}}
|
||||
|
||||
This is a great starting point that follows best practices and saves us from making dozens of small technical choices. Should we use it?"
|
||||
|
||||
### 7. Get Current CLI Commands
|
||||
|
||||
If user shows interest in a starter, get the exact current commands:
|
||||
|
||||
```
|
||||
Search the web: "{{starter_name}} CLI command options flags latest"
|
||||
Search the web: "{{starter_name}} create new project command examples"
|
||||
```
|
||||
|
||||
### 8. Generate Starter Template Content
|
||||
|
||||
Prepare the content to append to the document:
|
||||
|
||||
#### Content Structure:
|
||||
|
||||
````markdown
|
||||
## Starter Template Evaluation
|
||||
|
||||
### Primary Technology Domain
|
||||
|
||||
{{identified_domain}} based on project requirements analysis
|
||||
|
||||
### Starter Options Considered
|
||||
|
||||
{{analysis_of_evaluated_starters}}
|
||||
|
||||
### Selected Starter: {{starter_name}}
|
||||
|
||||
**Rationale for Selection:**
|
||||
{{why_this_starter_was_chosen}}
|
||||
|
||||
**Initialization Command:**
|
||||
|
||||
```bash
|
||||
{{full_starter_command_with_options}}
|
||||
```
|
||||
````
|
||||
|
||||
**Architectural Decisions Provided by Starter:**
|
||||
|
||||
**Language & Runtime:**
|
||||
{{language_typescript_setup}}
|
||||
|
||||
**Styling Solution:**
|
||||
{{styling_solution_configuration}}
|
||||
|
||||
**Build Tooling:**
|
||||
{{build_tools_and_optimization}}
|
||||
|
||||
**Testing Framework:**
|
||||
{{testing_setup_and_configuration}}
|
||||
|
||||
**Code Organization:**
|
||||
{{project_structure_and_patterns}}
|
||||
|
||||
**Development Experience:**
|
||||
{{development_tools_and_workflow}}
|
||||
|
||||
**Note:** Project initialization using this command should be the first implementation story.
|
||||
|
||||
```
|
||||
|
||||
### 9. Present Content and Menu
|
||||
|
||||
Show the generated content and present choices:
|
||||
|
||||
"I've analyzed starter template options for {{project_type}} projects.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 8]
|
||||
|
||||
**What would you like to do?**
|
||||
[A] Advanced Elicitation - Explore custom approaches or unconventional starters
|
||||
[P] Party Mode - Evaluate trade-offs from different perspectives
|
||||
[C] Continue - Save this decision and move to architectural decisions"
|
||||
|
||||
### 10. Handle Menu Selection
|
||||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with current starter analysis
|
||||
- Process enhanced insights about starter options or custom approaches
|
||||
- Ask user: "Accept these changes to the starter template evaluation? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with starter evaluation context
|
||||
- Process collaborative insights about starter trade-offs
|
||||
- Ask user: "Accept these changes to the starter template evaluation? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'C' (Continue):
|
||||
|
||||
- Append the final content to `{planning_artifacts}/architecture.md`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
|
||||
- Load `./step-04-decisions.md`
|
||||
|
||||
## APPEND TO DOCUMENT:
|
||||
|
||||
When user selects 'C', append the content directly to the document using the structure from step 8.
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ Primary technology domain correctly identified from project context
|
||||
✅ Current, maintained starter templates researched and evaluated
|
||||
✅ All versions verified using web search, not hardcoded
|
||||
✅ Architectural implications of starter choice clearly documented
|
||||
✅ User provided with clear rationale for starter selection
|
||||
✅ A/P/C menu presented and handled correctly
|
||||
✅ Content properly appended to document when C selected
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Not verifying current versions with web search
|
||||
❌ Ignoring UX requirements when evaluating starters
|
||||
❌ Not documenting what architectural decisions the starter makes
|
||||
❌ Failing to consider maintenance status of starter templates
|
||||
❌ Not providing clear rationale for starter selection
|
||||
❌ Not presenting A/P/C menu after content generation
|
||||
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
||||
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
||||
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||
|
||||
## NEXT STEP:
|
||||
|
||||
After user selects 'C' and content is saved to document, load `./step-04-decisions.md` to begin making specific architectural decisions.
|
||||
|
||||
Remember: Do NOT proceed to step-04 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
||||
```
|
||||
@@ -1,318 +0,0 @@
|
||||
# Step 4: Core Architectural Decisions
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
|
||||
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
||||
- ✅ ALWAYS treat this as collaborative discovery between architectural peers
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- 💬 FOCUS on making critical architectural decisions collaboratively
|
||||
- 🌐 ALWAYS search the web to verify current technology versions
|
||||
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis before taking any action
|
||||
- 🌐 Search the web to verify technology versions and options
|
||||
- ⚠️ Present A/P/C menu after each major decision category
|
||||
- 💾 ONLY save when user chooses C (Continue)
|
||||
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
|
||||
- 🚫 FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
This step will generate content and present choices for each decision category:
|
||||
|
||||
- **A (Advanced Elicitation)**: Use discovery protocols to explore innovative approaches to specific decisions
|
||||
- **P (Party Mode)**: Bring multiple perspectives to evaluate decision trade-offs
|
||||
- **C (Continue)**: Save the current decisions and proceed to next decision category
|
||||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Project context from step 2 is available
|
||||
- Starter template choice from step 3 is available
|
||||
- Project context file may contain technical preferences and rules
|
||||
- Technical preferences discovered in step 3 are available
|
||||
- Focus on decisions not already made by starter template or existing preferences
|
||||
- Collaborative decision making, not recommendations
|
||||
|
||||
## YOUR TASK:
|
||||
|
||||
Facilitate collaborative architectural decision making, leveraging existing technical preferences and starter template decisions, focusing on remaining choices critical to the project's success.
|
||||
|
||||
## DECISION MAKING SEQUENCE:
|
||||
|
||||
### 1. Load Decision Framework & Check Existing Preferences
|
||||
|
||||
**Review Technical Preferences from Step 3:**
|
||||
"Based on our technical preferences discussion in step 3, let's build on those foundations:
|
||||
|
||||
**Your Technical Preferences:**
|
||||
{{user_technical_preferences_from_step_3}}
|
||||
|
||||
**Starter Template Decisions:**
|
||||
{{starter_template_decisions}}
|
||||
|
||||
**Project Context Technical Rules:**
|
||||
{{project_context_technical_rules}}"
|
||||
|
||||
**Identify Remaining Decisions:**
|
||||
Based on technical preferences, starter template choice, and project context, identify remaining critical decisions:
|
||||
|
||||
**Already Decided (Don't re-decide these):**
|
||||
|
||||
- {{starter_template_decisions}}
|
||||
- {{user_technology_preferences}}
|
||||
- {{project_context_technical_rules}}
|
||||
|
||||
**Critical Decisions:** Must be decided before implementation can proceed
|
||||
**Important Decisions:** Shape the architecture significantly
|
||||
**Nice-to-Have:** Can be deferred if needed
|
||||
|
||||
### 2. Decision Categories by Priority
|
||||
|
||||
#### Category 1: Data Architecture
|
||||
|
||||
- Database choice (if not determined by starter)
|
||||
- Data modeling approach
|
||||
- Data validation strategy
|
||||
- Migration approach
|
||||
- Caching strategy
|
||||
|
||||
#### Category 2: Authentication & Security
|
||||
|
||||
- Authentication method
|
||||
- Authorization patterns
|
||||
- Security middleware
|
||||
- Data encryption approach
|
||||
- API security strategy
|
||||
|
||||
#### Category 3: API & Communication
|
||||
|
||||
- API design patterns (REST, GraphQL, etc.)
|
||||
- API documentation approach
|
||||
- Error handling standards
|
||||
- Rate limiting strategy
|
||||
- Communication between services
|
||||
|
||||
#### Category 4: Frontend Architecture (if applicable)
|
||||
|
||||
- State management approach
|
||||
- Component architecture
|
||||
- Routing strategy
|
||||
- Performance optimization
|
||||
- Bundle optimization
|
||||
|
||||
#### Category 5: Infrastructure & Deployment
|
||||
|
||||
- Hosting strategy
|
||||
- CI/CD pipeline approach
|
||||
- Environment configuration
|
||||
- Monitoring and logging
|
||||
- Scaling strategy
|
||||
|
||||
### 3. Facilitate Each Decision Category
|
||||
|
||||
For each category, facilitate collaborative decision making:
|
||||
|
||||
**Present the Decision:**
|
||||
Based on user skill level and project context:
|
||||
|
||||
**Expert Mode:**
|
||||
"{{Decision_Category}}: {{Specific_Decision}}
|
||||
|
||||
Options: {{concise_option_list_with_tradeoffs}}
|
||||
|
||||
What's your preference for this decision?"
|
||||
|
||||
**Intermediate Mode:**
|
||||
"Next decision: {{Human_Friendly_Category}}
|
||||
|
||||
We need to choose {{Specific_Decision}}.
|
||||
|
||||
Common options:
|
||||
{{option_list_with_brief_explanations}}
|
||||
|
||||
For your project, I'd lean toward {{recommendation}} because {{reason}}. What are your thoughts?"
|
||||
|
||||
**Beginner Mode:**
|
||||
"Let's talk about {{Human_Friendly_Category}}.
|
||||
|
||||
{{Educational_Context_About_Why_This_Matters}}
|
||||
|
||||
Think of it like {{real_world_analogy}}.
|
||||
|
||||
Your main options:
|
||||
{{friendly_options_with_pros_cons}}
|
||||
|
||||
My suggestion: {{recommendation}}
|
||||
This is good for you because {{beginner_friendly_reason}}.
|
||||
|
||||
What feels right to you?"
|
||||
|
||||
**Verify Technology Versions:**
|
||||
If decision involves specific technology:
|
||||
|
||||
```
|
||||
Search the web: "{{technology}} latest stable version"
|
||||
Search the web: "{{technology}} current LTS version"
|
||||
Search the web: "{{technology}} production readiness"
|
||||
```
|
||||
|
||||
**Get User Input:**
|
||||
"What's your preference? (or 'explain more' for details)"
|
||||
|
||||
**Handle User Response:**
|
||||
|
||||
- If user wants more info: Provide deeper explanation
|
||||
- If user has preference: Discuss implications and record decision
|
||||
- If user wants alternatives: Explore other options
|
||||
|
||||
**Record the Decision:**
|
||||
|
||||
- Category: {{category}}
|
||||
- Decision: {{user_choice}}
|
||||
- Version: {{verified_version_if_applicable}}
|
||||
- Rationale: {{user_reasoning_or_default}}
|
||||
- Affects: {{components_or_epics}}
|
||||
- Provided by Starter: {{yes_if_from_starter}}
|
||||
|
||||
### 4. Check for Cascading Implications
|
||||
|
||||
After each major decision, identify related decisions:
|
||||
|
||||
"This choice means we'll also need to decide:
|
||||
|
||||
- {{related_decision_1}}
|
||||
- {{related_decision_2}}"
|
||||
|
||||
### 5. Generate Decisions Content
|
||||
|
||||
After facilitating all decision categories, prepare the content to append:
|
||||
|
||||
#### Content Structure:
|
||||
|
||||
```markdown
|
||||
## Core Architectural Decisions
|
||||
|
||||
### Decision Priority Analysis
|
||||
|
||||
**Critical Decisions (Block Implementation):**
|
||||
{{critical_decisions_made}}
|
||||
|
||||
**Important Decisions (Shape Architecture):**
|
||||
{{important_decisions_made}}
|
||||
|
||||
**Deferred Decisions (Post-MVP):**
|
||||
{{decisions_deferred_with_rationale}}
|
||||
|
||||
### Data Architecture
|
||||
|
||||
{{data_related_decisions_with_versions_and_rationale}}
|
||||
|
||||
### Authentication & Security
|
||||
|
||||
{{security_related_decisions_with_versions_and_rationale}}
|
||||
|
||||
### API & Communication Patterns
|
||||
|
||||
{{api_related_decisions_with_versions_and_rationale}}
|
||||
|
||||
### Frontend Architecture
|
||||
|
||||
{{frontend_related_decisions_with_versions_and_rationale}}
|
||||
|
||||
### Infrastructure & Deployment
|
||||
|
||||
{{infrastructure_related_decisions_with_versions_and_rationale}}
|
||||
|
||||
### Decision Impact Analysis
|
||||
|
||||
**Implementation Sequence:**
|
||||
{{ordered_list_of_decisions_for_implementation}}
|
||||
|
||||
**Cross-Component Dependencies:**
|
||||
{{how_decisions_affect_each_other}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the generated decisions content and present choices:
|
||||
|
||||
"I've documented all the core architectural decisions we've made together.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 5]
|
||||
|
||||
**What would you like to do?**
|
||||
[A] Advanced Elicitation - Explore innovative approaches to any specific decisions
|
||||
[P] Party Mode - Review decisions from multiple perspectives
|
||||
[C] Continue - Save these decisions and move to implementation patterns"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with specific decision categories
|
||||
- Process enhanced insights about particular decisions
|
||||
- Ask user: "Accept these enhancements to the architectural decisions? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with architectural decisions context
|
||||
- Process collaborative insights about decision trade-offs
|
||||
- Ask user: "Accept these changes to the architectural decisions? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'C' (Continue):
|
||||
|
||||
- Append the final content to `{planning_artifacts}/architecture.md`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
|
||||
- Load `./step-05-patterns.md`
|
||||
|
||||
## APPEND TO DOCUMENT:
|
||||
|
||||
When user selects 'C', append the content directly to the document using the structure from step 5.
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ All critical architectural decisions made collaboratively
|
||||
✅ Technology versions verified using web search
|
||||
✅ Decision rationale clearly documented
|
||||
✅ Cascading implications identified and addressed
|
||||
✅ User provided appropriate level of explanation for skill level
|
||||
✅ A/P/C menu presented and handled correctly for each category
|
||||
✅ Content properly appended to document when C selected
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Making recommendations instead of facilitating decisions
|
||||
❌ Not verifying technology versions with web search
|
||||
❌ Missing cascading implications between decisions
|
||||
❌ Not adapting explanations to user skill level
|
||||
❌ Forgetting to document decisions made by starter template
|
||||
❌ Not presenting A/P/C menu after content generation
|
||||
|
||||
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
||||
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
||||
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||
|
||||
## NEXT STEP:
|
||||
|
||||
After user selects 'C' and content is saved to document, load `./step-05-patterns.md` to define implementation patterns that ensure consistency across AI agents.
|
||||
|
||||
Remember: Do NOT proceed to step-05 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
||||
@@ -1,359 +0,0 @@
|
||||
# Step 5: Implementation Patterns & Consistency Rules
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
|
||||
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
||||
- ✅ ALWAYS treat this as collaborative discovery between architectural peers
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- 💬 FOCUS on patterns that prevent AI agent implementation conflicts
|
||||
- 🎯 EMPHASIZE what agents could decide DIFFERENTLY if not specified
|
||||
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis before taking any action
|
||||
- 🎯 Focus on consistency, not implementation details
|
||||
- ⚠️ Present A/P/C menu after generating patterns content
|
||||
- 💾 ONLY save when user chooses C (Continue)
|
||||
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5]` before loading next step
|
||||
- 🚫 FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
This step will generate content and present choices:
|
||||
|
||||
- **A (Advanced Elicitation)**: Use discovery protocols to develop comprehensive consistency patterns
|
||||
- **P (Party Mode)**: Bring multiple perspectives to identify potential conflict points
|
||||
- **C (Continue)**: Save the patterns and proceed to project structure
|
||||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Core architectural decisions from step 4 are complete
|
||||
- Technology stack is decided and versions are verified
|
||||
- Focus on HOW agents should implement, not WHAT they should implement
|
||||
- Consider what could vary between different AI agents
|
||||
|
||||
## YOUR TASK:
|
||||
|
||||
Define implementation patterns and consistency rules that ensure multiple AI agents write compatible, consistent code that works together seamlessly.
|
||||
|
||||
## PATTERNS DEFINITION SEQUENCE:
|
||||
|
||||
### 1. Identify Potential Conflict Points
|
||||
|
||||
Based on the chosen technology stack and decisions, identify where AI agents could make different choices:
|
||||
|
||||
**Naming Conflicts:**
|
||||
|
||||
- Database table/column naming conventions
|
||||
- API endpoint naming patterns
|
||||
- File and directory naming
|
||||
- Component/function/variable naming
|
||||
- Route parameter formats
|
||||
|
||||
**Structural Conflicts:**
|
||||
|
||||
- Where tests are located
|
||||
- How components are organized
|
||||
- Where utilities and helpers go
|
||||
- Configuration file organization
|
||||
- Static asset organization
|
||||
|
||||
**Format Conflicts:**
|
||||
|
||||
- API response wrapper formats
|
||||
- Error response structures
|
||||
- Date/time formats in APIs and UI
|
||||
- JSON field naming conventions
|
||||
- API status code usage
|
||||
|
||||
**Communication Conflicts:**
|
||||
|
||||
- Event naming conventions
|
||||
- Event payload structures
|
||||
- State update patterns
|
||||
- Action naming conventions
|
||||
- Logging formats and levels
|
||||
|
||||
**Process Conflicts:**
|
||||
|
||||
- Loading state handling
|
||||
- Error recovery patterns
|
||||
- Retry implementation approaches
|
||||
- Authentication flow patterns
|
||||
- Validation timing and methods
|
||||
|
||||
### 2. Facilitate Pattern Decisions
|
||||
|
||||
For each conflict category, facilitate collaborative pattern definition:
|
||||
|
||||
**Present the Conflict Point:**
|
||||
"Given that we're using {{tech_stack}}, different AI agents might handle {{conflict_area}} differently.
|
||||
|
||||
For example, one agent might name database tables 'users' while another uses 'Users' - this would cause conflicts.
|
||||
|
||||
We need to establish consistent patterns that all agents follow."
|
||||
|
||||
**Show Options and Trade-offs:**
|
||||
"Common approaches for {{pattern_category}}:
|
||||
|
||||
1. {{option_1}} - {{pros_and_cons}}
|
||||
2. {{option_2}} - {{pros_and_cons}}
|
||||
3. {{option_3}} - {{pros_and_cons}}
|
||||
|
||||
Which approach makes the most sense for our project?"
|
||||
|
||||
**Get User Decision:**
|
||||
"What's your preference for this pattern? (or discuss the trade-offs more)"
|
||||
|
||||
### 3. Define Pattern Categories
|
||||
|
||||
#### Naming Patterns
|
||||
|
||||
**Database Naming:**
|
||||
|
||||
- Table naming: users, Users, or user?
|
||||
- Column naming: user_id or userId?
|
||||
- Foreign key format: user_id or fk_user?
|
||||
- Index naming: idx_users_email or users_email_index?
|
||||
|
||||
**API Naming:**
|
||||
|
||||
- REST endpoint naming: /users or /user? Plural or singular?
|
||||
- Route parameter format: :id or {id}?
|
||||
- Query parameter naming: user_id or userId?
|
||||
- Header naming conventions: X-Custom-Header or Custom-Header?
|
||||
|
||||
**Code Naming:**
|
||||
|
||||
- Component naming: UserCard or user-card?
|
||||
- File naming: UserCard.tsx or user-card.tsx?
|
||||
- Function naming: getUserData or get_user_data?
|
||||
- Variable naming: userId or user_id?
|
||||
|
||||
#### Structure Patterns
|
||||
|
||||
**Project Organization:**
|
||||
|
||||
- Where do tests live? **tests**/ or \*.test.ts co-located?
|
||||
- How are components organized? By feature or by type?
|
||||
- Where do shared utilities go?
|
||||
- How are services and repositories organized?
|
||||
|
||||
**File Structure:**
|
||||
|
||||
- Config file locations and naming
|
||||
- Static asset organization
|
||||
- Documentation placement
|
||||
- Environment file organization
|
||||
|
||||
#### Format Patterns
|
||||
|
||||
**API Formats:**
|
||||
|
||||
- API response wrapper? {data: ..., error: ...} or direct response?
|
||||
- Error format? {message, code} or {error: {type, detail}}?
|
||||
- Date format in JSON? ISO strings or timestamps?
|
||||
- Success response structure?
|
||||
|
||||
**Data Formats:**
|
||||
|
||||
- JSON field naming: snake_case or camelCase?
|
||||
- Boolean representations: true/false or 1/0?
|
||||
- Null handling patterns
|
||||
- Array vs object for single items
|
||||
|
||||
#### Communication Patterns
|
||||
|
||||
**Event Systems:**
|
||||
|
||||
- Event naming convention: user.created or UserCreated?
|
||||
- Event payload structure standards
|
||||
- Event versioning approach
|
||||
- Async event handling patterns
|
||||
|
||||
**State Management:**
|
||||
|
||||
- State update patterns: immutable updates or direct mutation?
|
||||
- Action naming conventions
|
||||
- Selector patterns
|
||||
- State organization principles
|
||||
|
||||
#### Process Patterns
|
||||
|
||||
**Error Handling:**
|
||||
|
||||
- Global error handling approach
|
||||
- Error boundary patterns
|
||||
- User-facing error message format
|
||||
- Logging vs user error distinction
|
||||
|
||||
**Loading States:**
|
||||
|
||||
- Loading state naming conventions
|
||||
- Global vs local loading states
|
||||
- Loading state persistence
|
||||
- Loading UI patterns
|
||||
|
||||
### 4. Generate Patterns Content
|
||||
|
||||
Prepare the content to append to the document:
|
||||
|
||||
#### Content Structure:
|
||||
|
||||
```markdown
|
||||
## Implementation Patterns & Consistency Rules
|
||||
|
||||
### Pattern Categories Defined
|
||||
|
||||
**Critical Conflict Points Identified:**
|
||||
{{number_of_potential_conflicts}} areas where AI agents could make different choices
|
||||
|
||||
### Naming Patterns
|
||||
|
||||
**Database Naming Conventions:**
|
||||
{{database_naming_rules_with_examples}}
|
||||
|
||||
**API Naming Conventions:**
|
||||
{{api_naming_rules_with_examples}}
|
||||
|
||||
**Code Naming Conventions:**
|
||||
{{code_naming_rules_with_examples}}
|
||||
|
||||
### Structure Patterns
|
||||
|
||||
**Project Organization:**
|
||||
{{project_structure_rules_with_examples}}
|
||||
|
||||
**File Structure Patterns:**
|
||||
{{file_organization_rules_with_examples}}
|
||||
|
||||
### Format Patterns
|
||||
|
||||
**API Response Formats:**
|
||||
{{api_response_structure_rules}}
|
||||
|
||||
**Data Exchange Formats:**
|
||||
{{data_format_rules_with_examples}}
|
||||
|
||||
### Communication Patterns
|
||||
|
||||
**Event System Patterns:**
|
||||
{{event_naming_and_structure_rules}}
|
||||
|
||||
**State Management Patterns:**
|
||||
{{state_update_and_organization_rules}}
|
||||
|
||||
### Process Patterns
|
||||
|
||||
**Error Handling Patterns:**
|
||||
{{consistent_error_handling_approaches}}
|
||||
|
||||
**Loading State Patterns:**
|
||||
{{loading_state_management_rules}}
|
||||
|
||||
### Enforcement Guidelines
|
||||
|
||||
**All AI Agents MUST:**
|
||||
|
||||
- {{mandatory_pattern_1}}
|
||||
- {{mandatory_pattern_2}}
|
||||
- {{mandatory_pattern_3}}
|
||||
|
||||
**Pattern Enforcement:**
|
||||
|
||||
- How to verify patterns are followed
|
||||
- Where to document pattern violations
|
||||
- Process for updating patterns
|
||||
|
||||
### Pattern Examples
|
||||
|
||||
**Good Examples:**
|
||||
{{concrete_examples_of_correct_pattern_usage}}
|
||||
|
||||
**Anti-Patterns:**
|
||||
{{examples_of_what_to_avoid}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated patterns content and present choices:
|
||||
|
||||
"I've documented implementation patterns that will prevent conflicts between AI agents working on this project.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**What would you like to do?**
|
||||
[A] Advanced Elicitation - Explore additional consistency patterns
|
||||
[P] Party Mode - Review patterns from different implementation perspectives
|
||||
[C] Continue - Save these patterns and move to project structure"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with current patterns
|
||||
- Process enhanced consistency rules that come back
|
||||
- Ask user: "Accept these additional pattern refinements? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with implementation patterns context
|
||||
- Process collaborative insights about potential conflicts
|
||||
- Ask user: "Accept these changes to the implementation patterns? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'C' (Continue):
|
||||
|
||||
- Append the final content to `{planning_artifacts}/architecture.md`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]`
|
||||
- Load `./step-06-structure.md`
|
||||
|
||||
## APPEND TO DOCUMENT:
|
||||
|
||||
When user selects 'C', append the content directly to the document using the structure from step 4.
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ All potential AI agent conflict points identified and addressed
|
||||
✅ Comprehensive patterns defined for naming, structure, and communication
|
||||
✅ Concrete examples provided for each pattern
|
||||
✅ Enforcement guidelines clearly documented
|
||||
✅ User collaborated on pattern decisions rather than receiving recommendations
|
||||
✅ A/P/C menu presented and handled correctly
|
||||
✅ Content properly appended to document when C selected
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Missing potential conflict points that could cause agent conflicts
|
||||
❌ Being too prescriptive about implementation details instead of focusing on consistency
|
||||
❌ Not providing concrete examples for each pattern
|
||||
❌ Failing to address cross-cutting concerns like error handling
|
||||
❌ Not considering the chosen technology stack when defining patterns
|
||||
❌ Not presenting A/P/C menu after content generation
|
||||
|
||||
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
||||
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
||||
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||
|
||||
## NEXT STEP:
|
||||
|
||||
After user selects 'C' and content is saved to document, load `./step-06-structure.md` to define the complete project structure.
|
||||
|
||||
Remember: Do NOT proceed to step-06 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
||||
@@ -1,379 +0,0 @@
|
||||
# Step 6: Project Structure & Boundaries
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
|
||||
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
||||
- ✅ ALWAYS treat this as collaborative discovery between architectural peers
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- 💬 FOCUS on defining complete project structure and clear boundaries
|
||||
- 🗺️ MAP requirements/epics to architectural components
|
||||
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis before taking any action
|
||||
- 🗺️ Create complete project tree, not generic placeholders
|
||||
- ⚠️ Present A/P/C menu after generating project structure
|
||||
- 💾 ONLY save when user chooses C (Continue)
|
||||
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
|
||||
- 🚫 FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
This step will generate content and present choices:
|
||||
|
||||
- **A (Advanced Elicitation)**: Use discovery protocols to explore innovative project organization approaches
|
||||
- **P (Party Mode)**: Bring multiple perspectives to evaluate project structure trade-offs
|
||||
- **C (Continue)**: Save the project structure and proceed to validation
|
||||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All previous architectural decisions are complete
|
||||
- Implementation patterns and consistency rules are defined
|
||||
- Focus on physical project structure and component boundaries
|
||||
- Map requirements to specific files and directories
|
||||
|
||||
## YOUR TASK:
|
||||
|
||||
Define the complete project structure and architectural boundaries based on all decisions made, creating a concrete implementation guide for AI agents.
|
||||
|
||||
## PROJECT STRUCTURE SEQUENCE:
|
||||
|
||||
### 1. Analyze Requirements Mapping
|
||||
|
||||
Map project requirements to architectural components:
|
||||
|
||||
**From Epics (if available):**
|
||||
"Epic: {{epic_name}} → Lives in {{module/directory/service}}"
|
||||
|
||||
- User stories within the epic
|
||||
- Cross-epic dependencies
|
||||
- Shared components needed
|
||||
|
||||
**From FR Categories (if no epics):**
|
||||
"FR Category: {{fr_category_name}} → Lives in {{module/directory/service}}"
|
||||
|
||||
- Related functional requirements
|
||||
- Shared functionality across categories
|
||||
- Integration points between categories
|
||||
|
||||
### 2. Define Project Directory Structure
|
||||
|
||||
Based on technology stack and patterns, create the complete project structure:
|
||||
|
||||
**Root Configuration Files:**
|
||||
|
||||
- Package management files (package.json, requirements.txt, etc.)
|
||||
- Build and development configuration
|
||||
- Environment configuration files
|
||||
- CI/CD pipeline files
|
||||
- Documentation files
|
||||
|
||||
**Source Code Organization:**
|
||||
|
||||
- Application entry points
|
||||
- Core application structure
|
||||
- Feature/module organization
|
||||
- Shared utilities and libraries
|
||||
- Configuration and environment files
|
||||
|
||||
**Test Organization:**
|
||||
|
||||
- Unit test locations and structure
|
||||
- Integration test organization
|
||||
- End-to-end test structure
|
||||
- Test utilities and fixtures
|
||||
|
||||
**Build and Distribution:**
|
||||
|
||||
- Build output directories
|
||||
- Distribution files
|
||||
- Static assets
|
||||
- Documentation build
|
||||
|
||||
### 3. Define Integration Boundaries
|
||||
|
||||
Map how components communicate and where boundaries exist:
|
||||
|
||||
**API Boundaries:**
|
||||
|
||||
- External API endpoints
|
||||
- Internal service boundaries
|
||||
- Authentication and authorization boundaries
|
||||
- Data access layer boundaries
|
||||
|
||||
**Component Boundaries:**
|
||||
|
||||
- Frontend component communication patterns
|
||||
- State management boundaries
|
||||
- Service communication patterns
|
||||
- Event-driven integration points
|
||||
|
||||
**Data Boundaries:**
|
||||
|
||||
- Database schema boundaries
|
||||
- Data access patterns
|
||||
- Caching boundaries
|
||||
- External data integration points
|
||||
|
||||
### 4. Create Complete Project Tree
|
||||
|
||||
Generate a comprehensive directory structure showing all files and directories:
|
||||
|
||||
**Technology-Specific Structure Examples:**
|
||||
|
||||
**Next.js Full-Stack:**
|
||||
|
||||
```
|
||||
project-name/
|
||||
├── README.md
|
||||
├── package.json
|
||||
├── next.config.js
|
||||
├── tailwind.config.js
|
||||
├── tsconfig.json
|
||||
├── .env.local
|
||||
├── .env.example
|
||||
├── .gitignore
|
||||
├── .github/
|
||||
│ └── workflows/
|
||||
│ └── ci.yml
|
||||
├── src/
|
||||
│ ├── app/
|
||||
│ │ ├── globals.css
|
||||
│ │ ├── layout.tsx
|
||||
│ │ └── page.tsx
|
||||
│ ├── components/
|
||||
│ │ ├── ui/
|
||||
│ │ ├── forms/
|
||||
│ │ └── features/
|
||||
│ ├── lib/
|
||||
│ │ ├── db.ts
|
||||
│ │ ├── auth.ts
|
||||
│ │ └── utils.ts
|
||||
│ ├── types/
|
||||
│ └── middleware.ts
|
||||
├── prisma/
|
||||
│ ├── schema.prisma
|
||||
│ └── migrations/
|
||||
├── tests/
|
||||
│ ├── __mocks__/
|
||||
│ ├── components/
|
||||
│ └── e2e/
|
||||
└── public/
|
||||
└── assets/
|
||||
```
|
||||
|
||||
**API Backend (NestJS):**
|
||||
|
||||
```
|
||||
project-name/
|
||||
├── package.json
|
||||
├── nest-cli.json
|
||||
├── tsconfig.json
|
||||
├── .env
|
||||
├── .env.example
|
||||
├── .gitignore
|
||||
├── README.md
|
||||
├── src/
|
||||
│ ├── main.ts
|
||||
│ ├── app.module.ts
|
||||
│ ├── config/
|
||||
│ ├── modules/
|
||||
│ │ ├── auth/
|
||||
│ │ ├── users/
|
||||
│ │ └── common/
|
||||
│ ├── services/
|
||||
│ ├── repositories/
|
||||
│ ├── decorators/
|
||||
│ ├── pipes/
|
||||
│ ├── guards/
|
||||
│ └── interceptors/
|
||||
├── test/
|
||||
│ ├── unit/
|
||||
│ ├── integration/
|
||||
│ └── e2e/
|
||||
├── prisma/
|
||||
│ ├── schema.prisma
|
||||
│ └── migrations/
|
||||
└── docker-compose.yml
|
||||
```
|
||||
|
||||
### 5. Map Requirements to Structure
|
||||
|
||||
Create explicit mapping from project requirements to specific files/directories:
|
||||
|
||||
**Epic/Feature Mapping:**
|
||||
"Epic: User Management
|
||||
|
||||
- Components: src/components/features/users/
|
||||
- Services: src/services/users/
|
||||
- API Routes: src/app/api/users/
|
||||
- Database: prisma/migrations/_*users*_
|
||||
- Tests: tests/features/users/"
|
||||
|
||||
**Cross-Cutting Concerns:**
|
||||
"Authentication System
|
||||
|
||||
- Components: src/components/auth/
|
||||
- Services: src/services/auth/
|
||||
- Middleware: src/middleware/auth.ts
|
||||
- Guards: src/guards/auth.guard.ts
|
||||
- Tests: tests/auth/"
|
||||
|
||||
### 6. Generate Structure Content
|
||||
|
||||
Prepare the content to append to the document:
|
||||
|
||||
#### Content Structure:
|
||||
|
||||
```markdown
|
||||
## Project Structure & Boundaries
|
||||
|
||||
### Complete Project Directory Structure
|
||||
```
|
||||
|
||||
{{complete_project_tree_with_all_files_and_directories}}
|
||||
|
||||
```
|
||||
|
||||
### Architectural Boundaries
|
||||
|
||||
**API Boundaries:**
|
||||
{{api_boundary_definitions_and_endpoints}}
|
||||
|
||||
**Component Boundaries:**
|
||||
{{component_communication_patterns_and_boundaries}}
|
||||
|
||||
**Service Boundaries:**
|
||||
{{service_integration_patterns_and_boundaries}}
|
||||
|
||||
**Data Boundaries:**
|
||||
{{data_access_patterns_and_boundaries}}
|
||||
|
||||
### Requirements to Structure Mapping
|
||||
|
||||
**Feature/Epic Mapping:**
|
||||
{{mapping_of_epics_or_features_to_specific_directories}}
|
||||
|
||||
**Cross-Cutting Concerns:**
|
||||
{{mapping_of_shared_functionality_to_locations}}
|
||||
|
||||
### Integration Points
|
||||
|
||||
**Internal Communication:**
|
||||
{{how_components_within_the_project_communicate}}
|
||||
|
||||
**External Integrations:**
|
||||
{{third_party_service_integration_points}}
|
||||
|
||||
**Data Flow:**
|
||||
{{how_data_flows_through_the_architecture}}
|
||||
|
||||
### File Organization Patterns
|
||||
|
||||
**Configuration Files:**
|
||||
{{where_and_how_config_files_are_organized}}
|
||||
|
||||
**Source Organization:**
|
||||
{{how_source_code_is_structured_and_organized}}
|
||||
|
||||
**Test Organization:**
|
||||
{{how_tests_are_structured_and_organized}}
|
||||
|
||||
**Asset Organization:**
|
||||
{{how_static_and_dynamic_assets_are_organized}}
|
||||
|
||||
### Development Workflow Integration
|
||||
|
||||
**Development Server Structure:**
|
||||
{{how_the_project_is organized_for_development}}
|
||||
|
||||
**Build Process Structure:**
|
||||
{{how_the_build_process_uses_the_project_structure}}
|
||||
|
||||
**Deployment Structure:**
|
||||
{{how_the_project_structure_supports_deployment}}
|
||||
```
|
||||
|
||||
### 7. Present Content and Menu
|
||||
|
||||
Show the generated project structure content and present choices:
|
||||
|
||||
"I've created a complete project structure based on all our architectural decisions.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 6]
|
||||
|
||||
**What would you like to do?**
|
||||
[A] Advanced Elicitation - Explore innovative project organization approaches
|
||||
[P] Party Mode - Review structure from different development perspectives
|
||||
[C] Continue - Save this structure and move to architecture validation"
|
||||
|
||||
### 8. Handle Menu Selection
|
||||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with current project structure
|
||||
- Process enhanced organizational insights that come back
|
||||
- Ask user: "Accept these changes to the project structure? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with project structure context
|
||||
- Process collaborative insights about organization trade-offs
|
||||
- Ask user: "Accept these changes to the project structure? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'C' (Continue):
|
||||
|
||||
- Append the final content to `{planning_artifacts}/architecture.md`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
|
||||
- Load `./step-07-validation.md`
|
||||
|
||||
## APPEND TO DOCUMENT:
|
||||
|
||||
When user selects 'C', append the content directly to the document using the structure from step 6.
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ Complete project tree defined with all files and directories
|
||||
✅ All architectural boundaries clearly documented
|
||||
✅ Requirements/epics mapped to specific locations
|
||||
✅ Integration points and communication patterns defined
|
||||
✅ Project structure aligned with chosen technology stack
|
||||
✅ A/P/C menu presented and handled correctly
|
||||
✅ Content properly appended to document when C selected
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Creating generic placeholder structure instead of specific, complete tree
|
||||
❌ Not mapping requirements to specific files and directories
|
||||
❌ Missing important integration boundaries
|
||||
❌ Not considering the chosen technology stack in structure design
|
||||
❌ Not defining how components communicate across boundaries
|
||||
❌ Not presenting A/P/C menu after content generation
|
||||
|
||||
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
||||
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
||||
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||
|
||||
## NEXT STEP:
|
||||
|
||||
After user selects 'C' and content is saved to document, load `./step-07-validation.md` to validate architectural coherence and completeness.
|
||||
|
||||
Remember: Do NOT proceed to step-07 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
||||
@@ -1,359 +0,0 @@
|
||||
# Step 7: Architecture Validation & Completion
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
|
||||
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
||||
- ✅ ALWAYS treat this as collaborative discovery between architectural peers
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- 💬 FOCUS on validating architectural coherence and completeness
|
||||
- ✅ VALIDATE all requirements are covered by architectural decisions
|
||||
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis before taking any action
|
||||
- ✅ Run comprehensive validation checks on the complete architecture
|
||||
- ⚠️ Present A/P/C menu after generating validation results
|
||||
- 💾 ONLY save when user chooses C (Continue)
|
||||
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
|
||||
- 🚫 FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
This step will generate content and present choices:
|
||||
|
||||
- **A (Advanced Elicitation)**: Use discovery protocols to address complex architectural issues found during validation
|
||||
- **P (Party Mode)**: Bring multiple perspectives to resolve validation concerns
|
||||
- **C (Continue)**: Save the validation results and complete the architecture
|
||||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Complete architecture document with all sections is available
|
||||
- All architectural decisions, patterns, and structure are defined
|
||||
- Focus on validation, gap analysis, and coherence checking
|
||||
- Prepare for handoff to implementation phase
|
||||
|
||||
## YOUR TASK:
|
||||
|
||||
Validate the complete architecture for coherence, completeness, and readiness to guide AI agents through consistent implementation.
|
||||
|
||||
## VALIDATION SEQUENCE:
|
||||
|
||||
### 1. Coherence Validation
|
||||
|
||||
Check that all architectural decisions work together:
|
||||
|
||||
**Decision Compatibility:**
|
||||
|
||||
- Do all technology choices work together without conflicts?
|
||||
- Are all versions compatible with each other?
|
||||
- Do patterns align with technology choices?
|
||||
- Are there any contradictory decisions?
|
||||
|
||||
**Pattern Consistency:**
|
||||
|
||||
- Do implementation patterns support the architectural decisions?
|
||||
- Are naming conventions consistent across all areas?
|
||||
- Do structure patterns align with technology stack?
|
||||
- Are communication patterns coherent?
|
||||
|
||||
**Structure Alignment:**
|
||||
|
||||
- Does the project structure support all architectural decisions?
|
||||
- Are boundaries properly defined and respected?
|
||||
- Does the structure enable the chosen patterns?
|
||||
- Are integration points properly structured?
|
||||
|
||||
### 2. Requirements Coverage Validation
|
||||
|
||||
Verify all project requirements are architecturally supported:
|
||||
|
||||
**From Epics (if available):**
|
||||
|
||||
- Does every epic have architectural support?
|
||||
- Are all user stories implementable with these decisions?
|
||||
- Are cross-epic dependencies handled architecturally?
|
||||
- Are there any gaps in epic coverage?
|
||||
|
||||
**From FR Categories (if no epics):**
|
||||
|
||||
- Does every functional requirement have architectural support?
|
||||
- Are all FR categories fully covered by architectural decisions?
|
||||
- Are cross-cutting FRs properly addressed?
|
||||
- Are there any missing architectural capabilities?
|
||||
|
||||
**Non-Functional Requirements:**
|
||||
|
||||
- Are performance requirements addressed architecturally?
|
||||
- Are security requirements fully covered?
|
||||
- Are scalability considerations properly handled?
|
||||
- Are compliance requirements architecturally supported?
|
||||
|
||||
### 3. Implementation Readiness Validation
|
||||
|
||||
Assess if AI agents can implement consistently:
|
||||
|
||||
**Decision Completeness:**
|
||||
|
||||
- Are all critical decisions documented with versions?
|
||||
- Are implementation patterns comprehensive enough?
|
||||
- Are consistency rules clear and enforceable?
|
||||
- Are examples provided for all major patterns?
|
||||
|
||||
**Structure Completeness:**
|
||||
|
||||
- Is the project structure complete and specific?
|
||||
- Are all files and directories defined?
|
||||
- Are integration points clearly specified?
|
||||
- Are component boundaries well-defined?
|
||||
|
||||
**Pattern Completeness:**
|
||||
|
||||
- Are all potential conflict points addressed?
|
||||
- Are naming conventions comprehensive?
|
||||
- Are communication patterns fully specified?
|
||||
- Are process patterns (error handling, etc.) complete?
|
||||
|
||||
### 4. Gap Analysis
|
||||
|
||||
Identify and document any missing elements:
|
||||
|
||||
**Critical Gaps:**
|
||||
|
||||
- Missing architectural decisions that block implementation
|
||||
- Incomplete patterns that could cause conflicts
|
||||
- Missing structural elements needed for development
|
||||
- Undefined integration points
|
||||
|
||||
**Important Gaps:**
|
||||
|
||||
- Areas that need more detailed specification
|
||||
- Patterns that could be more comprehensive
|
||||
- Documentation that would help implementation
|
||||
- Examples that would clarify complex decisions
|
||||
|
||||
**Nice-to-Have Gaps:**
|
||||
|
||||
- Additional patterns that would be helpful
|
||||
- Supplementary documentation
|
||||
- Tooling recommendations
|
||||
- Development workflow optimizations
|
||||
|
||||
### 5. Address Validation Issues
|
||||
|
||||
For any issues found, facilitate resolution:
|
||||
|
||||
**Critical Issues:**
|
||||
"I found some issues that need to be addressed before implementation:
|
||||
|
||||
{{critical_issue_description}}
|
||||
|
||||
These could cause implementation problems. How would you like to resolve this?"
|
||||
|
||||
**Important Issues:**
|
||||
"I noticed a few areas that could be improved:
|
||||
|
||||
{{important_issue_description}}
|
||||
|
||||
These aren't blocking, but addressing them would make implementation smoother. Should we work on these?"
|
||||
|
||||
**Minor Issues:**
|
||||
"Here are some minor suggestions for improvement:
|
||||
|
||||
{{minor_issue_description}}
|
||||
|
||||
These are optional refinements. Would you like to address any of these?"
|
||||
|
||||
### 6. Generate Validation Content
|
||||
|
||||
Prepare the content to append to the document:
|
||||
|
||||
#### Content Structure:
|
||||
|
||||
```markdown
|
||||
## Architecture Validation Results
|
||||
|
||||
### Coherence Validation ✅
|
||||
|
||||
**Decision Compatibility:**
|
||||
{{assessment_of_how_all_decisions_work_together}}
|
||||
|
||||
**Pattern Consistency:**
|
||||
{{verification_that_patterns_support_decisions}}
|
||||
|
||||
**Structure Alignment:**
|
||||
{{confirmation_that_structure_supports_architecture}}
|
||||
|
||||
### Requirements Coverage Validation ✅
|
||||
|
||||
**Epic/Feature Coverage:**
|
||||
{{verification_that_all_epics_or_features_are_supported}}
|
||||
|
||||
**Functional Requirements Coverage:**
|
||||
{{confirmation_that_all_FRs_are_architecturally_supported}}
|
||||
|
||||
**Non-Functional Requirements Coverage:**
|
||||
{{verification_that_NFRs_are_addressed}}
|
||||
|
||||
### Implementation Readiness Validation ✅
|
||||
|
||||
**Decision Completeness:**
|
||||
{{assessment_of_decision_documentation_completeness}}
|
||||
|
||||
**Structure Completeness:**
|
||||
{{evaluation_of_project_structure_completeness}}
|
||||
|
||||
**Pattern Completeness:**
|
||||
{{verification_of_implementation_patterns_completeness}}
|
||||
|
||||
### Gap Analysis Results
|
||||
|
||||
{{gap_analysis_findings_with_priority_levels}}
|
||||
|
||||
### Validation Issues Addressed
|
||||
|
||||
{{description_of_any_issues_found_and_resolutions}}
|
||||
|
||||
### Architecture Completeness Checklist
|
||||
|
||||
**✅ Requirements Analysis**
|
||||
|
||||
- [x] Project context thoroughly analyzed
|
||||
- [x] Scale and complexity assessed
|
||||
- [x] Technical constraints identified
|
||||
- [x] Cross-cutting concerns mapped
|
||||
|
||||
**✅ Architectural Decisions**
|
||||
|
||||
- [x] Critical decisions documented with versions
|
||||
- [x] Technology stack fully specified
|
||||
- [x] Integration patterns defined
|
||||
- [x] Performance considerations addressed
|
||||
|
||||
**✅ Implementation Patterns**
|
||||
|
||||
- [x] Naming conventions established
|
||||
- [x] Structure patterns defined
|
||||
- [x] Communication patterns specified
|
||||
- [x] Process patterns documented
|
||||
|
||||
**✅ Project Structure**
|
||||
|
||||
- [x] Complete directory structure defined
|
||||
- [x] Component boundaries established
|
||||
- [x] Integration points mapped
|
||||
- [x] Requirements to structure mapping complete
|
||||
|
||||
### Architecture Readiness Assessment
|
||||
|
||||
**Overall Status:** READY FOR IMPLEMENTATION
|
||||
|
||||
**Confidence Level:** {{high/medium/low}} based on validation results
|
||||
|
||||
**Key Strengths:**
|
||||
{{list_of_architecture_strengths}}
|
||||
|
||||
**Areas for Future Enhancement:**
|
||||
{{areas_that_could_be_improved_later}}
|
||||
|
||||
### Implementation Handoff
|
||||
|
||||
**AI Agent Guidelines:**
|
||||
|
||||
- Follow all architectural decisions exactly as documented
|
||||
- Use implementation patterns consistently across all components
|
||||
- Respect project structure and boundaries
|
||||
- Refer to this document for all architectural questions
|
||||
|
||||
**First Implementation Priority:**
|
||||
{{starter_template_command_or_first_architectural_step}}
|
||||
```
|
||||
|
||||
### 7. Present Content and Menu
|
||||
|
||||
Show the validation results and present choices:
|
||||
|
||||
"I've completed a comprehensive validation of your architecture.
|
||||
|
||||
**Validation Summary:**
|
||||
|
||||
- ✅ Coherence: All decisions work together
|
||||
- ✅ Coverage: All requirements are supported
|
||||
- ✅ Readiness: AI agents can implement consistently
|
||||
|
||||
**Here's what I'll add to complete the architecture document:**
|
||||
|
||||
[Show the complete markdown content from step 6]
|
||||
|
||||
**What would you like to do?**
|
||||
[A] Advanced Elicitation - Address any complex architectural concerns
|
||||
[P] Party Mode - Review validation from different implementation perspectives
|
||||
[C] Continue - Complete the architecture and finish workflow"
|
||||
|
||||
### 8. Handle Menu Selection
|
||||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with validation issues
|
||||
- Process enhanced solutions for complex concerns
|
||||
- Ask user: "Accept these architectural improvements? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with validation context
|
||||
- Process collaborative insights on implementation readiness
|
||||
- Ask user: "Accept these changes to the validation results? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### If 'C' (Continue):
|
||||
|
||||
- Append the final content to `{planning_artifacts}/architecture.md`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
|
||||
- Load `./step-08-complete.md`
|
||||
|
||||
## APPEND TO DOCUMENT:
|
||||
|
||||
When user selects 'C', append the content directly to the document using the structure from step 6.
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ All architectural decisions validated for coherence
|
||||
✅ Complete requirements coverage verified
|
||||
✅ Implementation readiness confirmed
|
||||
✅ All gaps identified and addressed
|
||||
✅ Comprehensive validation checklist completed
|
||||
✅ A/P/C menu presented and handled correctly
|
||||
✅ Content properly appended to document when C selected
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Skipping validation of decision compatibility
|
||||
❌ Not verifying all requirements are architecturally supported
|
||||
❌ Missing potential implementation conflicts
|
||||
❌ Not addressing gaps found during validation
|
||||
❌ Providing incomplete validation checklist
|
||||
❌ Not presenting A/P/C menu after content generation
|
||||
|
||||
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
||||
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
||||
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||
|
||||
## NEXT STEP:
|
||||
|
||||
After user selects 'C' and content is saved to document, load `./step-08-complete.md` to complete the workflow and provide implementation guidance.
|
||||
|
||||
Remember: Do NOT proceed to step-08 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
||||
@@ -1,352 +0,0 @@
|
||||
# Step 8: Architecture Completion & Handoff
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
|
||||
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
||||
- ✅ ALWAYS treat this as collaborative completion between architectural peers
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- 💬 FOCUS on successful workflow completion and implementation handoff
|
||||
- 🎯 PROVIDE clear next steps for implementation phase
|
||||
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Show your analysis before taking any action
|
||||
- 🎯 Present completion summary and implementation guidance
|
||||
- 📖 Update frontmatter with final workflow state
|
||||
- 🚫 NO MORE STEPS - this is the final step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Complete architecture document is finished and validated
|
||||
- All architectural decisions, patterns, and structure are documented
|
||||
- Focus on successful completion and implementation preparation
|
||||
- Provide clear guidance for next steps in the development process
|
||||
|
||||
## YOUR TASK:
|
||||
|
||||
Complete the architecture workflow, provide a comprehensive completion summary, and guide the user to the next phase of their project development.
|
||||
|
||||
## COMPLETION SEQUENCE:
|
||||
|
||||
### 1. Present Architecture Completion Summary
|
||||
|
||||
Based on user skill level, present the completion:
|
||||
|
||||
**For Expert Users:**
|
||||
"Architecture workflow complete. {{decision_count}} architectural decisions documented across {{step_count}} steps.
|
||||
|
||||
Your architecture is ready for AI agent implementation. All decisions are documented with specific versions and implementation patterns.
|
||||
|
||||
Key deliverables:
|
||||
|
||||
- Complete architecture decision document
|
||||
- Implementation patterns for agent consistency
|
||||
- Project structure with all files and directories
|
||||
- Validation confirming coherence and completeness
|
||||
|
||||
Ready for implementation phase."
|
||||
|
||||
**For Intermediate Users:**
|
||||
"Excellent! Your architecture for {{project_name}} is now complete and ready for implementation.
|
||||
|
||||
**What we accomplished:**
|
||||
|
||||
- Made {{decision_count}} key architectural decisions together
|
||||
- Established implementation patterns to ensure consistency
|
||||
- Created a complete project structure with {{component_count}} main areas
|
||||
- Validated that all your requirements are fully supported
|
||||
|
||||
**Your architecture document includes:**
|
||||
|
||||
- Technology choices with specific versions
|
||||
- Clear implementation patterns for AI agents to follow
|
||||
- Complete project directory structure
|
||||
- Mapping of your requirements to specific files and folders
|
||||
|
||||
The architecture is comprehensive and ready to guide consistent implementation."
|
||||
|
||||
**For Beginner Users:**
|
||||
"Congratulations! Your architecture for {{project_name}} is complete! 🎉
|
||||
|
||||
**What this means:**
|
||||
Think of this as creating the complete blueprint for your house. We've made all the important decisions about how it will be built, what materials to use, and how everything fits together.
|
||||
|
||||
**What we created together:**
|
||||
|
||||
- {{decision_count}} architectural decisions (like choosing the foundation, framing, and systems)
|
||||
- Clear rules so that multiple builders (AI agents) all work the same way
|
||||
- A complete folder structure showing exactly where every file goes
|
||||
- Confirmation that everything you want to build is supported by these decisions
|
||||
|
||||
**What happens next:**
|
||||
AI agents will read this architecture document before building anything. They'll follow all your decisions exactly, which means your app will be built with consistent patterns throughout.
|
||||
|
||||
You're ready for the implementation phase!"
|
||||
|
||||
### 2. Review Final Document State
|
||||
|
||||
Confirm the architecture document is complete:
|
||||
|
||||
**Document Structure Verification:**
|
||||
|
||||
- Project Context Analysis ✅
|
||||
- Starter Template Evaluation ✅
|
||||
- Core Architectural Decisions ✅
|
||||
- Implementation Patterns & Consistency Rules ✅
|
||||
- Project Structure & Boundaries ✅
|
||||
- Architecture Validation Results ✅
|
||||
|
||||
**Frontmatter Update:**
|
||||
|
||||
```yaml
|
||||
stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]
|
||||
workflowType: 'architecture'
|
||||
lastStep: 8
|
||||
status: 'complete'
|
||||
completedAt: '{{current_date}}'
|
||||
```
|
||||
|
||||
### 3. Implementation Guidance
|
||||
|
||||
Provide specific next steps for implementation:
|
||||
|
||||
**Immediate Next Steps:**
|
||||
|
||||
1. **Review the complete architecture document** at `{planning_artifacts}/architecture.md`
|
||||
2. **Begin with project initialization** using the starter template command documented
|
||||
3. **Create first implementation story** for project setup
|
||||
4. **Start implementing user stories** following the architectural decisions
|
||||
|
||||
**Development Workflow:**
|
||||
"AI agents will:
|
||||
|
||||
1. Read the architecture document before implementing each story
|
||||
2. Follow your technology choices and patterns exactly
|
||||
3. Use the project structure we defined
|
||||
4. Maintain consistency across all components"
|
||||
|
||||
**Quality Assurance:**
|
||||
"Your architecture includes:
|
||||
|
||||
- Specific technology versions to use
|
||||
- Implementation patterns that prevent conflicts
|
||||
- Clear project structure and boundaries
|
||||
- Validation that all requirements are supported"
|
||||
|
||||
### 4. Generate Completion Content
|
||||
|
||||
Prepare the final content to append to the document:
|
||||
|
||||
#### Content Structure:
|
||||
|
||||
```markdown
|
||||
## Architecture Completion Summary
|
||||
|
||||
### Workflow Completion
|
||||
|
||||
**Architecture Decision Workflow:** COMPLETED ✅
|
||||
**Total Steps Completed:** 8
|
||||
**Date Completed:** {{current_date}}
|
||||
**Document Location:** {planning_artifacts}/architecture.md
|
||||
|
||||
### Final Architecture Deliverables
|
||||
|
||||
**📋 Complete Architecture Document**
|
||||
|
||||
- All architectural decisions documented with specific versions
|
||||
- Implementation patterns ensuring AI agent consistency
|
||||
- Complete project structure with all files and directories
|
||||
- Requirements to architecture mapping
|
||||
- Validation confirming coherence and completeness
|
||||
|
||||
**🏗️ Implementation Ready Foundation**
|
||||
|
||||
- {{decision_count}} architectural decisions made
|
||||
- {{pattern_count}} implementation patterns defined
|
||||
- {{component_count}} architectural components specified
|
||||
- {{requirement_count}} requirements fully supported
|
||||
|
||||
**📚 AI Agent Implementation Guide**
|
||||
|
||||
- Technology stack with verified versions
|
||||
- Consistency rules that prevent implementation conflicts
|
||||
- Project structure with clear boundaries
|
||||
- Integration patterns and communication standards
|
||||
|
||||
### Implementation Handoff
|
||||
|
||||
**For AI Agents:**
|
||||
This architecture document is your complete guide for implementing {{project_name}}. Follow all decisions, patterns, and structures exactly as documented.
|
||||
|
||||
**First Implementation Priority:**
|
||||
{{starter_template_command_or_initialization_step}}
|
||||
|
||||
**Development Sequence:**
|
||||
|
||||
1. Initialize project using documented starter template
|
||||
2. Set up development environment per architecture
|
||||
3. Implement core architectural foundations
|
||||
4. Build features following established patterns
|
||||
5. Maintain consistency with documented rules
|
||||
|
||||
### Quality Assurance Checklist
|
||||
|
||||
**✅ Architecture Coherence**
|
||||
|
||||
- [x] All decisions work together without conflicts
|
||||
- [x] Technology choices are compatible
|
||||
- [x] Patterns support the architectural decisions
|
||||
- [x] Structure aligns with all choices
|
||||
|
||||
**✅ Requirements Coverage**
|
||||
|
||||
- [x] All functional requirements are supported
|
||||
- [x] All non-functional requirements are addressed
|
||||
- [x] Cross-cutting concerns are handled
|
||||
- [x] Integration points are defined
|
||||
|
||||
**✅ Implementation Readiness**
|
||||
|
||||
- [x] Decisions are specific and actionable
|
||||
- [x] Patterns prevent agent conflicts
|
||||
- [x] Structure is complete and unambiguous
|
||||
- [x] Examples are provided for clarity
|
||||
|
||||
### Project Success Factors
|
||||
|
||||
**🎯 Clear Decision Framework**
|
||||
Every technology choice was made collaboratively with clear rationale, ensuring all stakeholders understand the architectural direction.
|
||||
|
||||
**🔧 Consistency Guarantee**
|
||||
Implementation patterns and rules ensure that multiple AI agents will produce compatible, consistent code that works together seamlessly.
|
||||
|
||||
**📋 Complete Coverage**
|
||||
All project requirements are architecturally supported, with clear mapping from business needs to technical implementation.
|
||||
|
||||
**🏗️ Solid Foundation**
|
||||
The chosen starter template and architectural patterns provide a production-ready foundation following current best practices.
|
||||
|
||||
---
|
||||
|
||||
**Architecture Status:** READY FOR IMPLEMENTATION ✅
|
||||
|
||||
**Next Phase:** Begin implementation using the architectural decisions and patterns documented herein.
|
||||
|
||||
**Document Maintenance:** Update this architecture when major technical decisions are made during implementation.
|
||||
```
|
||||
|
||||
### 5. Complete Workflow Finalization
|
||||
|
||||
**Save Final Document:**
|
||||
|
||||
- Ensure all content is properly appended to `{planning_artifacts}/architecture.md`
|
||||
- Update frontmatter with completion status
|
||||
- Verify document is complete and coherent
|
||||
|
||||
**Workflow Status Update:**
|
||||
If not in standalone mode, update workflow status:
|
||||
|
||||
- Load `{planning_artifacts}/bmm-workflow-status.yaml`
|
||||
- Update workflow_status["create-architecture"] = "{planning_artifacts}/architecture.md"
|
||||
- Save file with all structure and comments preserved
|
||||
|
||||
### 6. Present Completion to User
|
||||
|
||||
"🎉 **Architecture Workflow Complete!**
|
||||
|
||||
Your architecture for {{project_name}} is comprehensive, validated, and ready for implementation.
|
||||
|
||||
**✅ What's been delivered:**
|
||||
|
||||
- Complete architecture document with all decisions and patterns
|
||||
- Project structure ready for AI agent implementation
|
||||
- Validation confirming everything works together coherently
|
||||
- Implementation guidance for the development phase
|
||||
|
||||
**📍 Where to find it:**
|
||||
`{planning_artifacts}/architecture.md`
|
||||
|
||||
**🚀 What's next:**
|
||||
|
||||
1. Review your complete architecture document
|
||||
2. Begin implementation using the starter template command
|
||||
3. Create stories for AI agents to implement following your architectural decisions
|
||||
|
||||
Your architecture will ensure consistent, high-quality implementation across all development work. Great job collaborating through these important architectural decisions!
|
||||
|
||||
**💡 Optional Enhancement: Project Context File**
|
||||
|
||||
Would you like to create a `project-context.md` file? This is a concise, optimized guide for AI agents that captures:
|
||||
|
||||
- Critical language and framework rules they might miss
|
||||
- Specific patterns and conventions for your project
|
||||
- Testing and code quality requirements
|
||||
- Anti-patterns and edge cases to avoid
|
||||
|
||||
{if_existing_project_context}
|
||||
I noticed you already have a project context file. Would you like to update it with your new architectural decisions?
|
||||
{else}
|
||||
This file helps ensure AI agents implement code consistently with your project's unique requirements and patterns.
|
||||
{/if_existing_project_context}
|
||||
|
||||
**Create/Update project context?** [Y/N]
|
||||
|
||||
**Ready to move to the next phase of your project development?**"
|
||||
|
||||
### 7. Handle Project Context Creation Choice
|
||||
|
||||
If user responds 'Y' or 'yes' to creating/updating project context:
|
||||
|
||||
"Excellent choice! Let me launch the Generate Project Context workflow to create a comprehensive guide for AI agents.
|
||||
|
||||
This will help ensure consistent implementation by capturing:
|
||||
|
||||
- Language-specific patterns and rules
|
||||
- Framework conventions from your architecture
|
||||
- Testing and quality standards
|
||||
- Anti-patterns to avoid
|
||||
|
||||
The workflow will collaborate with you to create an optimized `project-context.md` file that AI agents will read before implementing any code."
|
||||
|
||||
**Execute the Generate Project Context workflow:**
|
||||
|
||||
- Load and execute: `{project-root}/_bmad/bmm/workflows/generate-project-context/workflow.md`
|
||||
- The workflow will handle discovery, generation, and completion of the project context file
|
||||
- After completion, return here for final handoff
|
||||
|
||||
If user responds 'N' or 'no':
|
||||
"Understood! Your architecture is complete and ready for implementation. You can always create a project context file later using the Generate Project Context workflow if needed."
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ Complete architecture document delivered with all sections
|
||||
✅ All architectural decisions documented and validated
|
||||
✅ Implementation patterns and consistency rules finalized
|
||||
✅ Project structure complete with all files and directories
|
||||
✅ User provided with clear next steps and implementation guidance
|
||||
✅ Workflow status properly updated
|
||||
✅ User collaboration maintained throughout completion process
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Not providing clear implementation guidance
|
||||
❌ Missing final validation of document completeness
|
||||
❌ Not updating workflow status appropriately
|
||||
❌ Failing to celebrate the successful completion
|
||||
❌ Not providing specific next steps for the user
|
||||
❌ Rushing completion without proper summary
|
||||
|
||||
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
||||
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
||||
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
||||
|
||||
## WORKFLOW COMPLETE:
|
||||
|
||||
This is the final step of the Architecture workflow. The user now has a complete, validated architecture document ready for AI agent implementation.
|
||||
|
||||
The architecture will serve as the single source of truth for all technical decisions, ensuring consistent implementation across the entire project development lifecycle.
|
||||
@@ -1,50 +0,0 @@
|
||||
---
|
||||
name: create-architecture
|
||||
description: Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.
|
||||
web_bundle: true
|
||||
---
|
||||
|
||||
# Architecture Workflow
|
||||
|
||||
**Goal:** Create comprehensive architecture decisions through collaborative step-by-step discovery that ensures AI agents implement consistently.
|
||||
|
||||
**Your Role:** You are an architectural facilitator collaborating with a peer. This is a partnership, not a client-vendor relationship. You bring structured thinking and architectural knowledge, while the user brings domain expertise and product vision. Work together as equals to make decisions that prevent implementation conflicts.
|
||||
|
||||
---
|
||||
|
||||
## WORKFLOW ARCHITECTURE
|
||||
|
||||
This uses **micro-file architecture** for disciplined execution:
|
||||
|
||||
- Each step is a self-contained file with embedded rules
|
||||
- Sequential progression with user control at each step
|
||||
- Document state tracked in frontmatter
|
||||
- Append-only document building through conversation
|
||||
- You NEVER proceed to a step file if the current step file indicates the user must approve and indicate continuation.
|
||||
|
||||
---
|
||||
|
||||
## INITIALIZATION
|
||||
|
||||
### Configuration Loading
|
||||
|
||||
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`
|
||||
- `communication_language`, `document_output_language`, `user_skill_level`
|
||||
- `date` as system-generated current datetime
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Paths
|
||||
|
||||
- `installed_path` = `{project-root}/_bmad/bmm/workflows/3-solutioning/architecture`
|
||||
- `template_path` = `{installed_path}/architecture-decision-template.md`
|
||||
- `data_files_path` = `{installed_path}/data/`
|
||||
|
||||
---
|
||||
|
||||
## EXECUTION
|
||||
|
||||
Load and execute `steps/step-01-init.md` to begin the workflow.
|
||||
|
||||
**Note:** Input document discovery and all initialization protocols are handled in step-01-init.md.
|
||||
@@ -1,259 +0,0 @@
|
||||
---
|
||||
name: 'step-01-validate-prerequisites'
|
||||
description: 'Validate required documents exist and extract all requirements for epic and story creation'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories'
|
||||
|
||||
# File References
|
||||
thisStepFile: './step-01-validate-prerequisites.md'
|
||||
nextStepFile: './step-02-design-epics.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{planning_artifacts}/epics.md'
|
||||
epicsTemplate: '{workflow_path}/templates/epics-template.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References
|
||||
epicsTemplate: '{workflow_path}/templates/epics-template.md'
|
||||
---
|
||||
|
||||
# Step 1: Validate Prerequisites and Extract Requirements
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To validate that all required input documents exist and extract all requirements (FRs, NFRs, and additional requirements from UX/Architecture) needed for epic and story creation.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a product strategist and technical specifications writer
|
||||
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring requirements extraction expertise
|
||||
- ✅ User brings their product vision and context
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on extracting and organizing requirements
|
||||
- 🚫 FORBIDDEN to start creating epics or stories in this step
|
||||
- 💬 Extract requirements from ALL available documents
|
||||
- 🚪 POPULATE the template sections exactly as needed
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Extract requirements systematically from all documents
|
||||
- 💾 Populate {outputFile} with extracted requirements
|
||||
- 📖 Update frontmatter with extraction progress
|
||||
- 🚫 FORBIDDEN to load next step until user selects 'C' and requirements are extracted
|
||||
|
||||
## REQUIREMENTS EXTRACTION PROCESS:
|
||||
|
||||
### 1. Welcome and Overview
|
||||
|
||||
Welcome {user_name} to comprehensive epic and story creation!
|
||||
|
||||
**CRITICAL PREREQUISITE VALIDATION:**
|
||||
|
||||
Verify required documents exist and are complete:
|
||||
|
||||
1. **PRD.md** - Contains requirements (FRs and NFRs) and product scope
|
||||
2. **Architecture.md** - Contains technical decisions, API contracts, data models
|
||||
3. **UX Design.md** (if UI exists) - Contains interaction patterns, mockups, user flows
|
||||
|
||||
### 2. Document Discovery and Validation
|
||||
|
||||
Search for required documents using these patterns (sharded means a large document was split into multiple small files with an index.md into a folder) - if the whole document is found, use that instead of the sharded version:
|
||||
|
||||
**PRD Document Search Priority:**
|
||||
|
||||
1. `{planning_artifacts}/*prd*.md` (whole document)
|
||||
2. `{planning_artifacts}/*prd*/index.md` (sharded version)
|
||||
|
||||
**Architecture Document Search Priority:**
|
||||
|
||||
1. `{planning_artifacts}/*architecture*.md` (whole document)
|
||||
2. `{planning_artifacts}/*architecture*/index.md` (sharded version)
|
||||
|
||||
**UX Design Document Search (Optional):**
|
||||
|
||||
1. `{planning_artifacts}/*ux*.md` (whole document)
|
||||
2. `{planning_artifacts}/*ux*/index.md` (sharded version)
|
||||
|
||||
Before proceeding, Ask the user if there are any other documents to include for analysis, and if anything found should be excluded. Wait for user confirmation. Once confirmed, create the {outputFile} from the {epicsTemplate} and in the front matter list the files in the array of `inputDocuments: []`.
|
||||
|
||||
### 3. Extract Functional Requirements (FRs)
|
||||
|
||||
From the PRD document (full or sharded), read then entire document and extract ALL functional requirements:
|
||||
|
||||
**Extraction Method:**
|
||||
|
||||
- Look for numbered items like "FR1:", "Functional Requirement 1:", or similar
|
||||
- Identify requirement statements that describe what the system must DO
|
||||
- Include user actions, system behaviors, and business rules
|
||||
|
||||
**Format the FR list as:**
|
||||
|
||||
```
|
||||
FR1: [Clear, testable requirement description]
|
||||
FR2: [Clear, testable requirement description]
|
||||
...
|
||||
```
|
||||
|
||||
### 4. Extract Non-Functional Requirements (NFRs)
|
||||
|
||||
From the PRD document, extract ALL non-functional requirements:
|
||||
|
||||
**Extraction Method:**
|
||||
|
||||
- Look for performance, security, usability, reliability requirements
|
||||
- Identify constraints and quality attributes
|
||||
- Include technical standards and compliance requirements
|
||||
|
||||
**Format the NFR list as:**
|
||||
|
||||
```
|
||||
NFR1: [Performance/Security/Usability requirement]
|
||||
NFR2: [Performance/Security/Usability requirement]
|
||||
...
|
||||
```
|
||||
|
||||
### 5. Extract Additional Requirements from Architecture
|
||||
|
||||
Review the Architecture document for technical requirements that impact epic and story creation:
|
||||
|
||||
**Look for:**
|
||||
|
||||
- **Starter Template**: Does Architecture specify a starter/greenfield template? If YES, document this for Epic 1 Story 1
|
||||
- Infrastructure and deployment requirements
|
||||
- Integration requirements with external systems
|
||||
- Data migration or setup requirements
|
||||
- Monitoring and logging requirements
|
||||
- API versioning or compatibility requirements
|
||||
- Security implementation requirements
|
||||
|
||||
**IMPORTANT**: If a starter template is mentioned in Architecture, note it prominently. This will impact Epic 1 Story 1.
|
||||
|
||||
**Format Additional Requirements as:**
|
||||
|
||||
```
|
||||
- [Technical requirement from Architecture that affects implementation]
|
||||
- [Infrastructure setup requirement]
|
||||
- [Integration requirement]
|
||||
...
|
||||
```
|
||||
|
||||
### 6. Extract Additional Requirements from UX (if exists)
|
||||
|
||||
Review the UX document for requirements that affect epic and story creation:
|
||||
|
||||
**Look for:**
|
||||
|
||||
- Responsive design requirements
|
||||
- Accessibility requirements
|
||||
- Browser/device compatibility
|
||||
- User interaction patterns that need implementation
|
||||
- Animation or transition requirements
|
||||
- Error handling UX requirements
|
||||
|
||||
**Add these to Additional Requirements list.**
|
||||
|
||||
### 7. Load and Initialize Template
|
||||
|
||||
Load {epicsTemplate} and initialize {outputFile}:
|
||||
|
||||
1. Copy the entire template to {outputFile}
|
||||
2. Replace {{project_name}} with the actual project name
|
||||
3. Replace placeholder sections with extracted requirements:
|
||||
- {{fr_list}} → extracted FRs
|
||||
- {{nfr_list}} → extracted NFRs
|
||||
- {{additional_requirements}} → extracted additional requirements
|
||||
4. Leave {{requirements_coverage_map}} and {{epics_list}} as placeholders for now
|
||||
|
||||
### 8. Present Extracted Requirements
|
||||
|
||||
Display to user:
|
||||
|
||||
**Functional Requirements Extracted:**
|
||||
|
||||
- Show count of FRs found
|
||||
- Display the first few FRs as examples
|
||||
- Ask if any FRs are missing or incorrectly captured
|
||||
|
||||
**Non-Functional Requirements Extracted:**
|
||||
|
||||
- Show count of NFRs found
|
||||
- Display key NFRs
|
||||
- Ask if any constraints were missed
|
||||
|
||||
**Additional Requirements:**
|
||||
|
||||
- Summarize technical requirements from Architecture
|
||||
- Summarize UX requirements (if applicable)
|
||||
- Verify completeness
|
||||
|
||||
### 9. Get User Confirmation
|
||||
|
||||
Ask: "Do these extracted requirements accurately represent what needs to be built? Any additions or corrections?"
|
||||
|
||||
Update the requirements based on user feedback until confirmation is received.
|
||||
|
||||
## CONTENT TO SAVE TO DOCUMENT:
|
||||
|
||||
After extraction and confirmation, update {outputFile} with:
|
||||
|
||||
- Complete FR list in {{fr_list}} section
|
||||
- Complete NFR list in {{nfr_list}} section
|
||||
- All additional requirements in {{additional_requirements}} section
|
||||
|
||||
### 10. Present MENU OPTIONS
|
||||
|
||||
Display: `**Confirm the Requirements are complete and correct to [C] continue:**`
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu option
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF C: Save all to {outputFile}, update frontmatter, only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#10-present-menu-options)
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and all requirements are saved to document and frontmatter is updated, will you then load, read entire file, then execute {nextStepFile} to execute and begin epic design step.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- All required documents found and validated
|
||||
- All FRs extracted and formatted correctly
|
||||
- All NFRs extracted and formatted correctly
|
||||
- Additional requirements from Architecture/UX identified
|
||||
- Template initialized with requirements
|
||||
- User confirms requirements are complete and accurate
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Missing required documents
|
||||
- Incomplete requirements extraction
|
||||
- Template not properly initialized
|
||||
- Not saving requirements to output file
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,233 +0,0 @@
|
||||
---
|
||||
name: 'step-02-design-epics'
|
||||
description: 'Design and approve the epics_list that will organize all requirements into user-value-focused epics'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories'
|
||||
|
||||
# File References
|
||||
thisStepFile: './step-02-design-epics.md'
|
||||
nextStepFile: './step-03-create-stories.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{planning_artifacts}/epics.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References
|
||||
epicsTemplate: '{workflow_path}/templates/epics-template.md'
|
||||
---
|
||||
|
||||
# Step 2: Design Epic List
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To design and get approval for the epics_list that will organize all requirements into user-value-focused epics.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a product strategist and technical specifications writer
|
||||
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring product strategy and epic design expertise
|
||||
- ✅ User brings their product vision and priorities
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on creating the epics_list
|
||||
- 🚫 FORBIDDEN to create individual stories in this step
|
||||
- 💬 Organize epics around user value, not technical layers
|
||||
- 🚪 GET explicit approval for the epics_list
|
||||
- 🔗 **CRITICAL: Each epic must be standalone and enable future epics without requiring future epics to function**
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Design epics collaboratively based on extracted requirements
|
||||
- 💾 Update {{epics_list}} in {outputFile}
|
||||
- 📖 Document the FR coverage mapping
|
||||
- 🚫 FORBIDDEN to load next step until user approves epics_list
|
||||
|
||||
## EPIC DESIGN PROCESS:
|
||||
|
||||
### 1. Review Extracted Requirements
|
||||
|
||||
Load {outputFile} and review:
|
||||
|
||||
- **Functional Requirements:** Count and review FRs from Step 1
|
||||
- **Non-Functional Requirements:** Review NFRs that need to be addressed
|
||||
- **Additional Requirements:** Review technical and UX requirements
|
||||
|
||||
### 2. Explain Epic Design Principles
|
||||
|
||||
**EPIC DESIGN PRINCIPLES:**
|
||||
|
||||
1. **User-Value First**: Each epic must enable users to accomplish something meaningful
|
||||
2. **Requirements Grouping**: Group related FRs that deliver cohesive user outcomes
|
||||
3. **Incremental Delivery**: Each epic should deliver value independently
|
||||
4. **Logical Flow**: Natural progression from user's perspective
|
||||
5. **🔗 Dependency-Free Within Epic**: Stories within an epic must NOT depend on future stories
|
||||
|
||||
**⚠️ CRITICAL PRINCIPLE:**
|
||||
Organize by USER VALUE, not technical layers:
|
||||
|
||||
**✅ CORRECT Epic Examples (Standalone & Enable Future Epics):**
|
||||
|
||||
- Epic 1: User Authentication & Profiles (users can register, login, manage profiles) - **Standalone: Complete auth system**
|
||||
- Epic 2: Content Creation (users can create, edit, publish content) - **Standalone: Uses auth, creates content**
|
||||
- Epic 3: Social Interaction (users can follow, comment, like content) - **Standalone: Uses auth + content**
|
||||
- Epic 4: Search & Discovery (users can find content and other users) - **Standalone: Uses all previous**
|
||||
|
||||
**❌ WRONG Epic Examples (Technical Layers or Dependencies):**
|
||||
|
||||
- Epic 1: Database Setup (creates all tables upfront) - **No user value**
|
||||
- Epic 2: API Development (builds all endpoints) - **No user value**
|
||||
- Epic 3: Frontend Components (creates reusable components) - **No user value**
|
||||
- Epic 4: Deployment Pipeline (CI/CD setup) - **No user value**
|
||||
|
||||
**🔗 DEPENDENCY RULES:**
|
||||
|
||||
- Each epic must deliver COMPLETE functionality for its domain
|
||||
- Epic 2 must not require Epic 3 to function
|
||||
- Epic 3 can build upon Epic 1 & 2 but must stand alone
|
||||
|
||||
### 3. Design Epic Structure Collaboratively
|
||||
|
||||
**Step A: Identify User Value Themes**
|
||||
|
||||
- Look for natural groupings in the FRs
|
||||
- Identify user journeys or workflows
|
||||
- Consider user types and their goals
|
||||
|
||||
**Step B: Propose Epic Structure**
|
||||
For each proposed epic:
|
||||
|
||||
1. **Epic Title**: User-centric, value-focused
|
||||
2. **User Outcome**: What users can accomplish after this epic
|
||||
3. **FR Coverage**: Which FR numbers this epic addresses
|
||||
4. **Implementation Notes**: Any technical or UX considerations
|
||||
|
||||
**Step C: Create the epics_list**
|
||||
|
||||
Format the epics_list as:
|
||||
|
||||
```
|
||||
## Epic List
|
||||
|
||||
### Epic 1: [Epic Title]
|
||||
[Epic goal statement - what users can accomplish]
|
||||
**FRs covered:** FR1, FR2, FR3, etc.
|
||||
|
||||
### Epic 2: [Epic Title]
|
||||
[Epic goal statement - what users can accomplish]
|
||||
**FRs covered:** FR4, FR5, FR6, etc.
|
||||
|
||||
[Continue for all epics]
|
||||
```
|
||||
|
||||
### 4. Present Epic List for Review
|
||||
|
||||
Display the complete epics_list to user with:
|
||||
|
||||
- Total number of epics
|
||||
- FR coverage per epic
|
||||
- User value delivered by each epic
|
||||
- Any natural dependencies
|
||||
|
||||
### 5. Create Requirements Coverage Map
|
||||
|
||||
Create {{requirements_coverage_map}} showing how each FR maps to an epic:
|
||||
|
||||
```
|
||||
### FR Coverage Map
|
||||
|
||||
FR1: Epic 1 - [Brief description]
|
||||
FR2: Epic 1 - [Brief description]
|
||||
FR3: Epic 2 - [Brief description]
|
||||
...
|
||||
```
|
||||
|
||||
This ensures no FRs are missed.
|
||||
|
||||
### 6. Collaborative Refinement
|
||||
|
||||
Ask user:
|
||||
|
||||
- "Does this epic structure align with your product vision?"
|
||||
- "Are all user outcomes properly captured?"
|
||||
- "Should we adjust any epic groupings?"
|
||||
- "Are there natural dependencies we've missed?"
|
||||
|
||||
### 7. Get Final Approval
|
||||
|
||||
**CRITICAL:** Must get explicit user approval:
|
||||
"Do you approve this epic structure for proceeding to story creation?"
|
||||
|
||||
If user wants changes:
|
||||
|
||||
- Make the requested adjustments
|
||||
- Update the epics_list
|
||||
- Re-present for approval
|
||||
- Repeat until approval is received
|
||||
|
||||
## CONTENT TO UPDATE IN DOCUMENT:
|
||||
|
||||
After approval, update {outputFile}:
|
||||
|
||||
1. Replace {{epics_list}} placeholder with the approved epic list
|
||||
2. Replace {{requirements_coverage_map}} with the coverage map
|
||||
3. Ensure all FRs are mapped to epics
|
||||
|
||||
### 8. Present MENU OPTIONS
|
||||
|
||||
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save approved epics_list to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#8-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution completes, redisplay the menu
|
||||
- User can chat or ask questions - always respond when conversation ends, redisplay the menu options
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN C is selected and the approved epics_list is saved to document, will you then load, read entire file, then execute {nextStepFile} to execute and begin story creation step.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Epics designed around user value
|
||||
- All FRs mapped to specific epics
|
||||
- epics_list created and formatted correctly
|
||||
- Requirements coverage map completed
|
||||
- User gives explicit approval for epic structure
|
||||
- Document updated with approved epics
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Epics organized by technical layers
|
||||
- Missing FRs in coverage map
|
||||
- No user approval obtained
|
||||
- epics_list not saved to document
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,272 +0,0 @@
|
||||
---
|
||||
name: 'step-03-create-stories'
|
||||
description: 'Generate all epics with their stories following the template structure'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories'
|
||||
|
||||
# File References
|
||||
thisStepFile: './step-03-create-stories.md'
|
||||
nextStepFile: './step-04-final-validation.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{planning_artifacts}/epics.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References
|
||||
epicsTemplate: '{workflow_path}/templates/epics-template.md'
|
||||
---
|
||||
|
||||
# Step 3: Generate Epics and Stories
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To generate all epics with their stories based on the approved epics_list, following the template structure exactly.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: Process epics sequentially
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a product strategist and technical specifications writer
|
||||
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring story creation and acceptance criteria expertise
|
||||
- ✅ User brings their implementation priorities and constraints
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Generate stories for each epic following the template exactly
|
||||
- 🚫 FORBIDDEN to deviate from template structure
|
||||
- 💬 Each story must have clear acceptance criteria
|
||||
- 🚪 ENSURE each story is completable by a single dev agent
|
||||
- 🔗 **CRITICAL: Stories MUST NOT depend on future stories within the same epic**
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Generate stories collaboratively with user input
|
||||
- 💾 Append epics and stories to {outputFile} following template
|
||||
- 📖 Process epics one at a time in sequence
|
||||
- 🚫 FORBIDDEN to skip any epic or rush through stories
|
||||
|
||||
## STORY GENERATION PROCESS:
|
||||
|
||||
### 1. Load Approved Epic Structure
|
||||
|
||||
Load {outputFile} and review:
|
||||
|
||||
- Approved epics_list from Step 2
|
||||
- FR coverage map
|
||||
- All requirements (FRs, NFRs, additional)
|
||||
- Template structure at the end of the document
|
||||
|
||||
### 2. Explain Story Creation Approach
|
||||
|
||||
**STORY CREATION GUIDELINES:**
|
||||
|
||||
For each epic, create stories that:
|
||||
|
||||
- Follow the exact template structure
|
||||
- Are sized for single dev agent completion
|
||||
- Have clear user value
|
||||
- Include specific acceptance criteria
|
||||
- Reference requirements being fulfilled
|
||||
|
||||
**🚨 DATABASE/ENTITY CREATION PRINCIPLE:**
|
||||
Create tables/entities ONLY when needed by the story:
|
||||
|
||||
- ❌ WRONG: Epic 1 Story 1 creates all 50 database tables
|
||||
- ✅ RIGHT: Each story creates/alters ONLY the tables it needs
|
||||
|
||||
**🔗 STORY DEPENDENCY PRINCIPLE:**
|
||||
Stories must be independently completable in sequence:
|
||||
|
||||
- ❌ WRONG: Story 1.2 requires Story 1.3 to be completed first
|
||||
- ✅ RIGHT: Each story can be completed based only on previous stories
|
||||
- ❌ WRONG: "Wait for Story 1.4 to be implemented before this works"
|
||||
- ✅ RIGHT: "This story works independently and enables future stories"
|
||||
|
||||
**STORY FORMAT (from template):**
|
||||
|
||||
```
|
||||
### Story {N}.{M}: {story_title}
|
||||
|
||||
As a {user_type},
|
||||
I want {capability},
|
||||
So that {value_benefit}.
|
||||
|
||||
**Acceptance Criteria:**
|
||||
|
||||
**Given** {precondition}
|
||||
**When** {action}
|
||||
**Then** {expected_outcome}
|
||||
**And** {additional_criteria}
|
||||
```
|
||||
|
||||
**✅ GOOD STORY EXAMPLES:**
|
||||
|
||||
_Epic 1: User Authentication_
|
||||
|
||||
- Story 1.1: User Registration with Email
|
||||
- Story 1.2: User Login with Password
|
||||
- Story 1.3: Password Reset via Email
|
||||
|
||||
_Epic 2: Content Creation_
|
||||
|
||||
- Story 2.1: Create New Blog Post
|
||||
- Story 2.2: Edit Existing Blog Post
|
||||
- Story 2.3: Publish Blog Post
|
||||
|
||||
**❌ BAD STORY EXAMPLES:**
|
||||
|
||||
- Story: "Set up database" (no user value)
|
||||
- Story: "Create all models" (too large, no user value)
|
||||
- Story: "Build authentication system" (too large)
|
||||
- Story: "Login UI (depends on Story 1.3 API endpoint)" (future dependency!)
|
||||
- Story: "Edit post (requires Story 1.4 to be implemented first)" (wrong order!)
|
||||
|
||||
### 3. Process Epics Sequentially
|
||||
|
||||
For each epic in the approved epics_list:
|
||||
|
||||
#### A. Epic Overview
|
||||
|
||||
Display:
|
||||
|
||||
- Epic number and title
|
||||
- Epic goal statement
|
||||
- FRs covered by this epic
|
||||
- Any NFRs or additional requirements relevant
|
||||
|
||||
#### B. Story Breakdown
|
||||
|
||||
Work with user to break down the epic into stories:
|
||||
|
||||
- Identify distinct user capabilities
|
||||
- Ensure logical flow within the epic
|
||||
- Size stories appropriately
|
||||
|
||||
#### C. Generate Each Story
|
||||
|
||||
For each story in the epic:
|
||||
|
||||
1. **Story Title**: Clear, action-oriented
|
||||
2. **User Story**: Complete the As a/I want/So that format
|
||||
3. **Acceptance Criteria**: Write specific, testable criteria
|
||||
|
||||
**AC Writing Guidelines:**
|
||||
|
||||
- Use Given/When/Then format
|
||||
- Each AC should be independently testable
|
||||
- Include edge cases and error conditions
|
||||
- Reference specific requirements when applicable
|
||||
|
||||
#### D. Collaborative Review
|
||||
|
||||
After writing each story:
|
||||
|
||||
- Present the story to user
|
||||
- Ask: "Does this story capture the requirement correctly?"
|
||||
- "Is the scope appropriate for a single dev session?"
|
||||
- "Are the acceptance criteria complete and testable?"
|
||||
|
||||
#### E. Append to Document
|
||||
|
||||
When story is approved:
|
||||
|
||||
- Append it to {outputFile} following template structure
|
||||
- Use correct numbering (Epic N, Story M)
|
||||
- Maintain proper markdown formatting
|
||||
|
||||
### 4. Epic Completion
|
||||
|
||||
After all stories for an epic are complete:
|
||||
|
||||
- Display epic summary
|
||||
- Show count of stories created
|
||||
- Verify all FRs for the epic are covered
|
||||
- Get user confirmation to proceed to next epic
|
||||
|
||||
### 5. Repeat for All Epics
|
||||
|
||||
Continue the process for each epic in the approved list, processing them in order (Epic 1, Epic 2, etc.).
|
||||
|
||||
### 6. Final Document Completion
|
||||
|
||||
After all epics and stories are generated:
|
||||
|
||||
- Verify the document follows template structure exactly
|
||||
- Ensure all placeholders are replaced
|
||||
- Confirm all FRs are covered
|
||||
- Check formatting consistency
|
||||
|
||||
## TEMPLATE STRUCTURE COMPLIANCE:
|
||||
|
||||
The final {outputFile} must follow this structure exactly:
|
||||
|
||||
1. **Overview** section with project name
|
||||
2. **Requirements Inventory** with all three subsections populated
|
||||
3. **FR Coverage Map** showing requirement to epic mapping
|
||||
4. **Epic List** with approved epic structure
|
||||
5. **Epic sections** for each epic (N = 1, 2, 3...)
|
||||
- Epic title and goal
|
||||
- All stories for that epic (M = 1, 2, 3...)
|
||||
- Story title and user story
|
||||
- Acceptance Criteria using Given/When/Then format
|
||||
|
||||
### 7. Present FINAL MENU OPTIONS
|
||||
|
||||
After all epics and stories are complete:
|
||||
|
||||
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-final-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [all epics and stories saved to document following the template structure exactly], will you then load and read fully `{nextStepFile}` to execute and begin final validation phase.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- All epics processed in sequence
|
||||
- Stories created for each epic
|
||||
- Template structure followed exactly
|
||||
- All FRs covered by stories
|
||||
- Stories appropriately sized
|
||||
- Acceptance criteria are specific and testable
|
||||
- Document is complete and ready for development
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Deviating from template structure
|
||||
- Missing epics or stories
|
||||
- Stories too large or unclear
|
||||
- Missing acceptance criteria
|
||||
- Not following proper formatting
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,145 +0,0 @@
|
||||
---
|
||||
name: 'step-04-final-validation'
|
||||
description: 'Validate complete coverage of all requirements and ensure implementation readiness'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories'
|
||||
|
||||
# File References
|
||||
thisStepFile: './step-04-final-validation.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{planning_artifacts}/epics.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References
|
||||
epicsTemplate: '{workflow_path}/templates/epics-template.md'
|
||||
---
|
||||
|
||||
# Step 4: Final Validation
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
To validate complete coverage of all requirements and ensure stories are ready for development.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: Process validation sequentially without skipping
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a product strategist and technical specifications writer
|
||||
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring validation expertise and quality assurance
|
||||
- ✅ User brings their implementation priorities and final review
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on validating complete requirements coverage
|
||||
- 🚫 FORBIDDEN to skip any validation checks
|
||||
- 💬 Validate FR coverage, story completeness, and dependencies
|
||||
- 🚪 ENSURE all stories are ready for development
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Validate every requirement has story coverage
|
||||
- 💾 Check story dependencies and flow
|
||||
- 📖 Verify architecture compliance
|
||||
- 🚫 FORBIDDEN to approve incomplete coverage
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Complete epic and story breakdown from previous steps
|
||||
- Focus: Final validation of requirements coverage and story readiness
|
||||
- Limits: Validation only, no new content creation
|
||||
- Dependencies: Completed story generation from Step 3
|
||||
|
||||
## VALIDATION PROCESS:
|
||||
|
||||
### 1. FR Coverage Validation
|
||||
|
||||
Review the complete epic and story breakdown to ensure EVERY FR is covered:
|
||||
|
||||
**CRITICAL CHECK:**
|
||||
|
||||
- Go through each FR from the Requirements Inventory
|
||||
- Verify it appears in at least one story
|
||||
- Check that acceptance criteria fully address the FR
|
||||
- No FRs should be left uncovered
|
||||
|
||||
### 2. Architecture Implementation Validation
|
||||
|
||||
**Check for Starter Template Setup:**
|
||||
|
||||
- Does Architecture document specify a starter template?
|
||||
- If YES: Epic 1 Story 1 must be "Set up initial project from starter template"
|
||||
- This includes cloning, installing dependencies, initial configuration
|
||||
|
||||
**Database/Entity Creation Validation:**
|
||||
|
||||
- Are database tables/entities created ONLY when needed by stories?
|
||||
- ❌ WRONG: Epic 1 creates all tables upfront
|
||||
- ✅ RIGHT: Tables created as part of the first story that needs them
|
||||
- Each story should create/modify ONLY what it needs
|
||||
|
||||
### 3. Story Quality Validation
|
||||
|
||||
**Each story must:**
|
||||
|
||||
- Be completable by a single dev agent
|
||||
- Have clear acceptance criteria
|
||||
- Reference specific FRs it implements
|
||||
- Include necessary technical details
|
||||
- **Not have forward dependencies** (can only depend on PREVIOUS stories)
|
||||
- Be implementable without waiting for future stories
|
||||
|
||||
### 4. Epic Structure Validation
|
||||
|
||||
**Check that:**
|
||||
|
||||
- Epics deliver user value, not technical milestones
|
||||
- Dependencies flow naturally
|
||||
- Foundation stories only setup what's needed
|
||||
- No big upfront technical work
|
||||
|
||||
### 5. Dependency Validation (CRITICAL)
|
||||
|
||||
**Epic Independence Check:**
|
||||
|
||||
- Does each epic deliver COMPLETE functionality for its domain?
|
||||
- Can Epic 2 function without Epic 3 being implemented?
|
||||
- Can Epic 3 function standalone using Epic 1 & 2 outputs?
|
||||
- ❌ WRONG: Epic 2 requires Epic 3 features to work
|
||||
- ✅ RIGHT: Each epic is independently valuable
|
||||
|
||||
**Within-Epic Story Dependency Check:**
|
||||
For each epic, review stories in order:
|
||||
|
||||
- Can Story N.1 be completed without Stories N.2, N.3, etc.?
|
||||
- Can Story N.2 be completed using only Story N.1 output?
|
||||
- Can Story N.3 be completed using only Stories N.1 & N.2 outputs?
|
||||
- ❌ WRONG: "This story depends on a future story"
|
||||
- ❌ WRONG: Story references features not yet implemented
|
||||
- ✅ RIGHT: Each story builds only on previous stories
|
||||
|
||||
### 6. Complete and Save
|
||||
|
||||
If all validations pass:
|
||||
|
||||
- Update any remaining placeholders in the document
|
||||
- Ensure proper formatting
|
||||
- Save the final epics.md
|
||||
|
||||
**Present Final Menu:**
|
||||
**All validations complete!** [C] Complete Workflow
|
||||
|
||||
When C is selected, the workflow is complete and the epics.md is ready for development.
|
||||
@@ -1,57 +0,0 @@
|
||||
---
|
||||
stepsCompleted: []
|
||||
inputDocuments: []
|
||||
---
|
||||
|
||||
# {{project_name}} - Epic Breakdown
|
||||
|
||||
## Overview
|
||||
|
||||
This document provides the complete epic and story breakdown for {{project_name}}, decomposing the requirements from the PRD, UX Design if it exists, and Architecture requirements into implementable stories.
|
||||
|
||||
## Requirements Inventory
|
||||
|
||||
### Functional Requirements
|
||||
|
||||
{{fr_list}}
|
||||
|
||||
### NonFunctional Requirements
|
||||
|
||||
{{nfr_list}}
|
||||
|
||||
### Additional Requirements
|
||||
|
||||
{{additional_requirements}}
|
||||
|
||||
### FR Coverage Map
|
||||
|
||||
{{requirements_coverage_map}}
|
||||
|
||||
## Epic List
|
||||
|
||||
{{epics_list}}
|
||||
|
||||
<!-- Repeat for each epic in epics_list (N = 1, 2, 3...) -->
|
||||
|
||||
## Epic {{N}}: {{epic_title_N}}
|
||||
|
||||
{{epic_goal_N}}
|
||||
|
||||
<!-- 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:**
|
||||
|
||||
<!-- for each AC on this story -->
|
||||
|
||||
**Given** {{precondition}}
|
||||
**When** {{action}}
|
||||
**Then** {{expected_outcome}}
|
||||
**And** {{additional_criteria}}
|
||||
|
||||
<!-- End story repeat -->
|
||||
@@ -1,59 +0,0 @@
|
||||
---
|
||||
name: create-epics-and-stories
|
||||
description: 'Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value. This workflow requires completed PRD + Architecture documents (UX recommended if UI exists) and breaks down requirements into implementation-ready epics and user stories that incorporate all available technical and design context. Creates detailed, actionable stories with complete acceptance criteria for development teams.'
|
||||
web_bundle: true
|
||||
---
|
||||
|
||||
# Create Epics and Stories
|
||||
|
||||
**Goal:** Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value, creating detailed, actionable stories with complete acceptance criteria for development teams.
|
||||
|
||||
**Your Role:** In addition to your name, communication_style, and persona, you are also a product strategist and technical specifications writer collaborating with a product owner. This is a partnership, not a client-vendor relationship. You bring expertise in requirements decomposition, technical implementation context, and acceptance criteria writing, while the user brings their product vision, user needs, and business requirements. Work together as equals.
|
||||
|
||||
---
|
||||
|
||||
## WORKFLOW ARCHITECTURE
|
||||
|
||||
This uses **step-file architecture** for disciplined execution:
|
||||
|
||||
### Core Principles
|
||||
|
||||
- **Micro-file Design**: Each step of the overall goal is a self contained instruction file that you will adhere too 1 file as directed at a time
|
||||
- **Just-In-Time Loading**: Only 1 current step file will be loaded, read, and executed to completion - never load future step files until told to do so
|
||||
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
||||
- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
|
||||
- **Append-Only Building**: Build documents by appending content as directed to the output file
|
||||
|
||||
### Step Processing Rules
|
||||
|
||||
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
||||
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
||||
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
||||
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
||||
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
|
||||
6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
||||
|
||||
### Critical Rules (NO EXCEPTIONS)
|
||||
|
||||
- 🛑 **NEVER** load multiple step files simultaneously
|
||||
- 📖 **ALWAYS** read entire step file before execution
|
||||
- 🚫 **NEVER** skip steps or optimize the sequence
|
||||
- 💾 **ALWAYS** update frontmatter of output files when writing the final output for a specific step
|
||||
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
||||
- ⏸️ **ALWAYS** halt at menus and wait for user input
|
||||
- 📋 **NEVER** create mental todo lists from future steps
|
||||
|
||||
---
|
||||
|
||||
## INITIALIZATION SEQUENCE
|
||||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### 2. First Step EXECUTION
|
||||
|
||||
Load, read the full file and then execute `{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md` to begin the workflow.
|
||||
Reference in New Issue
Block a user