Files
pig-farm-controller/bmad/bmm/workflows/workflow-status
2025-11-01 19:22:39 +08:00
..
2025-11-01 19:22:39 +08:00
2025-11-01 19:22:39 +08:00
2025-11-01 19:22:39 +08:00
2025-11-01 19:22:39 +08:00
2025-11-01 19:22:39 +08:00
2025-11-01 19:22:39 +08:00
2025-11-01 19:22:39 +08:00
2025-11-01 19:22:39 +08:00

Workflow Status System

The universal entry point for BMM workflows - answers "what should I do now?" for any agent.

Overview

The workflow status system provides:

  • Smart project initialization - Detects existing work and infers project details
  • Simple status tracking - Key-value pairs for instant parsing
  • Intelligent routing - Suggests next actions based on current state
  • Modular workflow paths - Each project type/level has its own clean definition

Architecture

Core Components

workflow-status/
├── workflow.yaml              # Main configuration
├── instructions.md            # Status checker (99 lines)
├── workflow-status-template.yaml # Clean YAML status template
├── project-levels.yaml        # Source of truth for scale definitions
└── paths/                     # Modular workflow definitions
    ├── greenfield-level-0.yaml through level-4.yaml
    ├── brownfield-level-0.yaml through level-4.yaml
    └── game-design.yaml
workflow-init/
├── workflow.yaml              # Initialization configuration
└── instructions.md            # Smart setup (182 lines)

How It Works

For New Projects

  1. User runs workflow-status
  2. System finds no status file
  3. Directs to workflow-init
  4. Init workflow:
    • Scans for existing work (PRDs, code, etc.)
    • Infers project details from what it finds
    • Asks minimal questions (name + description)
    • Confirms understanding in one step
    • Creates status file with workflow path

For Existing Projects

  1. User runs workflow-status
  2. System reads status file
  3. Shows current state and options:
    • Continue in-progress work
    • Next required step
    • Available optional workflows
  4. User picks action

Status File Format

Clean YAML format with all workflows listed up front:

# generated: 2025-10-29
# project: MyProject
# project_type: software
# project_level: 2
# field_type: greenfield
# workflow_path: greenfield-level-2.yaml

workflow_status:
  # Phase 1: Analysis
  brainstorm-project: optional
  research: optional
  product-brief: recommended

  # Phase 2: Planning
  prd: docs/prd.md
  validate-prd: optional
  create-design: conditional

  # Phase 3: Solutioning
  create-architecture: required
  validate-architecture: optional
  solutioning-gate-check: required

Status Values:

  • required / optional / recommended / conditional - Not yet started
  • {file-path} - Completed (e.g., docs/prd.md)
  • skipped - Optional workflow that was skipped

Any agent can instantly parse what they need:

  • Read YAML to see all workflows and their status
  • Check which workflows are completed vs pending
  • Auto-detect existing work by scanning for output files

Project Levels

Source of truth: /src/modules/bmm/README.md lines 77-85

  • Level 0: Single atomic change (1 story)
  • Level 1: Small feature (1-10 stories)
  • Level 2: Medium project (5-15 stories)
  • Level 3: Complex system (12-40 stories)
  • Level 4: Enterprise scale (40+ stories)

Workflow Paths

Each combination has its own file:

  • greenfield-level-X.yaml - New projects at each level
  • brownfield-level-X.yaml - Existing codebases at each level
  • game-design.yaml - Game projects (all levels)

Benefits:

  • Load only what's needed (60 lines vs 750+)
  • Easy to maintain individual paths
  • Clear separation of concerns

Smart Detection

The init workflow intelligently detects:

Project Type:

  • Finds GDD → game
  • Otherwise → software

Project Level:

  • Reads PRD epic/story counts
  • Analyzes scope descriptions
  • Makes educated guess

Field Type:

  • Finds source code → brownfield
  • Only planning docs → greenfield
  • Checks git history age

Documentation Status:

  • Finds index.md → was undocumented
  • Good README → documented
  • Missing docs → needs documentation

Usage Examples

Any Agent Checking Status

Agent: workflow-status
Result: "Current: Phase 2 - Planning, Next: prd (pm agent)"

New Project Setup

Agent: workflow-status
System: "No status found. Run workflow-init"
Agent: workflow-init
System: "Tell me about your project"
User: "Building a dashboard with user management"
System: "Level 2 greenfield software project. Correct?"
User: "Yes"
System: "Status created! Next: pm agent, run prd"

Smart Inference

System finds: prd-dashboard.md with 3 epics
System finds: package.json, src/ directory
System infers: Level 2 brownfield software
User confirms or corrects

Philosophy

Less Structure, More Intelligence

Instead of complex if/else logic:

  • Trust the LLM to analyze and infer
  • Use natural language for corrections
  • Keep menus simple and contextual
  • Let intelligence emerge from the model

Result: A workflow system that feels like talking to a smart assistant, not filling out a form.

Implementation Details

workflow-init (6 Steps)

  1. Scan for existing work - Check for docs, code, git history
  2. Confirm findings - Show what was detected (if anything)
  3. Gather info - Name, description, confirm type/level/field
  4. Load path file - Select appropriate workflow definition
  5. Generate workflow - Build from path file
  6. Create status file - Save and show next step

workflow-status (4 Steps)

  1. Check for status file - Direct to init if missing
  2. Parse status - Extract key-value pairs
  3. Display options - Show current, required, optional
  4. Handle selection - Execute user's choice

Best Practices

  1. Let the AI guess - It's usually right, user corrects if needed
  2. One conversation - Get all info in Step 3 of init
  3. Simple parsing - Key-value pairs, not complex structures
  4. Modular paths - Each scenario in its own file
  5. Trust intelligence - LLM understands context better than rules

Integration

Other workflows read the status to coordinate:

  • Any workflow can check CURRENT_PHASE
  • Workflows can verify prerequisites are complete
  • All agents can ask "what should I do?"

Phase 4 (Implementation):

  • workflow-status only tracks sprint-planning completion
  • After sprint-planning, all story/epic tracking happens in sprint-status.yaml
  • Phase 4 workflows do NOT read/write workflow-status (except sprint-planning for prerequisite verification)

The workflow-status.yaml file is the single source of truth for Phases 1-3, and sprint-status.yaml takes over for Phase 4 implementation tracking.

Benefits

Smart Detection - Infers from existing work instead of asking everything Minimal Questions - Just name and description in most cases Clean Status - Simple key-value pairs for instant parsing Modular Paths - 60-line files instead of 750+ line monolith Natural Language - "Tell me about your project" not "Pick 1-12" Intelligent Menus - Shows only relevant options Fast Parsing - Grep instead of complex logic Easy Maintenance - Change one level without affecting others

Future Enhancements

  • Visual progress indicators
  • Time tracking and estimates
  • Multi-project support
  • Team synchronization

This workflow is the front door to BMad Method. Start here to know what to do next.