2025-11-29 01:48:13 -06:00
|
|
|
# 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
|
|
|
|
|
|
|
|
|
|
## 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:
|
|
|
|
|
|
2025-12-23 22:29:51 +08:00
|
|
|
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
|
|
|
|
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
2025-11-29 01:48:13 -06:00
|
|
|
- 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):
|
|
|
|
|
|
2025-12-23 22:29:51 +08:00
|
|
|
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current context analysis
|
2025-11-29 01:48:13 -06:00
|
|
|
- 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):
|
|
|
|
|
|
2025-12-23 22:29:51 +08:00
|
|
|
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project context
|
2025-11-29 01:48:13 -06:00
|
|
|
- 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 `{output_folder}/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!
|