diff --git a/src/modules/bmm/agents/analyst.agent.yaml b/src/modules/bmm/agents/analyst.agent.yaml index 4fec587d..4537652d 100644 --- a/src/modules/bmm/agents/analyst.agent.yaml +++ b/src/modules/bmm/agents/analyst.agent.yaml @@ -18,6 +18,10 @@ agent: - I operate as an iterative thinking partner who explores wide solution spaces before converging on recommendations, ensuring that every requirement is articulated with absolute precision and every output delivers clear, actionable next steps. menu: + - trigger: workflow-status + workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml" + description: Check workflow status and get recommendations (START HERE!) + - trigger: brainstorm-project workflow: "{project-root}/bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml" description: Guide me through Brainstorming diff --git a/src/modules/bmm/agents/architect.agent.yaml b/src/modules/bmm/agents/architect.agent.yaml index c7297e75..e9e2e1dc 100644 --- a/src/modules/bmm/agents/architect.agent.yaml +++ b/src/modules/bmm/agents/architect.agent.yaml @@ -18,6 +18,10 @@ agent: - I treat developer productivity and security as first-class architectural concerns, implementing defense in depth while balancing technical ideals with real-world constraints to create systems built for continuous evolution and adaptation. menu: + - trigger: workflow-status + workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml" + description: Check workflow status and get recommendations + - trigger: correct-course workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" description: Course Correction Analysis diff --git a/src/modules/bmm/agents/dev.agent.yaml b/src/modules/bmm/agents/dev.agent.yaml index 418ca3a2..fac472ee 100644 --- a/src/modules/bmm/agents/dev.agent.yaml +++ b/src/modules/bmm/agents/dev.agent.yaml @@ -26,10 +26,18 @@ agent: - "For *develop (Dev Story workflow), execute continuously without pausing for review or 'milestones'. Only halt for explicit blocker conditions (e.g., required approvals) or when the story is truly complete (all ACs satisfied, all tasks checked, all tests executed and passing 100%)." menu: + - trigger: workflow-status + workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml" + description: Check workflow status and get recommendations + - trigger: develop workflow: "{project-root}/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml" description: "Execute Dev Story workflow, implementing tasks and tests, or performing updates to the story" + - trigger: story-approved + workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-approved/workflow.yaml" + description: Mark story done after DoD complete + - trigger: review workflow: "{project-root}/bmad/bmm/workflows/4-implementation/review-story/workflow.yaml" description: "Perform a thorough clean context review on a story flagged Ready for Review, and appends review notes to story file" diff --git a/src/modules/bmm/agents/game-architect.agent.yaml b/src/modules/bmm/agents/game-architect.agent.yaml index 31720f1e..a97c7c21 100644 --- a/src/modules/bmm/agents/game-architect.agent.yaml +++ b/src/modules/bmm/agents/game-architect.agent.yaml @@ -18,6 +18,10 @@ agent: - Scalability means building for tomorrow without over-engineering today. Simplicity is the ultimate sophistication in system design. menu: + - trigger: workflow-status + workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml" + description: Check workflow status and get recommendations + - trigger: solutioning workflow: "{project-root}/bmad/bmm/workflows/3-solutioning/workflow.yaml" description: Design Technical Game Solution diff --git a/src/modules/bmm/agents/game-designer.agent.yaml b/src/modules/bmm/agents/game-designer.agent.yaml index 5277a114..136cc2e8 100644 --- a/src/modules/bmm/agents/game-designer.agent.yaml +++ b/src/modules/bmm/agents/game-designer.agent.yaml @@ -18,6 +18,10 @@ agent: - Design is about making meaningful choices matter, creating moments of mastery, and respecting player time while delivering compelling challenge. menu: + - trigger: workflow-status + workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml" + description: Check workflow status and get recommendations + - trigger: brainstorm-game workflow: "{project-root}/bmad/bmm/workflows/1-analysis/brainstorm-game/workflow.yaml" description: Guide me through Game Brainstorming diff --git a/src/modules/bmm/agents/game-dev.agent.yaml b/src/modules/bmm/agents/game-dev.agent.yaml index b6acff76..adbb01b0 100644 --- a/src/modules/bmm/agents/game-dev.agent.yaml +++ b/src/modules/bmm/agents/game-dev.agent.yaml @@ -18,6 +18,10 @@ agent: - Clean architecture enables creativity - messy code kills innovation. Ship early, ship often, iterate based on player feedback. menu: + - trigger: workflow-status + workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml" + description: Check workflow status and get recommendations + - trigger: create-story workflow: "{project-root}/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml" description: Create Development Story diff --git a/src/modules/bmm/agents/pm.agent.yaml b/src/modules/bmm/agents/pm.agent.yaml index abca00ce..1f95829a 100644 --- a/src/modules/bmm/agents/pm.agent.yaml +++ b/src/modules/bmm/agents/pm.agent.yaml @@ -23,14 +23,18 @@ agent: # Menu items - triggers will be prefixed with * at build time # help and exit are auto-injected, don't define them here menu: - - trigger: correct-course - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" - description: Course Correction Analysis + - trigger: workflow-status + workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml" + description: Check workflow status and get recommendations (START HERE!) - trigger: plan-project workflow: "{project-root}/bmad/bmm/workflows/2-plan/workflow.yaml" description: Analyze Project Scope and Create PRD or Smaller Tech Spec + - trigger: correct-course + workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" + description: Course Correction Analysis + - trigger: validate exec: "{project-root}/bmad/core/tasks/validate-workflow.xml" description: Validate any document against its workflow checklist diff --git a/src/modules/bmm/agents/po.agent.yaml b/src/modules/bmm/agents/po.agent.yaml deleted file mode 100644 index f847a8e5..00000000 --- a/src/modules/bmm/agents/po.agent.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Product Owner Agent Definition - -agent: - metadata: - id: bmad/bmm/agents/po.md - name: Sarah - title: Product Owner - icon: πŸ“ - module: bmm - - persona: - role: Technical Product Owner + Process Steward - identity: Technical background with deep understanding of software development lifecycle. Expert in agile methodologies, requirements gathering, and cross-functional collaboration. Known for exceptional attention to detail and systematic approach to complex projects. - communication_style: Methodical and thorough in explanations. Asks clarifying questions to ensure complete understanding. Prefers structured formats and templates. Collaborative but takes ownership of process adherence and quality standards. - principles: - - I champion rigorous process adherence and comprehensive documentation, ensuring every artifact is unambiguous, testable, and consistent across the entire project landscape. - - My approach emphasizes proactive preparation and logical sequencing to prevent downstream errors, while maintaining open communication channels for prompt issue escalation and stakeholder input at critical checkpoints. - - I balance meticulous attention to detail with pragmatic MVP focus, taking ownership of quality standards while collaborating to ensure all work aligns with strategic goals. - - menu: - - trigger: assess-project-ready - validate-workflow: "{project-root}/bmad/bmm/workflows/3-solutioning/workflow.yaml" - description: Validate if we are ready to kick off development - - - trigger: correct-course - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" - description: Course Correction Analysis diff --git a/src/modules/bmm/agents/sm.agent.yaml b/src/modules/bmm/agents/sm.agent.yaml index e6ed9008..1199e828 100644 --- a/src/modules/bmm/agents/sm.agent.yaml +++ b/src/modules/bmm/agents/sm.agent.yaml @@ -21,14 +21,22 @@ agent: - "When running *create-story, run non-interactively: use solution-architecture, PRD, Tech Spec, and epics to generate a complete draft without elicitation." menu: - - trigger: correct-course - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" - description: Execute correct-course task + - trigger: workflow-status + workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml" + description: Check workflow status and get recommendations + + - trigger: assess-project-ready + validate-workflow: "{project-root}/bmad/bmm/workflows/3-solutioning/workflow.yaml" + description: Validate solutioning complete, ready for Phase 4 (Level 2-4 only) - trigger: create-story workflow: "{project-root}/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml" description: Create a Draft Story with Context + - trigger: story-ready + workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml" + description: Mark drafted story ready for development + - trigger: story-context workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-context/workflow.yaml" description: Assemble dynamic Story Context (XML) from latest docs and code @@ -41,3 +49,7 @@ agent: workflow: "{project-root}/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml" data: "{project-root}/bmad/_cfg/agent-party.xml" description: Facilitate team retrospective after epic/sprint + + - trigger: correct-course + workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" + description: Execute correct-course task diff --git a/src/modules/bmm/agents/tea.agent.yaml b/src/modules/bmm/agents/tea.agent.yaml index 182a55cf..9b3d1e19 100644 --- a/src/modules/bmm/agents/tea.agent.yaml +++ b/src/modules/bmm/agents/tea.agent.yaml @@ -22,6 +22,10 @@ agent: - "Cross-check recommendations with the current official Playwright, Cypress, Pact, and CI platform documentation; fall back to {project-root}/bmad/bmm/testarch/test-resources-for-ai-flat.txt only when deeper sourcing is required" menu: + - trigger: workflow-status + workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml" + description: Check workflow status and get recommendations + - trigger: framework workflow: "{project-root}/bmad/bmm/workflows/testarch/framework/workflow.yaml" description: Initialize production-ready test framework architecture diff --git a/src/modules/bmm/agents/ux-expert.agent.yaml b/src/modules/bmm/agents/ux-expert.agent.yaml index f6ce0529..71c4cc2e 100644 --- a/src/modules/bmm/agents/ux-expert.agent.yaml +++ b/src/modules/bmm/agents/ux-expert.agent.yaml @@ -18,6 +18,10 @@ agent: - I embrace modern AI-assisted design tools like v0 and Lovable, crafting precise prompts that accelerate the journey from concept to polished interface while maintaining the human touch that creates truly engaging experiences. menu: + - trigger: workflow-status + workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml" + description: Check workflow status and get recommendations + - trigger: plan-project workflow: "{project-root}/bmad/bmm/workflows/2-plan/workflow.yaml" description: UX Workflows, Website Planning, and UI AI Prompt Generation diff --git a/src/modules/bmm/workflows/1-analysis/workflow-status/README.md b/src/modules/bmm/workflows/1-analysis/workflow-status/README.md new file mode 100644 index 00000000..895ae87c --- /dev/null +++ b/src/modules/bmm/workflows/1-analysis/workflow-status/README.md @@ -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.** diff --git a/src/modules/bmm/workflows/1-analysis/workflow-status/instructions.md b/src/modules/bmm/workflows/1-analysis/workflow-status/instructions.md new file mode 100644 index 00000000..39b1d434 --- /dev/null +++ b/src/modules/bmm/workflows/1-analysis/workflow-status/instructions.md @@ -0,0 +1,670 @@ +# Workflow Status - Master Router and Status Tracker + + + +This is the UNIVERSAL ENTRY POINT for all BMM workflows +Can be invoked by bmad-master, analyst, or pm agents +Checks for existing workflow status and suggests next actions +If no status exists, helps user plan their workflow approach + + + +Search {output_folder}/ for files matching pattern: project-workflow-status\*.md +Use glob or list_files to find all matching files + + + Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md) + Set status_file_found = true + Set status_file_path = most recent file path + Go to Step 2 (Read existing status) + + + + Set status_file_found = false + Go to Step 3 (Initial workflow planning) + + + + + + +Read {status_file_path} + +Extract key information: + +**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 + +Analyze the current state to determine recommendation + + + + + +Display comprehensive status summary + +**πŸ“Š 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}} + +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): + + + Suggest loading the recommended agent and running the command + **To proceed:** + +Load agent: `{{next_agent}}` +Run command: `{{next_command}}` + +Or tell me: "load {{next_agent}} and {{next_command}}" + + + + + Display full status file contents + Return to menu + + + + Go to Step 4 (Change workflow) + + + + Go to Step 5 (Display agent menu) + + + + Exit workflow + + + + + + +Display welcome message + +**πŸš€ Welcome to BMad Method Workflows!** + +No workflow status file found. Let's plan your complete workflow journey. + +This step will map out your ENTIRE workflow before executing anything +Goal: Document planned phases, current step, and next step in status file + +**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): + +Capture field_type = "greenfield" or "brownfield" + + + **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): + +Capture brownfield_docs_status + + + **⚠️ Documentation Needed** + +For accurate planning, brownfield projects benefit from codebase documentation. +We'll add `document-project` to your planned workflow. + +Set needs_documentation = true + + + + Set needs_documentation = false + + + + + Set needs_documentation = false + + +**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): + +Capture project_type_choice + +Map choice to project_type_id using project-types.csv: + +- 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) + +Set project_type = mapped project_type_id + +**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. + + +**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): + +Capture scope_knowledge + + + **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): + +Capture estimated_level +Set level_known = true + + + + **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). + +Set level_known = false +Set estimated_level = "TBD" + + +**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): + +Capture starting_point + + + **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): + +Capture first_workflow +Set include_analysis = true + + + + Set include_analysis = false + Set first_workflow = "plan-project" + + + + Set include_analysis = false + Set first_workflow = "user-choice" + + +Now build the complete planned workflow + +**πŸ—ΊοΈ Your Planned Workflow** + +Based on your responses, here's your complete workflow journey: + + +Build planned_workflow array with all phases in order: + + + Add to planned_workflow: + - Phase: "1-Analysis" + - Step: "document-project" + - Agent: "Analyst" + - Description: "Generate brownfield codebase documentation" + - Status: "Planned" + + + + Add analysis workflows to planned_workflow based on first_workflow choice + +{{#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}} + + +Always add Phase 2 (required for all levels) + +- Phase: "2-Plan" +- Step: "plan-project" +- Agent: "PM" +- Description: "Create PRD/GDD/Tech-Spec (determines final level)" +- Status: "Planned" + + + Add Phase 3 (required for Level 3-4) + - 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" + + + + Add conditional Phase 3 note + - 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" + + +Always add Phase 4 (implementation) + +- 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" + +Display the complete planned workflow + +**πŸ“‹ 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) + + +**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) + + + Create project-workflow-status-{{today}}.md file + Set current_phase = "Workflow Definition" + Set next_action = planned_workflow[0].step + Set next_agent = planned_workflow[0].agent + Include complete planned_workflow in status file + +**βœ… 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` + + + + + Go to Step 5 (Display agent menu) + + + + + + +**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): + +Handle workflow change based on choice + + + **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) + + + **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. + + + + + + **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) + +Provide guidance for jumping to selected phase + + + + + + +Display comprehensive agent menu based on current context + +**πŸ“‹ 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}} + +Would you like to: + +1. Run a specific workflow (tell me which one) +2. Return to status display +3. Exit + +Your choice: + + + + diff --git a/src/modules/bmm/workflows/1-analysis/workflow-status/workflow.yaml b/src/modules/bmm/workflows/1-analysis/workflow-status/workflow.yaml new file mode 100644 index 00000000..478a67b8 --- /dev/null +++ b/src/modules/bmm/workflows/1-analysis/workflow-status/workflow.yaml @@ -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 diff --git a/src/modules/bmm/workflows/2-plan/instructions-router.md b/src/modules/bmm/workflows/2-plan/instructions-router.md index f6a58bb1..cdc1657f 100644 --- a/src/modules/bmm/workflows/2-plan/instructions-router.md +++ b/src/modules/bmm/workflows/2-plan/instructions-router.md @@ -2,79 +2,171 @@ -This is the INITIAL ASSESSMENT phase - determines which instruction set to load +This workflow requires a workflow status file to exist ALWAYS check for existing project-workflow-status.md first +If no status file exists, direct user to run workflow-status first The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml - + Check if any project-workflow-status\*.md files exist in {output_folder}/ + + **⚠️ No Workflow Status File Found** + +The `plan-project` workflow requires an existing workflow status file. + +Please run `workflow-status` first to: + +- Map out your complete workflow journey +- Determine project type and level +- Create the status file with your planned workflow + +**To proceed:** + +1. Load any agent (Analyst, PM, or use bmad-master) +2. Run: `workflow-status` +3. Complete the workflow planning +4. Return here to continue with `plan-project` + +Or tell me: "run workflow-status" + +Exit workflow - cannot proceed without status file + + Find the most recent project-workflow-status-YYYY-MM-DD.md file Load the status file - Check for existing workflow outputs based on level in status file: + Extract key information: + +**From Status File:** + +- project_type: From "Project Type:" field +- project_level: From "Project Level:" field (0, 1, 2, 3, or 4) +- field_type: From "Greenfield/Brownfield:" field +- planned_workflow: From "Planned Workflow Journey" table +- current_step: From "Current Step:" field +- next_step: From "Next Step:" field + + Validate this workflow is the correct next step + + + **⚠️ Workflow Sequence Warning** + +According to your status file, your next planned step is: **{{next_step}}** + +But you're trying to run: **plan-project** + +Options: + +1. **Continue anyway** - Run plan-project (status file will be updated) +2. **Follow planned workflow** - Run {{next_step}} instead +3. **Update workflow plan** - Run workflow-status to revise plan + +Your choice (1-3): + + + **Recommended Next Step:** + +Load agent: {{next_step_agent}} +Run: {{next_step}} + +Or tell me: "run {{next_step}}" + +Exit workflow + + + + **Update Workflow Plan:** + +Run: `workflow-status` + +After updating your plan, return here if needed. + +Exit workflow + + + +Set status_file_path = existing file path +Check for existing workflow outputs based on level in status file: - Level 0: Check for tech-spec.md - Level 1-2: Check for PRD.md, epic-stories.md, tech-spec.md - Level 3-4: Check for PRD.md, epics.md -Found existing workflow status file: project-workflow-status-{{file_date}}.md (Level {{project_level}}) + + Found existing workflow status file: project-workflow-status-{{file_date}}.md (Level {{project_level}}) **Existing documents detected:** {{list_existing_docs}} Options: -1. Continue with this workflow (will update existing status file) -2. Start new workflow (will create new dated status file: project-workflow-status-{{today}}.md) -3. Review and modify previous status -4. I'm working on something else (ignore this file) +1. **Continue** - Update existing documents +2. **Start fresh** - Archive old documents, create new ones +3. **Exit** - I'm not ready to regenerate these - +Your choice (1-3): + + + Set continuation_mode = true + Will update existing documents + + + + Archive existing documents to: "{output_folder}/archive/" + Set continuation_mode = false + Will create fresh documents + + + + Exit workflow + - - Set status_file_path = existing file path - Set continuation_mode = true - - Set status_file_path = "{output_folder}/project-workflow-status-{{today}}.md" - Archive old status file to: "{output_folder}/archive/project-workflow-status-{{old_date}}.md" + Set continuation_mode = false - Proceed to new assessment + Ready to create new documents - - - Do not use status file for this session - Proceed with user's requested workflow - Exit router (user is not using BMM planning workflow) - - - - - - Create new versioned status file - Set status_file_path = "{output_folder}/project-workflow-status-{{today}}.md" - Set start_date = {{today}} - Proceed to assessment - + + +**Status File Data Loaded:** + +- Project Type: {{project_type}} +- Project Level: {{project_level}} +- Field Type: {{field_type}} +- Current Phase: {{current_phase}} + What type of planning do you need? -**Quick Selection:** +**Based on your project (Level {{project_level}} {{project_type}}):** -1. Full project planning (PRD, Tech Spec, etc.) -2. UX/UI specification only -3. Tech spec only (for small changes) -4. Generate AI Frontend Prompt from existing specs +{{#if project_level == 0}} +**Recommended:** Tech spec only (Level 0 path) +{{/if}} -Select an option or describe your needs: - +{{#if project_level == 1}} +**Recommended:** Tech spec + epic/stories (Level 1 path) +{{/if}} + +{{#if project_level >= 2}} +**Recommended:** Full PRD + epics (Level {{project_level}} path) +{{/if}} + +**Other Options:** + +1. **Follow recommended path** (recommended) +2. **UX/UI specification only** +3. **Generate AI Frontend Prompt** (from existing specs) +4. **Describe custom needs** + +Select an option (1-4): Capture user selection as {{planning_type}} @@ -84,251 +176,153 @@ Select an option or describe your needs: Exit router workflow (skip remaining steps) - + Check for existing UX spec or PRD {project-root}/bmad/bmm/tasks/ai-fe-prompt.md Exit router workflow after prompt generation -Continue to step 3 for project assessment +Use project_level and project_type from status file to route to appropriate workflow - + -Let's understand your project needs: +Read status file to check if additional context is needed -**1. Project Type:** + + **⚠️ Brownfield Documentation Needed** -1. Game -2. Web application -3. Mobile application -4. Desktop application -5. Backend service/API -6. Library/package -7. Other - Please specify +Your status file indicates this brownfield project needs codebase documentation. -**2. Project Context:** - -a. New project (greenfield) -b. Adding to existing clean codebase (brownfield - well documented) -c. Working with messy/legacy code (brownfield - needs documentation) - -**3. What are you building?** (brief description) - - -Capture field_type = "greenfield" or "brownfield" - - - Check for {project-root}/docs/index.ts or {project-root}/docs/index.md - - - This brownfield project needs codebase documentation for effective planning. - -**Documentation Status:** No index.ts or index.md found in docs/ +The document-project workflow was flagged in your planned workflow. **Options:** -1. Generate docs now (run document-project workflow - ~10-15 min, recommended) -2. I'll provide context through questions during planning -3. Continue anyway (may need more context later during implementation) - -**Recommendation for Level 0-1:** Option 1 or 2 ensures faster, more accurate planning +1. **Generate docs now** - Run document-project workflow (~10-15 min) +2. **Skip for now** - I'll provide context through questions +3. **Already have docs** - I have documentation to reference Choose option (1-3): - - Set needs_documentation = true - Will invoke document-project after assessment - - - - Set gather_context_via_questions = true - Will ask detailed questions during tech-spec generation - - - - Set proceed_without_docs = true - Note: May require additional context gathering during implementation - - + + Invoke document-project workflow before continuing + {project-root}/bmad/bmm/workflows/1-analysis/document-project/workflow.yaml + Wait for documentation to complete + Update status file: Mark document-project as "Complete" in planned workflow - + + Set gather_context_via_questions = true + Will ask detailed questions during spec generation + + + Set has_documentation = true - Will reference docs/index.ts during planning + Will reference existing documentation -Detect if project_type == "game" + + **Project Level Not Yet Determined** + +Your status file indicates the project level will be determined during planning. + +**Based on what you want to build, what level best describes your project?** + +0. **Single atomic change** - Bug fix, add endpoint, single file change +1. **Coherent feature** - Add search, implement SSO, new component (2-3 stories) +2. **Small complete system** - Admin tool, team app, prototype (multiple epics) +3. **Full product** - Customer portal, SaaS MVP (subsystems, integrations) +4. **Platform/ecosystem** - Enterprise suite, multi-tenant system + +Your level (0-4): + +Capture confirmed_level +Update status file with confirmed project_level + + + + **Project Type Clarification Needed** + +Please describe your project type so we can load the correct planning template. + +Examples: web, mobile, desktop, backend, library, cli, game, embedded, data, extension, infra + +Your project type: + +Capture and map to project_type_id from project-types.csv +Update status file with confirmed project_type + + + + + + +Update status file before proceeding: + +current_workflow +Set to: "tech-spec (Level 0 - in progress)" +Set to: "tech-spec (Level 1 - in progress)" +Set to: "PRD (Level {{project_level}} - in progress)" + +current_step +Set to: "plan-project" + +progress_percentage +Increment by 10% (planning started) + +Add to decisions log: + +``` +- **{{date}}**: Started plan-project workflow. Routing to {{workflow_type}} workflow based on Level {{project_level}} {{project_type}} project. +``` + +Based on project type and level from status file, load ONLY the needed instructions: - Set workflow_type = "gdd" - Skip level classification (GDD workflow handles all game project levels) - Jump to step 5 for GDD-specific assessment - - -Else, based on their description, analyze and suggest scope level: - -Examples: - -- "Fix login bug" β†’ Suggests Level 0 (single atomic change) -- "Add OAuth to existing app" β†’ Suggests Level 1 (coherent feature) -- "Build internal admin dashboard" β†’ Suggests Level 2 (small system) -- "Create customer portal with payments" β†’ Suggests Level 3 (full product) -- "Multi-tenant SaaS platform" β†’ Suggests Level 4 (platform) - -Based on your description, this appears to be a **{{suggested_level}}** project. - -**3. Quick Scope Guide - Please confirm or adjust:** - -1. **Single atomic change** β†’ Bug fix, add endpoint, single file change (Level 0) -2. **Coherent feature** β†’ Add search, implement SSO, new component (Level 1) -3. **Small complete system** β†’ Admin tool, team app, prototype (Level 2) -4. **Full product** β†’ Customer portal, SaaS MVP (Level 3) -5. **Platform/ecosystem** β†’ Enterprise suite, multi-tenant system (Level 4) - -**4. Do you have existing documentation?** - -1. Product Brief -2. Market Research -3. Technical docs/Architecture -4. None - - - - - - -Based on responses, determine: - -**Level Classification:** - -- **Level 0**: Single atomic change β†’ tech-spec only -- **Level 1**: Single feature, 1-10 stories β†’ minimal PRD + tech-spec -- **Level 2**: Small system, 5-15 stories β†’ focused PRD + tech-spec -- **Level 3**: Full product, 12-40 stories β†’ full PRD + architect handoff -- **Level 4**: Platform, 40+ stories β†’ enterprise PRD + architect handoff - -For brownfield without docs: - -- Levels 0-2: Can proceed with context gathering -- Levels 3-4: MUST run architect assessment first - - - - - - - Invoke document-project workflow before continuing with planning - {project-root}/bmad/bmm/workflows/1-analysis/document-project/workflow.yaml - Wait for documentation to complete - Verify docs/index.ts or docs/index.md was created - - - - - - -Initialize status file using status_template from workflow.yaml -Write to versioned file path: {{status_file_path}} -Set start_date = {{today}} in template variables - -Capture any technical preferences mentioned during assessment -Initialize Workflow Status Tracker with current state - -Generate comprehensive status document with all assessment data. - -project_type -project_level -instruction_set -scope_description -story_count -epic_count -timeline -field_type -existing_docs -team_size -deployment_intent -expected_outputs -workflow_steps -next_steps -special_notes -technical_preferences - -Initialize Workflow Status Tracker section: - -current_phase -Set to: "2-Plan" - -current_workflow -Set to: "tech-spec (Level 0 - starting)" -Set to: "tech-spec (Level 1 - starting)" -Set to: "PRD (Level {{project_level}} - starting)" - -progress_percentage -Set to: 10% (assessment complete) - -artifacts_table -Initialize with: - -``` -| project-workflow-status.md | Complete | {output_folder}/project-workflow-status.md | {{date}} | -``` - -next_action -Set to: "Generate technical specification and single user story" -Set to: "Generate technical specification and epic/stories (2-3 stories)" -Set to: "Generate PRD and epic breakdown" - -decisions_log -Add first entry: - -``` -- **{{date}}**: Project assessment completed. Classified as Level {{project_level}} {{field_type}} project. Routing to {{instruction_set}} workflow. -``` - - - - - -Based on project type and level, load ONLY the needed instructions: - - {installed_path}/gdd/workflow.yaml GDD workflow handles all game project levels internally + Pass status_file_path and continuation_mode to workflow - + {installed_path}/tech-spec/workflow.yaml Pass level=0 to tech-spec workflow - Tech-spec workflow will generate user-story.md after tech-spec completion + Tech-spec workflow will generate tech-spec + 1 story + Pass status_file_path and continuation_mode to workflow - + {installed_path}/tech-spec/workflow.yaml Pass level=1 to tech-spec workflow - Tech-spec workflow will generate epic-stories.md after tech-spec completion + Tech-spec workflow will generate tech-spec + epic + 2-3 stories + Pass status_file_path and continuation_mode to workflow - + {installed_path}/prd/workflow.yaml - Pass level context to PRD workflow (loads instructions-med.md) + Pass level=2 context to PRD workflow (loads instructions-med.md) + Pass status_file_path and continuation_mode to workflow - + {installed_path}/prd/workflow.yaml Pass level context to PRD workflow (loads instructions-lg.md) + Pass status_file_path and continuation_mode to workflow -Pass continuation context to invoked workflow: +Pass context to invoked workflow: -- continuation_mode: true/false -- last_completed_step: {{step_number}} +- status_file_path: {{status_file_path}} +- continuation_mode: {{continuation_mode}} - existing_documents: {{document_list}} -- project_level: {{level}} +- project_level: {{project_level}} +- project_type: {{project_type}} +- field_type: {{field_type}} +- gather_context_via_questions: {{gather_context_via_questions}} (if brownfield without docs) -The invoked workflow's instruction set should check continuation_mode and adjust accordingly +The invoked workflow will update the status file when complete diff --git a/src/modules/bmm/workflows/README.md b/src/modules/bmm/workflows/README.md index 476430c9..9bf055f7 100644 --- a/src/modules/bmm/workflows/README.md +++ b/src/modules/bmm/workflows/README.md @@ -60,24 +60,62 @@ The BMM (BMAD Method Module) orchestrates software development through four dist β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` +## Universal Entry Point: workflow-status + +**Before starting any workflow, check your status!** + +The `workflow-status` workflow is the **universal entry point** for all BMM workflows: + +```bash +bmad analyst workflow-status +# or +bmad pm workflow-status +``` + +**What it does:** + +- βœ… Checks for existing workflow status file +- βœ… Displays current phase, progress, and next action +- βœ… Helps new users plan their workflow approach +- βœ… Guides brownfield projects to documentation first +- βœ… Routes to appropriate workflows based on context + +**No status file?** It will: + +1. Ask about project context (greenfield vs brownfield) +2. Offer analysis options (full analysis, skip to planning, or quick tech spec) +3. Guide you to the right first workflow + +**Status file exists?** It will: + +1. Display current phase and progress +2. Show Phase 4 implementation state (BACKLOG/TODO/IN PROGRESS/DONE) +3. Recommend exact next action +4. Offer to change workflow or display menu + +**All agents (bmad-master, analyst, pm) should check workflow-status on load.** + +--- + ## Phase 1: Analysis (Optional) Optional workflows for project discovery and requirements gathering. Output feeds into Phase 2 planning. ### Workflows -| Workflow | Purpose | Output | When to Use | -| ---------------------- | ------------------------------------------- | ---------------------- | --------------------- | -| **brainstorm-game** | Game concept ideation using 5 methodologies | Concept proposals | New game projects | -| **brainstorm-project** | Software solution exploration | Architecture proposals | New software projects | -| **game-brief** | Structured game design foundation | Game brief document | Before GDD creation | -| **product-brief** | Strategic product planning culmination | Product brief | End of analysis phase | -| **research** | Multi-mode research (market/technical/deep) | Research artifacts | When evidence needed | +| Workflow | Purpose | Output | When to Use | +| ---------------------- | ------------------------------------------- | ------------------------- | ---------------------- | +| **workflow-status** | Universal entry point and status checker | Status display + guidance | **Always start here!** | +| **brainstorm-game** | Game concept ideation using 5 methodologies | Concept proposals | New game projects | +| **brainstorm-project** | Software solution exploration | Architecture proposals | New software projects | +| **game-brief** | Structured game design foundation | Game brief document | Before GDD creation | +| **product-brief** | Strategic product planning culmination | Product brief | End of analysis phase | +| **research** | Multi-mode research (market/technical/deep) | Research artifacts | When evidence needed | ### Flow ``` -Brainstorming β†’ Research β†’ Brief β†’ Planning (Phase 2) +workflow-status (check) β†’ Brainstorming β†’ Research β†’ Brief β†’ Planning (Phase 2) ``` ## Phase 2: Planning (Required) @@ -393,6 +431,9 @@ plan-project (Phase 2) ## Quick Reference Commands ```bash +# Universal Entry Point (Start Here!) +bmad analyst workflow-status # Check status and get recommendations + # Phase 1: Analysis (Optional) bmad analyst brainstorm-project bmad analyst research diff --git a/src/modules/bmm/workflows/_shared/project-workflow-status-template.md b/src/modules/bmm/workflows/_shared/project-workflow-status-template.md index 31ff35a2..b8caa89c 100644 --- a/src/modules/bmm/workflows/_shared/project-workflow-status-template.md +++ b/src/modules/bmm/workflows/_shared/project-workflow-status-template.md @@ -21,6 +21,27 @@ - [ ] **3-Solutioning** - Architecture + Tech Specs (Level 2+ only) - [ ] **4-Implementation** - Story development and delivery +### Planned Workflow Journey + +**This section documents your complete workflow plan from start to finish.** + +| Phase | Step | Agent | Description | Status | +| ----- | ---- | ----- | ----------- | ------ | + +{{#planned_workflow}} +| {{phase}} | {{step}} | {{agent}} | {{description}} | {{status}} | +{{/planned_workflow}} + +**Current Step:** {{current_step}} +**Next Step:** {{next_step}} + +**Instructions:** + +- This plan was created during initial workflow-status setup +- Status values: Planned, Optional, Conditional, In Progress, Complete +- Current/Next steps update as you progress through the workflow +- Use this as your roadmap to know what comes after each phase + ### Implementation Progress (Phase 4 Only) **Story Tracking:** {{story_tracking_mode}} @@ -155,9 +176,10 @@ BACKLOG β†’ TODO β†’ IN PROGRESS β†’ DONE ### Project Classification -- **Project Type:** {{project_type}} +- **Project Type:** {{project_type}} ({{project_type_display_name}}) - **Project Level:** {{project_level}} - **Instruction Set:** {{instruction_set}} +- **Greenfield/Brownfield:** {{field_type}} ### Scope Summary @@ -168,7 +190,6 @@ BACKLOG β†’ TODO β†’ IN PROGRESS β†’ DONE ### Context -- **Greenfield/Brownfield:** {{field_type}} - **Existing Documentation:** {{existing_docs}} - **Team Size:** {{team_size}} - **Deployment Intent:** {{deployment_intent}}