fix: build web bundles with new file extension includsion
This commit is contained in:
@@ -6,9 +6,9 @@ agents:
|
|||||||
- bmad-orchestrator
|
- bmad-orchestrator
|
||||||
- '*'
|
- '*'
|
||||||
workflows:
|
workflows:
|
||||||
- brownfield-fullstack
|
- brownfield-fullstack.yaml
|
||||||
- brownfield-service
|
- brownfield-service.yaml
|
||||||
- brownfield-ui
|
- brownfield-ui.yaml
|
||||||
- greenfield-fullstack
|
- greenfield-fullstack.yaml
|
||||||
- greenfield-service
|
- greenfield-service.yaml
|
||||||
- greenfield-ui
|
- greenfield-ui.yaml
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ agents:
|
|||||||
- architect
|
- architect
|
||||||
- po
|
- po
|
||||||
workflows:
|
workflows:
|
||||||
- brownfield-fullstack
|
- brownfield-fullstack.yaml
|
||||||
- brownfield-service
|
- brownfield-service.yaml
|
||||||
- brownfield-ui
|
- brownfield-ui.yaml
|
||||||
- greenfield-fullstack
|
- greenfield-fullstack.yaml
|
||||||
- greenfield-service
|
- greenfield-service.yaml
|
||||||
- greenfield-ui
|
- greenfield-ui.yaml
|
||||||
|
|||||||
@@ -9,5 +9,5 @@ agents:
|
|||||||
- architect
|
- architect
|
||||||
- po
|
- po
|
||||||
workflows:
|
workflows:
|
||||||
- greenfield-service
|
- greenfield-service.yaml
|
||||||
- brownfield-service
|
- brownfield-service.yaml
|
||||||
|
|||||||
@@ -51,16 +51,16 @@ commands:
|
|||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- facilitate-brainstorming-session.md
|
- facilitate-brainstorming-session.md
|
||||||
- create-deep-research-prompt
|
- create-deep-research-prompt.md
|
||||||
- create-doc
|
- create-doc.md
|
||||||
- advanced-elicitation
|
- advanced-elicitation.md
|
||||||
- document-project
|
- document-project.md
|
||||||
templates:
|
templates:
|
||||||
- project-brief-tmpl.yaml
|
- project-brief-tmpl.yaml
|
||||||
- market-research-tmpl.yaml
|
- market-research-tmpl.yaml
|
||||||
- competitor-analysis-tmpl.yaml
|
- competitor-analysis-tmpl.yaml
|
||||||
- brainstorming-output-tmpl.yaml
|
- brainstorming-output-tmpl.yaml
|
||||||
data:
|
data:
|
||||||
- bmad-kb
|
- bmad-kb.md
|
||||||
- brainstorming-techniques
|
- brainstorming-techniques.md
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -50,8 +50,8 @@ develop-story:
|
|||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
- validate-next-story
|
- validate-next-story.md
|
||||||
checklists:
|
checklists:
|
||||||
- story-dod-checklist
|
- story-dod-checklist.md
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -43,14 +43,12 @@ commands:
|
|||||||
- exit: Say goodbye as the UX Expert, and then abandon inhabiting this persona
|
- exit: Say goodbye as the UX Expert, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- generate-ai-frontend-prompt
|
- generate-ai-frontend-prompt.md
|
||||||
- create-deep-research-prompt
|
- create-deep-research-prompt.md
|
||||||
- create-doc
|
- create-doc.md
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
templates:
|
templates:
|
||||||
- front-end-spec-tmpl
|
- front-end-spec-tmpl.yaml
|
||||||
data:
|
data:
|
||||||
- technical-preferences
|
- technical-preferences.md
|
||||||
utils:
|
|
||||||
- template-format
|
|
||||||
```
|
```
|
||||||
|
|||||||
1777
dist/agents/analyst.txt
vendored
1777
dist/agents/analyst.txt
vendored
File diff suppressed because it is too large
Load Diff
3004
dist/agents/architect.txt
vendored
3004
dist/agents/architect.txt
vendored
File diff suppressed because it is too large
Load Diff
5826
dist/agents/bmad-master.txt
vendored
5826
dist/agents/bmad-master.txt
vendored
File diff suppressed because it is too large
Load Diff
298
dist/agents/bmad-orchestrator.txt
vendored
298
dist/agents/bmad-orchestrator.txt
vendored
@@ -45,6 +45,15 @@ These references map directly to bundle sections:
|
|||||||
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
activation-instructions:
|
||||||
|
- Mention *help shows all available commands and options
|
||||||
|
- Check for active workflow plan using .bmad-core/utils/plan-management.md
|
||||||
|
- 'If plan exists: Show 📋 Active plan: {workflow} ({progress}% complete). Use *plan-status for details.'
|
||||||
|
- 'If plan exists: Suggest next action based on plan progress'
|
||||||
|
- Assess user goal against available agents and workflows in this bundle
|
||||||
|
- If clear match to an agent's expertise, suggest transformation with *agent command
|
||||||
|
- If project-oriented, suggest *workflow-guidance to explore options
|
||||||
|
- Load resources only when needed - never pre-load
|
||||||
agent:
|
agent:
|
||||||
name: BMad Orchestrator
|
name: BMad Orchestrator
|
||||||
id: bmad-orchestrator
|
id: bmad-orchestrator
|
||||||
@@ -66,17 +75,6 @@ persona:
|
|||||||
- Always use numbered lists for choices
|
- Always use numbered lists for choices
|
||||||
- Process commands starting with * immediately
|
- Process commands starting with * immediately
|
||||||
- Always remind users that commands require * prefix
|
- Always remind users that commands require * prefix
|
||||||
startup:
|
|
||||||
- Announce: Introduce yourself as the BMad Orchestrator, explain you can coordinate agents and workflows
|
|
||||||
- IMPORTANT: Tell users that all commands start with * (e.g., *help, *agent, *workflow)
|
|
||||||
- Mention *help shows all available commands and options
|
|
||||||
- Check for active workflow plan using .bmad-core/utils/plan-management.md
|
|
||||||
- 'If plan exists: Show 📋 Active plan: {workflow} ({progress}% complete). Use *plan-status for details.'
|
|
||||||
- 'If plan exists: Suggest next action based on plan progress'
|
|
||||||
- Assess user goal against available agents and workflows in this bundle
|
|
||||||
- If clear match to an agent's expertise, suggest transformation with *agent command
|
|
||||||
- If project-oriented, suggest *workflow-guidance to explore options
|
|
||||||
- Load resources only when needed - never pre-load
|
|
||||||
commands:
|
commands:
|
||||||
help: Show this guide with available agents and workflows
|
help: Show this guide with available agents and workflows
|
||||||
chat-mode: Start conversational mode for detailed assistance
|
chat-mode: Start conversational mode for detailed assistance
|
||||||
@@ -164,17 +162,18 @@ workflow-guidance:
|
|||||||
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- advanced-elicitation
|
- advanced-elicitation.md
|
||||||
- create-doc
|
- create-doc.md
|
||||||
- create-workflow-plan
|
- create-workflow-plan.md
|
||||||
- kb-mode-interaction
|
- kb-mode-interaction.md
|
||||||
- update-workflow-plan
|
- update-workflow-plan.md
|
||||||
data:
|
data:
|
||||||
- bmad-kb
|
- bmad-kb.md
|
||||||
|
- elicitation-methods.md
|
||||||
utils:
|
utils:
|
||||||
- plan-management
|
- plan-management.md
|
||||||
- workflow-management
|
- workflow-management.md
|
||||||
- template-format
|
- template-format.md
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/bmad-orchestrator.md ====================
|
==================== END: .bmad-core/agents/bmad-orchestrator.md ====================
|
||||||
|
|
||||||
@@ -299,97 +298,85 @@ Choose a number (0-8) or 9 to proceed:
|
|||||||
==================== END: .bmad-core/tasks/advanced-elicitation.md ====================
|
==================== END: .bmad-core/tasks/advanced-elicitation.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/create-doc.md ====================
|
==================== START: .bmad-core/tasks/create-doc.md ====================
|
||||||
# Create Document from Template Task
|
# Create Document from Template (YAML Driven)
|
||||||
|
|
||||||
## Purpose
|
## CRITICAL: Mandatory Elicitation Format
|
||||||
|
|
||||||
Generate documents from templates by EXECUTING (not just reading) embedded instructions from the perspective of the selected agent persona.
|
**When `elicit: true`, ALWAYS use this exact format:**
|
||||||
|
|
||||||
## CRITICAL RULES
|
1. Present section content
|
||||||
|
2. Provide detailed rationale (explain trade-offs, assumptions, decisions made)
|
||||||
|
3. Present numbered options 1-9:
|
||||||
|
- **Option 1:** Always "Proceed to next section"
|
||||||
|
- **Options 2-9:** Select 8 methods from data/elicitation-methods
|
||||||
|
- End with: "Select 1-9 or just type your question/feedback:"
|
||||||
|
|
||||||
1. **Templates are PROGRAMS** - Execute every [[LLM:]] instruction exactly as written
|
**NEVER ask yes/no questions or use any other format.**
|
||||||
2. **NEVER show markup** - Hide all [[LLM:]], {{placeholders}}, @{examples}, and template syntax
|
|
||||||
3. **STOP and EXECUTE** - When you see "apply tasks#" or "execute tasks#", STOP and run that task immediately
|
|
||||||
4. **WAIT for user input** - At review points and after elicitation tasks
|
|
||||||
|
|
||||||
## Execution Flow
|
## Processing Flow
|
||||||
|
|
||||||
### 0. Check Workflow Plan (if configured)
|
1. **Parse YAML template** - Load template metadata and sections
|
||||||
|
2. **Set preferences** - Show current mode (Interactive), confirm output file
|
||||||
|
3. **Process each section:**
|
||||||
|
- Skip if condition unmet
|
||||||
|
- Check agent permissions (owner/editors) - note if section is restricted to specific agents
|
||||||
|
- Draft content using section instruction
|
||||||
|
- Present content + detailed rationale
|
||||||
|
- **IF elicit: true** → MANDATORY 1-9 options format
|
||||||
|
- Save to file if possible
|
||||||
|
4. **Continue until complete**
|
||||||
|
|
||||||
[[LLM: Check if plan tracking is enabled in core-config.yaml]]
|
## Detailed Rationale Requirements
|
||||||
|
|
||||||
- If `workflow.trackProgress: true`, check for active plan using .bmad-core/utils/plan-management.md
|
When presenting section content, ALWAYS include rationale that explains:
|
||||||
- If plan exists and this document creation is part of the plan:
|
|
||||||
- Verify this is the expected next step
|
|
||||||
- If out of sequence and `enforceSequence: true`, warn user and halt without user override
|
|
||||||
- If out of sequence and `enforceSequence: false`, ask for confirmation
|
|
||||||
- Continue with normal execution after plan check
|
|
||||||
|
|
||||||
### 1. Identify Template
|
- Trade-offs and choices made (what was chosen over alternatives and why)
|
||||||
|
- Key assumptions made during drafting
|
||||||
|
- Interesting or questionable decisions that need user attention
|
||||||
|
- Areas that might need validation
|
||||||
|
|
||||||
- Load from `.bmad-core/templates/*.md` or `.bmad-core/templates directory`
|
## Elicitation Results Flow
|
||||||
- Agent-specific templates are listed in agent's dependencies
|
|
||||||
- If agent has `templates: [prd-tmpl, architecture-tmpl]` for example, then offer to create "PRD" and "Architecture" documents
|
|
||||||
|
|
||||||
### 2. Ask Interaction Mode
|
After user selects elicitation method (2-9):
|
||||||
|
|
||||||
> 1. **Incremental** - Section by section with reviews
|
1. Execute method from data/elicitation-methods
|
||||||
> 2. **YOLO Mode** - Complete draft then review (user can type `/yolo` anytime to switch)
|
2. Present results with insights
|
||||||
|
3. Offer options:
|
||||||
|
- **1. Apply changes and update section**
|
||||||
|
- **2. Return to elicitation menu**
|
||||||
|
- **3. Ask any questions or engage further with this elicitation**
|
||||||
|
|
||||||
### 3. Execute Template
|
## Agent Permissions
|
||||||
|
|
||||||
- Replace {{placeholders}} with real content
|
When processing sections with agent permission fields:
|
||||||
- Execute [[LLM:]] instructions as you encounter them
|
|
||||||
- Process <<REPEAT>> loops and ^^CONDITIONS^^
|
|
||||||
- Use @{examples} for guidance but never output them
|
|
||||||
|
|
||||||
### 4. Key Execution Patterns
|
- **owner**: Note which agent role initially creates/populates the section
|
||||||
|
- **editors**: List agent roles allowed to modify the section
|
||||||
|
- **readonly**: Mark sections that cannot be modified after creation
|
||||||
|
|
||||||
**When you see:** `[[LLM: Draft X and immediately execute .bmad-core/tasks/advanced-elicitation.md]]`
|
**For sections with restricted access:**
|
||||||
|
|
||||||
- Draft the content
|
- Include a note in the generated document indicating the responsible agent
|
||||||
- Present it to user
|
- Example: "_(This section is owned by dev-agent and can only be modified by dev-agent)_"
|
||||||
- IMMEDIATELY execute the task
|
|
||||||
- Wait for completion before continuing
|
|
||||||
|
|
||||||
**When you see:** `[[LLM: After section completion, apply .bmad-core/tasks/Y.md]]`
|
## YOLO Mode
|
||||||
|
|
||||||
- Finish the section
|
User can type `#yolo` to toggle to YOLO mode (process all sections at once).
|
||||||
- STOP and execute the task
|
|
||||||
- Wait for user input
|
|
||||||
|
|
||||||
### 5. Validation & Final Presentation
|
## CRITICAL REMINDERS
|
||||||
|
|
||||||
- Run any specified checklists
|
**❌ NEVER:**
|
||||||
- Present clean, formatted content only
|
|
||||||
- No truncation or summarization
|
|
||||||
- Begin directly with content (no preamble)
|
|
||||||
- Include any handoff prompts from template
|
|
||||||
|
|
||||||
### 6. Update Workflow Plan (if applicable)
|
- Ask yes/no questions for elicitation
|
||||||
|
- Use any format other than 1-9 numbered options
|
||||||
|
- Create new elicitation methods
|
||||||
|
|
||||||
[[LLM: After successful document creation]]
|
**✅ ALWAYS:**
|
||||||
|
|
||||||
- If plan tracking is enabled and document was part of plan:
|
- Use exact 1-9 format when elicit: true
|
||||||
- Call update-workflow-plan task to mark step complete
|
- Select options 2-9 from data/elicitation-methods only
|
||||||
- Parameters: task: create-doc, step_id: {from plan}, status: complete
|
- Provide detailed rationale explaining decisions
|
||||||
- Show next recommended step from plan
|
- End with "Select 1-9 or just type your question/feedback:"
|
||||||
|
|
||||||
## Common Mistakes to Avoid
|
|
||||||
|
|
||||||
❌ Skipping elicitation tasks
|
|
||||||
❌ Showing template markup to users
|
|
||||||
❌ Continuing past STOP signals
|
|
||||||
❌ Combining multiple review points
|
|
||||||
|
|
||||||
✅ Execute ALL instructions in sequence
|
|
||||||
✅ Present only clean, formatted content
|
|
||||||
✅ Stop at every elicitation point
|
|
||||||
✅ Wait for user confirmation when instructed
|
|
||||||
|
|
||||||
## Remember
|
|
||||||
|
|
||||||
Templates contain precise instructions for a reason. Follow them exactly to ensure document quality and completeness.
|
|
||||||
==================== END: .bmad-core/tasks/create-doc.md ====================
|
==================== END: .bmad-core/tasks/create-doc.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/create-workflow-plan.md ====================
|
==================== START: .bmad-core/tasks/create-workflow-plan.md ====================
|
||||||
@@ -1821,6 +1808,143 @@ Use the **expansion-creator** pack to build your own:
|
|||||||
- **Contributing**: See `CONTRIBUTING.md` for full guidelines
|
- **Contributing**: See `CONTRIBUTING.md` for full guidelines
|
||||||
==================== END: .bmad-core/data/bmad-kb.md ====================
|
==================== END: .bmad-core/data/bmad-kb.md ====================
|
||||||
|
|
||||||
|
==================== START: .bmad-core/data/elicitation-methods.md ====================
|
||||||
|
# Elicitation Methods Data
|
||||||
|
|
||||||
|
## Core Reflective Methods
|
||||||
|
|
||||||
|
**Expand or Contract for Audience**
|
||||||
|
- Ask whether to 'expand' (add detail, elaborate) or 'contract' (simplify, clarify)
|
||||||
|
- Identify specific target audience if relevant
|
||||||
|
- Tailor content complexity and depth accordingly
|
||||||
|
|
||||||
|
**Explain Reasoning (CoT Step-by-Step)**
|
||||||
|
- Walk through the step-by-step thinking process
|
||||||
|
- Reveal underlying assumptions and decision points
|
||||||
|
- Show how conclusions were reached from current role's perspective
|
||||||
|
|
||||||
|
**Critique and Refine**
|
||||||
|
- Review output for flaws, inconsistencies, or improvement areas
|
||||||
|
- Identify specific weaknesses from role's expertise
|
||||||
|
- Suggest refined version reflecting domain knowledge
|
||||||
|
|
||||||
|
## Structural Analysis Methods
|
||||||
|
|
||||||
|
**Analyze Logical Flow and Dependencies**
|
||||||
|
- Examine content structure for logical progression
|
||||||
|
- Check internal consistency and coherence
|
||||||
|
- Identify and validate dependencies between elements
|
||||||
|
- Confirm effective ordering and sequencing
|
||||||
|
|
||||||
|
**Assess Alignment with Overall Goals**
|
||||||
|
- Evaluate content contribution to stated objectives
|
||||||
|
- Identify any misalignments or gaps
|
||||||
|
- Interpret alignment from specific role's perspective
|
||||||
|
- Suggest adjustments to better serve goals
|
||||||
|
|
||||||
|
## Risk and Challenge Methods
|
||||||
|
|
||||||
|
**Identify Potential Risks and Unforeseen Issues**
|
||||||
|
- Brainstorm potential risks from role's expertise
|
||||||
|
- Identify overlooked edge cases or scenarios
|
||||||
|
- Anticipate unintended consequences
|
||||||
|
- Highlight implementation challenges
|
||||||
|
|
||||||
|
**Challenge from Critical Perspective**
|
||||||
|
- Adopt critical stance on current content
|
||||||
|
- Play devil's advocate from specified viewpoint
|
||||||
|
- Argue against proposal highlighting weaknesses
|
||||||
|
- Apply YAGNI principles when appropriate (scope trimming)
|
||||||
|
|
||||||
|
## Creative Exploration Methods
|
||||||
|
|
||||||
|
**Tree of Thoughts Deep Dive**
|
||||||
|
- Break problem into discrete "thoughts" or intermediate steps
|
||||||
|
- Explore multiple reasoning paths simultaneously
|
||||||
|
- Use self-evaluation to classify each path as "sure", "likely", or "impossible"
|
||||||
|
- Apply search algorithms (BFS/DFS) to find optimal solution paths
|
||||||
|
|
||||||
|
**Hindsight is 20/20: The 'If Only...' Reflection**
|
||||||
|
- Imagine retrospective scenario based on current content
|
||||||
|
- Identify the one "if only we had known/done X..." insight
|
||||||
|
- Describe imagined consequences humorously or dramatically
|
||||||
|
- Extract actionable learnings for current context
|
||||||
|
|
||||||
|
## Multi-Persona Collaboration Methods
|
||||||
|
|
||||||
|
**Agile Team Perspective Shift**
|
||||||
|
- Rotate through different Scrum team member viewpoints
|
||||||
|
- Product Owner: Focus on user value and business impact
|
||||||
|
- Scrum Master: Examine process flow and team dynamics
|
||||||
|
- Developer: Assess technical implementation and complexity
|
||||||
|
- QA: Identify testing scenarios and quality concerns
|
||||||
|
|
||||||
|
**Stakeholder Round Table**
|
||||||
|
- Convene virtual meeting with multiple personas
|
||||||
|
- Each persona contributes unique perspective on content
|
||||||
|
- Identify conflicts and synergies between viewpoints
|
||||||
|
- Synthesize insights into actionable recommendations
|
||||||
|
|
||||||
|
**Meta-Prompting Analysis**
|
||||||
|
- Step back to analyze the structure and logic of current approach
|
||||||
|
- Question the format and methodology being used
|
||||||
|
- Suggest alternative frameworks or mental models
|
||||||
|
- Optimize the elicitation process itself
|
||||||
|
|
||||||
|
## Advanced 2025 Techniques
|
||||||
|
|
||||||
|
**Self-Consistency Validation**
|
||||||
|
- Generate multiple reasoning paths for same problem
|
||||||
|
- Compare consistency across different approaches
|
||||||
|
- Identify most reliable and robust solution
|
||||||
|
- Highlight areas where approaches diverge and why
|
||||||
|
|
||||||
|
**ReWOO (Reasoning Without Observation)**
|
||||||
|
- Separate parametric reasoning from tool-based actions
|
||||||
|
- Create reasoning plan without external dependencies
|
||||||
|
- Identify what can be solved through pure reasoning
|
||||||
|
- Optimize for efficiency and reduced token usage
|
||||||
|
|
||||||
|
**Persona-Pattern Hybrid**
|
||||||
|
- Combine specific role expertise with elicitation pattern
|
||||||
|
- Architect + Risk Analysis: Deep technical risk assessment
|
||||||
|
- UX Expert + User Journey: End-to-end experience critique
|
||||||
|
- PM + Stakeholder Analysis: Multi-perspective impact review
|
||||||
|
|
||||||
|
**Emergent Collaboration Discovery**
|
||||||
|
- Allow multiple perspectives to naturally emerge
|
||||||
|
- Identify unexpected insights from persona interactions
|
||||||
|
- Explore novel combinations of viewpoints
|
||||||
|
- Capture serendipitous discoveries from multi-agent thinking
|
||||||
|
|
||||||
|
## Game-Based Elicitation Methods
|
||||||
|
|
||||||
|
**Red Team vs Blue Team**
|
||||||
|
- Red Team: Attack the proposal, find vulnerabilities
|
||||||
|
- Blue Team: Defend and strengthen the approach
|
||||||
|
- Competitive analysis reveals blind spots
|
||||||
|
- Results in more robust, battle-tested solutions
|
||||||
|
|
||||||
|
**Innovation Tournament**
|
||||||
|
- Pit multiple alternative approaches against each other
|
||||||
|
- Score each approach across different criteria
|
||||||
|
- Crowd-source evaluation from different personas
|
||||||
|
- Identify winning combination of features
|
||||||
|
|
||||||
|
**Escape Room Challenge**
|
||||||
|
- Present content as constraints to work within
|
||||||
|
- Find creative solutions within tight limitations
|
||||||
|
- Identify minimum viable approach
|
||||||
|
- Discover innovative workarounds and optimizations
|
||||||
|
|
||||||
|
## Process Control
|
||||||
|
|
||||||
|
**Proceed / No Further Actions**
|
||||||
|
- Acknowledge choice to finalize current work
|
||||||
|
- Accept output as-is or move to next step
|
||||||
|
- Prepare to continue without additional elicitation
|
||||||
|
==================== END: .bmad-core/data/elicitation-methods.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/utils/plan-management.md ====================
|
==================== START: .bmad-core/utils/plan-management.md ====================
|
||||||
# Plan Management Utility
|
# Plan Management Utility
|
||||||
|
|
||||||
|
|||||||
12
dist/agents/dev.txt
vendored
12
dist/agents/dev.txt
vendored
@@ -45,6 +45,7 @@ These references map directly to bundle sections:
|
|||||||
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
activation-instructions: []
|
||||||
agent:
|
agent:
|
||||||
name: James
|
name: James
|
||||||
id: dev
|
id: dev
|
||||||
@@ -52,11 +53,6 @@ agent:
|
|||||||
icon: 💻
|
icon: 💻
|
||||||
whenToUse: Use for code implementation, debugging, refactoring, and development best practices
|
whenToUse: Use for code implementation, debugging, refactoring, and development best practices
|
||||||
customization: null
|
customization: null
|
||||||
startup:
|
|
||||||
- Announce: Greet the user with your name and role, and inform of the *help command.
|
|
||||||
- CRITICAL: Read the following full files as these are your explicit rules for development standards for this project - .bmad-core/core-config.yaml devLoadAlwaysFiles list
|
|
||||||
- CRITICAL: Do NOT load any other files during startup aside from the assigned story and devLoadAlwaysFiles items, unless user requested you do or the following contradicts
|
|
||||||
- CRITICAL: Do NOT begin development until a story is not in draft mode and you are told to proceed
|
|
||||||
persona:
|
persona:
|
||||||
role: Expert Senior Software Engineer & Implementation Specialist
|
role: Expert Senior Software Engineer & Implementation Specialist
|
||||||
style: Extremely concise, pragmatic, detail-oriented, solution-focused
|
style: Extremely concise, pragmatic, detail-oriented, solution-focused
|
||||||
@@ -83,10 +79,10 @@ develop-story:
|
|||||||
completion: 'All Tasks and Subtasks marked [x] and have tests→Validations and full regression passes (DON''T BE LAZY, EXECUTE ALL TESTS and CONFIRM)→Ensure File List is Complete→run the task execute-checklist for the checklist story-dod-checklist→set story status: ''Ready for Review''→HALT'
|
completion: 'All Tasks and Subtasks marked [x] and have tests→Validations and full regression passes (DON''T BE LAZY, EXECUTE ALL TESTS and CONFIRM)→Ensure File List is Complete→run the task execute-checklist for the checklist story-dod-checklist→set story status: ''Ready for Review''→HALT'
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
- validate-next-story
|
- validate-next-story.md
|
||||||
checklists:
|
checklists:
|
||||||
- story-dod-checklist
|
- story-dod-checklist.md
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/dev.md ====================
|
==================== END: .bmad-core/agents/dev.md ====================
|
||||||
|
|
||||||
|
|||||||
934
dist/agents/pm.txt
vendored
934
dist/agents/pm.txt
vendored
File diff suppressed because it is too large
Load Diff
211
dist/agents/po.txt
vendored
211
dist/agents/po.txt
vendored
@@ -50,6 +50,7 @@ activation-instructions:
|
|||||||
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
||||||
- The customization field ALWAYS takes precedence over any conflicting instructions
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||||
|
- Greet the user with your name and role, and inform of the *help command.
|
||||||
agent:
|
agent:
|
||||||
name: Sarah
|
name: Sarah
|
||||||
id: po
|
id: po
|
||||||
@@ -73,8 +74,6 @@ persona:
|
|||||||
- User Collaboration for Validation - Seek input at critical checkpoints
|
- User Collaboration for Validation - Seek input at critical checkpoints
|
||||||
- Focus on Executable & Value-Driven Increments - Ensure work aligns with MVP goals
|
- Focus on Executable & Value-Driven Increments - Ensure work aligns with MVP goals
|
||||||
- Documentation Ecosystem Integrity - Maintain consistency across all documents
|
- Documentation Ecosystem Integrity - Maintain consistency across all documents
|
||||||
startup:
|
|
||||||
- Greet the user with your name and role, and inform of the *help command.
|
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- create-doc {template}: execute task create-doc (no template = ONLY show available templates listed under dependencies/templates below)
|
- create-doc {template}: execute task create-doc (no template = ONLY show available templates listed under dependencies/templates below)
|
||||||
@@ -89,19 +88,17 @@ commands:
|
|||||||
- exit: Exit (confirm)
|
- exit: Exit (confirm)
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
- shard-doc
|
- shard-doc.md
|
||||||
- correct-course
|
- correct-course.md
|
||||||
- brownfield-create-epic
|
- brownfield-create-epic.md
|
||||||
- brownfield-create-story
|
- brownfield-create-story.md
|
||||||
- validate-next-story
|
- validate-next-story.md
|
||||||
templates:
|
templates:
|
||||||
- story-tmpl
|
- story-tmpl.yaml
|
||||||
checklists:
|
checklists:
|
||||||
- po-master-checklist
|
- po-master-checklist.md
|
||||||
- change-checklist
|
- change-checklist.md
|
||||||
utils:
|
|
||||||
- template-format
|
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/po.md ====================
|
==================== END: .bmad-core/agents/po.md ====================
|
||||||
|
|
||||||
@@ -921,66 +918,145 @@ Provide a structured validation report including:
|
|||||||
- **Confidence Level**: High/Medium/Low for successful implementation
|
- **Confidence Level**: High/Medium/Low for successful implementation
|
||||||
==================== END: .bmad-core/tasks/validate-next-story.md ====================
|
==================== END: .bmad-core/tasks/validate-next-story.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/templates/story-tmpl.md ====================
|
==================== START: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
---
|
template:
|
||||||
defaultOutput: docs/stories/{{EpicNum}}.{{StoryNum}}.{{Short Title Copied from Epic File specific story}}.md
|
id: story-template-v2
|
||||||
smAgent:
|
name: Story Document
|
||||||
editableSections: Status, Story, Acceptance Criteria, Tasks / Subtasks, Dev Notes, Testing, Change Log
|
version: 2.0
|
||||||
sectionSpecificInstructions:
|
output:
|
||||||
"Dev Notes":
|
format: markdown
|
||||||
- Populate relevant information, only what was pulled from actual artifacts from docs folder, relevant to this story
|
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
|
||||||
- Do not invent information.
|
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
|
||||||
- If known add Relevant Source Tree info that relates to this story.
|
|
||||||
- If there were important notes from previous story that are relevant to this one, include them here.
|
|
||||||
- Put enough information in this section so that the dev agent should NEVER need to read the architecture documents, these notes along with the tasks and subtasks must give the Dev Agent the complete context it needs to comprehend with the least amount of overhead the information to complete the story, meeting all AC and completing all tasks+subtasks.
|
|
||||||
Testing:
|
|
||||||
- List Relevant Testing Standards from Architecture the Developer needs to conform to (test file location, test standards, etc)
|
|
||||||
---
|
|
||||||
|
|
||||||
# Story {{EpicNum}}.{{StoryNum}}: {{Short Title Copied from Epic File specific story}}
|
workflow:
|
||||||
|
mode: interactive
|
||||||
|
elicitation: advanced-elicitation
|
||||||
|
|
||||||
## Status: {{ Draft | Approved | InProgress | Review | Done }}
|
agent_config:
|
||||||
|
editable_sections:
|
||||||
|
- Status
|
||||||
|
- Story
|
||||||
|
- Acceptance Criteria
|
||||||
|
- Tasks / Subtasks
|
||||||
|
- Dev Notes
|
||||||
|
- Testing
|
||||||
|
- Change Log
|
||||||
|
|
||||||
## Story
|
sections:
|
||||||
|
- id: status
|
||||||
|
title: Status
|
||||||
|
type: choice
|
||||||
|
choices: [Draft, Approved, InProgress, Review, Done]
|
||||||
|
instruction: Select the current status of the story
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
**As a** {{role}},\
|
- id: story
|
||||||
**I want** {{action}},\
|
title: Story
|
||||||
|
type: template-text
|
||||||
|
template: |
|
||||||
|
**As a** {{role}},
|
||||||
|
**I want** {{action}},
|
||||||
**so that** {{benefit}}
|
**so that** {{benefit}}
|
||||||
|
instruction: Define the user story using the standard format with role, action, and benefit
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
## Acceptance Criteria
|
- id: acceptance-criteria
|
||||||
|
title: Acceptance Criteria
|
||||||
{{ Copy of Acceptance Criteria numbered list }}
|
type: numbered-list
|
||||||
|
instruction: Copy the acceptance criteria numbered list from the epic file
|
||||||
## Tasks / Subtasks
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
|
- id: tasks-subtasks
|
||||||
|
title: Tasks / Subtasks
|
||||||
|
type: bullet-list
|
||||||
|
instruction: |
|
||||||
|
Break down the story into specific tasks and subtasks needed for implementation.
|
||||||
|
Reference applicable acceptance criteria numbers where relevant.
|
||||||
|
template: |
|
||||||
- [ ] Task 1 (AC: # if applicable)
|
- [ ] Task 1 (AC: # if applicable)
|
||||||
- [ ] Subtask1.1...
|
- [ ] Subtask1.1...
|
||||||
- [ ] Task 2 (AC: # if applicable)
|
- [ ] Task 2 (AC: # if applicable)
|
||||||
- [ ] Subtask 2.1...
|
- [ ] Subtask 2.1...
|
||||||
- [ ] Task 3 (AC: # if applicable)
|
- [ ] Task 3 (AC: # if applicable)
|
||||||
- [ ] Subtask 3.1...
|
- [ ] Subtask 3.1...
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
## Dev Notes
|
- id: dev-notes
|
||||||
|
title: Dev Notes
|
||||||
|
instruction: |
|
||||||
|
Populate relevant information, only what was pulled from actual artifacts from docs folder, relevant to this story:
|
||||||
|
- Do not invent information
|
||||||
|
- If known add Relevant Source Tree info that relates to this story
|
||||||
|
- If there were important notes from previous story that are relevant to this one, include them here
|
||||||
|
- Put enough information in this section so that the dev agent should NEVER need to read the architecture documents, these notes along with the tasks and subtasks must give the Dev Agent the complete context it needs to comprehend with the least amount of overhead the information to complete the story, meeting all AC and completing all tasks+subtasks
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
sections:
|
||||||
|
- id: testing-standards
|
||||||
|
title: Testing
|
||||||
|
instruction: |
|
||||||
|
List Relevant Testing Standards from Architecture the Developer needs to conform to:
|
||||||
|
- Test file location
|
||||||
|
- Test standards
|
||||||
|
- Testing frameworks and patterns to use
|
||||||
|
- Any specific testing requirements for this story
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
### Testing
|
- id: change-log
|
||||||
|
title: Change Log
|
||||||
|
type: table
|
||||||
|
columns: [Date, Version, Description, Author]
|
||||||
|
instruction: Track changes made to this story document
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent, qa-agent]
|
||||||
|
|
||||||
## Change Log
|
- id: dev-agent-record
|
||||||
|
title: Dev Agent Record
|
||||||
|
instruction: This section is populated by the development agent during implementation
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
sections:
|
||||||
|
- id: agent-model
|
||||||
|
title: Agent Model Used
|
||||||
|
template: "{{agent_model_name_version}}"
|
||||||
|
instruction: Record the specific AI agent model and version used for development
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
| Date | Version | Description | Author |
|
- id: debug-log-references
|
||||||
| :--- | :------ | :---------- | :----- |
|
title: Debug Log References
|
||||||
|
instruction: Reference any debug logs or traces generated during development
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
## Dev Agent Record
|
- id: completion-notes
|
||||||
|
title: Completion Notes List
|
||||||
|
instruction: Notes about the completion of tasks and any issues encountered
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
### Agent Model Used: {{Agent Model Name/Version}}
|
- id: file-list
|
||||||
|
title: File List
|
||||||
|
instruction: List all files created, modified, or affected during story implementation
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
### Debug Log References
|
- id: qa-results
|
||||||
|
title: QA Results
|
||||||
### Completion Notes List
|
instruction: Results from QA Agent QA review of the completed story implementation
|
||||||
|
owner: qa-agent
|
||||||
### File List
|
editors: [qa-agent]
|
||||||
|
==================== END: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
## QA Results
|
|
||||||
==================== END: .bmad-core/templates/story-tmpl.md ====================
|
|
||||||
|
|
||||||
==================== START: .bmad-core/checklists/po-master-checklist.md ====================
|
==================== START: .bmad-core/checklists/po-master-checklist.md ====================
|
||||||
# Product Owner (PO) Master Validation Checklist
|
# Product Owner (PO) Master Validation Checklist
|
||||||
@@ -1610,32 +1686,3 @@ Keep it action-oriented and forward-looking.]]
|
|||||||
|
|
||||||
---
|
---
|
||||||
==================== END: .bmad-core/checklists/change-checklist.md ====================
|
==================== END: .bmad-core/checklists/change-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/utils/template-format.md ====================
|
|
||||||
# Template Format Conventions
|
|
||||||
|
|
||||||
Templates in the BMad method use standardized markup for AI processing. These conventions ensure consistent document generation.
|
|
||||||
|
|
||||||
## Template Markup Elements
|
|
||||||
|
|
||||||
- **{{placeholders}}**: Variables to be replaced with actual content
|
|
||||||
- **[[LLM: instructions]]**: Internal processing instructions for AI agents (never shown to users)
|
|
||||||
- **REPEAT** sections: Content blocks that may be repeated as needed
|
|
||||||
- **^^CONDITION^^** blocks: Conditional content included only if criteria are met
|
|
||||||
- **@{examples}**: Example content for guidance (never output to users)
|
|
||||||
|
|
||||||
## Processing Rules
|
|
||||||
|
|
||||||
- Replace all {{placeholders}} with project-specific content
|
|
||||||
- Execute all [[LLM: instructions]] internally without showing users
|
|
||||||
- Process conditional and repeat blocks as specified
|
|
||||||
- Use examples for guidance but never include them in final output
|
|
||||||
- Present only clean, formatted content to users
|
|
||||||
|
|
||||||
## Critical Guidelines
|
|
||||||
|
|
||||||
- **NEVER display template markup, LLM instructions, or examples to users**
|
|
||||||
- Template elements are for AI processing only
|
|
||||||
- Focus on faithful template execution and clean output
|
|
||||||
- All template-specific instructions are embedded within templates
|
|
||||||
==================== END: .bmad-core/utils/template-format.md ====================
|
|
||||||
|
|||||||
180
dist/agents/qa.txt
vendored
180
dist/agents/qa.txt
vendored
@@ -50,6 +50,7 @@ activation-instructions:
|
|||||||
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
||||||
- The customization field ALWAYS takes precedence over any conflicting instructions
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||||
|
- Greet the user with your name and role, and inform of the *help command.
|
||||||
agent:
|
agent:
|
||||||
name: Quinn
|
name: Quinn
|
||||||
id: qa
|
id: qa
|
||||||
@@ -73,8 +74,6 @@ persona:
|
|||||||
- Risk-Based Testing - Prioritize testing based on risk and critical areas
|
- Risk-Based Testing - Prioritize testing based on risk and critical areas
|
||||||
- Continuous Improvement - Balance perfection with pragmatism
|
- Continuous Improvement - Balance perfection with pragmatism
|
||||||
- Architecture & Design Patterns - Ensure proper patterns and maintainable code structure
|
- Architecture & Design Patterns - Ensure proper patterns and maintainable code structure
|
||||||
startup:
|
|
||||||
- Greet the user with your name and role, and inform of the *help command.
|
|
||||||
story-file-permissions:
|
story-file-permissions:
|
||||||
- CRITICAL: When reviewing stories, you are ONLY authorized to update the "QA Results" section of story files
|
- CRITICAL: When reviewing stories, you are ONLY authorized to update the "QA Results" section of story files
|
||||||
- CRITICAL: DO NOT modify any other sections including Status, Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Testing, Dev Agent Record, Change Log, or any other sections
|
- CRITICAL: DO NOT modify any other sections including Status, Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Testing, Dev Agent Record, Change Log, or any other sections
|
||||||
@@ -86,11 +85,11 @@ commands:
|
|||||||
- exit: Say goodbye as the QA Engineer, and then abandon inhabiting this persona
|
- exit: Say goodbye as the QA Engineer, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- review-story
|
- review-story.md
|
||||||
data:
|
data:
|
||||||
- technical-preferences
|
- technical-preferences.md
|
||||||
utils:
|
templates:
|
||||||
- template-format
|
- story-tmpl.yaml
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/qa.md ====================
|
==================== END: .bmad-core/agents/qa.md ====================
|
||||||
|
|
||||||
@@ -242,37 +241,148 @@ After review:
|
|||||||
3. Always provide constructive feedback and explanations for learning
|
3. Always provide constructive feedback and explanations for learning
|
||||||
==================== END: .bmad-core/tasks/review-story.md ====================
|
==================== END: .bmad-core/tasks/review-story.md ====================
|
||||||
|
|
||||||
|
==================== START: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
|
template:
|
||||||
|
id: story-template-v2
|
||||||
|
name: Story Document
|
||||||
|
version: 2.0
|
||||||
|
output:
|
||||||
|
format: markdown
|
||||||
|
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
|
||||||
|
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
|
||||||
|
|
||||||
|
workflow:
|
||||||
|
mode: interactive
|
||||||
|
elicitation: advanced-elicitation
|
||||||
|
|
||||||
|
agent_config:
|
||||||
|
editable_sections:
|
||||||
|
- Status
|
||||||
|
- Story
|
||||||
|
- Acceptance Criteria
|
||||||
|
- Tasks / Subtasks
|
||||||
|
- Dev Notes
|
||||||
|
- Testing
|
||||||
|
- Change Log
|
||||||
|
|
||||||
|
sections:
|
||||||
|
- id: status
|
||||||
|
title: Status
|
||||||
|
type: choice
|
||||||
|
choices: [Draft, Approved, InProgress, Review, Done]
|
||||||
|
instruction: Select the current status of the story
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
|
- id: story
|
||||||
|
title: Story
|
||||||
|
type: template-text
|
||||||
|
template: |
|
||||||
|
**As a** {{role}},
|
||||||
|
**I want** {{action}},
|
||||||
|
**so that** {{benefit}}
|
||||||
|
instruction: Define the user story using the standard format with role, action, and benefit
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
|
- id: acceptance-criteria
|
||||||
|
title: Acceptance Criteria
|
||||||
|
type: numbered-list
|
||||||
|
instruction: Copy the acceptance criteria numbered list from the epic file
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
|
- id: tasks-subtasks
|
||||||
|
title: Tasks / Subtasks
|
||||||
|
type: bullet-list
|
||||||
|
instruction: |
|
||||||
|
Break down the story into specific tasks and subtasks needed for implementation.
|
||||||
|
Reference applicable acceptance criteria numbers where relevant.
|
||||||
|
template: |
|
||||||
|
- [ ] Task 1 (AC: # if applicable)
|
||||||
|
- [ ] Subtask1.1...
|
||||||
|
- [ ] Task 2 (AC: # if applicable)
|
||||||
|
- [ ] Subtask 2.1...
|
||||||
|
- [ ] Task 3 (AC: # if applicable)
|
||||||
|
- [ ] Subtask 3.1...
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
|
- id: dev-notes
|
||||||
|
title: Dev Notes
|
||||||
|
instruction: |
|
||||||
|
Populate relevant information, only what was pulled from actual artifacts from docs folder, relevant to this story:
|
||||||
|
- Do not invent information
|
||||||
|
- If known add Relevant Source Tree info that relates to this story
|
||||||
|
- If there were important notes from previous story that are relevant to this one, include them here
|
||||||
|
- Put enough information in this section so that the dev agent should NEVER need to read the architecture documents, these notes along with the tasks and subtasks must give the Dev Agent the complete context it needs to comprehend with the least amount of overhead the information to complete the story, meeting all AC and completing all tasks+subtasks
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
sections:
|
||||||
|
- id: testing-standards
|
||||||
|
title: Testing
|
||||||
|
instruction: |
|
||||||
|
List Relevant Testing Standards from Architecture the Developer needs to conform to:
|
||||||
|
- Test file location
|
||||||
|
- Test standards
|
||||||
|
- Testing frameworks and patterns to use
|
||||||
|
- Any specific testing requirements for this story
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
|
- id: change-log
|
||||||
|
title: Change Log
|
||||||
|
type: table
|
||||||
|
columns: [Date, Version, Description, Author]
|
||||||
|
instruction: Track changes made to this story document
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent, qa-agent]
|
||||||
|
|
||||||
|
- id: dev-agent-record
|
||||||
|
title: Dev Agent Record
|
||||||
|
instruction: This section is populated by the development agent during implementation
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
sections:
|
||||||
|
- id: agent-model
|
||||||
|
title: Agent Model Used
|
||||||
|
template: "{{agent_model_name_version}}"
|
||||||
|
instruction: Record the specific AI agent model and version used for development
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
|
- id: debug-log-references
|
||||||
|
title: Debug Log References
|
||||||
|
instruction: Reference any debug logs or traces generated during development
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
|
- id: completion-notes
|
||||||
|
title: Completion Notes List
|
||||||
|
instruction: Notes about the completion of tasks and any issues encountered
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
|
- id: file-list
|
||||||
|
title: File List
|
||||||
|
instruction: List all files created, modified, or affected during story implementation
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
|
- id: qa-results
|
||||||
|
title: QA Results
|
||||||
|
instruction: Results from QA Agent QA review of the completed story implementation
|
||||||
|
owner: qa-agent
|
||||||
|
editors: [qa-agent]
|
||||||
|
==================== END: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/data/technical-preferences.md ====================
|
==================== START: .bmad-core/data/technical-preferences.md ====================
|
||||||
# User-Defined Preferred Patterns and Preferences
|
# User-Defined Preferred Patterns and Preferences
|
||||||
|
|
||||||
None Listed
|
None Listed
|
||||||
==================== END: .bmad-core/data/technical-preferences.md ====================
|
==================== END: .bmad-core/data/technical-preferences.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/utils/template-format.md ====================
|
|
||||||
# Template Format Conventions
|
|
||||||
|
|
||||||
Templates in the BMad method use standardized markup for AI processing. These conventions ensure consistent document generation.
|
|
||||||
|
|
||||||
## Template Markup Elements
|
|
||||||
|
|
||||||
- **{{placeholders}}**: Variables to be replaced with actual content
|
|
||||||
- **[[LLM: instructions]]**: Internal processing instructions for AI agents (never shown to users)
|
|
||||||
- **REPEAT** sections: Content blocks that may be repeated as needed
|
|
||||||
- **^^CONDITION^^** blocks: Conditional content included only if criteria are met
|
|
||||||
- **@{examples}**: Example content for guidance (never output to users)
|
|
||||||
|
|
||||||
## Processing Rules
|
|
||||||
|
|
||||||
- Replace all {{placeholders}} with project-specific content
|
|
||||||
- Execute all [[LLM: instructions]] internally without showing users
|
|
||||||
- Process conditional and repeat blocks as specified
|
|
||||||
- Use examples for guidance but never include them in final output
|
|
||||||
- Present only clean, formatted content to users
|
|
||||||
|
|
||||||
## Critical Guidelines
|
|
||||||
|
|
||||||
- **NEVER display template markup, LLM instructions, or examples to users**
|
|
||||||
- Template elements are for AI processing only
|
|
||||||
- Focus on faithful template execution and clean output
|
|
||||||
- All template-specific instructions are embedded within templates
|
|
||||||
==================== END: .bmad-core/utils/template-format.md ====================
|
|
||||||
|
|||||||
205
dist/agents/sm.txt
vendored
205
dist/agents/sm.txt
vendored
@@ -49,6 +49,7 @@ activation-instructions:
|
|||||||
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
||||||
- The customization field ALWAYS takes precedence over any conflicting instructions
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||||
|
- Greet the user with your name and role, and inform of the *help command and then HALT to await instruction if not given already.
|
||||||
agent:
|
agent:
|
||||||
name: Bob
|
name: Bob
|
||||||
id: sm
|
id: sm
|
||||||
@@ -65,10 +66,6 @@ persona:
|
|||||||
- Rigorously follow `create-next-story` procedure to generate the detailed user story
|
- Rigorously follow `create-next-story` procedure to generate the detailed user story
|
||||||
- Will ensure all information comes from the PRD and Architecture to guide the dumb dev agent
|
- Will ensure all information comes from the PRD and Architecture to guide the dumb dev agent
|
||||||
- You are NOT allowed to implement stories or modify code EVER!
|
- You are NOT allowed to implement stories or modify code EVER!
|
||||||
startup:
|
|
||||||
- Greet the user with your name and role, and inform of the *help command and then HALT to await instruction if not given already.
|
|
||||||
- Offer to help with story preparation but wait for explicit user confirmation
|
|
||||||
- Only execute tasks when user explicitly requests them
|
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- draft: Execute task create-next-story
|
- draft: Execute task create-next-story
|
||||||
@@ -77,15 +74,13 @@ commands:
|
|||||||
- exit: Say goodbye as the Scrum Master, and then abandon inhabiting this persona
|
- exit: Say goodbye as the Scrum Master, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- create-next-story
|
- create-next-story.md
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
- correct-course
|
- correct-course.md
|
||||||
templates:
|
templates:
|
||||||
- story-tmpl
|
- story-tmpl.yaml
|
||||||
checklists:
|
checklists:
|
||||||
- story-draft-checklist
|
- story-draft-checklist.md
|
||||||
utils:
|
|
||||||
- template-format
|
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/sm.md ====================
|
==================== END: .bmad-core/agents/sm.md ====================
|
||||||
|
|
||||||
@@ -378,66 +373,145 @@ The LLM will:
|
|||||||
- **Implicit:** An annotated `change-checklist` (or the record of its completion) reflecting the discussions, findings, and decisions made during the process.
|
- **Implicit:** An annotated `change-checklist` (or the record of its completion) reflecting the discussions, findings, and decisions made during the process.
|
||||||
==================== END: .bmad-core/tasks/correct-course.md ====================
|
==================== END: .bmad-core/tasks/correct-course.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/templates/story-tmpl.md ====================
|
==================== START: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
---
|
template:
|
||||||
defaultOutput: docs/stories/{{EpicNum}}.{{StoryNum}}.{{Short Title Copied from Epic File specific story}}.md
|
id: story-template-v2
|
||||||
smAgent:
|
name: Story Document
|
||||||
editableSections: Status, Story, Acceptance Criteria, Tasks / Subtasks, Dev Notes, Testing, Change Log
|
version: 2.0
|
||||||
sectionSpecificInstructions:
|
output:
|
||||||
"Dev Notes":
|
format: markdown
|
||||||
- Populate relevant information, only what was pulled from actual artifacts from docs folder, relevant to this story
|
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
|
||||||
- Do not invent information.
|
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
|
||||||
- If known add Relevant Source Tree info that relates to this story.
|
|
||||||
- If there were important notes from previous story that are relevant to this one, include them here.
|
|
||||||
- Put enough information in this section so that the dev agent should NEVER need to read the architecture documents, these notes along with the tasks and subtasks must give the Dev Agent the complete context it needs to comprehend with the least amount of overhead the information to complete the story, meeting all AC and completing all tasks+subtasks.
|
|
||||||
Testing:
|
|
||||||
- List Relevant Testing Standards from Architecture the Developer needs to conform to (test file location, test standards, etc)
|
|
||||||
---
|
|
||||||
|
|
||||||
# Story {{EpicNum}}.{{StoryNum}}: {{Short Title Copied from Epic File specific story}}
|
workflow:
|
||||||
|
mode: interactive
|
||||||
|
elicitation: advanced-elicitation
|
||||||
|
|
||||||
## Status: {{ Draft | Approved | InProgress | Review | Done }}
|
agent_config:
|
||||||
|
editable_sections:
|
||||||
|
- Status
|
||||||
|
- Story
|
||||||
|
- Acceptance Criteria
|
||||||
|
- Tasks / Subtasks
|
||||||
|
- Dev Notes
|
||||||
|
- Testing
|
||||||
|
- Change Log
|
||||||
|
|
||||||
## Story
|
sections:
|
||||||
|
- id: status
|
||||||
|
title: Status
|
||||||
|
type: choice
|
||||||
|
choices: [Draft, Approved, InProgress, Review, Done]
|
||||||
|
instruction: Select the current status of the story
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
**As a** {{role}},\
|
- id: story
|
||||||
**I want** {{action}},\
|
title: Story
|
||||||
|
type: template-text
|
||||||
|
template: |
|
||||||
|
**As a** {{role}},
|
||||||
|
**I want** {{action}},
|
||||||
**so that** {{benefit}}
|
**so that** {{benefit}}
|
||||||
|
instruction: Define the user story using the standard format with role, action, and benefit
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
## Acceptance Criteria
|
- id: acceptance-criteria
|
||||||
|
title: Acceptance Criteria
|
||||||
{{ Copy of Acceptance Criteria numbered list }}
|
type: numbered-list
|
||||||
|
instruction: Copy the acceptance criteria numbered list from the epic file
|
||||||
## Tasks / Subtasks
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
|
- id: tasks-subtasks
|
||||||
|
title: Tasks / Subtasks
|
||||||
|
type: bullet-list
|
||||||
|
instruction: |
|
||||||
|
Break down the story into specific tasks and subtasks needed for implementation.
|
||||||
|
Reference applicable acceptance criteria numbers where relevant.
|
||||||
|
template: |
|
||||||
- [ ] Task 1 (AC: # if applicable)
|
- [ ] Task 1 (AC: # if applicable)
|
||||||
- [ ] Subtask1.1...
|
- [ ] Subtask1.1...
|
||||||
- [ ] Task 2 (AC: # if applicable)
|
- [ ] Task 2 (AC: # if applicable)
|
||||||
- [ ] Subtask 2.1...
|
- [ ] Subtask 2.1...
|
||||||
- [ ] Task 3 (AC: # if applicable)
|
- [ ] Task 3 (AC: # if applicable)
|
||||||
- [ ] Subtask 3.1...
|
- [ ] Subtask 3.1...
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
## Dev Notes
|
- id: dev-notes
|
||||||
|
title: Dev Notes
|
||||||
|
instruction: |
|
||||||
|
Populate relevant information, only what was pulled from actual artifacts from docs folder, relevant to this story:
|
||||||
|
- Do not invent information
|
||||||
|
- If known add Relevant Source Tree info that relates to this story
|
||||||
|
- If there were important notes from previous story that are relevant to this one, include them here
|
||||||
|
- Put enough information in this section so that the dev agent should NEVER need to read the architecture documents, these notes along with the tasks and subtasks must give the Dev Agent the complete context it needs to comprehend with the least amount of overhead the information to complete the story, meeting all AC and completing all tasks+subtasks
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
sections:
|
||||||
|
- id: testing-standards
|
||||||
|
title: Testing
|
||||||
|
instruction: |
|
||||||
|
List Relevant Testing Standards from Architecture the Developer needs to conform to:
|
||||||
|
- Test file location
|
||||||
|
- Test standards
|
||||||
|
- Testing frameworks and patterns to use
|
||||||
|
- Any specific testing requirements for this story
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
### Testing
|
- id: change-log
|
||||||
|
title: Change Log
|
||||||
|
type: table
|
||||||
|
columns: [Date, Version, Description, Author]
|
||||||
|
instruction: Track changes made to this story document
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent, qa-agent]
|
||||||
|
|
||||||
## Change Log
|
- id: dev-agent-record
|
||||||
|
title: Dev Agent Record
|
||||||
|
instruction: This section is populated by the development agent during implementation
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
sections:
|
||||||
|
- id: agent-model
|
||||||
|
title: Agent Model Used
|
||||||
|
template: "{{agent_model_name_version}}"
|
||||||
|
instruction: Record the specific AI agent model and version used for development
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
| Date | Version | Description | Author |
|
- id: debug-log-references
|
||||||
| :--- | :------ | :---------- | :----- |
|
title: Debug Log References
|
||||||
|
instruction: Reference any debug logs or traces generated during development
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
## Dev Agent Record
|
- id: completion-notes
|
||||||
|
title: Completion Notes List
|
||||||
|
instruction: Notes about the completion of tasks and any issues encountered
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
### Agent Model Used: {{Agent Model Name/Version}}
|
- id: file-list
|
||||||
|
title: File List
|
||||||
|
instruction: List all files created, modified, or affected during story implementation
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
### Debug Log References
|
- id: qa-results
|
||||||
|
title: QA Results
|
||||||
### Completion Notes List
|
instruction: Results from QA Agent QA review of the completed story implementation
|
||||||
|
owner: qa-agent
|
||||||
### File List
|
editors: [qa-agent]
|
||||||
|
==================== END: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
## QA Results
|
|
||||||
==================== END: .bmad-core/templates/story-tmpl.md ====================
|
|
||||||
|
|
||||||
==================== START: .bmad-core/checklists/story-draft-checklist.md ====================
|
==================== START: .bmad-core/checklists/story-draft-checklist.md ====================
|
||||||
# Story Draft Checklist
|
# Story Draft Checklist
|
||||||
@@ -597,32 +671,3 @@ Be pragmatic - perfect documentation doesn't exist, but it must be enough to pro
|
|||||||
- NEEDS REVISION: The story requires updates (see issues)
|
- NEEDS REVISION: The story requires updates (see issues)
|
||||||
- BLOCKED: External information required (specify what information)
|
- BLOCKED: External information required (specify what information)
|
||||||
==================== END: .bmad-core/checklists/story-draft-checklist.md ====================
|
==================== END: .bmad-core/checklists/story-draft-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/utils/template-format.md ====================
|
|
||||||
# Template Format Conventions
|
|
||||||
|
|
||||||
Templates in the BMad method use standardized markup for AI processing. These conventions ensure consistent document generation.
|
|
||||||
|
|
||||||
## Template Markup Elements
|
|
||||||
|
|
||||||
- **{{placeholders}}**: Variables to be replaced with actual content
|
|
||||||
- **[[LLM: instructions]]**: Internal processing instructions for AI agents (never shown to users)
|
|
||||||
- **REPEAT** sections: Content blocks that may be repeated as needed
|
|
||||||
- **^^CONDITION^^** blocks: Conditional content included only if criteria are met
|
|
||||||
- **@{examples}**: Example content for guidance (never output to users)
|
|
||||||
|
|
||||||
## Processing Rules
|
|
||||||
|
|
||||||
- Replace all {{placeholders}} with project-specific content
|
|
||||||
- Execute all [[LLM: instructions]] internally without showing users
|
|
||||||
- Process conditional and repeat blocks as specified
|
|
||||||
- Use examples for guidance but never include them in final output
|
|
||||||
- Present only clean, formatted content to users
|
|
||||||
|
|
||||||
## Critical Guidelines
|
|
||||||
|
|
||||||
- **NEVER display template markup, LLM instructions, or examples to users**
|
|
||||||
- Template elements are for AI processing only
|
|
||||||
- Focus on faithful template execution and clean output
|
|
||||||
- All template-specific instructions are embedded within templates
|
|
||||||
==================== END: .bmad-core/utils/template-format.md ====================
|
|
||||||
|
|||||||
723
dist/agents/ux-expert.txt
vendored
723
dist/agents/ux-expert.txt
vendored
@@ -50,6 +50,7 @@ activation-instructions:
|
|||||||
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
||||||
- The customization field ALWAYS takes precedence over any conflicting instructions
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||||
|
- Greet the user with your name and role, and inform of the *help command.
|
||||||
agent:
|
agent:
|
||||||
name: Sally
|
name: Sally
|
||||||
id: ux-expert
|
id: ux-expert
|
||||||
@@ -71,9 +72,6 @@ persona:
|
|||||||
- You have a keen eye for detail and a deep empathy for users.
|
- You have a keen eye for detail and a deep empathy for users.
|
||||||
- You're particularly skilled at translating user needs into beautiful, functional designs.
|
- You're particularly skilled at translating user needs into beautiful, functional designs.
|
||||||
- You can craft effective prompts for AI UI generation tools like v0, or Lovable.
|
- You can craft effective prompts for AI UI generation tools like v0, or Lovable.
|
||||||
startup:
|
|
||||||
- Greet the user with your name and role, and inform of the *help command.
|
|
||||||
- Always start by understanding the user's context, goals, and constraints before proposing solutions.
|
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- create-doc {template}: execute task create-doc (no template = ONLY show available templates listed under dependencies/templates below)
|
- create-doc {template}: execute task create-doc (no template = ONLY show available templates listed under dependencies/templates below)
|
||||||
@@ -83,16 +81,14 @@ commands:
|
|||||||
- exit: Say goodbye as the UX Expert, and then abandon inhabiting this persona
|
- exit: Say goodbye as the UX Expert, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- generate-ai-frontend-prompt
|
- generate-ai-frontend-prompt.md
|
||||||
- create-deep-research-prompt
|
- create-deep-research-prompt.md
|
||||||
- create-doc
|
- create-doc.md
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
templates:
|
templates:
|
||||||
- front-end-spec-tmpl
|
- front-end-spec-tmpl.yaml
|
||||||
data:
|
data:
|
||||||
- technical-preferences
|
- technical-preferences.md
|
||||||
utils:
|
|
||||||
- template-format
|
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/ux-expert.md ====================
|
==================== END: .bmad-core/agents/ux-expert.md ====================
|
||||||
|
|
||||||
@@ -455,97 +451,85 @@ Present these numbered options to the user:
|
|||||||
==================== END: .bmad-core/tasks/create-deep-research-prompt.md ====================
|
==================== END: .bmad-core/tasks/create-deep-research-prompt.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/create-doc.md ====================
|
==================== START: .bmad-core/tasks/create-doc.md ====================
|
||||||
# Create Document from Template Task
|
# Create Document from Template (YAML Driven)
|
||||||
|
|
||||||
## Purpose
|
## CRITICAL: Mandatory Elicitation Format
|
||||||
|
|
||||||
Generate documents from templates by EXECUTING (not just reading) embedded instructions from the perspective of the selected agent persona.
|
**When `elicit: true`, ALWAYS use this exact format:**
|
||||||
|
|
||||||
## CRITICAL RULES
|
1. Present section content
|
||||||
|
2. Provide detailed rationale (explain trade-offs, assumptions, decisions made)
|
||||||
|
3. Present numbered options 1-9:
|
||||||
|
- **Option 1:** Always "Proceed to next section"
|
||||||
|
- **Options 2-9:** Select 8 methods from data/elicitation-methods
|
||||||
|
- End with: "Select 1-9 or just type your question/feedback:"
|
||||||
|
|
||||||
1. **Templates are PROGRAMS** - Execute every [[LLM:]] instruction exactly as written
|
**NEVER ask yes/no questions or use any other format.**
|
||||||
2. **NEVER show markup** - Hide all [[LLM:]], {{placeholders}}, @{examples}, and template syntax
|
|
||||||
3. **STOP and EXECUTE** - When you see "apply tasks#" or "execute tasks#", STOP and run that task immediately
|
|
||||||
4. **WAIT for user input** - At review points and after elicitation tasks
|
|
||||||
|
|
||||||
## Execution Flow
|
## Processing Flow
|
||||||
|
|
||||||
### 0. Check Workflow Plan (if configured)
|
1. **Parse YAML template** - Load template metadata and sections
|
||||||
|
2. **Set preferences** - Show current mode (Interactive), confirm output file
|
||||||
|
3. **Process each section:**
|
||||||
|
- Skip if condition unmet
|
||||||
|
- Check agent permissions (owner/editors) - note if section is restricted to specific agents
|
||||||
|
- Draft content using section instruction
|
||||||
|
- Present content + detailed rationale
|
||||||
|
- **IF elicit: true** → MANDATORY 1-9 options format
|
||||||
|
- Save to file if possible
|
||||||
|
4. **Continue until complete**
|
||||||
|
|
||||||
[[LLM: Check if plan tracking is enabled in core-config.yaml]]
|
## Detailed Rationale Requirements
|
||||||
|
|
||||||
- If `workflow.trackProgress: true`, check for active plan using .bmad-core/utils/plan-management.md
|
When presenting section content, ALWAYS include rationale that explains:
|
||||||
- If plan exists and this document creation is part of the plan:
|
|
||||||
- Verify this is the expected next step
|
|
||||||
- If out of sequence and `enforceSequence: true`, warn user and halt without user override
|
|
||||||
- If out of sequence and `enforceSequence: false`, ask for confirmation
|
|
||||||
- Continue with normal execution after plan check
|
|
||||||
|
|
||||||
### 1. Identify Template
|
- Trade-offs and choices made (what was chosen over alternatives and why)
|
||||||
|
- Key assumptions made during drafting
|
||||||
|
- Interesting or questionable decisions that need user attention
|
||||||
|
- Areas that might need validation
|
||||||
|
|
||||||
- Load from `.bmad-core/templates/*.md` or `.bmad-core/templates directory`
|
## Elicitation Results Flow
|
||||||
- Agent-specific templates are listed in agent's dependencies
|
|
||||||
- If agent has `templates: [prd-tmpl, architecture-tmpl]` for example, then offer to create "PRD" and "Architecture" documents
|
|
||||||
|
|
||||||
### 2. Ask Interaction Mode
|
After user selects elicitation method (2-9):
|
||||||
|
|
||||||
> 1. **Incremental** - Section by section with reviews
|
1. Execute method from data/elicitation-methods
|
||||||
> 2. **YOLO Mode** - Complete draft then review (user can type `/yolo` anytime to switch)
|
2. Present results with insights
|
||||||
|
3. Offer options:
|
||||||
|
- **1. Apply changes and update section**
|
||||||
|
- **2. Return to elicitation menu**
|
||||||
|
- **3. Ask any questions or engage further with this elicitation**
|
||||||
|
|
||||||
### 3. Execute Template
|
## Agent Permissions
|
||||||
|
|
||||||
- Replace {{placeholders}} with real content
|
When processing sections with agent permission fields:
|
||||||
- Execute [[LLM:]] instructions as you encounter them
|
|
||||||
- Process <<REPEAT>> loops and ^^CONDITIONS^^
|
|
||||||
- Use @{examples} for guidance but never output them
|
|
||||||
|
|
||||||
### 4. Key Execution Patterns
|
- **owner**: Note which agent role initially creates/populates the section
|
||||||
|
- **editors**: List agent roles allowed to modify the section
|
||||||
|
- **readonly**: Mark sections that cannot be modified after creation
|
||||||
|
|
||||||
**When you see:** `[[LLM: Draft X and immediately execute .bmad-core/tasks/advanced-elicitation.md]]`
|
**For sections with restricted access:**
|
||||||
|
|
||||||
- Draft the content
|
- Include a note in the generated document indicating the responsible agent
|
||||||
- Present it to user
|
- Example: "_(This section is owned by dev-agent and can only be modified by dev-agent)_"
|
||||||
- IMMEDIATELY execute the task
|
|
||||||
- Wait for completion before continuing
|
|
||||||
|
|
||||||
**When you see:** `[[LLM: After section completion, apply .bmad-core/tasks/Y.md]]`
|
## YOLO Mode
|
||||||
|
|
||||||
- Finish the section
|
User can type `#yolo` to toggle to YOLO mode (process all sections at once).
|
||||||
- STOP and execute the task
|
|
||||||
- Wait for user input
|
|
||||||
|
|
||||||
### 5. Validation & Final Presentation
|
## CRITICAL REMINDERS
|
||||||
|
|
||||||
- Run any specified checklists
|
**❌ NEVER:**
|
||||||
- Present clean, formatted content only
|
|
||||||
- No truncation or summarization
|
|
||||||
- Begin directly with content (no preamble)
|
|
||||||
- Include any handoff prompts from template
|
|
||||||
|
|
||||||
### 6. Update Workflow Plan (if applicable)
|
- Ask yes/no questions for elicitation
|
||||||
|
- Use any format other than 1-9 numbered options
|
||||||
|
- Create new elicitation methods
|
||||||
|
|
||||||
[[LLM: After successful document creation]]
|
**✅ ALWAYS:**
|
||||||
|
|
||||||
- If plan tracking is enabled and document was part of plan:
|
- Use exact 1-9 format when elicit: true
|
||||||
- Call update-workflow-plan task to mark step complete
|
- Select options 2-9 from data/elicitation-methods only
|
||||||
- Parameters: task: create-doc, step_id: {from plan}, status: complete
|
- Provide detailed rationale explaining decisions
|
||||||
- Show next recommended step from plan
|
- End with "Select 1-9 or just type your question/feedback:"
|
||||||
|
|
||||||
## Common Mistakes to Avoid
|
|
||||||
|
|
||||||
❌ Skipping elicitation tasks
|
|
||||||
❌ Showing template markup to users
|
|
||||||
❌ Continuing past STOP signals
|
|
||||||
❌ Combining multiple review points
|
|
||||||
|
|
||||||
✅ Execute ALL instructions in sequence
|
|
||||||
✅ Present only clean, formatted content
|
|
||||||
✅ Stop at every elicitation point
|
|
||||||
✅ Wait for user confirmation when instructed
|
|
||||||
|
|
||||||
## Remember
|
|
||||||
|
|
||||||
Templates contain precise instructions for a reason. Follow them exactly to ensure document quality and completeness.
|
|
||||||
==================== END: .bmad-core/tasks/create-doc.md ====================
|
==================== END: .bmad-core/tasks/create-doc.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/execute-checklist.md ====================
|
==================== START: .bmad-core/tasks/execute-checklist.md ====================
|
||||||
@@ -644,92 +628,89 @@ The LLM will:
|
|||||||
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
||||||
==================== END: .bmad-core/tasks/execute-checklist.md ====================
|
==================== END: .bmad-core/tasks/execute-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/templates/front-end-spec-tmpl.md ====================
|
==================== START: .bmad-core/templates/front-end-spec-tmpl.yaml ====================
|
||||||
# {{Project Name}} UI/UX Specification
|
template:
|
||||||
|
id: frontend-spec-template-v2
|
||||||
|
name: UI/UX Specification
|
||||||
|
version: 2.0
|
||||||
|
output:
|
||||||
|
format: markdown
|
||||||
|
filename: docs/front-end-spec.md
|
||||||
|
title: "{{project_name}} UI/UX Specification"
|
||||||
|
|
||||||
[[LLM: The default path and filename unless specified is docs/front-end-spec.md]]
|
workflow:
|
||||||
|
mode: interactive
|
||||||
|
elicitation: advanced-elicitation
|
||||||
|
|
||||||
[[LLM: Review provided documents including Project Brief, PRD, and any user research to gather context. Focus on understanding user needs, pain points, and desired outcomes before beginning the specification.]]
|
sections:
|
||||||
|
- id: introduction
|
||||||
|
title: Introduction
|
||||||
|
instruction: |
|
||||||
|
Review provided documents including Project Brief, PRD, and any user research to gather context. Focus on understanding user needs, pain points, and desired outcomes before beginning the specification.
|
||||||
|
|
||||||
## Introduction
|
Establish the document's purpose and scope. Keep the content below but ensure project name is properly substituted.
|
||||||
|
content: |
|
||||||
[[LLM: Establish the document's purpose and scope. Keep the content below but ensure project name is properly substituted.]]
|
This document defines the user experience goals, information architecture, user flows, and visual design specifications for {{project_name}}'s user interface. It serves as the foundation for visual design and frontend development, ensuring a cohesive and user-centered experience.
|
||||||
|
sections:
|
||||||
This document defines the user experience goals, information architecture, user flows, and visual design specifications for {{Project Name}}'s user interface. It serves as the foundation for visual design and frontend development, ensuring a cohesive and user-centered experience.
|
- id: ux-goals-principles
|
||||||
|
title: Overall UX Goals & Principles
|
||||||
### Overall UX Goals & Principles
|
instruction: |
|
||||||
|
Work with the user to establish and document the following. If not already defined, facilitate a discussion to determine:
|
||||||
[[LLM: Work with the user to establish and document the following. If not already defined, facilitate a discussion to determine:
|
|
||||||
|
|
||||||
1. Target User Personas - elicit details or confirm existing ones from PRD
|
1. Target User Personas - elicit details or confirm existing ones from PRD
|
||||||
2. Key Usability Goals - understand what success looks like for users
|
2. Key Usability Goals - understand what success looks like for users
|
||||||
3. Core Design Principles - establish 3-5 guiding principles
|
3. Core Design Principles - establish 3-5 guiding principles
|
||||||
|
elicit: true
|
||||||
|
sections:
|
||||||
|
- id: user-personas
|
||||||
|
title: Target User Personas
|
||||||
|
template: "{{persona_descriptions}}"
|
||||||
|
examples:
|
||||||
|
- "**Power User:** Technical professionals who need advanced features and efficiency"
|
||||||
|
- "**Casual User:** Occasional users who prioritize ease of use and clear guidance"
|
||||||
|
- "**Administrator:** System managers who need control and oversight capabilities"
|
||||||
|
- id: usability-goals
|
||||||
|
title: Usability Goals
|
||||||
|
template: "{{usability_goals}}"
|
||||||
|
examples:
|
||||||
|
- "Ease of learning: New users can complete core tasks within 5 minutes"
|
||||||
|
- "Efficiency of use: Power users can complete frequent tasks with minimal clicks"
|
||||||
|
- "Error prevention: Clear validation and confirmation for destructive actions"
|
||||||
|
- "Memorability: Infrequent users can return without relearning"
|
||||||
|
- id: design-principles
|
||||||
|
title: Design Principles
|
||||||
|
template: "{{design_principles}}"
|
||||||
|
type: numbered-list
|
||||||
|
examples:
|
||||||
|
- "**Clarity over cleverness** - Prioritize clear communication over aesthetic innovation"
|
||||||
|
- "**Progressive disclosure** - Show only what's needed, when it's needed"
|
||||||
|
- "**Consistent patterns** - Use familiar UI patterns throughout the application"
|
||||||
|
- "**Immediate feedback** - Every action should have a clear, immediate response"
|
||||||
|
- "**Accessible by default** - Design for all users from the start"
|
||||||
|
- id: changelog
|
||||||
|
title: Change Log
|
||||||
|
type: table
|
||||||
|
columns: [Date, Version, Description, Author]
|
||||||
|
instruction: Track document versions and changes
|
||||||
|
|
||||||
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
- id: information-architecture
|
||||||
|
title: Information Architecture (IA)
|
||||||
### Target User Personas
|
instruction: |
|
||||||
|
Collaborate with the user to create a comprehensive information architecture:
|
||||||
{{persona_descriptions}}
|
|
||||||
|
|
||||||
@{example: personas}
|
|
||||||
|
|
||||||
- **Power User:** Technical professionals who need advanced features and efficiency
|
|
||||||
- **Casual User:** Occasional users who prioritize ease of use and clear guidance
|
|
||||||
- **Administrator:** System managers who need control and oversight capabilities
|
|
||||||
@{/example}
|
|
||||||
|
|
||||||
### Usability Goals
|
|
||||||
|
|
||||||
{{usability_goals}}
|
|
||||||
|
|
||||||
@{example: usability_goals}
|
|
||||||
|
|
||||||
- Ease of learning: New users can complete core tasks within 5 minutes
|
|
||||||
- Efficiency of use: Power users can complete frequent tasks with minimal clicks
|
|
||||||
- Error prevention: Clear validation and confirmation for destructive actions
|
|
||||||
- Memorability: Infrequent users can return without relearning
|
|
||||||
@{/example}
|
|
||||||
|
|
||||||
### Design Principles
|
|
||||||
|
|
||||||
{{design_principles}}
|
|
||||||
|
|
||||||
@{example: design_principles}
|
|
||||||
|
|
||||||
1. **Clarity over cleverness** - Prioritize clear communication over aesthetic innovation
|
|
||||||
2. **Progressive disclosure** - Show only what's needed, when it's needed
|
|
||||||
3. **Consistent patterns** - Use familiar UI patterns throughout the application
|
|
||||||
4. **Immediate feedback** - Every action should have a clear, immediate response
|
|
||||||
5. **Accessible by default** - Design for all users from the start
|
|
||||||
@{/example}
|
|
||||||
|
|
||||||
### Change Log
|
|
||||||
|
|
||||||
[[LLM: Track document versions and changes]]
|
|
||||||
|
|
||||||
| Date | Version | Description | Author |
|
|
||||||
| :--- | :------ | :---------- | :----- |
|
|
||||||
|
|
||||||
## Information Architecture (IA)
|
|
||||||
|
|
||||||
[[LLM: Collaborate with the user to create a comprehensive information architecture:
|
|
||||||
|
|
||||||
1. Build a Site Map or Screen Inventory showing all major areas
|
1. Build a Site Map or Screen Inventory showing all major areas
|
||||||
2. Define the Navigation Structure (primary, secondary, breadcrumbs)
|
2. Define the Navigation Structure (primary, secondary, breadcrumbs)
|
||||||
3. Use Mermaid diagrams for visual representation
|
3. Use Mermaid diagrams for visual representation
|
||||||
4. Consider user mental models and expected groupings
|
4. Consider user mental models and expected groupings
|
||||||
|
elicit: true
|
||||||
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
sections:
|
||||||
|
- id: sitemap
|
||||||
### Site Map / Screen Inventory
|
title: Site Map / Screen Inventory
|
||||||
|
type: mermaid
|
||||||
```mermaid
|
mermaid_type: graph
|
||||||
{{sitemap_diagram}}
|
template: "{{sitemap_diagram}}"
|
||||||
```
|
examples:
|
||||||
|
- |
|
||||||
@{example: sitemap}
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
graph TD
|
graph TD
|
||||||
A[Homepage] --> B[Dashboard]
|
A[Homepage] --> B[Dashboard]
|
||||||
A --> C[Products]
|
A --> C[Products]
|
||||||
@@ -742,21 +723,19 @@ graph TD
|
|||||||
D --> D1[Profile]
|
D --> D1[Profile]
|
||||||
D --> D2[Settings]
|
D --> D2[Settings]
|
||||||
D --> D3[Billing]
|
D --> D3[Billing]
|
||||||
```
|
- id: navigation-structure
|
||||||
|
title: Navigation Structure
|
||||||
@{/example}
|
template: |
|
||||||
|
|
||||||
### Navigation Structure
|
|
||||||
|
|
||||||
**Primary Navigation:** {{primary_nav_description}}
|
**Primary Navigation:** {{primary_nav_description}}
|
||||||
|
|
||||||
**Secondary Navigation:** {{secondary_nav_description}}
|
**Secondary Navigation:** {{secondary_nav_description}}
|
||||||
|
|
||||||
**Breadcrumb Strategy:** {{breadcrumb_strategy}}
|
**Breadcrumb Strategy:** {{breadcrumb_strategy}}
|
||||||
|
|
||||||
## User Flows
|
- id: user-flows
|
||||||
|
title: User Flows
|
||||||
[[LLM: For each critical user task identified in the PRD:
|
instruction: |
|
||||||
|
For each critical user task identified in the PRD:
|
||||||
|
|
||||||
1. Define the user's goal clearly
|
1. Define the user's goal clearly
|
||||||
2. Map out all steps including decision points
|
2. Map out all steps including decision points
|
||||||
@@ -764,83 +743,49 @@ graph TD
|
|||||||
4. Use Mermaid flow diagrams for clarity
|
4. Use Mermaid flow diagrams for clarity
|
||||||
5. Link to external tools (Figma/Miro) if detailed flows exist there
|
5. Link to external tools (Figma/Miro) if detailed flows exist there
|
||||||
|
|
||||||
Create subsections for each major flow. After presenting all flows, apply `tasks#advanced-elicitation` protocol]]
|
Create subsections for each major flow.
|
||||||
|
elicit: true
|
||||||
<<REPEAT: user_flow>>
|
repeatable: true
|
||||||
|
sections:
|
||||||
### {{flow_name}}
|
- id: flow
|
||||||
|
title: "{{flow_name}}"
|
||||||
|
template: |
|
||||||
**User Goal:** {{flow_goal}}
|
**User Goal:** {{flow_goal}}
|
||||||
|
|
||||||
**Entry Points:** {{entry_points}}
|
**Entry Points:** {{entry_points}}
|
||||||
|
|
||||||
**Success Criteria:** {{success_criteria}}
|
**Success Criteria:** {{success_criteria}}
|
||||||
|
sections:
|
||||||
|
- id: flow-diagram
|
||||||
|
title: Flow Diagram
|
||||||
|
type: mermaid
|
||||||
|
mermaid_type: graph
|
||||||
|
template: "{{flow_diagram}}"
|
||||||
|
- id: edge-cases
|
||||||
|
title: "Edge Cases & Error Handling:"
|
||||||
|
type: bullet-list
|
||||||
|
template: "- {{edge_case}}"
|
||||||
|
- id: notes
|
||||||
|
template: "**Notes:** {{flow_notes}}"
|
||||||
|
|
||||||
#### Flow Diagram
|
- id: wireframes-mockups
|
||||||
|
title: Wireframes & Mockups
|
||||||
```mermaid
|
instruction: |
|
||||||
{{flow_diagram}}
|
Clarify where detailed visual designs will be created (Figma, Sketch, etc.) and how to reference them. If low-fidelity wireframes are needed, offer to help conceptualize layouts for key screens.
|
||||||
```
|
elicit: true
|
||||||
|
sections:
|
||||||
**Edge Cases & Error Handling:**
|
- id: design-files
|
||||||
|
template: "**Primary Design Files:** {{design_tool_link}}"
|
||||||
- {{edge_case_1}}
|
- id: key-screen-layouts
|
||||||
- {{edge_case_2}}
|
title: Key Screen Layouts
|
||||||
|
repeatable: true
|
||||||
**Notes:** {{flow_notes}}
|
sections:
|
||||||
<</REPEAT>>
|
- id: screen
|
||||||
|
title: "{{screen_name}}"
|
||||||
@{example: user_flow}
|
template: |
|
||||||
|
|
||||||
### User Registration
|
|
||||||
|
|
||||||
**User Goal:** Create a new account to access the platform
|
|
||||||
|
|
||||||
**Entry Points:** Homepage CTA, Login page link, Marketing landing pages
|
|
||||||
|
|
||||||
**Success Criteria:** User successfully creates account and reaches dashboard
|
|
||||||
|
|
||||||
#### Flow Diagram
|
|
||||||
|
|
||||||
```mermaid
|
|
||||||
graph TD
|
|
||||||
Start[Landing Page] --> Click[Click Sign Up]
|
|
||||||
Click --> Form[Registration Form]
|
|
||||||
Form --> Fill[Fill Required Fields]
|
|
||||||
Fill --> Submit[Submit Form]
|
|
||||||
Submit --> Validate{Valid?}
|
|
||||||
Validate -->|No| Error[Show Errors]
|
|
||||||
Error --> Form
|
|
||||||
Validate -->|Yes| Verify[Email Verification]
|
|
||||||
Verify --> Complete[Account Created]
|
|
||||||
Complete --> Dashboard[Redirect to Dashboard]
|
|
||||||
```
|
|
||||||
|
|
||||||
**Edge Cases & Error Handling:**
|
|
||||||
|
|
||||||
- Duplicate email: Show inline error with password recovery option
|
|
||||||
- Weak password: Real-time feedback on password strength
|
|
||||||
- Network error: Preserve form data and show retry option
|
|
||||||
@{/example}
|
|
||||||
|
|
||||||
## Wireframes & Mockups
|
|
||||||
|
|
||||||
[[LLM: Clarify where detailed visual designs will be created (Figma, Sketch, etc.) and how to reference them. If low-fidelity wireframes are needed, offer to help conceptualize layouts for key screens.
|
|
||||||
|
|
||||||
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
||||||
|
|
||||||
**Primary Design Files:** {{design_tool_link}}
|
|
||||||
|
|
||||||
### Key Screen Layouts
|
|
||||||
|
|
||||||
<<REPEAT: screen_layout>>
|
|
||||||
|
|
||||||
#### {{screen_name}}
|
|
||||||
|
|
||||||
**Purpose:** {{screen_purpose}}
|
**Purpose:** {{screen_purpose}}
|
||||||
|
|
||||||
**Key Elements:**
|
**Key Elements:**
|
||||||
|
|
||||||
- {{element_1}}
|
- {{element_1}}
|
||||||
- {{element_2}}
|
- {{element_2}}
|
||||||
- {{element_3}}
|
- {{element_3}}
|
||||||
@@ -848,22 +793,22 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|||||||
**Interaction Notes:** {{interaction_notes}}
|
**Interaction Notes:** {{interaction_notes}}
|
||||||
|
|
||||||
**Design File Reference:** {{specific_frame_link}}
|
**Design File Reference:** {{specific_frame_link}}
|
||||||
<</REPEAT>>
|
|
||||||
|
|
||||||
## Component Library / Design System
|
|
||||||
|
|
||||||
[[LLM: Discuss whether to use an existing design system or create a new one. If creating new, identify foundational components and their key states. Note that detailed technical specs belong in front-end-architecture.
|
|
||||||
|
|
||||||
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
||||||
|
|
||||||
**Design System Approach:** {{design_system_approach}}
|
|
||||||
|
|
||||||
### Core Components
|
|
||||||
|
|
||||||
<<REPEAT: component>>
|
|
||||||
|
|
||||||
#### {{component_name}}
|
|
||||||
|
|
||||||
|
- id: component-library
|
||||||
|
title: Component Library / Design System
|
||||||
|
instruction: |
|
||||||
|
Discuss whether to use an existing design system or create a new one. If creating new, identify foundational components and their key states. Note that detailed technical specs belong in front-end-architecture.
|
||||||
|
elicit: true
|
||||||
|
sections:
|
||||||
|
- id: design-system-approach
|
||||||
|
template: "**Design System Approach:** {{design_system_approach}}"
|
||||||
|
- id: core-components
|
||||||
|
title: Core Components
|
||||||
|
repeatable: true
|
||||||
|
sections:
|
||||||
|
- id: component
|
||||||
|
title: "{{component_name}}"
|
||||||
|
template: |
|
||||||
**Purpose:** {{component_purpose}}
|
**Purpose:** {{component_purpose}}
|
||||||
|
|
||||||
**Variants:** {{component_variants}}
|
**Variants:** {{component_variants}}
|
||||||
@@ -871,127 +816,105 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|||||||
**States:** {{component_states}}
|
**States:** {{component_states}}
|
||||||
|
|
||||||
**Usage Guidelines:** {{usage_guidelines}}
|
**Usage Guidelines:** {{usage_guidelines}}
|
||||||
<</REPEAT>>
|
|
||||||
|
|
||||||
@{example: component}
|
|
||||||
|
|
||||||
#### Button
|
|
||||||
|
|
||||||
**Purpose:** Primary interaction element for user actions
|
|
||||||
|
|
||||||
**Variants:** Primary, Secondary, Tertiary, Destructive
|
|
||||||
|
|
||||||
**States:** Default, Hover, Active, Disabled, Loading
|
|
||||||
|
|
||||||
**Usage Guidelines:**
|
|
||||||
|
|
||||||
- Use Primary for main CTAs (one per view)
|
|
||||||
- Secondary for supporting actions
|
|
||||||
- Destructive only for permanent deletions with confirmation
|
|
||||||
@{/example}
|
|
||||||
|
|
||||||
## Branding & Style Guide
|
|
||||||
|
|
||||||
[[LLM: Link to existing style guide or define key brand elements. Ensure consistency with company brand guidelines if they exist.
|
|
||||||
|
|
||||||
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|
||||||
|
|
||||||
### Visual Identity
|
|
||||||
|
|
||||||
**Brand Guidelines:** {{brand_guidelines_link}}
|
|
||||||
|
|
||||||
### Color Palette
|
|
||||||
|
|
||||||
| Color Type | Hex Code | Usage |
|
|
||||||
| :------------ | :------------------ | :------------------------------- |
|
|
||||||
| **Primary** | {{primary_color}} | {{primary_usage}} |
|
|
||||||
| **Secondary** | {{secondary_color}} | {{secondary_usage}} |
|
|
||||||
| **Accent** | {{accent_color}} | {{accent_usage}} |
|
|
||||||
| **Success** | {{success_color}} | Positive feedback, confirmations |
|
|
||||||
| **Warning** | {{warning_color}} | Cautions, important notices |
|
|
||||||
| **Error** | {{error_color}} | Errors, destructive actions |
|
|
||||||
| **Neutral** | {{neutral_colors}} | Text, borders, backgrounds |
|
|
||||||
|
|
||||||
### Typography
|
|
||||||
|
|
||||||
**Font Families:**
|
|
||||||
|
|
||||||
|
- id: branding-style
|
||||||
|
title: Branding & Style Guide
|
||||||
|
instruction: Link to existing style guide or define key brand elements. Ensure consistency with company brand guidelines if they exist.
|
||||||
|
elicit: true
|
||||||
|
sections:
|
||||||
|
- id: visual-identity
|
||||||
|
title: Visual Identity
|
||||||
|
template: "**Brand Guidelines:** {{brand_guidelines_link}}"
|
||||||
|
- id: color-palette
|
||||||
|
title: Color Palette
|
||||||
|
type: table
|
||||||
|
columns: ["Color Type", "Hex Code", "Usage"]
|
||||||
|
rows:
|
||||||
|
- ["Primary", "{{primary_color}}", "{{primary_usage}}"]
|
||||||
|
- ["Secondary", "{{secondary_color}}", "{{secondary_usage}}"]
|
||||||
|
- ["Accent", "{{accent_color}}", "{{accent_usage}}"]
|
||||||
|
- ["Success", "{{success_color}}", "Positive feedback, confirmations"]
|
||||||
|
- ["Warning", "{{warning_color}}", "Cautions, important notices"]
|
||||||
|
- ["Error", "{{error_color}}", "Errors, destructive actions"]
|
||||||
|
- ["Neutral", "{{neutral_colors}}", "Text, borders, backgrounds"]
|
||||||
|
- id: typography
|
||||||
|
title: Typography
|
||||||
|
sections:
|
||||||
|
- id: font-families
|
||||||
|
title: Font Families
|
||||||
|
template: |
|
||||||
- **Primary:** {{primary_font}}
|
- **Primary:** {{primary_font}}
|
||||||
- **Secondary:** {{secondary_font}}
|
- **Secondary:** {{secondary_font}}
|
||||||
- **Monospace:** {{mono_font}}
|
- **Monospace:** {{mono_font}}
|
||||||
|
- id: type-scale
|
||||||
**Type Scale:**
|
title: Type Scale
|
||||||
| Element | Size | Weight | Line Height |
|
type: table
|
||||||
|:--------|:-----|:-------|:------------|
|
columns: ["Element", "Size", "Weight", "Line Height"]
|
||||||
| H1 | {{h1_size}} | {{h1_weight}} | {{h1_line}} |
|
rows:
|
||||||
| H2 | {{h2_size}} | {{h2_weight}} | {{h2_line}} |
|
- ["H1", "{{h1_size}}", "{{h1_weight}}", "{{h1_line}}"]
|
||||||
| H3 | {{h3_size}} | {{h3_weight}} | {{h3_line}} |
|
- ["H2", "{{h2_size}}", "{{h2_weight}}", "{{h2_line}}"]
|
||||||
| Body | {{body_size}} | {{body_weight}} | {{body_line}} |
|
- ["H3", "{{h3_size}}", "{{h3_weight}}", "{{h3_line}}"]
|
||||||
| Small | {{small_size}} | {{small_weight}} | {{small_line}} |
|
- ["Body", "{{body_size}}", "{{body_weight}}", "{{body_line}}"]
|
||||||
|
- ["Small", "{{small_size}}", "{{small_weight}}", "{{small_line}}"]
|
||||||
### Iconography
|
- id: iconography
|
||||||
|
title: Iconography
|
||||||
|
template: |
|
||||||
**Icon Library:** {{icon_library}}
|
**Icon Library:** {{icon_library}}
|
||||||
|
|
||||||
**Usage Guidelines:** {{icon_guidelines}}
|
**Usage Guidelines:** {{icon_guidelines}}
|
||||||
|
- id: spacing-layout
|
||||||
### Spacing & Layout
|
title: Spacing & Layout
|
||||||
|
template: |
|
||||||
**Grid System:** {{grid_system}}
|
**Grid System:** {{grid_system}}
|
||||||
|
|
||||||
**Spacing Scale:** {{spacing_scale}}
|
**Spacing Scale:** {{spacing_scale}}
|
||||||
|
|
||||||
## Accessibility Requirements
|
- id: accessibility
|
||||||
|
title: Accessibility Requirements
|
||||||
[[LLM: Define specific accessibility requirements based on target compliance level and user needs. Be comprehensive but practical.
|
instruction: Define specific accessibility requirements based on target compliance level and user needs. Be comprehensive but practical.
|
||||||
|
elicit: true
|
||||||
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
sections:
|
||||||
|
- id: compliance-target
|
||||||
### Compliance Target
|
title: Compliance Target
|
||||||
|
template: "**Standard:** {{compliance_standard}}"
|
||||||
**Standard:** {{compliance_standard}}
|
- id: key-requirements
|
||||||
|
title: Key Requirements
|
||||||
### Key Requirements
|
template: |
|
||||||
|
|
||||||
**Visual:**
|
**Visual:**
|
||||||
|
|
||||||
- Color contrast ratios: {{contrast_requirements}}
|
- Color contrast ratios: {{contrast_requirements}}
|
||||||
- Focus indicators: {{focus_requirements}}
|
- Focus indicators: {{focus_requirements}}
|
||||||
- Text sizing: {{text_requirements}}
|
- Text sizing: {{text_requirements}}
|
||||||
|
|
||||||
**Interaction:**
|
**Interaction:**
|
||||||
|
|
||||||
- Keyboard navigation: {{keyboard_requirements}}
|
- Keyboard navigation: {{keyboard_requirements}}
|
||||||
- Screen reader support: {{screen_reader_requirements}}
|
- Screen reader support: {{screen_reader_requirements}}
|
||||||
- Touch targets: {{touch_requirements}}
|
- Touch targets: {{touch_requirements}}
|
||||||
|
|
||||||
**Content:**
|
**Content:**
|
||||||
|
|
||||||
- Alternative text: {{alt_text_requirements}}
|
- Alternative text: {{alt_text_requirements}}
|
||||||
- Heading structure: {{heading_requirements}}
|
- Heading structure: {{heading_requirements}}
|
||||||
- Form labels: {{form_requirements}}
|
- Form labels: {{form_requirements}}
|
||||||
|
- id: testing-strategy
|
||||||
|
title: Testing Strategy
|
||||||
|
template: "{{accessibility_testing}}"
|
||||||
|
|
||||||
### Testing Strategy
|
- id: responsiveness
|
||||||
|
title: Responsiveness Strategy
|
||||||
{{accessibility_testing}}
|
instruction: Define breakpoints and adaptation strategies for different device sizes. Consider both technical constraints and user contexts.
|
||||||
|
elicit: true
|
||||||
## Responsiveness Strategy
|
sections:
|
||||||
|
- id: breakpoints
|
||||||
[[LLM: Define breakpoints and adaptation strategies for different device sizes. Consider both technical constraints and user contexts.
|
title: Breakpoints
|
||||||
|
type: table
|
||||||
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
columns: ["Breakpoint", "Min Width", "Max Width", "Target Devices"]
|
||||||
|
rows:
|
||||||
### Breakpoints
|
- ["Mobile", "{{mobile_min}}", "{{mobile_max}}", "{{mobile_devices}}"]
|
||||||
|
- ["Tablet", "{{tablet_min}}", "{{tablet_max}}", "{{tablet_devices}}"]
|
||||||
| Breakpoint | Min Width | Max Width | Target Devices |
|
- ["Desktop", "{{desktop_min}}", "{{desktop_max}}", "{{desktop_devices}}"]
|
||||||
| :--------- | :-------------- | :-------------- | :------------------ |
|
- ["Wide", "{{wide_min}}", "-", "{{wide_devices}}"]
|
||||||
| Mobile | {{mobile_min}} | {{mobile_max}} | {{mobile_devices}} |
|
- id: adaptation-patterns
|
||||||
| Tablet | {{tablet_min}} | {{tablet_max}} | {{tablet_devices}} |
|
title: Adaptation Patterns
|
||||||
| Desktop | {{desktop_min}} | {{desktop_max}} | {{desktop_devices}} |
|
template: |
|
||||||
| Wide | {{wide_min}} | - | {{wide_devices}} |
|
|
||||||
|
|
||||||
### Adaptation Patterns
|
|
||||||
|
|
||||||
**Layout Changes:** {{layout_adaptations}}
|
**Layout Changes:** {{layout_adaptations}}
|
||||||
|
|
||||||
**Navigation Changes:** {{nav_adaptations}}
|
**Navigation Changes:** {{nav_adaptations}}
|
||||||
@@ -1000,97 +923,65 @@ After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
|||||||
|
|
||||||
**Interaction Changes:** {{interaction_adaptations}}
|
**Interaction Changes:** {{interaction_adaptations}}
|
||||||
|
|
||||||
## Animation & Micro-interactions
|
- id: animation
|
||||||
|
title: Animation & Micro-interactions
|
||||||
[[LLM: Define motion design principles and key interactions. Keep performance and accessibility in mind.
|
instruction: Define motion design principles and key interactions. Keep performance and accessibility in mind.
|
||||||
|
elicit: true
|
||||||
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
|
sections:
|
||||||
|
- id: motion-principles
|
||||||
### Motion Principles
|
title: Motion Principles
|
||||||
|
template: "{{motion_principles}}"
|
||||||
{{motion_principles}}
|
- id: key-animations
|
||||||
|
title: Key Animations
|
||||||
### Key Animations
|
repeatable: true
|
||||||
|
template: "- **{{animation_name}}:** {{animation_description}} (Duration: {{duration}}, Easing: {{easing}})"
|
||||||
<<REPEAT: animation>>
|
|
||||||
|
|
||||||
- **{{animation_name}}:** {{animation_description}} (Duration: {{duration}}, Easing: {{easing}})
|
|
||||||
<</REPEAT>>
|
|
||||||
|
|
||||||
## Performance Considerations
|
|
||||||
|
|
||||||
[[LLM: Define performance goals and strategies that impact UX design decisions.]]
|
|
||||||
|
|
||||||
### Performance Goals
|
|
||||||
|
|
||||||
|
- id: performance
|
||||||
|
title: Performance Considerations
|
||||||
|
instruction: Define performance goals and strategies that impact UX design decisions.
|
||||||
|
sections:
|
||||||
|
- id: performance-goals
|
||||||
|
title: Performance Goals
|
||||||
|
template: |
|
||||||
- **Page Load:** {{load_time_goal}}
|
- **Page Load:** {{load_time_goal}}
|
||||||
- **Interaction Response:** {{interaction_goal}}
|
- **Interaction Response:** {{interaction_goal}}
|
||||||
- **Animation FPS:** {{animation_goal}}
|
- **Animation FPS:** {{animation_goal}}
|
||||||
|
- id: design-strategies
|
||||||
|
title: Design Strategies
|
||||||
|
template: "{{performance_strategies}}"
|
||||||
|
|
||||||
### Design Strategies
|
- id: next-steps
|
||||||
|
title: Next Steps
|
||||||
{{performance_strategies}}
|
instruction: |
|
||||||
|
After completing the UI/UX specification:
|
||||||
## Next Steps
|
|
||||||
|
|
||||||
[[LLM: After completing the UI/UX specification:
|
|
||||||
|
|
||||||
1. Recommend review with stakeholders
|
1. Recommend review with stakeholders
|
||||||
2. Suggest creating/updating visual designs in design tool
|
2. Suggest creating/updating visual designs in design tool
|
||||||
3. Prepare for handoff to Design Architect for frontend architecture
|
3. Prepare for handoff to Design Architect for frontend architecture
|
||||||
4. Note any open questions or decisions needed]]
|
4. Note any open questions or decisions needed
|
||||||
|
sections:
|
||||||
|
- id: immediate-actions
|
||||||
|
title: Immediate Actions
|
||||||
|
type: numbered-list
|
||||||
|
template: "{{action}}"
|
||||||
|
- id: design-handoff-checklist
|
||||||
|
title: Design Handoff Checklist
|
||||||
|
type: checklist
|
||||||
|
items:
|
||||||
|
- "All user flows documented"
|
||||||
|
- "Component inventory complete"
|
||||||
|
- "Accessibility requirements defined"
|
||||||
|
- "Responsive strategy clear"
|
||||||
|
- "Brand guidelines incorporated"
|
||||||
|
- "Performance goals established"
|
||||||
|
|
||||||
### Immediate Actions
|
- id: checklist-results
|
||||||
|
title: Checklist Results
|
||||||
1. {{next_step_1}}
|
instruction: If a UI/UX checklist exists, run it against this document and report results here.
|
||||||
2. {{next_step_2}}
|
==================== END: .bmad-core/templates/front-end-spec-tmpl.yaml ====================
|
||||||
3. {{next_step_3}}
|
|
||||||
|
|
||||||
### Design Handoff Checklist
|
|
||||||
|
|
||||||
- [ ] All user flows documented
|
|
||||||
- [ ] Component inventory complete
|
|
||||||
- [ ] Accessibility requirements defined
|
|
||||||
- [ ] Responsive strategy clear
|
|
||||||
- [ ] Brand guidelines incorporated
|
|
||||||
- [ ] Performance goals established
|
|
||||||
|
|
||||||
## Checklist Results
|
|
||||||
|
|
||||||
[[LLM: If a UI/UX checklist exists, run it against this document and report results here.]]
|
|
||||||
==================== END: .bmad-core/templates/front-end-spec-tmpl.md ====================
|
|
||||||
|
|
||||||
==================== START: .bmad-core/data/technical-preferences.md ====================
|
==================== START: .bmad-core/data/technical-preferences.md ====================
|
||||||
# User-Defined Preferred Patterns and Preferences
|
# User-Defined Preferred Patterns and Preferences
|
||||||
|
|
||||||
None Listed
|
None Listed
|
||||||
==================== END: .bmad-core/data/technical-preferences.md ====================
|
==================== END: .bmad-core/data/technical-preferences.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/utils/template-format.md ====================
|
|
||||||
# Template Format Conventions
|
|
||||||
|
|
||||||
Templates in the BMad method use standardized markup for AI processing. These conventions ensure consistent document generation.
|
|
||||||
|
|
||||||
## Template Markup Elements
|
|
||||||
|
|
||||||
- **{{placeholders}}**: Variables to be replaced with actual content
|
|
||||||
- **[[LLM: instructions]]**: Internal processing instructions for AI agents (never shown to users)
|
|
||||||
- **REPEAT** sections: Content blocks that may be repeated as needed
|
|
||||||
- **^^CONDITION^^** blocks: Conditional content included only if criteria are met
|
|
||||||
- **@{examples}**: Example content for guidance (never output to users)
|
|
||||||
|
|
||||||
## Processing Rules
|
|
||||||
|
|
||||||
- Replace all {{placeholders}} with project-specific content
|
|
||||||
- Execute all [[LLM: instructions]] internally without showing users
|
|
||||||
- Process conditional and repeat blocks as specified
|
|
||||||
- Use examples for guidance but never include them in final output
|
|
||||||
- Present only clean, formatted content to users
|
|
||||||
|
|
||||||
## Critical Guidelines
|
|
||||||
|
|
||||||
- **NEVER display template markup, LLM instructions, or examples to users**
|
|
||||||
- Template elements are for AI processing only
|
|
||||||
- Focus on faithful template execution and clean output
|
|
||||||
- All template-specific instructions are embedded within templates
|
|
||||||
==================== END: .bmad-core/utils/template-format.md ====================
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -50,6 +50,10 @@ activation-instructions:
|
|||||||
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
||||||
- The customization field ALWAYS takes precedence over any conflicting instructions
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||||
|
- Greet the user with your name and role, and inform of the *help command
|
||||||
|
- Load development guidelines to ensure consistent coding standards
|
||||||
|
- Wait for user to specify story or ask for story selection
|
||||||
|
- Only load specific story files when user requests implementation
|
||||||
agent:
|
agent:
|
||||||
name: Maya
|
name: Maya
|
||||||
id: game-developer
|
id: game-developer
|
||||||
@@ -70,13 +74,6 @@ core_principles:
|
|||||||
- Cross-Platform Optimization - Works seamlessly on desktop and mobile
|
- Cross-Platform Optimization - Works seamlessly on desktop and mobile
|
||||||
- Test-Driven Quality - Comprehensive testing of game logic and systems
|
- Test-Driven Quality - Comprehensive testing of game logic and systems
|
||||||
- Numbered Options Protocol - Always use numbered lists for user selections
|
- Numbered Options Protocol - Always use numbered lists for user selections
|
||||||
startup:
|
|
||||||
- Greet the user with your name and role, and inform of the *help command
|
|
||||||
- Load development guidelines to ensure consistent coding standards
|
|
||||||
- CRITICAL: Do NOT scan docs/stories/ directory automatically during startup
|
|
||||||
- CRITICAL: Do NOT begin any implementation tasks automatically
|
|
||||||
- Wait for user to specify story or ask for story selection
|
|
||||||
- Only load specific story files when user requests implementation
|
|
||||||
commands:
|
commands:
|
||||||
- '*help" - Show numbered list of available commands for selection'
|
- '*help" - Show numbered list of available commands for selection'
|
||||||
- '*chat-mode" - Conversational mode for technical advice'
|
- '*chat-mode" - Conversational mode for technical advice'
|
||||||
@@ -98,13 +95,13 @@ task-execution:
|
|||||||
done: Game feature works + Tests pass + 60 FPS + No lint errors + Follows Phaser 3 best practices
|
done: Game feature works + Tests pass + 60 FPS + No lint errors + Follows Phaser 3 best practices
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
templates:
|
templates:
|
||||||
- game-architecture-tmpl
|
- game-architecture-tmpl.yaml
|
||||||
checklists:
|
checklists:
|
||||||
- game-story-dod-checklist
|
- game-story-dod-checklist.md
|
||||||
data:
|
data:
|
||||||
- development-guidelines
|
- development-guidelines.md
|
||||||
```
|
```
|
||||||
==================== END: .bmad-2d-phaser-game-dev/agents/game-developer.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/agents/game-developer.md ====================
|
||||||
|
|
||||||
@@ -204,53 +201,67 @@ The LLM will:
|
|||||||
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
||||||
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml ====================
|
||||||
# {{Game Title}} Game Architecture Document
|
template:
|
||||||
|
id: game-architecture-template-v2
|
||||||
|
name: Game Architecture Document
|
||||||
|
version: 2.0
|
||||||
|
output:
|
||||||
|
format: markdown
|
||||||
|
filename: "docs/{{game_name}}-game-architecture.md"
|
||||||
|
title: "{{game_title}} Game Architecture Document"
|
||||||
|
|
||||||
[[LLM: This template creates a comprehensive game architecture document specifically for Phaser 3 + TypeScript projects. This should provide the technical foundation for all game development stories and epics.
|
workflow:
|
||||||
|
mode: interactive
|
||||||
|
|
||||||
If available, review any provided documents: Game Design Document (GDD), Technical Preferences. This architecture should support all game mechanics defined in the GDD.]]
|
sections:
|
||||||
|
- id: initial-setup
|
||||||
|
instruction: |
|
||||||
|
This template creates a comprehensive game architecture document specifically for Phaser 3 + TypeScript projects. This should provide the technical foundation for all game development stories and epics.
|
||||||
|
|
||||||
## Introduction
|
If available, review any provided documents: Game Design Document (GDD), Technical Preferences. This architecture should support all game mechanics defined in the GDD.
|
||||||
|
|
||||||
[[LLM: Establish the document's purpose and scope for game development]]
|
- id: introduction
|
||||||
|
title: Introduction
|
||||||
This document outlines the complete technical architecture for {{Game Title}}, a 2D game built with Phaser 3 and TypeScript. It serves as the technical foundation for AI-driven game development, ensuring consistency and scalability across all game systems.
|
instruction: Establish the document's purpose and scope for game development
|
||||||
|
content: |
|
||||||
|
This document outlines the complete technical architecture for {{game_title}}, a 2D game built with Phaser 3 and TypeScript. It serves as the technical foundation for AI-driven game development, ensuring consistency and scalability across all game systems.
|
||||||
|
|
||||||
This architecture is designed to support the gameplay mechanics defined in the Game Design Document while maintaining 60 FPS performance and cross-platform compatibility.
|
This architecture is designed to support the gameplay mechanics defined in the Game Design Document while maintaining 60 FPS performance and cross-platform compatibility.
|
||||||
|
sections:
|
||||||
### Change Log
|
- id: change-log
|
||||||
|
title: Change Log
|
||||||
[[LLM: Track document versions and changes]]
|
instruction: Track document versions and changes
|
||||||
|
type: table
|
||||||
|
template: |
|
||||||
| Date | Version | Description | Author |
|
| Date | Version | Description | Author |
|
||||||
| :--- | :------ | :---------- | :----- |
|
| :--- | :------ | :---------- | :----- |
|
||||||
|
|
||||||
## Technical Overview
|
- id: technical-overview
|
||||||
|
title: Technical Overview
|
||||||
[[LLM: Present all subsections together, then apply `tasks#advanced-elicitation` protocol to the complete section.]]
|
instruction: Present all subsections together, then apply `tasks#advanced-elicitation` protocol to the complete section.
|
||||||
|
sections:
|
||||||
### Architecture Summary
|
- id: architecture-summary
|
||||||
|
title: Architecture Summary
|
||||||
[[LLM: Provide a comprehensive overview covering:
|
instruction: |
|
||||||
|
Provide a comprehensive overview covering:
|
||||||
|
|
||||||
- Game engine choice and configuration
|
- Game engine choice and configuration
|
||||||
- Project structure and organization
|
- Project structure and organization
|
||||||
- Key systems and their interactions
|
- Key systems and their interactions
|
||||||
- Performance and optimization strategy
|
- Performance and optimization strategy
|
||||||
- How this architecture achieves GDD requirements]]
|
- How this architecture achieves GDD requirements
|
||||||
|
- id: platform-targets
|
||||||
### Platform Targets
|
title: Platform Targets
|
||||||
|
instruction: Based on GDD requirements, confirm platform support
|
||||||
[[LLM: Based on GDD requirements, confirm platform support]]
|
template: |
|
||||||
|
|
||||||
**Primary Platform:** {{primary_platform}}
|
**Primary Platform:** {{primary_platform}}
|
||||||
**Secondary Platforms:** {{secondary_platforms}}
|
**Secondary Platforms:** {{secondary_platforms}}
|
||||||
**Minimum Requirements:** {{min_specs}}
|
**Minimum Requirements:** {{min_specs}}
|
||||||
**Target Performance:** 60 FPS on {{target_device}}
|
**Target Performance:** 60 FPS on {{target_device}}
|
||||||
|
- id: technology-stack
|
||||||
### Technology Stack
|
title: Technology Stack
|
||||||
|
template: |
|
||||||
**Core Engine:** Phaser 3.70+
|
**Core Engine:** Phaser 3.70+
|
||||||
**Language:** TypeScript 5.0+ (Strict Mode)
|
**Language:** TypeScript 5.0+ (Strict Mode)
|
||||||
**Build Tool:** {{build_tool}} (Webpack/Vite/Parcel)
|
**Build Tool:** {{build_tool}} (Webpack/Vite/Parcel)
|
||||||
@@ -258,15 +269,16 @@ This architecture is designed to support the gameplay mechanics defined in the G
|
|||||||
**Testing:** {{test_framework}}
|
**Testing:** {{test_framework}}
|
||||||
**Deployment:** {{deployment_platform}}
|
**Deployment:** {{deployment_platform}}
|
||||||
|
|
||||||
## Project Structure
|
- id: project-structure
|
||||||
|
title: Project Structure
|
||||||
[[LLM: Define the complete project organization that developers will follow]]
|
instruction: Define the complete project organization that developers will follow
|
||||||
|
sections:
|
||||||
### Repository Organization
|
- id: repository-organization
|
||||||
|
title: Repository Organization
|
||||||
[[LLM: Design a clear folder structure for game development]]
|
instruction: Design a clear folder structure for game development
|
||||||
|
type: code
|
||||||
```text
|
language: text
|
||||||
|
template: |
|
||||||
{{game_name}}/
|
{{game_name}}/
|
||||||
├── src/
|
├── src/
|
||||||
│ ├── scenes/ # Game scenes
|
│ ├── scenes/ # Game scenes
|
||||||
@@ -287,36 +299,39 @@ This architecture is designed to support the gameplay mechanics defined in the G
|
|||||||
│ ├── stories/ # Development stories
|
│ ├── stories/ # Development stories
|
||||||
│ └── architecture/ # Technical docs
|
│ └── architecture/ # Technical docs
|
||||||
└── dist/ # Built game files
|
└── dist/ # Built game files
|
||||||
```
|
- id: module-organization
|
||||||
|
title: Module Organization
|
||||||
### Module Organization
|
instruction: Define how TypeScript modules should be organized
|
||||||
|
sections:
|
||||||
[[LLM: Define how TypeScript modules should be organized]]
|
- id: scene-structure
|
||||||
|
title: Scene Structure
|
||||||
**Scene Structure:**
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Each scene in separate file
|
- Each scene in separate file
|
||||||
- Scene-specific logic contained
|
- Scene-specific logic contained
|
||||||
- Clear data passing between scenes
|
- Clear data passing between scenes
|
||||||
|
- id: game-object-pattern
|
||||||
**Game Object Pattern:**
|
title: Game Object Pattern
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Component-based architecture
|
- Component-based architecture
|
||||||
- Reusable game object classes
|
- Reusable game object classes
|
||||||
- Type-safe property definitions
|
- Type-safe property definitions
|
||||||
|
- id: system-architecture
|
||||||
**System Architecture:**
|
title: System Architecture
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Singleton managers for global systems
|
- Singleton managers for global systems
|
||||||
- Event-driven communication
|
- Event-driven communication
|
||||||
- Clear separation of concerns
|
- Clear separation of concerns
|
||||||
|
|
||||||
## Core Game Systems
|
- id: core-game-systems
|
||||||
|
title: Core Game Systems
|
||||||
[[LLM: Detail each major system that needs to be implemented. Each system should be specific enough for developers to create implementation stories.]]
|
instruction: Detail each major system that needs to be implemented. Each system should be specific enough for developers to create implementation stories.
|
||||||
|
sections:
|
||||||
### Scene Management System
|
- id: scene-management
|
||||||
|
title: Scene Management System
|
||||||
|
template: |
|
||||||
**Purpose:** Handle game flow and scene transitions
|
**Purpose:** Handle game flow and scene transitions
|
||||||
|
|
||||||
**Key Components:**
|
**Key Components:**
|
||||||
@@ -340,9 +355,9 @@ This architecture is designed to support the gameplay mechanics defined in the G
|
|||||||
- `src/scenes/MenuScene.ts`
|
- `src/scenes/MenuScene.ts`
|
||||||
- `src/scenes/GameScene.ts`
|
- `src/scenes/GameScene.ts`
|
||||||
- `src/systems/SceneManager.ts`
|
- `src/systems/SceneManager.ts`
|
||||||
|
- id: game-state-management
|
||||||
### Game State Management
|
title: Game State Management
|
||||||
|
template: |
|
||||||
**Purpose:** Track player progress and game status
|
**Purpose:** Track player progress and game status
|
||||||
|
|
||||||
**State Categories:**
|
**State Categories:**
|
||||||
@@ -364,9 +379,9 @@ This architecture is designed to support the gameplay mechanics defined in the G
|
|||||||
- `src/systems/GameState.ts`
|
- `src/systems/GameState.ts`
|
||||||
- `src/systems/SaveManager.ts`
|
- `src/systems/SaveManager.ts`
|
||||||
- `src/types/GameData.ts`
|
- `src/types/GameData.ts`
|
||||||
|
- id: asset-management
|
||||||
### Asset Management System
|
title: Asset Management System
|
||||||
|
template: |
|
||||||
**Purpose:** Efficient loading and management of game assets
|
**Purpose:** Efficient loading and management of game assets
|
||||||
|
|
||||||
**Asset Categories:**
|
**Asset Categories:**
|
||||||
@@ -388,9 +403,9 @@ This architecture is designed to support the gameplay mechanics defined in the G
|
|||||||
- `src/systems/AssetManager.ts`
|
- `src/systems/AssetManager.ts`
|
||||||
- `src/config/AssetConfig.ts`
|
- `src/config/AssetConfig.ts`
|
||||||
- `src/utils/AssetLoader.ts`
|
- `src/utils/AssetLoader.ts`
|
||||||
|
- id: input-management
|
||||||
### Input Management System
|
title: Input Management System
|
||||||
|
template: |
|
||||||
**Purpose:** Handle all player input across platforms
|
**Purpose:** Handle all player input across platforms
|
||||||
|
|
||||||
**Input Types:**
|
**Input Types:**
|
||||||
@@ -412,15 +427,14 @@ This architecture is designed to support the gameplay mechanics defined in the G
|
|||||||
- `src/systems/InputManager.ts`
|
- `src/systems/InputManager.ts`
|
||||||
- `src/utils/TouchControls.ts`
|
- `src/utils/TouchControls.ts`
|
||||||
- `src/types/InputTypes.ts`
|
- `src/types/InputTypes.ts`
|
||||||
|
- id: game-mechanics-systems
|
||||||
### Game Mechanics Systems
|
title: Game Mechanics Systems
|
||||||
|
instruction: For each major mechanic defined in the GDD, create a system specification
|
||||||
[[LLM: For each major mechanic defined in the GDD, create a system specification]]
|
repeatable: true
|
||||||
|
sections:
|
||||||
<<REPEAT section="mechanic_system" count="based_on_gdd">>
|
- id: mechanic-system
|
||||||
|
title: "{{mechanic_name}} System"
|
||||||
#### {{mechanic_name}} System
|
template: |
|
||||||
|
|
||||||
**Purpose:** {{system_purpose}}
|
**Purpose:** {{system_purpose}}
|
||||||
|
|
||||||
**Core Functionality:**
|
**Core Functionality:**
|
||||||
@@ -435,14 +449,12 @@ This architecture is designed to support the gameplay mechanics defined in the G
|
|||||||
|
|
||||||
**Files to Create:**
|
**Files to Create:**
|
||||||
|
|
||||||
- `src/systems/{{SystemName}}.ts`
|
- `src/systems/{{system_name}}.ts`
|
||||||
- `src/gameObjects/{{RelatedObject}}.ts`
|
- `src/gameObjects/{{related_object}}.ts`
|
||||||
- `src/types/{{SystemTypes}}.ts`
|
- `src/types/{{system_types}}.ts`
|
||||||
|
- id: physics-collision
|
||||||
<</REPEAT>>
|
title: Physics & Collision System
|
||||||
|
template: |
|
||||||
### Physics & Collision System
|
|
||||||
|
|
||||||
**Physics Engine:** {{physics_choice}} (Arcade Physics/Matter.js)
|
**Physics Engine:** {{physics_choice}} (Arcade Physics/Matter.js)
|
||||||
|
|
||||||
**Collision Categories:**
|
**Collision Categories:**
|
||||||
@@ -463,9 +475,9 @@ This architecture is designed to support the gameplay mechanics defined in the G
|
|||||||
|
|
||||||
- `src/systems/PhysicsManager.ts`
|
- `src/systems/PhysicsManager.ts`
|
||||||
- `src/utils/CollisionGroups.ts`
|
- `src/utils/CollisionGroups.ts`
|
||||||
|
- id: audio-system
|
||||||
### Audio System
|
title: Audio System
|
||||||
|
template: |
|
||||||
**Audio Requirements:**
|
**Audio Requirements:**
|
||||||
|
|
||||||
- Background music with looping
|
- Background music with looping
|
||||||
@@ -484,9 +496,9 @@ This architecture is designed to support the gameplay mechanics defined in the G
|
|||||||
|
|
||||||
- `src/systems/AudioManager.ts`
|
- `src/systems/AudioManager.ts`
|
||||||
- `src/config/AudioConfig.ts`
|
- `src/config/AudioConfig.ts`
|
||||||
|
- id: ui-system
|
||||||
### UI System
|
title: UI System
|
||||||
|
template: |
|
||||||
**UI Components:**
|
**UI Components:**
|
||||||
|
|
||||||
- HUD elements (score, health, etc.)
|
- HUD elements (score, health, etc.)
|
||||||
@@ -507,53 +519,61 @@ This architecture is designed to support the gameplay mechanics defined in the G
|
|||||||
- `src/gameObjects/UI/`
|
- `src/gameObjects/UI/`
|
||||||
- `src/types/UITypes.ts`
|
- `src/types/UITypes.ts`
|
||||||
|
|
||||||
## Performance Architecture
|
- id: performance-architecture
|
||||||
|
title: Performance Architecture
|
||||||
[[LLM: Define performance requirements and optimization strategies]]
|
instruction: Define performance requirements and optimization strategies
|
||||||
|
sections:
|
||||||
### Performance Targets
|
- id: performance-targets
|
||||||
|
title: Performance Targets
|
||||||
|
template: |
|
||||||
**Frame Rate:** 60 FPS sustained, 30 FPS minimum
|
**Frame Rate:** 60 FPS sustained, 30 FPS minimum
|
||||||
**Memory Usage:** <{{memory_limit}}MB total
|
**Memory Usage:** <{{memory_limit}}MB total
|
||||||
**Load Times:** <{{initial_load}}s initial, <{{level_load}}s per level
|
**Load Times:** <{{initial_load}}s initial, <{{level_load}}s per level
|
||||||
**Battery Optimization:** Reduced updates when not visible
|
**Battery Optimization:** Reduced updates when not visible
|
||||||
|
- id: optimization-strategies
|
||||||
### Optimization Strategies
|
title: Optimization Strategies
|
||||||
|
sections:
|
||||||
**Object Pooling:**
|
- id: object-pooling
|
||||||
|
title: Object Pooling
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Bullets and projectiles
|
- Bullets and projectiles
|
||||||
- Particle effects
|
- Particle effects
|
||||||
- Enemy objects
|
- Enemy objects
|
||||||
- UI elements
|
- UI elements
|
||||||
|
- id: asset-optimization
|
||||||
**Asset Optimization:**
|
title: Asset Optimization
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Texture atlases for sprites
|
- Texture atlases for sprites
|
||||||
- Audio compression
|
- Audio compression
|
||||||
- Lazy loading for large assets
|
- Lazy loading for large assets
|
||||||
- Progressive enhancement
|
- Progressive enhancement
|
||||||
|
- id: rendering-optimization
|
||||||
**Rendering Optimization:**
|
title: Rendering Optimization
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Sprite batching
|
- Sprite batching
|
||||||
- Culling off-screen objects
|
- Culling off-screen objects
|
||||||
- Reduced particle counts on mobile
|
- Reduced particle counts on mobile
|
||||||
- Texture resolution scaling
|
- Texture resolution scaling
|
||||||
|
- id: optimization-files
|
||||||
**Files to Create:**
|
title: Files to Create
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- `src/utils/ObjectPool.ts`
|
- `src/utils/ObjectPool.ts`
|
||||||
- `src/utils/PerformanceMonitor.ts`
|
- `src/utils/PerformanceMonitor.ts`
|
||||||
- `src/config/OptimizationConfig.ts`
|
- `src/config/OptimizationConfig.ts`
|
||||||
|
|
||||||
## Game Configuration
|
- id: game-configuration
|
||||||
|
title: Game Configuration
|
||||||
[[LLM: Define all configurable aspects of the game]]
|
instruction: Define all configurable aspects of the game
|
||||||
|
sections:
|
||||||
### Phaser Configuration
|
- id: phaser-configuration
|
||||||
|
title: Phaser Configuration
|
||||||
```typescript
|
type: code
|
||||||
|
language: typescript
|
||||||
|
template: |
|
||||||
// src/config/GameConfig.ts
|
// src/config/GameConfig.ts
|
||||||
const gameConfig: Phaser.Types.Core.GameConfig = {
|
const gameConfig: Phaser.Types.Core.GameConfig = {
|
||||||
type: Phaser.AUTO,
|
type: Phaser.AUTO,
|
||||||
@@ -572,13 +592,12 @@ const gameConfig: Phaser.Types.Core.GameConfig = {
|
|||||||
},
|
},
|
||||||
// Additional configuration...
|
// Additional configuration...
|
||||||
};
|
};
|
||||||
```
|
- id: game-balance-configuration
|
||||||
|
title: Game Balance Configuration
|
||||||
### Game Balance Configuration
|
instruction: Based on GDD, define configurable game parameters
|
||||||
|
type: code
|
||||||
[[LLM: Based on GDD, define configurable game parameters]]
|
language: typescript
|
||||||
|
template: |
|
||||||
```typescript
|
|
||||||
// src/config/GameBalance.ts
|
// src/config/GameBalance.ts
|
||||||
export const GameBalance = {
|
export const GameBalance = {
|
||||||
player: {
|
player: {
|
||||||
@@ -593,179 +612,210 @@ export const GameBalance = {
|
|||||||
},
|
},
|
||||||
// Additional balance parameters...
|
// Additional balance parameters...
|
||||||
};
|
};
|
||||||
```
|
|
||||||
|
|
||||||
## Development Guidelines
|
|
||||||
|
|
||||||
[[LLM: Provide coding standards specific to game development]]
|
|
||||||
|
|
||||||
### TypeScript Standards
|
|
||||||
|
|
||||||
**Type Safety:**
|
|
||||||
|
|
||||||
|
- id: development-guidelines
|
||||||
|
title: Development Guidelines
|
||||||
|
instruction: Provide coding standards specific to game development
|
||||||
|
sections:
|
||||||
|
- id: typescript-standards
|
||||||
|
title: TypeScript Standards
|
||||||
|
sections:
|
||||||
|
- id: type-safety
|
||||||
|
title: Type Safety
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Use strict mode
|
- Use strict mode
|
||||||
- Define interfaces for all data structures
|
- Define interfaces for all data structures
|
||||||
- Avoid `any` type usage
|
- Avoid `any` type usage
|
||||||
- Use enums for game states
|
- Use enums for game states
|
||||||
|
- id: code-organization
|
||||||
**Code Organization:**
|
title: Code Organization
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- One class per file
|
- One class per file
|
||||||
- Clear naming conventions
|
- Clear naming conventions
|
||||||
- Proper error handling
|
- Proper error handling
|
||||||
- Comprehensive documentation
|
- Comprehensive documentation
|
||||||
|
- id: phaser-best-practices
|
||||||
### Phaser 3 Best Practices
|
title: Phaser 3 Best Practices
|
||||||
|
sections:
|
||||||
**Scene Management:**
|
- id: scene-management-practices
|
||||||
|
title: Scene Management
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Clean up resources in shutdown()
|
- Clean up resources in shutdown()
|
||||||
- Use scene data for communication
|
- Use scene data for communication
|
||||||
- Implement proper event handling
|
- Implement proper event handling
|
||||||
- Avoid memory leaks
|
- Avoid memory leaks
|
||||||
|
- id: game-object-design
|
||||||
**Game Object Design:**
|
title: Game Object Design
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Extend Phaser classes appropriately
|
- Extend Phaser classes appropriately
|
||||||
- Use component-based architecture
|
- Use component-based architecture
|
||||||
- Implement object pooling where needed
|
- Implement object pooling where needed
|
||||||
- Follow consistent update patterns
|
- Follow consistent update patterns
|
||||||
|
- id: testing-strategy
|
||||||
### Testing Strategy
|
title: Testing Strategy
|
||||||
|
sections:
|
||||||
**Unit Testing:**
|
- id: unit-testing
|
||||||
|
title: Unit Testing
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Test game logic separately from Phaser
|
- Test game logic separately from Phaser
|
||||||
- Mock Phaser dependencies
|
- Mock Phaser dependencies
|
||||||
- Test utility functions
|
- Test utility functions
|
||||||
- Validate game balance calculations
|
- Validate game balance calculations
|
||||||
|
- id: integration-testing
|
||||||
**Integration Testing:**
|
title: Integration Testing
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Scene loading and transitions
|
- Scene loading and transitions
|
||||||
- Save/load functionality
|
- Save/load functionality
|
||||||
- Input handling
|
- Input handling
|
||||||
- Performance benchmarks
|
- Performance benchmarks
|
||||||
|
- id: test-files
|
||||||
**Files to Create:**
|
title: Files to Create
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- `tests/utils/GameLogic.test.ts`
|
- `tests/utils/GameLogic.test.ts`
|
||||||
- `tests/systems/SaveManager.test.ts`
|
- `tests/systems/SaveManager.test.ts`
|
||||||
- `tests/performance/FrameRate.test.ts`
|
- `tests/performance/FrameRate.test.ts`
|
||||||
|
|
||||||
## Deployment Architecture
|
- id: deployment-architecture
|
||||||
|
title: Deployment Architecture
|
||||||
[[LLM: Define how the game will be built and deployed]]
|
instruction: Define how the game will be built and deployed
|
||||||
|
sections:
|
||||||
### Build Process
|
- id: build-process
|
||||||
|
title: Build Process
|
||||||
**Development Build:**
|
sections:
|
||||||
|
- id: development-build
|
||||||
|
title: Development Build
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Fast compilation
|
- Fast compilation
|
||||||
- Source maps enabled
|
- Source maps enabled
|
||||||
- Debug logging active
|
- Debug logging active
|
||||||
- Hot reload support
|
- Hot reload support
|
||||||
|
- id: production-build
|
||||||
**Production Build:**
|
title: Production Build
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Minified and optimized
|
- Minified and optimized
|
||||||
- Asset compression
|
- Asset compression
|
||||||
- Performance monitoring
|
- Performance monitoring
|
||||||
- Error tracking
|
- Error tracking
|
||||||
|
- id: deployment-strategy
|
||||||
### Deployment Strategy
|
title: Deployment Strategy
|
||||||
|
sections:
|
||||||
**Web Deployment:**
|
- id: web-deployment
|
||||||
|
title: Web Deployment
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Static hosting ({{hosting_platform}})
|
- Static hosting ({{hosting_platform}})
|
||||||
- CDN for assets
|
- CDN for assets
|
||||||
- Progressive loading
|
- Progressive loading
|
||||||
- Browser compatibility
|
- Browser compatibility
|
||||||
|
- id: mobile-packaging
|
||||||
**Mobile Packaging:**
|
title: Mobile Packaging
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Cordova/Capacitor wrapper
|
- Cordova/Capacitor wrapper
|
||||||
- Platform-specific optimization
|
- Platform-specific optimization
|
||||||
- App store requirements
|
- App store requirements
|
||||||
- Performance testing
|
- Performance testing
|
||||||
|
|
||||||
## Implementation Roadmap
|
- id: implementation-roadmap
|
||||||
|
title: Implementation Roadmap
|
||||||
[[LLM: Break down the architecture implementation into phases that align with the GDD development phases]]
|
instruction: Break down the architecture implementation into phases that align with the GDD development phases
|
||||||
|
sections:
|
||||||
### Phase 1: Foundation ({{duration}})
|
- id: phase-1-foundation
|
||||||
|
title: "Phase 1: Foundation ({{duration}})"
|
||||||
**Core Systems:**
|
sections:
|
||||||
|
- id: phase-1-core
|
||||||
|
title: Core Systems
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Project setup and configuration
|
- Project setup and configuration
|
||||||
- Basic scene management
|
- Basic scene management
|
||||||
- Asset loading pipeline
|
- Asset loading pipeline
|
||||||
- Input handling framework
|
- Input handling framework
|
||||||
|
- id: phase-1-epics
|
||||||
**Story Epics:**
|
title: Story Epics
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- "Engine Setup and Configuration"
|
- "Engine Setup and Configuration"
|
||||||
- "Basic Scene Management System"
|
- "Basic Scene Management System"
|
||||||
- "Asset Loading Foundation"
|
- "Asset Loading Foundation"
|
||||||
|
- id: phase-2-game-systems
|
||||||
### Phase 2: Game Systems ({{duration}})
|
title: "Phase 2: Game Systems ({{duration}})"
|
||||||
|
sections:
|
||||||
**Gameplay Systems:**
|
- id: phase-2-gameplay
|
||||||
|
title: Gameplay Systems
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- {{primary_mechanic}} implementation
|
- {{primary_mechanic}} implementation
|
||||||
- Physics and collision system
|
- Physics and collision system
|
||||||
- Game state management
|
- Game state management
|
||||||
- UI framework
|
- UI framework
|
||||||
|
- id: phase-2-epics
|
||||||
**Story Epics:**
|
title: Story Epics
|
||||||
|
type: bullet-list
|
||||||
- "{{Primary_Mechanic}} System Implementation"
|
template: |
|
||||||
|
- "{{primary_mechanic}} System Implementation"
|
||||||
- "Physics and Collision Framework"
|
- "Physics and Collision Framework"
|
||||||
- "Game State Management System"
|
- "Game State Management System"
|
||||||
|
- id: phase-3-content-polish
|
||||||
### Phase 3: Content & Polish ({{duration}})
|
title: "Phase 3: Content & Polish ({{duration}})"
|
||||||
|
sections:
|
||||||
**Content Systems:**
|
- id: phase-3-content
|
||||||
|
title: Content Systems
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- Level loading and management
|
- Level loading and management
|
||||||
- Audio system integration
|
- Audio system integration
|
||||||
- Performance optimization
|
- Performance optimization
|
||||||
- Final polish and testing
|
- Final polish and testing
|
||||||
|
- id: phase-3-epics
|
||||||
**Story Epics:**
|
title: Story Epics
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- "Level Management System"
|
- "Level Management System"
|
||||||
- "Audio Integration and Optimization"
|
- "Audio Integration and Optimization"
|
||||||
- "Performance Optimization and Testing"
|
- "Performance Optimization and Testing"
|
||||||
|
|
||||||
## Risk Assessment
|
- id: risk-assessment
|
||||||
|
title: Risk Assessment
|
||||||
[[LLM: Identify potential technical risks and mitigation strategies]]
|
instruction: Identify potential technical risks and mitigation strategies
|
||||||
|
type: table
|
||||||
|
template: |
|
||||||
| Risk | Probability | Impact | Mitigation Strategy |
|
| Risk | Probability | Impact | Mitigation Strategy |
|
||||||
| ---------------------------- | ----------- | ---------- | ------------------- |
|
| ---------------------------- | ----------- | ---------- | ------------------- |
|
||||||
| Performance issues on mobile | {{prob}} | {{impact}} | {{mitigation}} |
|
| Performance issues on mobile | {{prob}} | {{impact}} | {{mitigation}} |
|
||||||
| Asset loading bottlenecks | {{prob}} | {{impact}} | {{mitigation}} |
|
| Asset loading bottlenecks | {{prob}} | {{impact}} | {{mitigation}} |
|
||||||
| Cross-platform compatibility | {{prob}} | {{impact}} | {{mitigation}} |
|
| Cross-platform compatibility | {{prob}} | {{impact}} | {{mitigation}} |
|
||||||
|
|
||||||
## Success Criteria
|
- id: success-criteria
|
||||||
|
title: Success Criteria
|
||||||
[[LLM: Define measurable technical success criteria]]
|
instruction: Define measurable technical success criteria
|
||||||
|
sections:
|
||||||
**Technical Metrics:**
|
- id: technical-metrics
|
||||||
|
title: Technical Metrics
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- All systems implemented per specification
|
- All systems implemented per specification
|
||||||
- Performance targets met consistently
|
- Performance targets met consistently
|
||||||
- Zero critical bugs in core systems
|
- Zero critical bugs in core systems
|
||||||
- Successful deployment across target platforms
|
- Successful deployment across target platforms
|
||||||
|
- id: code-quality
|
||||||
**Code Quality:**
|
title: Code Quality
|
||||||
|
type: bullet-list
|
||||||
|
template: |
|
||||||
- 90%+ test coverage on game logic
|
- 90%+ test coverage on game logic
|
||||||
- Zero TypeScript errors in strict mode
|
- Zero TypeScript errors in strict mode
|
||||||
- Consistent adherence to coding standards
|
- Consistent adherence to coding standards
|
||||||
- Comprehensive documentation coverage
|
- Comprehensive documentation coverage
|
||||||
==================== END: .bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
||||||
# Game Development Story Definition of Done Checklist
|
# Game Development Story Definition of Done Checklist
|
||||||
|
|||||||
@@ -50,6 +50,10 @@ activation-instructions:
|
|||||||
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
||||||
- The customization field ALWAYS takes precedence over any conflicting instructions
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||||
|
- Greet the user with your name and role, and inform of the *help command
|
||||||
|
- Offer to help with game story preparation but wait for explicit user confirmation
|
||||||
|
- Only execute tasks when user explicitly requests them
|
||||||
|
- 'CRITICAL RULE: You are ONLY allowed to create/modify story files - NEVER implement! If asked to implement, tell user they MUST switch to Game Developer Agent'
|
||||||
agent:
|
agent:
|
||||||
name: Jordan
|
name: Jordan
|
||||||
id: game-sm
|
id: game-sm
|
||||||
@@ -69,13 +73,6 @@ core_principles:
|
|||||||
- Focus on One Story at a Time - Complete one before starting next
|
- Focus on One Story at a Time - Complete one before starting next
|
||||||
- Game-Specific Context - Understand Phaser 3, game mechanics, and performance requirements
|
- Game-Specific Context - Understand Phaser 3, game mechanics, and performance requirements
|
||||||
- Numbered Options Protocol - Always use numbered lists for selections
|
- Numbered Options Protocol - Always use numbered lists for selections
|
||||||
startup:
|
|
||||||
- Greet the user with your name and role, and inform of the *help command
|
|
||||||
- CRITICAL: Do NOT automatically execute create-game-story tasks during startup
|
|
||||||
- CRITICAL: Do NOT create or modify any files during startup
|
|
||||||
- Offer to help with game story preparation but wait for explicit user confirmation
|
|
||||||
- Only execute tasks when user explicitly requests them
|
|
||||||
- 'CRITICAL RULE: You are ONLY allowed to create/modify story files - NEVER implement! If asked to implement, tell user they MUST switch to Game Developer Agent'
|
|
||||||
commands:
|
commands:
|
||||||
- '*help" - Show numbered list of available commands for selection'
|
- '*help" - Show numbered list of available commands for selection'
|
||||||
- '*chat-mode" - Conversational mode with advanced-elicitation for game dev advice'
|
- '*chat-mode" - Conversational mode with advanced-elicitation for game dev advice'
|
||||||
@@ -84,12 +81,12 @@ commands:
|
|||||||
- '*exit" - Say goodbye as the Game Scrum Master, and then abandon inhabiting this persona'
|
- '*exit" - Say goodbye as the Game Scrum Master, and then abandon inhabiting this persona'
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- create-game-story
|
- create-game-story.md
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
templates:
|
templates:
|
||||||
- game-story-tmpl
|
- game-story-tmpl.yaml
|
||||||
checklists:
|
checklists:
|
||||||
- game-story-dod-checklist
|
- game-story-dod-checklist.md
|
||||||
```
|
```
|
||||||
==================== END: .bmad-2d-phaser-game-dev/agents/game-sm.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/agents/game-sm.md ====================
|
||||||
|
|
||||||
@@ -408,16 +405,23 @@ The LLM will:
|
|||||||
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
||||||
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/templates/game-story-tmpl.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml ====================
|
||||||
# Story: {{Story Title}}
|
template:
|
||||||
|
id: game-story-template-v2
|
||||||
|
name: Game Development Story
|
||||||
|
version: 2.0
|
||||||
|
output:
|
||||||
|
format: markdown
|
||||||
|
filename: "stories/{{epic_name}}/{{story_id}}-{{story_name}}.md"
|
||||||
|
title: "Story: {{story_title}}"
|
||||||
|
|
||||||
**Epic:** {{Epic Name}}
|
workflow:
|
||||||
**Story ID:** {{ID}}
|
mode: interactive
|
||||||
**Priority:** {{High|Medium|Low}}
|
|
||||||
**Points:** {{Story Points}}
|
|
||||||
**Status:** Draft
|
|
||||||
|
|
||||||
[[LLM: This template creates detailed game development stories that are immediately actionable by game developers. Each story should focus on a single, implementable feature that contributes to the overall game functionality.
|
sections:
|
||||||
|
- id: initial-setup
|
||||||
|
instruction: |
|
||||||
|
This template creates detailed game development stories that are immediately actionable by game developers. Each story should focus on a single, implementable feature that contributes to the overall game functionality.
|
||||||
|
|
||||||
Before starting, ensure you have access to:
|
Before starting, ensure you have access to:
|
||||||
|
|
||||||
@@ -425,43 +429,53 @@ Before starting, ensure you have access to:
|
|||||||
- Game Architecture Document
|
- Game Architecture Document
|
||||||
- Any existing stories in this epic
|
- Any existing stories in this epic
|
||||||
|
|
||||||
The story should be specific enough that a developer can implement it without requiring additional design decisions.]]
|
The story should be specific enough that a developer can implement it without requiring additional design decisions.
|
||||||
|
|
||||||
## Description
|
- id: story-header
|
||||||
|
content: |
|
||||||
|
**Epic:** {{epic_name}}
|
||||||
|
**Story ID:** {{story_id}}
|
||||||
|
**Priority:** {{High|Medium|Low}}
|
||||||
|
**Points:** {{story_points}}
|
||||||
|
**Status:** Draft
|
||||||
|
|
||||||
[[LLM: Provide a clear, concise description of what this story implements. Focus on the specific game feature or system being built. Reference the GDD section that defines this feature.]]
|
- id: description
|
||||||
|
title: Description
|
||||||
|
instruction: Provide a clear, concise description of what this story implements. Focus on the specific game feature or system being built. Reference the GDD section that defines this feature.
|
||||||
|
template: "{{clear_description_of_what_needs_to_be_implemented}}"
|
||||||
|
|
||||||
{{clear_description_of_what_needs_to_be_implemented}}
|
- id: acceptance-criteria
|
||||||
|
title: Acceptance Criteria
|
||||||
## Acceptance Criteria
|
instruction: Define specific, testable conditions that must be met for the story to be considered complete. Each criterion should be verifiable and directly related to gameplay functionality.
|
||||||
|
sections:
|
||||||
[[LLM: Define specific, testable conditions that must be met for the story to be considered complete. Each criterion should be verifiable and directly related to gameplay functionality.]]
|
- id: functional-requirements
|
||||||
|
title: Functional Requirements
|
||||||
### Functional Requirements
|
type: checklist
|
||||||
|
items:
|
||||||
- [ ] {{specific_functional_requirement_1}}
|
- "{{specific_functional_requirement}}"
|
||||||
- [ ] {{specific_functional_requirement_2}}
|
- id: technical-requirements
|
||||||
- [ ] {{specific_functional_requirement_3}}
|
title: Technical Requirements
|
||||||
|
type: checklist
|
||||||
### Technical Requirements
|
items:
|
||||||
|
- "Code follows TypeScript strict mode standards"
|
||||||
- [ ] Code follows TypeScript strict mode standards
|
- "Maintains 60 FPS on target devices"
|
||||||
- [ ] Maintains 60 FPS on target devices
|
- "No memory leaks or performance degradation"
|
||||||
- [ ] No memory leaks or performance degradation
|
- "{{specific_technical_requirement}}"
|
||||||
- [ ] {{specific_technical_requirement}}
|
- id: game-design-requirements
|
||||||
|
title: Game Design Requirements
|
||||||
### Game Design Requirements
|
type: checklist
|
||||||
|
items:
|
||||||
- [ ] {{gameplay_requirement_from_gdd}}
|
- "{{gameplay_requirement_from_gdd}}"
|
||||||
- [ ] {{balance_requirement_if_applicable}}
|
- "{{balance_requirement_if_applicable}}"
|
||||||
- [ ] {{player_experience_requirement}}
|
- "{{player_experience_requirement}}"
|
||||||
|
|
||||||
## Technical Specifications
|
|
||||||
|
|
||||||
[[LLM: Provide specific technical details that guide implementation. Include class names, file locations, and integration points based on the game architecture.]]
|
|
||||||
|
|
||||||
### Files to Create/Modify
|
|
||||||
|
|
||||||
|
- id: technical-specifications
|
||||||
|
title: Technical Specifications
|
||||||
|
instruction: Provide specific technical details that guide implementation. Include class names, file locations, and integration points based on the game architecture.
|
||||||
|
sections:
|
||||||
|
- id: files-to-modify
|
||||||
|
title: Files to Create/Modify
|
||||||
|
template: |
|
||||||
**New Files:**
|
**New Files:**
|
||||||
|
|
||||||
- `{{file_path_1}}` - {{purpose}}
|
- `{{file_path_1}}` - {{purpose}}
|
||||||
@@ -471,21 +485,21 @@ The story should be specific enough that a developer can implement it without re
|
|||||||
|
|
||||||
- `{{existing_file_1}}` - {{changes_needed}}
|
- `{{existing_file_1}}` - {{changes_needed}}
|
||||||
- `{{existing_file_2}}` - {{changes_needed}}
|
- `{{existing_file_2}}` - {{changes_needed}}
|
||||||
|
- id: class-interface-definitions
|
||||||
### Class/Interface Definitions
|
title: Class/Interface Definitions
|
||||||
|
instruction: Define specific TypeScript interfaces and class structures needed
|
||||||
[[LLM: Define specific TypeScript interfaces and class structures needed]]
|
type: code
|
||||||
|
language: typescript
|
||||||
```typescript
|
template: |
|
||||||
// {{interface_name}}
|
// {{interface_name}}
|
||||||
interface {{InterfaceName}} {
|
interface {{interface_name}} {
|
||||||
{{property_1}}: {{type}};
|
{{property_1}}: {{type}};
|
||||||
{{property_2}}: {{type}};
|
{{property_2}}: {{type}};
|
||||||
{{method_1}}({{params}}): {{return_type}};
|
{{method_1}}({{params}}): {{return_type}};
|
||||||
}
|
}
|
||||||
|
|
||||||
// {{class_name}}
|
// {{class_name}}
|
||||||
class {{ClassName}} extends {{PhaseClass}} {
|
class {{class_name}} extends {{phaser_class}} {
|
||||||
private {{property}}: {{type}};
|
private {{property}}: {{type}};
|
||||||
|
|
||||||
constructor({{params}}) {
|
constructor({{params}}) {
|
||||||
@@ -496,12 +510,10 @@ class {{ClassName}} extends {{PhaseClass}} {
|
|||||||
// Method requirements
|
// Method requirements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
- id: integration-points
|
||||||
|
title: Integration Points
|
||||||
### Integration Points
|
instruction: Specify how this feature integrates with existing systems
|
||||||
|
template: |
|
||||||
[[LLM: Specify how this feature integrates with existing systems]]
|
|
||||||
|
|
||||||
**Scene Integration:**
|
**Scene Integration:**
|
||||||
|
|
||||||
- {{scene_name}}: {{integration_details}}
|
- {{scene_name}}: {{integration_details}}
|
||||||
@@ -515,12 +527,13 @@ class {{ClassName}} extends {{PhaseClass}} {
|
|||||||
- Emits: `{{event_name}}` when {{condition}}
|
- Emits: `{{event_name}}` when {{condition}}
|
||||||
- Listens: `{{event_name}}` to {{response}}
|
- Listens: `{{event_name}}` to {{response}}
|
||||||
|
|
||||||
## Implementation Tasks
|
- id: implementation-tasks
|
||||||
|
title: Implementation Tasks
|
||||||
[[LLM: Break down the implementation into specific, ordered tasks. Each task should be completable in 1-4 hours.]]
|
instruction: Break down the implementation into specific, ordered tasks. Each task should be completable in 1-4 hours.
|
||||||
|
sections:
|
||||||
### Dev Agent Record
|
- id: dev-agent-record
|
||||||
|
title: Dev Agent Record
|
||||||
|
template: |
|
||||||
**Tasks:**
|
**Tasks:**
|
||||||
|
|
||||||
- [ ] {{task_1_description}}
|
- [ ] {{task_1_description}}
|
||||||
@@ -544,10 +557,10 @@ class {{ClassName}} extends {{PhaseClass}} {
|
|||||||
|
|
||||||
<!-- Only requirement changes during implementation -->
|
<!-- Only requirement changes during implementation -->
|
||||||
|
|
||||||
## Game Design Context
|
- id: game-design-context
|
||||||
|
title: Game Design Context
|
||||||
[[LLM: Reference the specific sections of the GDD that this story implements]]
|
instruction: Reference the specific sections of the GDD that this story implements
|
||||||
|
template: |
|
||||||
**GDD Reference:** {{section_name}} ({{page_or_section_number}})
|
**GDD Reference:** {{section_name}} ({{page_or_section_number}})
|
||||||
|
|
||||||
**Game Mechanic:** {{mechanic_name}}
|
**Game Mechanic:** {{mechanic_name}}
|
||||||
@@ -559,12 +572,13 @@ class {{ClassName}} extends {{PhaseClass}} {
|
|||||||
- {{parameter_1}}: {{value_or_range}}
|
- {{parameter_1}}: {{value_or_range}}
|
||||||
- {{parameter_2}}: {{value_or_range}}
|
- {{parameter_2}}: {{value_or_range}}
|
||||||
|
|
||||||
## Testing Requirements
|
- id: testing-requirements
|
||||||
|
title: Testing Requirements
|
||||||
[[LLM: Define specific testing criteria for this game feature]]
|
instruction: Define specific testing criteria for this game feature
|
||||||
|
sections:
|
||||||
### Unit Tests
|
- id: unit-tests
|
||||||
|
title: Unit Tests
|
||||||
|
template: |
|
||||||
**Test Files:**
|
**Test Files:**
|
||||||
|
|
||||||
- `tests/{{component_name}}.test.ts`
|
- `tests/{{component_name}}.test.ts`
|
||||||
@@ -574,9 +588,9 @@ class {{ClassName}} extends {{PhaseClass}} {
|
|||||||
- {{test_scenario_1}}
|
- {{test_scenario_1}}
|
||||||
- {{test_scenario_2}}
|
- {{test_scenario_2}}
|
||||||
- {{edge_case_test}}
|
- {{edge_case_test}}
|
||||||
|
- id: game-testing
|
||||||
### Game Testing
|
title: Game Testing
|
||||||
|
template: |
|
||||||
**Manual Test Cases:**
|
**Manual Test Cases:**
|
||||||
|
|
||||||
1. {{test_case_1_description}}
|
1. {{test_case_1_description}}
|
||||||
@@ -587,19 +601,19 @@ class {{ClassName}} extends {{PhaseClass}} {
|
|||||||
2. {{test_case_2_description}}
|
2. {{test_case_2_description}}
|
||||||
- Expected: {{expected_behavior}}
|
- Expected: {{expected_behavior}}
|
||||||
- Edge Case: {{edge_case_handling}}
|
- Edge Case: {{edge_case_handling}}
|
||||||
|
- id: performance-tests
|
||||||
### Performance Tests
|
title: Performance Tests
|
||||||
|
template: |
|
||||||
**Metrics to Verify:**
|
**Metrics to Verify:**
|
||||||
|
|
||||||
- Frame rate maintains {{fps_target}} FPS
|
- Frame rate maintains {{fps_target}} FPS
|
||||||
- Memory usage stays under {{memory_limit}}MB
|
- Memory usage stays under {{memory_limit}}MB
|
||||||
- {{feature_specific_performance_metric}}
|
- {{feature_specific_performance_metric}}
|
||||||
|
|
||||||
## Dependencies
|
- id: dependencies
|
||||||
|
title: Dependencies
|
||||||
[[LLM: List any dependencies that must be completed before this story can be implemented]]
|
instruction: List any dependencies that must be completed before this story can be implemented
|
||||||
|
template: |
|
||||||
**Story Dependencies:**
|
**Story Dependencies:**
|
||||||
|
|
||||||
- {{story_id}}: {{dependency_description}}
|
- {{story_id}}: {{dependency_description}}
|
||||||
@@ -613,23 +627,24 @@ class {{ClassName}} extends {{PhaseClass}} {
|
|||||||
- {{asset_type}}: {{asset_description}}
|
- {{asset_type}}: {{asset_description}}
|
||||||
- Location: `{{asset_path}}`
|
- Location: `{{asset_path}}`
|
||||||
|
|
||||||
## Definition of Done
|
- id: definition-of-done
|
||||||
|
title: Definition of Done
|
||||||
[[LLM: Checklist that must be completed before the story is considered finished]]
|
instruction: Checklist that must be completed before the story is considered finished
|
||||||
|
type: checklist
|
||||||
- [ ] All acceptance criteria met
|
items:
|
||||||
- [ ] Code reviewed and approved
|
- "All acceptance criteria met"
|
||||||
- [ ] Unit tests written and passing
|
- "Code reviewed and approved"
|
||||||
- [ ] Integration tests passing
|
- "Unit tests written and passing"
|
||||||
- [ ] Performance targets met
|
- "Integration tests passing"
|
||||||
- [ ] No linting errors
|
- "Performance targets met"
|
||||||
- [ ] Documentation updated
|
- "No linting errors"
|
||||||
- [ ] {{game_specific_dod_item}}
|
- "Documentation updated"
|
||||||
|
- "{{game_specific_dod_item}}"
|
||||||
## Notes
|
|
||||||
|
|
||||||
[[LLM: Any additional context, design decisions, or implementation notes]]
|
|
||||||
|
|
||||||
|
- id: notes
|
||||||
|
title: Notes
|
||||||
|
instruction: Any additional context, design decisions, or implementation notes
|
||||||
|
template: |
|
||||||
**Implementation Notes:**
|
**Implementation Notes:**
|
||||||
|
|
||||||
- {{note_1}}
|
- {{note_1}}
|
||||||
@@ -644,7 +659,7 @@ class {{ClassName}} extends {{PhaseClass}} {
|
|||||||
|
|
||||||
- {{future_enhancement_1}}
|
- {{future_enhancement_1}}
|
||||||
- {{future_optimization_1}}
|
- {{future_optimization_1}}
|
||||||
==================== END: .bmad-2d-phaser-game-dev/templates/game-story-tmpl.md ====================
|
==================== END: .bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml ====================
|
||||||
|
|
||||||
==================== START: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
==================== START: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
||||||
# Game Development Story Definition of Done Checklist
|
# Game Development Story Definition of Done Checklist
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -50,6 +50,9 @@ activation-instructions:
|
|||||||
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
||||||
- The customization field ALWAYS takes precedence over any conflicting instructions
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||||
|
- Greet the user with your name and role, and inform of the *help command
|
||||||
|
- Offer to help with BMad framework extensions but wait for explicit user confirmation
|
||||||
|
- Only execute tasks when user explicitly requests them
|
||||||
agent:
|
agent:
|
||||||
name: The Creator
|
name: The Creator
|
||||||
id: bmad-the-creator
|
id: bmad-the-creator
|
||||||
@@ -69,12 +72,6 @@ core_principles:
|
|||||||
- Convention Over Configuration - Follow BMad naming and structure patterns
|
- Convention Over Configuration - Follow BMad naming and structure patterns
|
||||||
- Extensibility First - Design for future expansion and customization
|
- Extensibility First - Design for future expansion and customization
|
||||||
- Numbered Options Protocol - Always use numbered lists for user selections
|
- Numbered Options Protocol - Always use numbered lists for user selections
|
||||||
startup:
|
|
||||||
- Greet the user with your name and role, and inform of the *help command
|
|
||||||
- CRITICAL: Do NOT automatically create documents or execute tasks during startup
|
|
||||||
- CRITICAL: Do NOT create or modify any files during startup
|
|
||||||
- Offer to help with BMad framework extensions but wait for explicit user confirmation
|
|
||||||
- Only execute tasks when user explicitly requests them
|
|
||||||
commands:
|
commands:
|
||||||
- '*help" - Show numbered list of available commands for selection'
|
- '*help" - Show numbered list of available commands for selection'
|
||||||
- '*chat-mode" - Conversational mode with advanced-elicitation for framework design advice'
|
- '*chat-mode" - Conversational mode with advanced-elicitation for framework design advice'
|
||||||
@@ -85,13 +82,13 @@ commands:
|
|||||||
- '*exit" - Say goodbye as The Creator, and then abandon inhabiting this persona'
|
- '*exit" - Say goodbye as The Creator, and then abandon inhabiting this persona'
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- create-agent
|
- create-agent.md
|
||||||
- generate-expansion-pack
|
- generate-expansion-pack.md
|
||||||
- advanced-elicitation
|
- advanced-elicitation.md
|
||||||
- create-deep-research-prompt
|
- create-deep-research-prompt.md
|
||||||
templates:
|
templates:
|
||||||
- agent-tmpl
|
- agent-tmpl.yaml
|
||||||
- expansion-pack-plan-tmpl
|
- expansion-pack-plan-tmpl.yaml
|
||||||
```
|
```
|
||||||
==================== END: .bmad-creator-tools/agents/bmad-the-creator.md ====================
|
==================== END: .bmad-creator-tools/agents/bmad-the-creator.md ====================
|
||||||
|
|
||||||
@@ -1745,20 +1742,39 @@ Present these numbered options to the user:
|
|||||||
- Plan for iterative refinement based on initial findings
|
- Plan for iterative refinement based on initial findings
|
||||||
==================== END: .bmad-creator-tools/tasks/create-deep-research-prompt.md ====================
|
==================== END: .bmad-creator-tools/tasks/create-deep-research-prompt.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-creator-tools/templates/agent-tmpl.md ====================
|
==================== START: .bmad-creator-tools/templates/agent-tmpl.yaml ====================
|
||||||
# [AGENT_ID]
|
template:
|
||||||
|
id: agent-template-v2
|
||||||
|
name: Agent Definition
|
||||||
|
version: 2.0
|
||||||
|
output:
|
||||||
|
format: markdown
|
||||||
|
filename: "agents/{{agent_id}}.md"
|
||||||
|
title: "{{agent_id}}"
|
||||||
|
|
||||||
[[LLM: This is an agent definition template. When creating a new agent:
|
workflow:
|
||||||
|
mode: interactive
|
||||||
|
|
||||||
|
sections:
|
||||||
|
- id: header
|
||||||
|
title: "{{agent_id}}"
|
||||||
|
instruction: |
|
||||||
|
This is an agent definition template. When creating a new agent:
|
||||||
|
|
||||||
1. ALL dependencies (tasks, templates, checklists, data) MUST exist or be created
|
1. ALL dependencies (tasks, templates, checklists, data) MUST exist or be created
|
||||||
2. For output generation, use the create-doc pattern with appropriate templates
|
2. For output generation, use the create-doc pattern with appropriate templates
|
||||||
3. Templates should include LLM instructions for guiding users through content creation
|
3. Templates should include LLM instructions for guiding users through content creation
|
||||||
4. Character personas should be consistent and domain-appropriate
|
4. Character personas should be consistent and domain-appropriate
|
||||||
5. Follow the numbered options protocol for all user interactions]]
|
5. Follow the numbered options protocol for all user interactions
|
||||||
|
|
||||||
|
- id: agent-definition
|
||||||
|
content: |
|
||||||
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
||||||
|
sections:
|
||||||
```yaml
|
- id: yaml-definition
|
||||||
|
type: code
|
||||||
|
language: yaml
|
||||||
|
template: |
|
||||||
activation-instructions:
|
activation-instructions:
|
||||||
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
||||||
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
||||||
@@ -1767,78 +1783,71 @@ activation-instructions:
|
|||||||
- Command
|
- Command
|
||||||
|
|
||||||
agent:
|
agent:
|
||||||
name: [AGENT_NAME]
|
name: {{agent_name}}
|
||||||
id: [AGENT_ID]
|
id: {{agent_id}}
|
||||||
title: [AGENT_TITLE]
|
title: {{agent_title}}
|
||||||
customization: [OPTIONAL_CUSTOMIZATION]
|
customization: {{optional_customization}}
|
||||||
|
|
||||||
persona:
|
persona:
|
||||||
role: [AGENT_ROLE_DESCRIPTION]
|
role: {{agent_role_description}}
|
||||||
style: [COMMUNICATION_STYLE]
|
style: {{communication_style}}
|
||||||
identity: [AGENT_IDENTITY_DESCRIPTION]
|
identity: {{agent_identity_description}}
|
||||||
focus: [PRIMARY_FOCUS_AREAS]
|
focus: {{primary_focus_areas}}
|
||||||
|
|
||||||
core_principles:
|
core_principles:
|
||||||
- [PRINCIPLE_1]
|
- {{principle_1}}
|
||||||
- [PRINCIPLE_2]
|
- {{principle_2}}
|
||||||
- [PRINCIPLE_3]
|
- {{principle_3}}
|
||||||
# Add more principles as needed
|
# Add more principles as needed
|
||||||
|
|
||||||
startup:
|
startup:
|
||||||
- Greet the user with your name and role, and inform of the *help command.
|
- Greet the user with your name and role, and inform of the *help command.
|
||||||
- [STARTUP_INSTRUCTION]
|
- {{startup_instruction_1}}
|
||||||
- [STARTUP_INSTRUCTION]...
|
- {{startup_instruction_2}}
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
- "*help" - Show: numbered list of the following commands to allow selection
|
- "*help" - Show: numbered list of the following commands to allow selection
|
||||||
- "*chat-mode" - (Default) [DEFAULT_MODE_DESCRIPTION]
|
- "*chat-mode" - (Default) {{default_mode_description}}
|
||||||
- "*create-doc {template}" - Create doc (no template = show available templates)
|
- "*create-doc {template}" - Create doc (no template = show available templates)
|
||||||
[[LLM: For output generation tasks, always use create-doc with templates rather than custom tasks.
|
{{custom_commands}}
|
||||||
Example: Instead of a "create-blueprint" task, use "*create-doc blueprint-tmpl"
|
- "*exit" - Say goodbye as the {{agent_title}}, and then abandon inhabiting this persona
|
||||||
The template should contain LLM instructions for guiding users through the creation process]]
|
|
||||||
- [tasks] specific to the agent that are not covered by a template
|
|
||||||
[[LLM: Only create custom tasks for actions that don't produce documents, like analysis, validation, or process execution]]
|
|
||||||
- "*exit" - Say goodbye as the [AGENT_TITLE], and then abandon inhabiting this persona
|
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
[[LLM: CRITICAL - All dependencies listed here MUST exist in the expansion pack or be created:
|
tasks:
|
||||||
|
- create-doc # Required if agent creates documents from templates
|
||||||
|
{{task_list}}
|
||||||
|
|
||||||
|
templates:
|
||||||
|
{{template_list}}
|
||||||
|
|
||||||
|
checklists:
|
||||||
|
{{checklist_list}}
|
||||||
|
|
||||||
|
data:
|
||||||
|
{{data_list}}
|
||||||
|
|
||||||
|
utils:
|
||||||
|
- template-format # Required if using templates
|
||||||
|
{{util_list}}
|
||||||
|
instruction: |
|
||||||
|
For output generation tasks, always use create-doc with templates rather than custom tasks.
|
||||||
|
Example: Instead of a "create-blueprint" task, use "*create-doc blueprint-tmpl"
|
||||||
|
The template should contain LLM instructions for guiding users through the creation process
|
||||||
|
|
||||||
|
Only create custom tasks for actions that don't produce documents, like analysis, validation, or process execution
|
||||||
|
|
||||||
|
CRITICAL - All dependencies listed here MUST exist in the expansion pack or be created:
|
||||||
- Tasks: Must exist in tasks/ directory (include create-doc if using templates)
|
- Tasks: Must exist in tasks/ directory (include create-doc if using templates)
|
||||||
- Templates: Must exist in templates/ directory with proper LLM instructions
|
- Templates: Must exist in templates/ directory with proper LLM instructions
|
||||||
- Checklists: Must exist in checklists/ directory for quality validation
|
- Checklists: Must exist in checklists/ directory for quality validation
|
||||||
- Data: Must exist in data/ directory or be documented as user-required
|
- Data: Must exist in data/ directory or be documented as user-required
|
||||||
- Utils: Must exist in utils/ directory (include template-format if using templates)]]
|
- Utils: Must exist in utils/ directory (include template-format if using templates)
|
||||||
|
|
||||||
tasks:
|
- id: example
|
||||||
- create-doc # Required if agent creates documents from templates
|
title: Example: Construction Contractor Agent
|
||||||
- [TASK_1] # Custom task for non-document operations
|
type: code
|
||||||
- [TASK_2] # Another custom task
|
language: yaml
|
||||||
[[LLM: Example tasks: validate-design, analyze-requirements, execute-tests]]
|
template: |
|
||||||
|
|
||||||
templates:
|
|
||||||
- [TEMPLATE_1] # Template with LLM instructions for guided creation
|
|
||||||
- [TEMPLATE_2] # Another template for different document type
|
|
||||||
[[LLM: Example: blueprint-tmpl, contract-tmpl, report-tmpl
|
|
||||||
Each template should include [[LLM: guidance]] and other conventions from `template-format.md` sections for user interaction]]
|
|
||||||
|
|
||||||
checklists:
|
|
||||||
- [CHECKLIST_1] # Quality validation for template outputs
|
|
||||||
[[LLM: Example: blueprint-checklist, contract-checklist
|
|
||||||
Checklists validate documents created from templates]]
|
|
||||||
|
|
||||||
data:
|
|
||||||
- [DATA_1] # Domain knowledge files
|
|
||||||
[[LLM: Example: building-codes.md, legal-terminology.md
|
|
||||||
Can be embedded in pack or required from user]]
|
|
||||||
|
|
||||||
utils:
|
|
||||||
- template-format # Required if using templates
|
|
||||||
- [UTIL_1] # Other utilities as needed
|
|
||||||
[[LLM: Include workflow-management if agent participates in workflows]]
|
|
||||||
```
|
|
||||||
|
|
||||||
@{example: Construction Contractor Agent}
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
activation-instructions:
|
activation-instructions:
|
||||||
- Follow all instructions in this file
|
- Follow all instructions in this file
|
||||||
- Stay in character as Marcus Thompson, Construction Manager
|
- Stay in character as Marcus Thompson, Construction Manager
|
||||||
@@ -1888,99 +1897,127 @@ dependencies:
|
|||||||
- materials-guide.md
|
- materials-guide.md
|
||||||
utils:
|
utils:
|
||||||
- template-format
|
- template-format
|
||||||
```
|
==================== END: .bmad-creator-tools/templates/agent-tmpl.yaml ====================
|
||||||
==================== END: .bmad-creator-tools/templates/agent-tmpl.md ====================
|
|
||||||
|
|
||||||
==================== START: .bmad-creator-tools/templates/expansion-pack-plan-tmpl.md ====================
|
==================== START: .bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml ====================
|
||||||
# {Pack Name} Expansion Pack Plan
|
template:
|
||||||
|
id: expansion-pack-plan-template-v2
|
||||||
|
name: Expansion Pack Plan
|
||||||
|
version: 2.0
|
||||||
|
output:
|
||||||
|
format: markdown
|
||||||
|
filename: "{{pack_name}}-expansion-pack-plan.md"
|
||||||
|
title: "{{pack_display_name}} Expansion Pack Plan"
|
||||||
|
|
||||||
## Overview
|
workflow:
|
||||||
|
mode: interactive
|
||||||
|
|
||||||
- **Pack Name**: {pack-identifier}
|
sections:
|
||||||
- **Display Name**: {Full Expansion Pack Name}
|
- id: overview
|
||||||
- **Description**: {Brief description of what this pack does}
|
title: Overview
|
||||||
- **Target Domain**: {Industry/domain this serves}
|
template: |
|
||||||
- **Author**: {Your name/organization}
|
- **Pack Name**: {{pack_identifier}}
|
||||||
|
- **Display Name**: {{full_expansion_pack_name}}
|
||||||
|
- **Description**: {{brief_description}}
|
||||||
|
- **Target Domain**: {{industry_domain}}
|
||||||
|
- **Author**: {{author_name_organization}}
|
||||||
|
|
||||||
## Problem Statement
|
- id: problem-statement
|
||||||
|
title: Problem Statement
|
||||||
|
instruction: What specific challenges does this expansion pack solve?
|
||||||
|
template: "{{problem_description}}"
|
||||||
|
|
||||||
{What specific challenges does this expansion pack solve?}
|
- id: target-users
|
||||||
|
title: Target Users
|
||||||
|
instruction: Who will benefit from this expansion pack?
|
||||||
|
template: "{{target_user_description}}"
|
||||||
|
|
||||||
## Target Users
|
- id: components
|
||||||
|
title: Components to Create
|
||||||
|
sections:
|
||||||
|
- id: agents
|
||||||
|
title: Agents
|
||||||
|
type: checklist
|
||||||
|
instruction: List all agents to be created with their roles and dependencies
|
||||||
|
items:
|
||||||
|
- id: orchestrator
|
||||||
|
template: |
|
||||||
|
`{{pack_name}}-orchestrator` - **REQUIRED**: Master orchestrator for {{domain}} workflows
|
||||||
|
- Key commands: {{command_list}}
|
||||||
|
- Manages: {{orchestration_scope}}
|
||||||
|
- id: agent-list
|
||||||
|
repeatable: true
|
||||||
|
template: |
|
||||||
|
`{{agent_name}}` - {{role_description}}
|
||||||
|
- Tasks used: {{task_list}}
|
||||||
|
- Templates used: {{template_list}}
|
||||||
|
- Data required: {{data_requirements}}
|
||||||
|
|
||||||
{Who will benefit from this expansion pack?}
|
- id: tasks
|
||||||
|
title: Tasks
|
||||||
|
type: checklist
|
||||||
|
instruction: List all tasks to be created
|
||||||
|
repeatable: true
|
||||||
|
template: "`{{task_name}}.md` - {{purpose}} (used by: {{using_agents}})"
|
||||||
|
|
||||||
## Components to Create
|
- id: templates
|
||||||
|
title: Templates
|
||||||
|
type: checklist
|
||||||
|
instruction: List all templates to be created
|
||||||
|
repeatable: true
|
||||||
|
template: "`{{template_name}}-tmpl.md` - {{document_type}} (used by: {{using_components}})"
|
||||||
|
|
||||||
### Agents
|
- id: checklists
|
||||||
|
title: Checklists
|
||||||
- [ ] `{pack-name}-orchestrator` - **REQUIRED**: Master orchestrator for {domain} workflows
|
type: checklist
|
||||||
- Key commands: {list main commands}
|
instruction: List all checklists to be created
|
||||||
- Manages: {what it orchestrates}
|
repeatable: true
|
||||||
- [ ] `{agent-1-name}` - {Role description}
|
template: "`{{checklist_name}}-checklist.md` - {{validation_purpose}}"
|
||||||
- Tasks used: {task-1}, {task-2}
|
|
||||||
- Templates used: {template-1}
|
|
||||||
- Data required: {data-file-1}
|
|
||||||
- [ ] `{agent-2-name}` - {Role description}
|
|
||||||
- Tasks used: {task-3}
|
|
||||||
- Templates used: {template-2}
|
|
||||||
- Data required: {data-file-2}
|
|
||||||
|
|
||||||
### Tasks
|
|
||||||
|
|
||||||
- [ ] `{task-1}.md` - {Purpose} (used by: {agent})
|
|
||||||
- [ ] `{task-2}.md` - {Purpose} (used by: {agent})
|
|
||||||
- [ ] `{task-3}.md` - {Purpose} (used by: {agent})
|
|
||||||
|
|
||||||
### Templates
|
|
||||||
|
|
||||||
- [ ] `{template-1}-tmpl.md` - {Document type} (used by: {agent/task})
|
|
||||||
- [ ] `{template-2}-tmpl.md` - {Document type} (used by: {agent/task})
|
|
||||||
|
|
||||||
### Checklists
|
|
||||||
|
|
||||||
- [ ] `{checklist-1}-checklist.md` - {What it validates}
|
|
||||||
- [ ] `{checklist-2}-checklist.md` - {What it validates}
|
|
||||||
|
|
||||||
### Data Files Required from User
|
|
||||||
|
|
||||||
|
- id: data-files
|
||||||
|
title: Data Files Required from User
|
||||||
|
instruction: |
|
||||||
Users must add these files to `bmad-core/data/`:
|
Users must add these files to `bmad-core/data/`:
|
||||||
|
type: checklist
|
||||||
|
repeatable: true
|
||||||
|
template: |
|
||||||
|
`{{data_filename}}.{{extension}}` - {{content_description}}
|
||||||
|
- Format: {{file_format}}
|
||||||
|
- Purpose: {{why_needed}}
|
||||||
|
- Example: {{brief_example}}
|
||||||
|
|
||||||
- [ ] `{data-file-1}.{ext}` - {Description of required content}
|
- id: workflow-overview
|
||||||
- Format: {file format}
|
title: Workflow Overview
|
||||||
- Purpose: {why needed}
|
type: numbered-list
|
||||||
- Example: {brief example}
|
instruction: Describe the typical workflow steps
|
||||||
- [ ] `{data-file-2}.{ext}` - {Description of required content}
|
template: "{{workflow_step}}"
|
||||||
- Format: {file format}
|
|
||||||
- Purpose: {why needed}
|
|
||||||
- Example: {brief example}
|
|
||||||
|
|
||||||
## Workflow Overview
|
- id: integration-points
|
||||||
|
title: Integration Points
|
||||||
|
template: |
|
||||||
|
- Depends on core agents: {{core_agent_dependencies}}
|
||||||
|
- Extends teams: {{team_updates}}
|
||||||
|
|
||||||
1. {Step 1 - typically starts with orchestrator}
|
- id: success-criteria
|
||||||
2. {Step 2}
|
title: Success Criteria
|
||||||
3. {Step 3}
|
type: checklist
|
||||||
4. {Final output/deliverable}
|
items:
|
||||||
|
- "All components created and cross-referenced"
|
||||||
|
- "No orphaned task/template references"
|
||||||
|
- "Data requirements clearly documented"
|
||||||
|
- "Orchestrator provides clear workflow"
|
||||||
|
- "README includes setup instructions"
|
||||||
|
|
||||||
## Integration Points
|
- id: user-approval
|
||||||
|
title: User Approval
|
||||||
- Depends on core agents: {list any core BMad agents used}
|
type: checklist
|
||||||
- Extends teams: {which teams to update}
|
items:
|
||||||
|
- "Plan reviewed by user"
|
||||||
## Success Criteria
|
- "Approval to proceed with implementation"
|
||||||
|
|
||||||
- [ ] All components created and cross-referenced
|
|
||||||
- [ ] No orphaned task/template references
|
|
||||||
- [ ] Data requirements clearly documented
|
|
||||||
- [ ] Orchestrator provides clear workflow
|
|
||||||
- [ ] README includes setup instructions
|
|
||||||
|
|
||||||
## User Approval
|
|
||||||
|
|
||||||
- [ ] Plan reviewed by user
|
|
||||||
- [ ] Approval to proceed with implementation
|
|
||||||
|
|
||||||
|
- id: next-steps
|
||||||
|
content: |
|
||||||
---
|
---
|
||||||
|
|
||||||
**Next Steps**: Once approved, proceed with Phase 3 implementation starting with the orchestrator agent.
|
**Next Steps**: Once approved, proceed with Phase 3 implementation starting with the orchestrator agent.
|
||||||
==================== END: .bmad-creator-tools/templates/expansion-pack-plan-tmpl.md ====================
|
==================== END: .bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml ====================
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
6366
dist/teams/team-all.txt
vendored
6366
dist/teams/team-all.txt
vendored
File diff suppressed because it is too large
Load Diff
6326
dist/teams/team-fullstack.txt
vendored
6326
dist/teams/team-fullstack.txt
vendored
File diff suppressed because it is too large
Load Diff
520
dist/teams/team-ide-minimal.txt
vendored
520
dist/teams/team-ide-minimal.txt
vendored
@@ -58,6 +58,15 @@ workflows: null
|
|||||||
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
activation-instructions:
|
||||||
|
- Mention *help shows all available commands and options
|
||||||
|
- Check for active workflow plan using .bmad-core/utils/plan-management.md
|
||||||
|
- 'If plan exists: Show 📋 Active plan: {workflow} ({progress}% complete). Use *plan-status for details.'
|
||||||
|
- 'If plan exists: Suggest next action based on plan progress'
|
||||||
|
- Assess user goal against available agents and workflows in this bundle
|
||||||
|
- If clear match to an agent's expertise, suggest transformation with *agent command
|
||||||
|
- If project-oriented, suggest *workflow-guidance to explore options
|
||||||
|
- Load resources only when needed - never pre-load
|
||||||
agent:
|
agent:
|
||||||
name: BMad Orchestrator
|
name: BMad Orchestrator
|
||||||
id: bmad-orchestrator
|
id: bmad-orchestrator
|
||||||
@@ -79,17 +88,6 @@ persona:
|
|||||||
- Always use numbered lists for choices
|
- Always use numbered lists for choices
|
||||||
- Process commands starting with * immediately
|
- Process commands starting with * immediately
|
||||||
- Always remind users that commands require * prefix
|
- Always remind users that commands require * prefix
|
||||||
startup:
|
|
||||||
- Announce: Introduce yourself as the BMad Orchestrator, explain you can coordinate agents and workflows
|
|
||||||
- IMPORTANT: Tell users that all commands start with * (e.g., *help, *agent, *workflow)
|
|
||||||
- Mention *help shows all available commands and options
|
|
||||||
- Check for active workflow plan using .bmad-core/utils/plan-management.md
|
|
||||||
- 'If plan exists: Show 📋 Active plan: {workflow} ({progress}% complete). Use *plan-status for details.'
|
|
||||||
- 'If plan exists: Suggest next action based on plan progress'
|
|
||||||
- Assess user goal against available agents and workflows in this bundle
|
|
||||||
- If clear match to an agent's expertise, suggest transformation with *agent command
|
|
||||||
- If project-oriented, suggest *workflow-guidance to explore options
|
|
||||||
- Load resources only when needed - never pre-load
|
|
||||||
commands:
|
commands:
|
||||||
help: Show this guide with available agents and workflows
|
help: Show this guide with available agents and workflows
|
||||||
chat-mode: Start conversational mode for detailed assistance
|
chat-mode: Start conversational mode for detailed assistance
|
||||||
@@ -177,17 +175,18 @@ workflow-guidance:
|
|||||||
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
- When *workflow-guidance is called, start an interactive session and list all available workflows with brief descriptions
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- advanced-elicitation
|
- advanced-elicitation.md
|
||||||
- create-doc
|
- create-doc.md
|
||||||
- create-workflow-plan
|
- create-workflow-plan.md
|
||||||
- kb-mode-interaction
|
- kb-mode-interaction.md
|
||||||
- update-workflow-plan
|
- update-workflow-plan.md
|
||||||
data:
|
data:
|
||||||
- bmad-kb
|
- bmad-kb.md
|
||||||
|
- elicitation-methods.md
|
||||||
utils:
|
utils:
|
||||||
- plan-management
|
- plan-management.md
|
||||||
- workflow-management
|
- workflow-management.md
|
||||||
- template-format
|
- template-format.md
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/bmad-orchestrator.md ====================
|
==================== END: .bmad-core/agents/bmad-orchestrator.md ====================
|
||||||
|
|
||||||
@@ -202,6 +201,7 @@ activation-instructions:
|
|||||||
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
||||||
- The customization field ALWAYS takes precedence over any conflicting instructions
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||||
|
- Greet the user with your name and role, and inform of the *help command.
|
||||||
agent:
|
agent:
|
||||||
name: Sarah
|
name: Sarah
|
||||||
id: po
|
id: po
|
||||||
@@ -225,8 +225,6 @@ persona:
|
|||||||
- User Collaboration for Validation - Seek input at critical checkpoints
|
- User Collaboration for Validation - Seek input at critical checkpoints
|
||||||
- Focus on Executable & Value-Driven Increments - Ensure work aligns with MVP goals
|
- Focus on Executable & Value-Driven Increments - Ensure work aligns with MVP goals
|
||||||
- Documentation Ecosystem Integrity - Maintain consistency across all documents
|
- Documentation Ecosystem Integrity - Maintain consistency across all documents
|
||||||
startup:
|
|
||||||
- Greet the user with your name and role, and inform of the *help command.
|
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- create-doc {template}: execute task create-doc (no template = ONLY show available templates listed under dependencies/templates below)
|
- create-doc {template}: execute task create-doc (no template = ONLY show available templates listed under dependencies/templates below)
|
||||||
@@ -241,19 +239,17 @@ commands:
|
|||||||
- exit: Exit (confirm)
|
- exit: Exit (confirm)
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
- shard-doc
|
- shard-doc.md
|
||||||
- correct-course
|
- correct-course.md
|
||||||
- brownfield-create-epic
|
- brownfield-create-epic.md
|
||||||
- brownfield-create-story
|
- brownfield-create-story.md
|
||||||
- validate-next-story
|
- validate-next-story.md
|
||||||
templates:
|
templates:
|
||||||
- story-tmpl
|
- story-tmpl.yaml
|
||||||
checklists:
|
checklists:
|
||||||
- po-master-checklist
|
- po-master-checklist.md
|
||||||
- change-checklist
|
- change-checklist.md
|
||||||
utils:
|
|
||||||
- template-format
|
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/po.md ====================
|
==================== END: .bmad-core/agents/po.md ====================
|
||||||
|
|
||||||
@@ -267,6 +263,7 @@ activation-instructions:
|
|||||||
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
||||||
- The customization field ALWAYS takes precedence over any conflicting instructions
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||||
|
- Greet the user with your name and role, and inform of the *help command and then HALT to await instruction if not given already.
|
||||||
agent:
|
agent:
|
||||||
name: Bob
|
name: Bob
|
||||||
id: sm
|
id: sm
|
||||||
@@ -283,10 +280,6 @@ persona:
|
|||||||
- Rigorously follow `create-next-story` procedure to generate the detailed user story
|
- Rigorously follow `create-next-story` procedure to generate the detailed user story
|
||||||
- Will ensure all information comes from the PRD and Architecture to guide the dumb dev agent
|
- Will ensure all information comes from the PRD and Architecture to guide the dumb dev agent
|
||||||
- You are NOT allowed to implement stories or modify code EVER!
|
- You are NOT allowed to implement stories or modify code EVER!
|
||||||
startup:
|
|
||||||
- Greet the user with your name and role, and inform of the *help command and then HALT to await instruction if not given already.
|
|
||||||
- Offer to help with story preparation but wait for explicit user confirmation
|
|
||||||
- Only execute tasks when user explicitly requests them
|
|
||||||
commands:
|
commands:
|
||||||
- help: Show numbered list of the following commands to allow selection
|
- help: Show numbered list of the following commands to allow selection
|
||||||
- draft: Execute task create-next-story
|
- draft: Execute task create-next-story
|
||||||
@@ -295,15 +288,13 @@ commands:
|
|||||||
- exit: Say goodbye as the Scrum Master, and then abandon inhabiting this persona
|
- exit: Say goodbye as the Scrum Master, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- create-next-story
|
- create-next-story.md
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
- correct-course
|
- correct-course.md
|
||||||
templates:
|
templates:
|
||||||
- story-tmpl
|
- story-tmpl.yaml
|
||||||
checklists:
|
checklists:
|
||||||
- story-draft-checklist
|
- story-draft-checklist.md
|
||||||
utils:
|
|
||||||
- template-format
|
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/sm.md ====================
|
==================== END: .bmad-core/agents/sm.md ====================
|
||||||
|
|
||||||
@@ -313,6 +304,7 @@ dependencies:
|
|||||||
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
activation-instructions: []
|
||||||
agent:
|
agent:
|
||||||
name: James
|
name: James
|
||||||
id: dev
|
id: dev
|
||||||
@@ -320,11 +312,6 @@ agent:
|
|||||||
icon: 💻
|
icon: 💻
|
||||||
whenToUse: Use for code implementation, debugging, refactoring, and development best practices
|
whenToUse: Use for code implementation, debugging, refactoring, and development best practices
|
||||||
customization: null
|
customization: null
|
||||||
startup:
|
|
||||||
- Announce: Greet the user with your name and role, and inform of the *help command.
|
|
||||||
- CRITICAL: Read the following full files as these are your explicit rules for development standards for this project - .bmad-core/core-config.yaml devLoadAlwaysFiles list
|
|
||||||
- CRITICAL: Do NOT load any other files during startup aside from the assigned story and devLoadAlwaysFiles items, unless user requested you do or the following contradicts
|
|
||||||
- CRITICAL: Do NOT begin development until a story is not in draft mode and you are told to proceed
|
|
||||||
persona:
|
persona:
|
||||||
role: Expert Senior Software Engineer & Implementation Specialist
|
role: Expert Senior Software Engineer & Implementation Specialist
|
||||||
style: Extremely concise, pragmatic, detail-oriented, solution-focused
|
style: Extremely concise, pragmatic, detail-oriented, solution-focused
|
||||||
@@ -351,10 +338,10 @@ develop-story:
|
|||||||
completion: 'All Tasks and Subtasks marked [x] and have tests→Validations and full regression passes (DON''T BE LAZY, EXECUTE ALL TESTS and CONFIRM)→Ensure File List is Complete→run the task execute-checklist for the checklist story-dod-checklist→set story status: ''Ready for Review''→HALT'
|
completion: 'All Tasks and Subtasks marked [x] and have tests→Validations and full regression passes (DON''T BE LAZY, EXECUTE ALL TESTS and CONFIRM)→Ensure File List is Complete→run the task execute-checklist for the checklist story-dod-checklist→set story status: ''Ready for Review''→HALT'
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- execute-checklist
|
- execute-checklist.md
|
||||||
- validate-next-story
|
- validate-next-story.md
|
||||||
checklists:
|
checklists:
|
||||||
- story-dod-checklist
|
- story-dod-checklist.md
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/dev.md ====================
|
==================== END: .bmad-core/agents/dev.md ====================
|
||||||
|
|
||||||
@@ -369,6 +356,7 @@ activation-instructions:
|
|||||||
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
||||||
- The customization field ALWAYS takes precedence over any conflicting instructions
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
||||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
||||||
|
- Greet the user with your name and role, and inform of the *help command.
|
||||||
agent:
|
agent:
|
||||||
name: Quinn
|
name: Quinn
|
||||||
id: qa
|
id: qa
|
||||||
@@ -392,8 +380,6 @@ persona:
|
|||||||
- Risk-Based Testing - Prioritize testing based on risk and critical areas
|
- Risk-Based Testing - Prioritize testing based on risk and critical areas
|
||||||
- Continuous Improvement - Balance perfection with pragmatism
|
- Continuous Improvement - Balance perfection with pragmatism
|
||||||
- Architecture & Design Patterns - Ensure proper patterns and maintainable code structure
|
- Architecture & Design Patterns - Ensure proper patterns and maintainable code structure
|
||||||
startup:
|
|
||||||
- Greet the user with your name and role, and inform of the *help command.
|
|
||||||
story-file-permissions:
|
story-file-permissions:
|
||||||
- CRITICAL: When reviewing stories, you are ONLY authorized to update the "QA Results" section of story files
|
- CRITICAL: When reviewing stories, you are ONLY authorized to update the "QA Results" section of story files
|
||||||
- CRITICAL: DO NOT modify any other sections including Status, Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Testing, Dev Agent Record, Change Log, or any other sections
|
- CRITICAL: DO NOT modify any other sections including Status, Story, Acceptance Criteria, Tasks/Subtasks, Dev Notes, Testing, Dev Agent Record, Change Log, or any other sections
|
||||||
@@ -405,11 +391,11 @@ commands:
|
|||||||
- exit: Say goodbye as the QA Engineer, and then abandon inhabiting this persona
|
- exit: Say goodbye as the QA Engineer, and then abandon inhabiting this persona
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- review-story
|
- review-story.md
|
||||||
data:
|
data:
|
||||||
- technical-preferences
|
- technical-preferences.md
|
||||||
utils:
|
templates:
|
||||||
- template-format
|
- story-tmpl.yaml
|
||||||
```
|
```
|
||||||
==================== END: .bmad-core/agents/qa.md ====================
|
==================== END: .bmad-core/agents/qa.md ====================
|
||||||
|
|
||||||
@@ -534,97 +520,85 @@ Choose a number (0-8) or 9 to proceed:
|
|||||||
==================== END: .bmad-core/tasks/advanced-elicitation.md ====================
|
==================== END: .bmad-core/tasks/advanced-elicitation.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/create-doc.md ====================
|
==================== START: .bmad-core/tasks/create-doc.md ====================
|
||||||
# Create Document from Template Task
|
# Create Document from Template (YAML Driven)
|
||||||
|
|
||||||
## Purpose
|
## CRITICAL: Mandatory Elicitation Format
|
||||||
|
|
||||||
Generate documents from templates by EXECUTING (not just reading) embedded instructions from the perspective of the selected agent persona.
|
**When `elicit: true`, ALWAYS use this exact format:**
|
||||||
|
|
||||||
## CRITICAL RULES
|
1. Present section content
|
||||||
|
2. Provide detailed rationale (explain trade-offs, assumptions, decisions made)
|
||||||
|
3. Present numbered options 1-9:
|
||||||
|
- **Option 1:** Always "Proceed to next section"
|
||||||
|
- **Options 2-9:** Select 8 methods from data/elicitation-methods
|
||||||
|
- End with: "Select 1-9 or just type your question/feedback:"
|
||||||
|
|
||||||
1. **Templates are PROGRAMS** - Execute every [[LLM:]] instruction exactly as written
|
**NEVER ask yes/no questions or use any other format.**
|
||||||
2. **NEVER show markup** - Hide all [[LLM:]], {{placeholders}}, @{examples}, and template syntax
|
|
||||||
3. **STOP and EXECUTE** - When you see "apply tasks#" or "execute tasks#", STOP and run that task immediately
|
|
||||||
4. **WAIT for user input** - At review points and after elicitation tasks
|
|
||||||
|
|
||||||
## Execution Flow
|
## Processing Flow
|
||||||
|
|
||||||
### 0. Check Workflow Plan (if configured)
|
1. **Parse YAML template** - Load template metadata and sections
|
||||||
|
2. **Set preferences** - Show current mode (Interactive), confirm output file
|
||||||
|
3. **Process each section:**
|
||||||
|
- Skip if condition unmet
|
||||||
|
- Check agent permissions (owner/editors) - note if section is restricted to specific agents
|
||||||
|
- Draft content using section instruction
|
||||||
|
- Present content + detailed rationale
|
||||||
|
- **IF elicit: true** → MANDATORY 1-9 options format
|
||||||
|
- Save to file if possible
|
||||||
|
4. **Continue until complete**
|
||||||
|
|
||||||
[[LLM: Check if plan tracking is enabled in core-config.yaml]]
|
## Detailed Rationale Requirements
|
||||||
|
|
||||||
- If `workflow.trackProgress: true`, check for active plan using .bmad-core/utils/plan-management.md
|
When presenting section content, ALWAYS include rationale that explains:
|
||||||
- If plan exists and this document creation is part of the plan:
|
|
||||||
- Verify this is the expected next step
|
|
||||||
- If out of sequence and `enforceSequence: true`, warn user and halt without user override
|
|
||||||
- If out of sequence and `enforceSequence: false`, ask for confirmation
|
|
||||||
- Continue with normal execution after plan check
|
|
||||||
|
|
||||||
### 1. Identify Template
|
- Trade-offs and choices made (what was chosen over alternatives and why)
|
||||||
|
- Key assumptions made during drafting
|
||||||
|
- Interesting or questionable decisions that need user attention
|
||||||
|
- Areas that might need validation
|
||||||
|
|
||||||
- Load from `.bmad-core/templates/*.md` or `.bmad-core/templates directory`
|
## Elicitation Results Flow
|
||||||
- Agent-specific templates are listed in agent's dependencies
|
|
||||||
- If agent has `templates: [prd-tmpl, architecture-tmpl]` for example, then offer to create "PRD" and "Architecture" documents
|
|
||||||
|
|
||||||
### 2. Ask Interaction Mode
|
After user selects elicitation method (2-9):
|
||||||
|
|
||||||
> 1. **Incremental** - Section by section with reviews
|
1. Execute method from data/elicitation-methods
|
||||||
> 2. **YOLO Mode** - Complete draft then review (user can type `/yolo` anytime to switch)
|
2. Present results with insights
|
||||||
|
3. Offer options:
|
||||||
|
- **1. Apply changes and update section**
|
||||||
|
- **2. Return to elicitation menu**
|
||||||
|
- **3. Ask any questions or engage further with this elicitation**
|
||||||
|
|
||||||
### 3. Execute Template
|
## Agent Permissions
|
||||||
|
|
||||||
- Replace {{placeholders}} with real content
|
When processing sections with agent permission fields:
|
||||||
- Execute [[LLM:]] instructions as you encounter them
|
|
||||||
- Process <<REPEAT>> loops and ^^CONDITIONS^^
|
|
||||||
- Use @{examples} for guidance but never output them
|
|
||||||
|
|
||||||
### 4. Key Execution Patterns
|
- **owner**: Note which agent role initially creates/populates the section
|
||||||
|
- **editors**: List agent roles allowed to modify the section
|
||||||
|
- **readonly**: Mark sections that cannot be modified after creation
|
||||||
|
|
||||||
**When you see:** `[[LLM: Draft X and immediately execute .bmad-core/tasks/advanced-elicitation.md]]`
|
**For sections with restricted access:**
|
||||||
|
|
||||||
- Draft the content
|
- Include a note in the generated document indicating the responsible agent
|
||||||
- Present it to user
|
- Example: "_(This section is owned by dev-agent and can only be modified by dev-agent)_"
|
||||||
- IMMEDIATELY execute the task
|
|
||||||
- Wait for completion before continuing
|
|
||||||
|
|
||||||
**When you see:** `[[LLM: After section completion, apply .bmad-core/tasks/Y.md]]`
|
## YOLO Mode
|
||||||
|
|
||||||
- Finish the section
|
User can type `#yolo` to toggle to YOLO mode (process all sections at once).
|
||||||
- STOP and execute the task
|
|
||||||
- Wait for user input
|
|
||||||
|
|
||||||
### 5. Validation & Final Presentation
|
## CRITICAL REMINDERS
|
||||||
|
|
||||||
- Run any specified checklists
|
**❌ NEVER:**
|
||||||
- Present clean, formatted content only
|
|
||||||
- No truncation or summarization
|
|
||||||
- Begin directly with content (no preamble)
|
|
||||||
- Include any handoff prompts from template
|
|
||||||
|
|
||||||
### 6. Update Workflow Plan (if applicable)
|
- Ask yes/no questions for elicitation
|
||||||
|
- Use any format other than 1-9 numbered options
|
||||||
|
- Create new elicitation methods
|
||||||
|
|
||||||
[[LLM: After successful document creation]]
|
**✅ ALWAYS:**
|
||||||
|
|
||||||
- If plan tracking is enabled and document was part of plan:
|
- Use exact 1-9 format when elicit: true
|
||||||
- Call update-workflow-plan task to mark step complete
|
- Select options 2-9 from data/elicitation-methods only
|
||||||
- Parameters: task: create-doc, step_id: {from plan}, status: complete
|
- Provide detailed rationale explaining decisions
|
||||||
- Show next recommended step from plan
|
- End with "Select 1-9 or just type your question/feedback:"
|
||||||
|
|
||||||
## Common Mistakes to Avoid
|
|
||||||
|
|
||||||
❌ Skipping elicitation tasks
|
|
||||||
❌ Showing template markup to users
|
|
||||||
❌ Continuing past STOP signals
|
|
||||||
❌ Combining multiple review points
|
|
||||||
|
|
||||||
✅ Execute ALL instructions in sequence
|
|
||||||
✅ Present only clean, formatted content
|
|
||||||
✅ Stop at every elicitation point
|
|
||||||
✅ Wait for user confirmation when instructed
|
|
||||||
|
|
||||||
## Remember
|
|
||||||
|
|
||||||
Templates contain precise instructions for a reason. Follow them exactly to ensure document quality and completeness.
|
|
||||||
==================== END: .bmad-core/tasks/create-doc.md ====================
|
==================== END: .bmad-core/tasks/create-doc.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/tasks/create-workflow-plan.md ====================
|
==================== START: .bmad-core/tasks/create-workflow-plan.md ====================
|
||||||
@@ -2056,6 +2030,143 @@ Use the **expansion-creator** pack to build your own:
|
|||||||
- **Contributing**: See `CONTRIBUTING.md` for full guidelines
|
- **Contributing**: See `CONTRIBUTING.md` for full guidelines
|
||||||
==================== END: .bmad-core/data/bmad-kb.md ====================
|
==================== END: .bmad-core/data/bmad-kb.md ====================
|
||||||
|
|
||||||
|
==================== START: .bmad-core/data/elicitation-methods.md ====================
|
||||||
|
# Elicitation Methods Data
|
||||||
|
|
||||||
|
## Core Reflective Methods
|
||||||
|
|
||||||
|
**Expand or Contract for Audience**
|
||||||
|
- Ask whether to 'expand' (add detail, elaborate) or 'contract' (simplify, clarify)
|
||||||
|
- Identify specific target audience if relevant
|
||||||
|
- Tailor content complexity and depth accordingly
|
||||||
|
|
||||||
|
**Explain Reasoning (CoT Step-by-Step)**
|
||||||
|
- Walk through the step-by-step thinking process
|
||||||
|
- Reveal underlying assumptions and decision points
|
||||||
|
- Show how conclusions were reached from current role's perspective
|
||||||
|
|
||||||
|
**Critique and Refine**
|
||||||
|
- Review output for flaws, inconsistencies, or improvement areas
|
||||||
|
- Identify specific weaknesses from role's expertise
|
||||||
|
- Suggest refined version reflecting domain knowledge
|
||||||
|
|
||||||
|
## Structural Analysis Methods
|
||||||
|
|
||||||
|
**Analyze Logical Flow and Dependencies**
|
||||||
|
- Examine content structure for logical progression
|
||||||
|
- Check internal consistency and coherence
|
||||||
|
- Identify and validate dependencies between elements
|
||||||
|
- Confirm effective ordering and sequencing
|
||||||
|
|
||||||
|
**Assess Alignment with Overall Goals**
|
||||||
|
- Evaluate content contribution to stated objectives
|
||||||
|
- Identify any misalignments or gaps
|
||||||
|
- Interpret alignment from specific role's perspective
|
||||||
|
- Suggest adjustments to better serve goals
|
||||||
|
|
||||||
|
## Risk and Challenge Methods
|
||||||
|
|
||||||
|
**Identify Potential Risks and Unforeseen Issues**
|
||||||
|
- Brainstorm potential risks from role's expertise
|
||||||
|
- Identify overlooked edge cases or scenarios
|
||||||
|
- Anticipate unintended consequences
|
||||||
|
- Highlight implementation challenges
|
||||||
|
|
||||||
|
**Challenge from Critical Perspective**
|
||||||
|
- Adopt critical stance on current content
|
||||||
|
- Play devil's advocate from specified viewpoint
|
||||||
|
- Argue against proposal highlighting weaknesses
|
||||||
|
- Apply YAGNI principles when appropriate (scope trimming)
|
||||||
|
|
||||||
|
## Creative Exploration Methods
|
||||||
|
|
||||||
|
**Tree of Thoughts Deep Dive**
|
||||||
|
- Break problem into discrete "thoughts" or intermediate steps
|
||||||
|
- Explore multiple reasoning paths simultaneously
|
||||||
|
- Use self-evaluation to classify each path as "sure", "likely", or "impossible"
|
||||||
|
- Apply search algorithms (BFS/DFS) to find optimal solution paths
|
||||||
|
|
||||||
|
**Hindsight is 20/20: The 'If Only...' Reflection**
|
||||||
|
- Imagine retrospective scenario based on current content
|
||||||
|
- Identify the one "if only we had known/done X..." insight
|
||||||
|
- Describe imagined consequences humorously or dramatically
|
||||||
|
- Extract actionable learnings for current context
|
||||||
|
|
||||||
|
## Multi-Persona Collaboration Methods
|
||||||
|
|
||||||
|
**Agile Team Perspective Shift**
|
||||||
|
- Rotate through different Scrum team member viewpoints
|
||||||
|
- Product Owner: Focus on user value and business impact
|
||||||
|
- Scrum Master: Examine process flow and team dynamics
|
||||||
|
- Developer: Assess technical implementation and complexity
|
||||||
|
- QA: Identify testing scenarios and quality concerns
|
||||||
|
|
||||||
|
**Stakeholder Round Table**
|
||||||
|
- Convene virtual meeting with multiple personas
|
||||||
|
- Each persona contributes unique perspective on content
|
||||||
|
- Identify conflicts and synergies between viewpoints
|
||||||
|
- Synthesize insights into actionable recommendations
|
||||||
|
|
||||||
|
**Meta-Prompting Analysis**
|
||||||
|
- Step back to analyze the structure and logic of current approach
|
||||||
|
- Question the format and methodology being used
|
||||||
|
- Suggest alternative frameworks or mental models
|
||||||
|
- Optimize the elicitation process itself
|
||||||
|
|
||||||
|
## Advanced 2025 Techniques
|
||||||
|
|
||||||
|
**Self-Consistency Validation**
|
||||||
|
- Generate multiple reasoning paths for same problem
|
||||||
|
- Compare consistency across different approaches
|
||||||
|
- Identify most reliable and robust solution
|
||||||
|
- Highlight areas where approaches diverge and why
|
||||||
|
|
||||||
|
**ReWOO (Reasoning Without Observation)**
|
||||||
|
- Separate parametric reasoning from tool-based actions
|
||||||
|
- Create reasoning plan without external dependencies
|
||||||
|
- Identify what can be solved through pure reasoning
|
||||||
|
- Optimize for efficiency and reduced token usage
|
||||||
|
|
||||||
|
**Persona-Pattern Hybrid**
|
||||||
|
- Combine specific role expertise with elicitation pattern
|
||||||
|
- Architect + Risk Analysis: Deep technical risk assessment
|
||||||
|
- UX Expert + User Journey: End-to-end experience critique
|
||||||
|
- PM + Stakeholder Analysis: Multi-perspective impact review
|
||||||
|
|
||||||
|
**Emergent Collaboration Discovery**
|
||||||
|
- Allow multiple perspectives to naturally emerge
|
||||||
|
- Identify unexpected insights from persona interactions
|
||||||
|
- Explore novel combinations of viewpoints
|
||||||
|
- Capture serendipitous discoveries from multi-agent thinking
|
||||||
|
|
||||||
|
## Game-Based Elicitation Methods
|
||||||
|
|
||||||
|
**Red Team vs Blue Team**
|
||||||
|
- Red Team: Attack the proposal, find vulnerabilities
|
||||||
|
- Blue Team: Defend and strengthen the approach
|
||||||
|
- Competitive analysis reveals blind spots
|
||||||
|
- Results in more robust, battle-tested solutions
|
||||||
|
|
||||||
|
**Innovation Tournament**
|
||||||
|
- Pit multiple alternative approaches against each other
|
||||||
|
- Score each approach across different criteria
|
||||||
|
- Crowd-source evaluation from different personas
|
||||||
|
- Identify winning combination of features
|
||||||
|
|
||||||
|
**Escape Room Challenge**
|
||||||
|
- Present content as constraints to work within
|
||||||
|
- Find creative solutions within tight limitations
|
||||||
|
- Identify minimum viable approach
|
||||||
|
- Discover innovative workarounds and optimizations
|
||||||
|
|
||||||
|
## Process Control
|
||||||
|
|
||||||
|
**Proceed / No Further Actions**
|
||||||
|
- Acknowledge choice to finalize current work
|
||||||
|
- Accept output as-is or move to next step
|
||||||
|
- Prepare to continue without additional elicitation
|
||||||
|
==================== END: .bmad-core/data/elicitation-methods.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/utils/plan-management.md ====================
|
==================== START: .bmad-core/utils/plan-management.md ====================
|
||||||
# Plan Management Utility
|
# Plan Management Utility
|
||||||
|
|
||||||
@@ -3195,66 +3306,145 @@ Provide a structured validation report including:
|
|||||||
- **Confidence Level**: High/Medium/Low for successful implementation
|
- **Confidence Level**: High/Medium/Low for successful implementation
|
||||||
==================== END: .bmad-core/tasks/validate-next-story.md ====================
|
==================== END: .bmad-core/tasks/validate-next-story.md ====================
|
||||||
|
|
||||||
==================== START: .bmad-core/templates/story-tmpl.md ====================
|
==================== START: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
---
|
template:
|
||||||
defaultOutput: docs/stories/{{EpicNum}}.{{StoryNum}}.{{Short Title Copied from Epic File specific story}}.md
|
id: story-template-v2
|
||||||
smAgent:
|
name: Story Document
|
||||||
editableSections: Status, Story, Acceptance Criteria, Tasks / Subtasks, Dev Notes, Testing, Change Log
|
version: 2.0
|
||||||
sectionSpecificInstructions:
|
output:
|
||||||
"Dev Notes":
|
format: markdown
|
||||||
- Populate relevant information, only what was pulled from actual artifacts from docs folder, relevant to this story
|
filename: docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md
|
||||||
- Do not invent information.
|
title: "Story {{epic_num}}.{{story_num}}: {{story_title_short}}"
|
||||||
- If known add Relevant Source Tree info that relates to this story.
|
|
||||||
- If there were important notes from previous story that are relevant to this one, include them here.
|
|
||||||
- Put enough information in this section so that the dev agent should NEVER need to read the architecture documents, these notes along with the tasks and subtasks must give the Dev Agent the complete context it needs to comprehend with the least amount of overhead the information to complete the story, meeting all AC and completing all tasks+subtasks.
|
|
||||||
Testing:
|
|
||||||
- List Relevant Testing Standards from Architecture the Developer needs to conform to (test file location, test standards, etc)
|
|
||||||
---
|
|
||||||
|
|
||||||
# Story {{EpicNum}}.{{StoryNum}}: {{Short Title Copied from Epic File specific story}}
|
workflow:
|
||||||
|
mode: interactive
|
||||||
|
elicitation: advanced-elicitation
|
||||||
|
|
||||||
## Status: {{ Draft | Approved | InProgress | Review | Done }}
|
agent_config:
|
||||||
|
editable_sections:
|
||||||
|
- Status
|
||||||
|
- Story
|
||||||
|
- Acceptance Criteria
|
||||||
|
- Tasks / Subtasks
|
||||||
|
- Dev Notes
|
||||||
|
- Testing
|
||||||
|
- Change Log
|
||||||
|
|
||||||
## Story
|
sections:
|
||||||
|
- id: status
|
||||||
|
title: Status
|
||||||
|
type: choice
|
||||||
|
choices: [Draft, Approved, InProgress, Review, Done]
|
||||||
|
instruction: Select the current status of the story
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
**As a** {{role}},\
|
- id: story
|
||||||
**I want** {{action}},\
|
title: Story
|
||||||
|
type: template-text
|
||||||
|
template: |
|
||||||
|
**As a** {{role}},
|
||||||
|
**I want** {{action}},
|
||||||
**so that** {{benefit}}
|
**so that** {{benefit}}
|
||||||
|
instruction: Define the user story using the standard format with role, action, and benefit
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
## Acceptance Criteria
|
- id: acceptance-criteria
|
||||||
|
title: Acceptance Criteria
|
||||||
{{ Copy of Acceptance Criteria numbered list }}
|
type: numbered-list
|
||||||
|
instruction: Copy the acceptance criteria numbered list from the epic file
|
||||||
## Tasks / Subtasks
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
|
- id: tasks-subtasks
|
||||||
|
title: Tasks / Subtasks
|
||||||
|
type: bullet-list
|
||||||
|
instruction: |
|
||||||
|
Break down the story into specific tasks and subtasks needed for implementation.
|
||||||
|
Reference applicable acceptance criteria numbers where relevant.
|
||||||
|
template: |
|
||||||
- [ ] Task 1 (AC: # if applicable)
|
- [ ] Task 1 (AC: # if applicable)
|
||||||
- [ ] Subtask1.1...
|
- [ ] Subtask1.1...
|
||||||
- [ ] Task 2 (AC: # if applicable)
|
- [ ] Task 2 (AC: # if applicable)
|
||||||
- [ ] Subtask 2.1...
|
- [ ] Subtask 2.1...
|
||||||
- [ ] Task 3 (AC: # if applicable)
|
- [ ] Task 3 (AC: # if applicable)
|
||||||
- [ ] Subtask 3.1...
|
- [ ] Subtask 3.1...
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent]
|
||||||
|
|
||||||
## Dev Notes
|
- id: dev-notes
|
||||||
|
title: Dev Notes
|
||||||
|
instruction: |
|
||||||
|
Populate relevant information, only what was pulled from actual artifacts from docs folder, relevant to this story:
|
||||||
|
- Do not invent information
|
||||||
|
- If known add Relevant Source Tree info that relates to this story
|
||||||
|
- If there were important notes from previous story that are relevant to this one, include them here
|
||||||
|
- Put enough information in this section so that the dev agent should NEVER need to read the architecture documents, these notes along with the tasks and subtasks must give the Dev Agent the complete context it needs to comprehend with the least amount of overhead the information to complete the story, meeting all AC and completing all tasks+subtasks
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
sections:
|
||||||
|
- id: testing-standards
|
||||||
|
title: Testing
|
||||||
|
instruction: |
|
||||||
|
List Relevant Testing Standards from Architecture the Developer needs to conform to:
|
||||||
|
- Test file location
|
||||||
|
- Test standards
|
||||||
|
- Testing frameworks and patterns to use
|
||||||
|
- Any specific testing requirements for this story
|
||||||
|
elicit: true
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master]
|
||||||
|
|
||||||
### Testing
|
- id: change-log
|
||||||
|
title: Change Log
|
||||||
|
type: table
|
||||||
|
columns: [Date, Version, Description, Author]
|
||||||
|
instruction: Track changes made to this story document
|
||||||
|
owner: scrum-master
|
||||||
|
editors: [scrum-master, dev-agent, qa-agent]
|
||||||
|
|
||||||
## Change Log
|
- id: dev-agent-record
|
||||||
|
title: Dev Agent Record
|
||||||
|
instruction: This section is populated by the development agent during implementation
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
sections:
|
||||||
|
- id: agent-model
|
||||||
|
title: Agent Model Used
|
||||||
|
template: "{{agent_model_name_version}}"
|
||||||
|
instruction: Record the specific AI agent model and version used for development
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
| Date | Version | Description | Author |
|
- id: debug-log-references
|
||||||
| :--- | :------ | :---------- | :----- |
|
title: Debug Log References
|
||||||
|
instruction: Reference any debug logs or traces generated during development
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
## Dev Agent Record
|
- id: completion-notes
|
||||||
|
title: Completion Notes List
|
||||||
|
instruction: Notes about the completion of tasks and any issues encountered
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
### Agent Model Used: {{Agent Model Name/Version}}
|
- id: file-list
|
||||||
|
title: File List
|
||||||
|
instruction: List all files created, modified, or affected during story implementation
|
||||||
|
owner: dev-agent
|
||||||
|
editors: [dev-agent]
|
||||||
|
|
||||||
### Debug Log References
|
- id: qa-results
|
||||||
|
title: QA Results
|
||||||
### Completion Notes List
|
instruction: Results from QA Agent QA review of the completed story implementation
|
||||||
|
owner: qa-agent
|
||||||
### File List
|
editors: [qa-agent]
|
||||||
|
==================== END: .bmad-core/templates/story-tmpl.yaml ====================
|
||||||
## QA Results
|
|
||||||
==================== END: .bmad-core/templates/story-tmpl.md ====================
|
|
||||||
|
|
||||||
==================== START: .bmad-core/checklists/po-master-checklist.md ====================
|
==================== START: .bmad-core/checklists/po-master-checklist.md ====================
|
||||||
# Product Owner (PO) Master Validation Checklist
|
# Product Owner (PO) Master Validation Checklist
|
||||||
|
|||||||
5746
dist/teams/team-no-ui.txt
vendored
5746
dist/teams/team-no-ui.txt
vendored
File diff suppressed because it is too large
Load Diff
@@ -9,5 +9,5 @@ agents:
|
|||||||
- game-developer
|
- game-developer
|
||||||
- game-sm
|
- game-sm
|
||||||
workflows:
|
workflows:
|
||||||
- game-dev-greenfield
|
- game-dev-greenfield.md
|
||||||
- game-prototype
|
- game-prototype.md
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ CRITICAL: Read the full YAML, start activation to alter your state of being, fol
|
|||||||
root: .bmad-2d-phaser-game-dev
|
root: .bmad-2d-phaser-game-dev
|
||||||
IDE-FILE-RESOLUTION: Dependencies map to files as {root}/{type}/{name} where root=".bmad-core", type=folder (tasks/templates/checklists/utils), name=dependency name.
|
IDE-FILE-RESOLUTION: Dependencies map to files as {root}/{type}/{name} where root=".bmad-core", type=folder (tasks/templates/checklists/utils), name=dependency name.
|
||||||
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task, "make a new prd" would be dependencies->tasks->create-doc combined with the dependencies->templates->prd-tmpl.md), or ask for clarification if ambiguous.
|
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task, "make a new prd" would be dependencies->tasks->create-doc combined with the dependencies->templates->prd-tmpl.md), or ask for clarification if ambiguous.
|
||||||
activation-instructions:
|
|
||||||
activation-instructions:
|
activation-instructions:
|
||||||
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
- Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
|
||||||
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
||||||
|
|||||||
@@ -211,6 +211,7 @@ These references map directly to bundle sections:
|
|||||||
parsed["activation-instructions"] = parsed["activation-instructions"].filter(
|
parsed["activation-instructions"] = parsed["activation-instructions"].filter(
|
||||||
(instruction) => {
|
(instruction) => {
|
||||||
return (
|
return (
|
||||||
|
typeof instruction === 'string' &&
|
||||||
!instruction.startsWith("IDE-FILE-RESOLUTION:") &&
|
!instruction.startsWith("IDE-FILE-RESOLUTION:") &&
|
||||||
!instruction.startsWith("REQUEST-RESOLUTION:")
|
!instruction.startsWith("REQUEST-RESOLUTION:")
|
||||||
);
|
);
|
||||||
@@ -393,11 +394,9 @@ These references map directly to bundle sections:
|
|||||||
if (Array.isArray(resources)) {
|
if (Array.isArray(resources)) {
|
||||||
for (const resourceName of resources) {
|
for (const resourceName of resources) {
|
||||||
let found = false;
|
let found = false;
|
||||||
const extensions = [".md", ".yaml"];
|
|
||||||
|
|
||||||
// Try expansion pack first
|
// Try expansion pack first
|
||||||
for (const ext of extensions) {
|
const resourcePath = path.join(packDir, resourceType, resourceName);
|
||||||
const resourcePath = path.join(packDir, resourceType, `${resourceName}${ext}`);
|
|
||||||
try {
|
try {
|
||||||
const resourceContent = await fs.readFile(resourcePath, "utf8");
|
const resourceContent = await fs.readFile(resourcePath, "utf8");
|
||||||
const resourceWebPath = this.convertToWebPath(resourcePath, packName);
|
const resourceWebPath = this.convertToWebPath(resourcePath, packName);
|
||||||
@@ -405,20 +404,17 @@ These references map directly to bundle sections:
|
|||||||
this.formatSection(resourceWebPath, resourceContent, packName)
|
this.formatSection(resourceWebPath, resourceContent, packName)
|
||||||
);
|
);
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// Not in expansion pack, continue
|
// Not in expansion pack, continue
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// If not found in expansion pack, try core
|
// If not found in expansion pack, try core
|
||||||
if (!found) {
|
if (!found) {
|
||||||
for (const ext of extensions) {
|
|
||||||
const corePath = path.join(
|
const corePath = path.join(
|
||||||
this.rootDir,
|
this.rootDir,
|
||||||
"bmad-core",
|
"bmad-core",
|
||||||
resourceType,
|
resourceType,
|
||||||
`${resourceName}${ext}`
|
resourceName
|
||||||
);
|
);
|
||||||
try {
|
try {
|
||||||
const coreContent = await fs.readFile(corePath, "utf8");
|
const coreContent = await fs.readFile(corePath, "utf8");
|
||||||
@@ -427,21 +423,18 @@ These references map directly to bundle sections:
|
|||||||
this.formatSection(coreWebPath, coreContent, packName)
|
this.formatSection(coreWebPath, coreContent, packName)
|
||||||
);
|
);
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// Not in core either, continue
|
// Not in core either, continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// If not found in core, try common folder
|
// If not found in core, try common folder
|
||||||
if (!found) {
|
if (!found) {
|
||||||
for (const ext of extensions) {
|
|
||||||
const commonPath = path.join(
|
const commonPath = path.join(
|
||||||
this.rootDir,
|
this.rootDir,
|
||||||
"common",
|
"common",
|
||||||
resourceType,
|
resourceType,
|
||||||
`${resourceName}${ext}`
|
resourceName
|
||||||
);
|
);
|
||||||
try {
|
try {
|
||||||
const commonContent = await fs.readFile(commonPath, "utf8");
|
const commonContent = await fs.readFile(commonPath, "utf8");
|
||||||
@@ -450,12 +443,10 @@ These references map directly to bundle sections:
|
|||||||
this.formatSection(commonWebPath, commonContent, packName)
|
this.formatSection(commonWebPath, commonContent, packName)
|
||||||
);
|
);
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// Not in common either, continue
|
// Not in common either, continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (!found) {
|
if (!found) {
|
||||||
console.warn(
|
console.warn(
|
||||||
@@ -509,8 +500,7 @@ These references map directly to bundle sections:
|
|||||||
for (const resourceFile of resourceFiles.filter(
|
for (const resourceFile of resourceFiles.filter(
|
||||||
(f) => f.endsWith(".md") || f.endsWith(".yaml")
|
(f) => f.endsWith(".md") || f.endsWith(".yaml")
|
||||||
)) {
|
)) {
|
||||||
const fileName = resourceFile.replace(/\.(md|yaml)$/, "");
|
expansionResources.set(`${resourceDir}#${resourceFile}`, true);
|
||||||
expansionResources.set(`${resourceDir}#${fileName}`, true);
|
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// Directory might not exist, that's fine
|
// Directory might not exist, that's fine
|
||||||
@@ -597,57 +587,47 @@ These references map directly to bundle sections:
|
|||||||
// Always prefer expansion pack versions if they exist
|
// Always prefer expansion pack versions if they exist
|
||||||
for (const [key, dep] of allDependencies) {
|
for (const [key, dep] of allDependencies) {
|
||||||
let found = false;
|
let found = false;
|
||||||
const extensions = [".md", ".yaml"];
|
|
||||||
|
|
||||||
// Always check expansion pack first, even if the dependency came from a core agent
|
// Always check expansion pack first, even if the dependency came from a core agent
|
||||||
if (expansionResources.has(key)) {
|
if (expansionResources.has(key)) {
|
||||||
// We know it exists in expansion pack, find and load it
|
// We know it exists in expansion pack, find and load it
|
||||||
for (const ext of extensions) {
|
const expansionPath = path.join(packDir, dep.type, dep.name);
|
||||||
const expansionPath = path.join(packDir, dep.type, `${dep.name}${ext}`);
|
|
||||||
try {
|
try {
|
||||||
const content = await fs.readFile(expansionPath, "utf8");
|
const content = await fs.readFile(expansionPath, "utf8");
|
||||||
const expansionWebPath = this.convertToWebPath(expansionPath, packName);
|
const expansionWebPath = this.convertToWebPath(expansionPath, packName);
|
||||||
sections.push(this.formatSection(expansionWebPath, content, packName));
|
sections.push(this.formatSection(expansionWebPath, content, packName));
|
||||||
console.log(` ✓ Using expansion override for ${key}`);
|
console.log(` ✓ Using expansion override for ${key}`);
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// Try next extension
|
// Try next extension
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// If not found in expansion pack (or doesn't exist there), try core
|
// If not found in expansion pack (or doesn't exist there), try core
|
||||||
if (!found) {
|
if (!found) {
|
||||||
for (const ext of extensions) {
|
const corePath = path.join(this.rootDir, "bmad-core", dep.type, dep.name);
|
||||||
const corePath = path.join(this.rootDir, "bmad-core", dep.type, `${dep.name}${ext}`);
|
|
||||||
try {
|
try {
|
||||||
const content = await fs.readFile(corePath, "utf8");
|
const content = await fs.readFile(corePath, "utf8");
|
||||||
const coreWebPath = this.convertToWebPath(corePath, packName);
|
const coreWebPath = this.convertToWebPath(corePath, packName);
|
||||||
sections.push(this.formatSection(coreWebPath, content, packName));
|
sections.push(this.formatSection(coreWebPath, content, packName));
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// Not in core either, continue
|
// Not in core either, continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// If not found in core, try common folder
|
// If not found in core, try common folder
|
||||||
if (!found) {
|
if (!found) {
|
||||||
for (const ext of extensions) {
|
const commonPath = path.join(this.rootDir, "common", dep.type, dep.name);
|
||||||
const commonPath = path.join(this.rootDir, "common", dep.type, `${dep.name}${ext}`);
|
|
||||||
try {
|
try {
|
||||||
const content = await fs.readFile(commonPath, "utf8");
|
const content = await fs.readFile(commonPath, "utf8");
|
||||||
const commonWebPath = this.convertToWebPath(commonPath, packName);
|
const commonWebPath = this.convertToWebPath(commonPath, packName);
|
||||||
sections.push(this.formatSection(commonWebPath, content, packName));
|
sections.push(this.formatSection(commonWebPath, content, packName));
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// Not in common either, continue
|
// Not in common either, continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (!found) {
|
if (!found) {
|
||||||
console.warn(` ⚠ Dependency ${key} not found in expansion pack or core`);
|
console.warn(` ⚠ Dependency ${key} not found in expansion pack or core`);
|
||||||
|
|||||||
@@ -116,31 +116,20 @@ class DependencyResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const extensions = ['.md', '.yaml'];
|
|
||||||
let content = null;
|
let content = null;
|
||||||
let filePath = null;
|
let filePath = null;
|
||||||
|
|
||||||
// First try bmad-core
|
// First try bmad-core
|
||||||
for (const ext of extensions) {
|
|
||||||
try {
|
try {
|
||||||
filePath = path.join(this.bmadCore, type, `${id}${ext}`);
|
filePath = path.join(this.bmadCore, type, id);
|
||||||
content = await fs.readFile(filePath, 'utf8');
|
content = await fs.readFile(filePath, 'utf8');
|
||||||
break;
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
// Try next extension
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// If not found in bmad-core, try common folder
|
// If not found in bmad-core, try common folder
|
||||||
if (!content) {
|
|
||||||
for (const ext of extensions) {
|
|
||||||
try {
|
try {
|
||||||
filePath = path.join(this.common, type, `${id}${ext}`);
|
filePath = path.join(this.common, type, id);
|
||||||
content = await fs.readFile(filePath, 'utf8');
|
content = await fs.readFile(filePath, 'utf8');
|
||||||
break;
|
} catch (e2) {
|
||||||
} catch (e) {
|
// File not found in either location
|
||||||
// Try next extension
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user