mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
master workflow integration
This commit is contained in:
383
src/modules/bmm/workflows/1-analysis/workflow-status/README.md
Normal file
383
src/modules/bmm/workflows/1-analysis/workflow-status/README.md
Normal file
@@ -0,0 +1,383 @@
|
||||
# Workflow Status - Universal Entry Point
|
||||
|
||||
## Overview
|
||||
|
||||
The `workflow-status` workflow is the **universal entry point** for all BMad Method (BMM) workflows. It serves as both a status tracker and master router, helping users understand where they are in their project journey and what to do next.
|
||||
|
||||
## Purpose
|
||||
|
||||
**Primary Functions:**
|
||||
|
||||
1. **Status Checking**: Read existing workflow status and display current state
|
||||
2. **Next Action Recommendation**: Suggest what the user should do next
|
||||
3. **Comprehensive Workflow Planning**: Map out ENTIRE workflow journey before executing anything
|
||||
4. **Planned Workflow Documentation**: Create status file with complete phase/step roadmap
|
||||
5. **Phase Navigation**: Guide users through the 4-phase methodology
|
||||
6. **Agent Coordination**: Can be invoked by any agent (bmad-master, analyst, pm)
|
||||
|
||||
## When to Use
|
||||
|
||||
### Automatic Invocation
|
||||
|
||||
Agents should automatically check workflow status when loaded:
|
||||
|
||||
- **bmad-master**: Checks status before displaying main menu
|
||||
- **analyst**: Checks status before displaying analysis options
|
||||
- **pm**: Checks status before displaying planning options
|
||||
|
||||
### Manual Invocation
|
||||
|
||||
Users can manually run this workflow anytime:
|
||||
|
||||
```bash
|
||||
bmad analyst workflow-status
|
||||
# or
|
||||
bmad pm workflow-status
|
||||
# or just tell any agent: "check workflow status"
|
||||
```
|
||||
|
||||
## Workflow Behavior
|
||||
|
||||
### Scenario 1: No Status File Exists (New Project)
|
||||
|
||||
**The workflow will map out your ENTIRE workflow journey:**
|
||||
|
||||
**Step 1: Project Context**
|
||||
|
||||
- Determine greenfield vs brownfield
|
||||
- Check if brownfield needs documentation
|
||||
- Note if `document-project` should be added to plan
|
||||
|
||||
**Step 2: Scope Understanding**
|
||||
|
||||
- Ask if user knows project level/scope
|
||||
- Options:
|
||||
- **Yes**: Capture estimated level (0-4)
|
||||
- **No**: Defer level determination to Phase 2 (plan-project)
|
||||
- **Want analysis first**: Include Phase 1 in plan
|
||||
|
||||
**Step 3: Choose Starting Point**
|
||||
|
||||
- **Option A**: Full Analysis Phase (brainstorm → research → brief)
|
||||
- **Option B**: Skip to Planning (direct to PRD/GDD)
|
||||
- **Option C**: Just Show Menu (I'll decide manually)
|
||||
|
||||
**Step 4: Build Complete Planned Workflow**
|
||||
The workflow builds a comprehensive plan including:
|
||||
|
||||
- Phase 1 (if needed): document-project, brainstorm, research, brief
|
||||
- Phase 2 (always required): plan-project
|
||||
- Phase 3 (if Level 3-4): solution-architecture, tech-specs
|
||||
- Phase 4 (always): Full implementation workflow (create-story → story-ready → dev-story → story-approved)
|
||||
|
||||
**Step 5: Create Status File**
|
||||
|
||||
- Create `project-workflow-status-YYYY-MM-DD.md`
|
||||
- Document complete planned workflow in "Planned Workflow Journey" table
|
||||
- Set current step: "Workflow Definition Phase"
|
||||
- Set next step: First item from planned workflow
|
||||
- Provide command to run next step
|
||||
|
||||
**Brownfield Special Handling:**
|
||||
|
||||
- Checks if codebase is documented
|
||||
- Adds `document-project` to planned workflow if needed
|
||||
- Does NOT immediately execute it - documents it in the plan first
|
||||
|
||||
**Output:**
|
||||
|
||||
- Complete workflow roadmap with phases, steps, agents, and descriptions
|
||||
- Status file with planned journey documented
|
||||
- Clear command to run first step
|
||||
- User can reference plan anytime via workflow-status
|
||||
|
||||
### Scenario 2: Status File Exists (Project In Progress)
|
||||
|
||||
**The workflow will:**
|
||||
|
||||
1. Find most recent `project-workflow-status-YYYY-MM-DD.md` file
|
||||
2. Read and parse current state:
|
||||
- Current phase and progress %
|
||||
- Project level and type
|
||||
- Phase completion status
|
||||
- Implementation progress (if Phase 4)
|
||||
- Next recommended action
|
||||
3. Display comprehensive status summary
|
||||
4. Offer options:
|
||||
- **Option 1**: Proceed with recommended action
|
||||
- **Option 2**: View detailed status
|
||||
- **Option 3**: Change workflow
|
||||
- **Option 4**: Display agent menu
|
||||
- **Option 5**: Exit
|
||||
|
||||
**Phase 4 Special Display:**
|
||||
If in Implementation phase, shows:
|
||||
|
||||
- BACKLOG story count
|
||||
- TODO story (ready for drafting)
|
||||
- IN PROGRESS story (being implemented)
|
||||
- DONE story count and points
|
||||
|
||||
## Status File Detection
|
||||
|
||||
**Search Pattern:**
|
||||
|
||||
```
|
||||
{output_folder}/project-workflow-status*.md
|
||||
```
|
||||
|
||||
**Versioning:**
|
||||
|
||||
- Files are named: `project-workflow-status-YYYY-MM-DD.md`
|
||||
- Workflow finds most recent by date
|
||||
- Old files can be archived
|
||||
|
||||
## Recommended Next Actions
|
||||
|
||||
The workflow intelligently suggests next steps based on current state:
|
||||
|
||||
**Phase 1 (Analysis):**
|
||||
|
||||
- Continue with analysis workflows
|
||||
- Or move to `plan-project`
|
||||
|
||||
**Phase 2 (Planning):**
|
||||
|
||||
- If Level 0-1: Move to Phase 4 (`create-story`)
|
||||
- If Level 3-4: Move to Phase 3 (`solution-architecture`)
|
||||
|
||||
**Phase 3 (Solutioning):**
|
||||
|
||||
- Continue with tech-specs (JIT per epic)
|
||||
- Or move to Phase 4 (`create-story`)
|
||||
|
||||
**Phase 4 (Implementation):**
|
||||
|
||||
- Shows current TODO/IN PROGRESS story
|
||||
- Suggests exact next workflow (`story-ready`, `dev-story`, `story-approved`)
|
||||
|
||||
## Integration with Agents
|
||||
|
||||
### bmad-master
|
||||
|
||||
```
|
||||
On load:
|
||||
1. Run workflow-status check
|
||||
2. If status found: Display summary + menu
|
||||
3. If no status: Offer to plan workflow
|
||||
4. Display master menu with context
|
||||
```
|
||||
|
||||
### analyst
|
||||
|
||||
```
|
||||
On load:
|
||||
1. Run workflow-status check
|
||||
2. If in Phase 1: Show analysis workflows
|
||||
3. If no status: Offer analysis planning
|
||||
4. Display analyst menu
|
||||
```
|
||||
|
||||
### pm
|
||||
|
||||
```
|
||||
On load:
|
||||
1. Run workflow-status check
|
||||
2. If no status: Offer to run plan-project
|
||||
3. If status found: Show current phase progress
|
||||
4. Display PM menu
|
||||
```
|
||||
|
||||
## Example Outputs
|
||||
|
||||
### No Status File (New User) - Planning Flow
|
||||
|
||||
```
|
||||
🚀 Welcome to BMad Method Workflows!
|
||||
|
||||
No workflow status file found. Let's plan your complete workflow journey.
|
||||
|
||||
Step 1: Project Context
|
||||
|
||||
Is this a new or existing codebase?
|
||||
a. Greenfield - Starting from scratch
|
||||
b. Brownfield - Adding to existing codebase
|
||||
|
||||
Your choice (a/b): a
|
||||
|
||||
Step 3: Understanding Your Workflow
|
||||
|
||||
Before we plan your workflow, let's determine the scope and complexity of your project.
|
||||
|
||||
The BMad Method uses 5 project levels (0-4) that determine which phases you'll need:
|
||||
- Level 0: Single atomic change (1 story) - Phases 2 → 4
|
||||
- Level 1: Small feature (2-3 stories, 1 epic) - Phases 2 → 4
|
||||
- Level 2: Medium project (multiple epics) - Phases 2 → 4
|
||||
- Level 3: Complex system (subsystems, integrations) - Phases 2 → 3 → 4
|
||||
- Level 4: Enterprise scale (multiple products) - Phases 2 → 3 → 4
|
||||
|
||||
Do you already know your project's approximate size/scope?
|
||||
a. Yes - I can describe the general scope
|
||||
b. No - Not sure yet, need help determining it
|
||||
c. Want analysis first - Do brainstorming/research before deciding
|
||||
|
||||
Your choice (a/b/c): a
|
||||
|
||||
Based on the descriptions above, what level best describes your project?
|
||||
0. Single atomic change
|
||||
1. Small coherent feature
|
||||
2. Medium project
|
||||
3. Complex system
|
||||
4. Enterprise scale
|
||||
|
||||
Your estimated level (0-4): 1
|
||||
|
||||
Step 4: Choose Your Starting Point
|
||||
|
||||
Option A: Full Analysis Phase First
|
||||
Option B: Skip to Planning
|
||||
Option C: Just Show Menu
|
||||
|
||||
Your choice (A/B/C): B
|
||||
|
||||
🗺️ Your Planned Workflow
|
||||
|
||||
Based on your responses, here's your complete workflow journey:
|
||||
|
||||
**2-Plan** - plan-project
|
||||
- Agent: PM
|
||||
- Description: Create PRD/GDD/Tech-Spec (determines final level)
|
||||
- Status: Planned
|
||||
|
||||
**3-Solutioning** - TBD - depends on level from Phase 2
|
||||
- Agent: Architect
|
||||
- Description: Required if Level 3-4, skipped if Level 0-2
|
||||
- Status: Conditional
|
||||
|
||||
**4-Implementation** - create-story (iterative)
|
||||
- Agent: SM
|
||||
- Description: Draft stories from backlog
|
||||
- Status: Planned
|
||||
|
||||
**4-Implementation** - story-ready
|
||||
- Agent: SM
|
||||
- Description: Approve story for dev
|
||||
- Status: Planned
|
||||
|
||||
**4-Implementation** - story-context
|
||||
- Agent: SM
|
||||
- Description: Generate context XML
|
||||
- Status: Planned
|
||||
|
||||
**4-Implementation** - dev-story (iterative)
|
||||
- Agent: DEV
|
||||
- Description: Implement stories
|
||||
- Status: Planned
|
||||
|
||||
**4-Implementation** - story-approved
|
||||
- Agent: DEV
|
||||
- Description: Mark complete, advance queue
|
||||
- Status: Planned
|
||||
|
||||
---
|
||||
|
||||
Current Step: Workflow Definition Phase (this workflow)
|
||||
Next Step: plan-project (PM agent)
|
||||
|
||||
Ready to create your workflow status file?
|
||||
|
||||
This will create: project-workflow-status-2025-10-12.md
|
||||
|
||||
The status file will document:
|
||||
- Your complete planned workflow (phases and steps)
|
||||
- Current phase: "Workflow Definition"
|
||||
- Next action: plan-project
|
||||
|
||||
Create status file? (y/n): y
|
||||
|
||||
✅ Status file created!
|
||||
|
||||
File: project-workflow-status-2025-10-12.md
|
||||
|
||||
To proceed with your first step:
|
||||
|
||||
Load PM: bmad pm plan-project
|
||||
|
||||
You can always check your status with: workflow-status
|
||||
```
|
||||
|
||||
### Status File Found (In Progress)
|
||||
|
||||
```
|
||||
📊 Current Workflow Status
|
||||
|
||||
Project: My Web App
|
||||
Started: 2025-10-10
|
||||
Last Updated: 2025-10-12
|
||||
|
||||
Current Phase: 4-Implementation (65% complete)
|
||||
Current Workflow: Story implementation in progress
|
||||
|
||||
Phase Completion:
|
||||
- [x] Phase 1: Analysis
|
||||
- [x] Phase 2: Planning
|
||||
- [ ] Phase 3: Solutioning (skipped for Level 1)
|
||||
- [ ] Phase 4: Implementation
|
||||
|
||||
Planned Workflow Journey:
|
||||
Current Step: dev-story (DEV agent)
|
||||
Next Step: story-approved (DEV agent)
|
||||
|
||||
Full planned workflow documented in status file - reference anytime!
|
||||
|
||||
Project Details:
|
||||
- Level: 1 (Coherent feature, 1-10 stories)
|
||||
- Type: web
|
||||
- Context: greenfield
|
||||
|
||||
Implementation Progress:
|
||||
- BACKLOG: 1 stories
|
||||
- TODO: (empty)
|
||||
- IN PROGRESS: auth-feature-2 (Ready)
|
||||
- DONE: 1 stories (5 points)
|
||||
|
||||
---
|
||||
|
||||
🎯 Recommended Next Action:
|
||||
|
||||
Implement story auth-feature-2
|
||||
|
||||
Command: Run 'dev-story' workflow
|
||||
Agent: DEV
|
||||
|
||||
Would you like to:
|
||||
1. Proceed with recommended action
|
||||
2. View detailed status (includes full planned workflow table)
|
||||
3. Change workflow
|
||||
4. Display agent menu
|
||||
5. Exit
|
||||
```
|
||||
|
||||
## Benefits
|
||||
|
||||
✅ **Complete Workflow Planning**: Maps out ENTIRE journey before executing anything
|
||||
✅ **No More Guessing**: Users always know current step AND what comes next
|
||||
✅ **Documented Roadmap**: Status file contains complete planned workflow table
|
||||
✅ **Context-Aware**: Recommendations adapt to project state and level
|
||||
✅ **Universal Entry Point**: Works with any agent
|
||||
✅ **New User Friendly**: Guides comprehensive workflow planning
|
||||
✅ **Status Visibility**: Clear progress tracking with current/next step indicators
|
||||
✅ **Phase Navigation**: Easy to jump between phases with planned path reference
|
||||
✅ **Level-Adaptive**: Plans adjust based on estimated project level (0-4)
|
||||
✅ **Brownfield Support**: Includes documentation needs in workflow plan
|
||||
|
||||
## Future Enhancements
|
||||
|
||||
- **Progress Dashboards**: Visual progress indicators
|
||||
- **Time Tracking**: Estimate time remaining
|
||||
- **Multi-Project**: Handle multiple projects
|
||||
- **Team Sync**: Show what teammates are working on
|
||||
|
||||
---
|
||||
|
||||
**This workflow is the front door to BMad Method. Every user should start here or have it checked automatically by their agent.**
|
||||
@@ -0,0 +1,670 @@
|
||||
# Workflow Status - Master Router and Status Tracker
|
||||
|
||||
<workflow>
|
||||
|
||||
<critical>This is the UNIVERSAL ENTRY POINT for all BMM workflows</critical>
|
||||
<critical>Can be invoked by bmad-master, analyst, or pm agents</critical>
|
||||
<critical>Checks for existing workflow status and suggests next actions</critical>
|
||||
<critical>If no status exists, helps user plan their workflow approach</critical>
|
||||
|
||||
<step n="1" goal="Check for existing workflow status file">
|
||||
|
||||
<action>Search {output_folder}/ for files matching pattern: project-workflow-status\*.md</action>
|
||||
<action>Use glob or list_files to find all matching files</action>
|
||||
|
||||
<check if="files found">
|
||||
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
|
||||
<action>Set status_file_found = true</action>
|
||||
<action>Set status_file_path = most recent file path</action>
|
||||
<action>Go to Step 2 (Read existing status)</action>
|
||||
</check>
|
||||
|
||||
<check if="no files found">
|
||||
<action>Set status_file_found = false</action>
|
||||
<action>Go to Step 3 (Initial workflow planning)</action>
|
||||
</check>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="2" goal="Read and analyze existing workflow status" if="status_file_found == true">
|
||||
|
||||
<action>Read {status_file_path}</action>
|
||||
|
||||
<action>Extract key information:</action>
|
||||
|
||||
**Project Context:**
|
||||
|
||||
- project_name: From "Project:" field
|
||||
- start_date: From "Created:" field
|
||||
- last_updated: From "Last Updated:" field
|
||||
|
||||
**Current State:**
|
||||
|
||||
- current_phase: From "Current Phase:" field (1-Analysis, 2-Plan, 3-Solutioning, 4-Implementation)
|
||||
- current_workflow: From "Current Workflow:" field
|
||||
- progress_percentage: From "Overall Progress:" field
|
||||
- project_level: From "Project Level:" field (0, 1, 2, 3, or 4)
|
||||
- project_type: From "Project Type:" field
|
||||
- field_type: From "Greenfield/Brownfield:" field
|
||||
|
||||
**Phase Completion:**
|
||||
|
||||
- phase_1_complete: Check if "1-Analysis" checkbox is checked
|
||||
- phase_2_complete: Check if "2-Plan" checkbox is checked
|
||||
- phase_3_complete: Check if "3-Solutioning" checkbox is checked
|
||||
- phase_4_complete: Check if "4-Implementation" checkbox is checked
|
||||
|
||||
**Implementation Progress (if Phase 4):**
|
||||
|
||||
- Read "### Implementation Progress (Phase 4 Only)" section
|
||||
- Extract TODO story (if exists)
|
||||
- Extract IN PROGRESS story (if exists)
|
||||
- Extract BACKLOG count
|
||||
- Extract DONE count
|
||||
|
||||
**Next Action:**
|
||||
|
||||
- next_action: From "What to do next:" field
|
||||
- next_command: From "Command to run:" field
|
||||
- next_agent: From "Agent to load:" field
|
||||
|
||||
<action>Analyze the current state to determine recommendation</action>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="2.5" goal="Display current workflow status and suggest next action" if="status_file_found == true">
|
||||
|
||||
<action>Display comprehensive status summary</action>
|
||||
|
||||
**📊 Current Workflow Status**
|
||||
|
||||
**Project:** {{project_name}}
|
||||
**Started:** {{start_date}}
|
||||
**Last Updated:** {{last_updated}}
|
||||
|
||||
**Current Phase:** {{current_phase}} ({{progress_percentage}}% complete)
|
||||
**Current Workflow:** {{current_workflow}}
|
||||
|
||||
**Phase Completion:**
|
||||
|
||||
- [{{phase_1_complete ? 'x' : ' '}}] Phase 1: Analysis
|
||||
- [{{phase_2_complete ? 'x' : ' '}}] Phase 2: Planning
|
||||
- [{{phase_3_complete ? 'x' : ' '}}] Phase 3: Solutioning ({{project_level < 3 ? 'skipped for Level ' + project_level : 'required'}})
|
||||
- [{{phase_4_complete ? 'x' : ' '}}] Phase 4: Implementation
|
||||
|
||||
**Project Details:**
|
||||
|
||||
- **Level:** {{project_level}} ({{get_level_description(project_level)}})
|
||||
- **Type:** {{project_type}}
|
||||
- **Context:** {{field_type}}
|
||||
|
||||
{{#if current_phase == '4-Implementation'}}
|
||||
**Implementation Progress:**
|
||||
|
||||
- **BACKLOG:** {{backlog_count}} stories
|
||||
- **TODO:** {{todo_story_id}} ({{todo_story_status}})
|
||||
- **IN PROGRESS:** {{current_story_id}} ({{current_story_status}})
|
||||
- **DONE:** {{done_count}} stories ({{done_points}} points)
|
||||
{{/if}}
|
||||
|
||||
---
|
||||
|
||||
**🎯 Recommended Next Action:**
|
||||
|
||||
{{next_action}}
|
||||
|
||||
**Command:** {{next_command}}
|
||||
**Agent:** {{next_agent}}
|
||||
|
||||
<ask>Would you like to:
|
||||
|
||||
1. **Proceed with recommended action** ({{next_command}})
|
||||
2. **View detailed status** (show full status file)
|
||||
3. **Change workflow** (modify current workflow or start new phase)
|
||||
4. **Display agent menu** (see all available options)
|
||||
5. **Exit** (return to agent)
|
||||
|
||||
Select option (1-5):</ask>
|
||||
|
||||
<check if='option == "1"'>
|
||||
<action>Suggest loading the recommended agent and running the command</action>
|
||||
<output>**To proceed:**
|
||||
|
||||
Load agent: `{{next_agent}}`
|
||||
Run command: `{{next_command}}`
|
||||
|
||||
Or tell me: "load {{next_agent}} and {{next_command}}"
|
||||
</output>
|
||||
</check>
|
||||
|
||||
<check if='option == "2"'>
|
||||
<action>Display full status file contents</action>
|
||||
<action>Return to menu</action>
|
||||
</check>
|
||||
|
||||
<check if='option == "3"'>
|
||||
<action>Go to Step 4 (Change workflow)</action>
|
||||
</check>
|
||||
|
||||
<check if='option == "4"'>
|
||||
<action>Go to Step 5 (Display agent menu)</action>
|
||||
</check>
|
||||
|
||||
<check if='option == "5"'>
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="3" goal="Initial workflow planning - no status file exists" if="status_file_found == false">
|
||||
|
||||
<action>Display welcome message</action>
|
||||
|
||||
**🚀 Welcome to BMad Method Workflows!**
|
||||
|
||||
No workflow status file found. Let's plan your complete workflow journey.
|
||||
|
||||
<critical>This step will map out your ENTIRE workflow before executing anything</critical>
|
||||
<critical>Goal: Document planned phases, current step, and next step in status file</critical>
|
||||
|
||||
<ask>**Step 1: Project Context**
|
||||
|
||||
**Is this a new or existing codebase?**
|
||||
a. **Greenfield** - Starting from scratch
|
||||
b. **Brownfield** - Adding to existing codebase
|
||||
|
||||
Your choice (a/b):</ask>
|
||||
|
||||
<action>Capture field_type = "greenfield" or "brownfield"</action>
|
||||
|
||||
<check if='field_type == "brownfield"'>
|
||||
<ask>**Step 2: Brownfield Documentation Status**
|
||||
|
||||
Do you have:
|
||||
|
||||
- Architecture documentation?
|
||||
- Code structure overview?
|
||||
- API documentation?
|
||||
- Clear understanding of existing patterns?
|
||||
|
||||
Options:
|
||||
a. **Yes** - I have good documentation
|
||||
b. **No** - Codebase is undocumented or poorly documented
|
||||
c. **Partial** - Some docs exist but incomplete
|
||||
|
||||
Your choice (a/b/c):</ask>
|
||||
|
||||
<action>Capture brownfield_docs_status</action>
|
||||
|
||||
<check if='brownfield_docs_status == "b" OR brownfield_docs_status == "c"'>
|
||||
<output>**⚠️ Documentation Needed**
|
||||
|
||||
For accurate planning, brownfield projects benefit from codebase documentation.
|
||||
We'll add `document-project` to your planned workflow.
|
||||
</output>
|
||||
<action>Set needs_documentation = true</action>
|
||||
</check>
|
||||
|
||||
<check if='brownfield_docs_status == "a"'>
|
||||
<action>Set needs_documentation = false</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<check if='field_type == "greenfield"'>
|
||||
<action>Set needs_documentation = false</action>
|
||||
</check>
|
||||
|
||||
<ask>**Step 3: Project Type**
|
||||
|
||||
What type of project are you building?
|
||||
|
||||
1. **Game** - Video games for PC, console, mobile, or web
|
||||
2. **Web Application** - Websites, web apps, SPAs
|
||||
3. **Mobile Application** - iOS, Android apps
|
||||
4. **Desktop Application** - Windows, macOS, Linux apps
|
||||
5. **Backend/API Service** - Backend services, APIs, microservices
|
||||
6. **Library/SDK** - Reusable libraries, packages, SDKs
|
||||
7. **CLI Tool** - Command-line tools and utilities
|
||||
8. **Embedded System** - IoT, firmware, embedded devices
|
||||
9. **Data/ML/Analytics** - Data pipelines, ML projects, analytics
|
||||
10. **Browser Extension** - Chrome, Firefox extensions
|
||||
11. **Infrastructure/DevOps** - Terraform, K8s operators, CI/CD
|
||||
12. **Other** - Describe your project type
|
||||
|
||||
Your choice (1-12):</ask>
|
||||
|
||||
<action>Capture project_type_choice</action>
|
||||
|
||||
<action>Map choice to project_type_id using project-types.csv:</action>
|
||||
|
||||
- 1 → game
|
||||
- 2 → web
|
||||
- 3 → mobile
|
||||
- 4 → desktop
|
||||
- 5 → backend
|
||||
- 6 → library
|
||||
- 7 → cli
|
||||
- 8 → embedded
|
||||
- 9 → data
|
||||
- 10 → extension
|
||||
- 11 → infra
|
||||
- 12 → custom (capture description)
|
||||
|
||||
<action>Set project_type = mapped project_type_id</action>
|
||||
|
||||
<output>**Step 4: Understanding Your Workflow**
|
||||
|
||||
Before we plan your workflow, let's determine the scope and complexity of your project.
|
||||
|
||||
The BMad Method uses 5 project levels (0-4) that determine which phases you'll need:
|
||||
|
||||
- **Level 0:** Single atomic change (1 story) - Phases 2 → 4
|
||||
- **Level 1:** Small feature (2-3 stories, 1 epic) - Phases 2 → 4
|
||||
- **Level 2:** Medium project (multiple epics) - Phases 2 → 4
|
||||
- **Level 3:** Complex system (subsystems, integrations) - Phases 2 → 3 → 4
|
||||
- **Level 4:** Enterprise scale (multiple products) - Phases 2 → 3 → 4
|
||||
|
||||
**Optional Phase 1 (Analysis):** Brainstorming, research, and brief creation can precede any level.
|
||||
</output>
|
||||
|
||||
<ask>**Do you already know your project's approximate size/scope?**
|
||||
|
||||
a. **Yes** - I can describe the general scope
|
||||
b. **No** - Not sure yet, need help determining it
|
||||
c. **Want analysis first** - Do brainstorming/research before deciding
|
||||
|
||||
Your choice (a/b/c):</ask>
|
||||
|
||||
<action>Capture scope_knowledge</action>
|
||||
|
||||
<check if='scope_knowledge == "a"'>
|
||||
<ask>**Based on the descriptions above, what level best describes your project?**
|
||||
|
||||
0. Single atomic change (bug fix, tiny feature)
|
||||
1. Small coherent feature (2-3 stories)
|
||||
2. Medium project (multiple features/epics)
|
||||
3. Complex system (subsystems, architectural decisions)
|
||||
4. Enterprise scale (multiple products/systems)
|
||||
|
||||
Your estimated level (0-4):</ask>
|
||||
|
||||
<action>Capture estimated_level</action>
|
||||
<action>Set level_known = true</action>
|
||||
</check>
|
||||
|
||||
<check if='scope_knowledge == "b" OR scope_knowledge == "c"'>
|
||||
<output>**Level determination deferred**
|
||||
|
||||
{{#if scope_knowledge == "b"}}
|
||||
No problem! The `plan-project` workflow will help you determine the project level through guided questions.
|
||||
{{/if}}
|
||||
|
||||
{{#if scope_knowledge == "c"}}
|
||||
Great! Analysis workflows will help clarify scope before determining the level.
|
||||
{{/if}}
|
||||
|
||||
We'll determine your project level during Phase 2 (Planning).
|
||||
</output>
|
||||
<action>Set level_known = false</action>
|
||||
<action>Set estimated_level = "TBD"</action>
|
||||
</check>
|
||||
|
||||
<ask>**Step 5: Choose Your Starting Point**
|
||||
|
||||
Now let's determine where you want to begin:
|
||||
|
||||
**Option A: Full Analysis Phase First**
|
||||
|
||||
- Brainstorming (explore ideas, validate concepts)
|
||||
- Research (market, technical, competitive analysis)
|
||||
- Product/Game Brief (strategic foundation)
|
||||
→ Best for: New ideas, uncertain requirements, need validation
|
||||
|
||||
**Option B: Skip to Planning**
|
||||
|
||||
- You know what to build
|
||||
- Jump to PRD/GDD/Tech-Spec generation
|
||||
→ Best for: Clear requirements, existing ideas
|
||||
|
||||
**Option C: Just Show Menu**
|
||||
|
||||
- Create status file with planned workflow
|
||||
- I'll manually choose which workflow to run first
|
||||
→ Best for: Experienced users, custom paths
|
||||
|
||||
Your choice (A/B/C):</ask>
|
||||
|
||||
<action>Capture starting_point</action>
|
||||
|
||||
<check if='starting_point == "A"'>
|
||||
<ask>**Full Analysis - Choose your first workflow:**
|
||||
|
||||
1. **brainstorm-project** (Analyst) - Explore software solution ideas
|
||||
2. **brainstorm-game** (Game Designer) - Game concept ideation
|
||||
3. **research** (Analyst) - Market/technical research
|
||||
4. **product-brief** (Analyst) - Strategic product foundation
|
||||
5. **game-brief** (Game Designer) - Game design foundation
|
||||
|
||||
Which workflow? (1-5):</ask>
|
||||
|
||||
<action>Capture first_workflow</action>
|
||||
<action>Set include_analysis = true</action>
|
||||
</check>
|
||||
|
||||
<check if='starting_point == "B"'>
|
||||
<action>Set include_analysis = false</action>
|
||||
<action>Set first_workflow = "plan-project"</action>
|
||||
</check>
|
||||
|
||||
<check if='starting_point == "C"'>
|
||||
<action>Set include_analysis = false</action>
|
||||
<action>Set first_workflow = "user-choice"</action>
|
||||
</check>
|
||||
|
||||
<action>Now build the complete planned workflow</action>
|
||||
|
||||
<output>**🗺️ Your Planned Workflow**
|
||||
|
||||
Based on your responses, here's your complete workflow journey:
|
||||
</output>
|
||||
|
||||
<action>Build planned_workflow array with all phases in order:</action>
|
||||
|
||||
<check if='needs_documentation == true'>
|
||||
<action>Add to planned_workflow:</action>
|
||||
- Phase: "1-Analysis"
|
||||
- Step: "document-project"
|
||||
- Agent: "Analyst"
|
||||
- Description: "Generate brownfield codebase documentation"
|
||||
- Status: "Planned"
|
||||
</check>
|
||||
|
||||
<check if='include_analysis == true'>
|
||||
<action>Add analysis workflows to planned_workflow based on first_workflow choice</action>
|
||||
|
||||
{{#if first_workflow == "brainstorm-project"}} - Phase: "1-Analysis", Step: "brainstorm-project", Agent: "Analyst", Status: "Planned" - Phase: "1-Analysis", Step: "research (optional)", Agent: "Analyst", Status: "Optional" - Phase: "1-Analysis", Step: "product-brief", Agent: "Analyst", Status: "Planned"
|
||||
{{/if}}
|
||||
|
||||
{{#if first_workflow == "brainstorm-game"}} - Phase: "1-Analysis", Step: "brainstorm-game", Agent: "Game Designer", Status: "Planned" - Phase: "1-Analysis", Step: "research (optional)", Agent: "Analyst", Status: "Optional" - Phase: "1-Analysis", Step: "game-brief", Agent: "Game Designer", Status: "Planned"
|
||||
{{/if}}
|
||||
|
||||
{{#if first_workflow == "research"}} - Phase: "1-Analysis", Step: "research", Agent: "Analyst", Status: "Planned" - Phase: "1-Analysis", Step: "product-brief or game-brief", Agent: "Analyst/Game Designer", Status: "Planned"
|
||||
{{/if}}
|
||||
|
||||
{{#if first_workflow == "product-brief"}} - Phase: "1-Analysis", Step: "product-brief", Agent: "Analyst", Status: "Planned"
|
||||
{{/if}}
|
||||
|
||||
{{#if first_workflow == "game-brief"}} - Phase: "1-Analysis", Step: "game-brief", Agent: "Game Designer", Status: "Planned"
|
||||
{{/if}}
|
||||
</check>
|
||||
|
||||
<action>Always add Phase 2 (required for all levels)</action>
|
||||
|
||||
- Phase: "2-Plan"
|
||||
- Step: "plan-project"
|
||||
- Agent: "PM"
|
||||
- Description: "Create PRD/GDD/Tech-Spec (determines final level)"
|
||||
- Status: "Planned"
|
||||
|
||||
<check if='level_known == true AND estimated_level >= 3'>
|
||||
<action>Add Phase 3 (required for Level 3-4)</action>
|
||||
- Phase: "3-Solutioning"
|
||||
- Step: "solution-architecture"
|
||||
- Agent: "Architect"
|
||||
- Description: "Design overall architecture"
|
||||
- Status: "Planned"
|
||||
|
||||
- Phase: "3-Solutioning"
|
||||
- Step: "tech-spec (per epic, JIT)"
|
||||
- Agent: "Architect"
|
||||
- Description: "Epic-specific technical specs"
|
||||
- Status: "Planned"
|
||||
</check>
|
||||
|
||||
<check if='level_known == false OR estimated_level == "TBD"'>
|
||||
<action>Add conditional Phase 3 note</action>
|
||||
- Phase: "3-Solutioning"
|
||||
- Step: "TBD - depends on level from Phase 2"
|
||||
- Agent: "Architect"
|
||||
- Description: "Required if Level 3-4, skipped if Level 0-2"
|
||||
- Status: "Conditional"
|
||||
</check>
|
||||
|
||||
<action>Always add Phase 4 (implementation)</action>
|
||||
|
||||
- Phase: "4-Implementation"
|
||||
- Step: "create-story (iterative)"
|
||||
- Agent: "SM"
|
||||
- Description: "Draft stories from backlog"
|
||||
- Status: "Planned"
|
||||
|
||||
- Phase: "4-Implementation"
|
||||
- Step: "story-ready"
|
||||
- Agent: "SM"
|
||||
- Description: "Approve story for dev"
|
||||
- Status: "Planned"
|
||||
|
||||
- Phase: "4-Implementation"
|
||||
- Step: "story-context"
|
||||
- Agent: "SM"
|
||||
- Description: "Generate context XML"
|
||||
- Status: "Planned"
|
||||
|
||||
- Phase: "4-Implementation"
|
||||
- Step: "dev-story (iterative)"
|
||||
- Agent: "DEV"
|
||||
- Description: "Implement stories"
|
||||
- Status: "Planned"
|
||||
|
||||
- Phase: "4-Implementation"
|
||||
- Step: "story-approved"
|
||||
- Agent: "DEV"
|
||||
- Description: "Mark complete, advance queue"
|
||||
- Status: "Planned"
|
||||
|
||||
<action>Display the complete planned workflow</action>
|
||||
|
||||
<output>**📋 Your Complete Planned Workflow:**
|
||||
|
||||
{{#each planned_workflow}}
|
||||
**{{phase}}** - {{step}}
|
||||
|
||||
- Agent: {{agent}}
|
||||
- Description: {{description}}
|
||||
- Status: {{status}}
|
||||
|
||||
{{/each}}
|
||||
|
||||
---
|
||||
|
||||
**Current Step:** Workflow Definition Phase (this workflow)
|
||||
**Next Step:** {{planned_workflow[0].step}} ({{planned_workflow[0].agent}} agent)
|
||||
</output>
|
||||
|
||||
<ask>**Ready to create your workflow status file?**
|
||||
|
||||
This will create: `project-workflow-status-{{today_date}}.md`
|
||||
|
||||
The status file will document:
|
||||
|
||||
- Your complete planned workflow (phases and steps)
|
||||
- Current phase: "Workflow Definition"
|
||||
- Next action: {{planned_workflow[0].step}}
|
||||
|
||||
Create status file? (y/n)</ask>
|
||||
|
||||
<check if='confirm == "y"'>
|
||||
<action>Create project-workflow-status-{{today}}.md file</action>
|
||||
<action>Set current_phase = "Workflow Definition"</action>
|
||||
<action>Set next_action = planned_workflow[0].step</action>
|
||||
<action>Set next_agent = planned_workflow[0].agent</action>
|
||||
<action>Include complete planned_workflow in status file</action>
|
||||
|
||||
<output>**✅ Status file created!**
|
||||
|
||||
File: `project-workflow-status-{{today}}.md`
|
||||
|
||||
**To proceed with your first step:**
|
||||
|
||||
{{#if needs_documentation == true AND planned_workflow[0].step == "document-project"}}
|
||||
Load Analyst: `bmad analyst document-project`
|
||||
|
||||
After documentation is complete, return to check status: `bmad analyst workflow-status`
|
||||
{{/if}}
|
||||
|
||||
{{#if planned_workflow[0].step != "document-project" AND planned_workflow[0].step != "user-choice"}}
|
||||
Load {{planned_workflow[0].agent}}: `bmad {{lowercase planned_workflow[0].agent}} {{planned_workflow[0].step}}`
|
||||
{{/if}}
|
||||
|
||||
{{#if planned_workflow[0].step == "user-choice"}}
|
||||
Your status file is ready! Run `workflow-status` anytime to see recommendations.
|
||||
|
||||
Choose any workflow from the menu to begin.
|
||||
{{/if}}
|
||||
|
||||
You can always check your status with: `workflow-status`
|
||||
</output>
|
||||
</check>
|
||||
|
||||
<check if='confirm == "n"'>
|
||||
<action>Go to Step 5 (Display agent menu)</action>
|
||||
</check>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="4" goal="Change workflow or start new phase" optional="true">
|
||||
|
||||
<ask>**Change Workflow Options:**
|
||||
|
||||
1. **Start new workflow** (will archive current status, create new dated file)
|
||||
2. **Jump to different phase** (manual phase override)
|
||||
3. **Modify current workflow** (change current_workflow field)
|
||||
4. **View phase options** (see what's available for current level)
|
||||
5. **Cancel** (return to status display)
|
||||
|
||||
Your choice (1-5):</ask>
|
||||
|
||||
<action>Handle workflow change based on choice</action>
|
||||
|
||||
<check if='choice == "1"'>
|
||||
<ask>**Start New Workflow**
|
||||
|
||||
This will:
|
||||
|
||||
- Archive current status: `project-workflow-status-{{old_date}}.md` → `archive/`
|
||||
- Create new status: `project-workflow-status-{{today}}.md`
|
||||
- Start fresh assessment
|
||||
|
||||
Continue? (y/n)</ask>
|
||||
|
||||
<check if="confirm == 'y'">
|
||||
<output>**To start new workflow:**
|
||||
|
||||
Load PM agent: `bmad pm plan-project`
|
||||
|
||||
This will create a new workflow status file and guide you through fresh assessment.
|
||||
</output>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<check if='choice == "2"'>
|
||||
<ask>**Jump to Phase:**
|
||||
|
||||
Current phase: {{current_phase}}
|
||||
|
||||
Available phases:
|
||||
|
||||
1. Phase 1: Analysis
|
||||
2. Phase 2: Planning
|
||||
3. Phase 3: Solutioning ({{project_level >= 3 ? 'required for your level' : 'skipped for Level ' + project_level}})
|
||||
4. Phase 4: Implementation
|
||||
|
||||
Which phase? (1-4)</ask>
|
||||
|
||||
<action>Provide guidance for jumping to selected phase</action>
|
||||
</check>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="5" goal="Display agent menu">
|
||||
|
||||
<action>Display comprehensive agent menu based on current context</action>
|
||||
|
||||
**📋 BMad Method Agent Menu**
|
||||
|
||||
{{#if status_file_found}}
|
||||
**Current Phase:** {{current_phase}}
|
||||
{{/if}}
|
||||
|
||||
**Available Workflows by Phase:**
|
||||
|
||||
**Phase 1: Analysis (Optional)**
|
||||
|
||||
- `brainstorm-project` - Software solution exploration
|
||||
- `brainstorm-game` - Game concept ideation
|
||||
- `research` - Market/technical research
|
||||
- `product-brief` - Strategic product foundation
|
||||
- `game-brief` - Game design foundation
|
||||
|
||||
**Phase 2: Planning (Required)**
|
||||
|
||||
- `plan-project` - Scale-adaptive planning (PRD, GDD, or Tech-Spec)
|
||||
|
||||
**Phase 3: Solutioning (Level 3-4 Only)**
|
||||
|
||||
- `solution-architecture` - Overall architecture design
|
||||
- `tech-spec` - Epic-specific technical specs (JIT)
|
||||
|
||||
**Phase 4: Implementation (Iterative)**
|
||||
|
||||
- `create-story` - Draft story from TODO
|
||||
- `story-ready` - Approve story for development
|
||||
- `story-context` - Generate context XML
|
||||
- `dev-story` - Implement story
|
||||
- `story-approved` - Mark story done
|
||||
- `review-story` - Quality validation
|
||||
- `correct-course` - Handle issues
|
||||
- `retrospective` - Epic learnings
|
||||
|
||||
**Utility Workflows:**
|
||||
|
||||
- `workflow-status` - Check status and get recommendations (you are here!)
|
||||
|
||||
{{#if status_file_found}}
|
||||
|
||||
**🎯 Recommended for Your Current Phase ({{current_phase}}):**
|
||||
|
||||
{{#if current_phase == '1-Analysis'}}
|
||||
Continue analysis or move to `plan-project`
|
||||
{{/if}}
|
||||
|
||||
{{#if current_phase == '2-Plan'}}
|
||||
{{#if project_level < 3}}
|
||||
Ready for Phase 4! Run `create-story` (SM agent)
|
||||
{{else}}
|
||||
Ready for Phase 3! Run `solution-architecture` (Architect agent)
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if current_phase == '3-Solutioning'}}
|
||||
Continue with tech-specs or move to Phase 4 `create-story`
|
||||
{{/if}}
|
||||
|
||||
{{#if current_phase == '4-Implementation'}}
|
||||
**Current Story:** {{todo_story_id || current_story_id || 'Check status file'}}
|
||||
**Next Action:** {{next_command}}
|
||||
{{/if}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
<ask>Would you like to:
|
||||
|
||||
1. Run a specific workflow (tell me which one)
|
||||
2. Return to status display
|
||||
3. Exit
|
||||
|
||||
Your choice:</ask>
|
||||
|
||||
</step>
|
||||
|
||||
</workflow>
|
||||
@@ -0,0 +1,43 @@
|
||||
# Workflow Status - Master Router and Status Tracker
|
||||
name: workflow-status
|
||||
description: "Universal entry point for BMM workflows. Checks for existing workflow status, displays current state, suggests next actions, or helps plan new workflow. Can be invoked by any agent (bmad-master, analyst, pm) to understand where the project is and what to do next."
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
# Variables and inputs
|
||||
variables:
|
||||
status_file_pattern: "project-workflow-status*.md" # Searches for versioned files
|
||||
check_existing_status: true # Always check for existing status file
|
||||
display_menu: true # Display agent menu after status check
|
||||
suggest_next_action: true # Suggest next action based on current state
|
||||
|
||||
# Output configuration - no output file, reads existing status
|
||||
default_output_file: ""
|
||||
|
||||
required_tools:
|
||||
- list_files
|
||||
- read_file
|
||||
- glob
|
||||
|
||||
tags:
|
||||
- workflow-orchestration
|
||||
- status-tracking
|
||||
- master-router
|
||||
- bmad-v6
|
||||
|
||||
execution_hints:
|
||||
interactive: true # User interaction required for decisions
|
||||
autonomous: false # Requires user input
|
||||
iterative: false # Single-pass status check and suggestion
|
||||
|
||||
web_bundle: false
|
||||
Reference in New Issue
Block a user