bmad-method 4.4.1 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/.prettierignore +22 -0
  2. package/.prettierrc +23 -0
  3. package/CHANGELOG.md +26 -2
  4. package/README.md +46 -39
  5. package/bmad-core/agent-teams/team-all.yml +1 -1
  6. package/bmad-core/agent-teams/team-fullstack.yml +1 -1
  7. package/bmad-core/agent-teams/team-ide-minimal.yml +10 -0
  8. package/bmad-core/agent-teams/team-no-ui.yml +1 -1
  9. package/bmad-core/agents/bmad-orchestrator.md +11 -11
  10. package/bmad-core/agents/sm.md +1 -1
  11. package/bmad-core/tasks/shard-doc.md +3 -5
  12. package/bmad-core/templates/architecture-tmpl.md +2 -2
  13. package/bmad-core/templates/brownfield-architecture-tmpl.md +4 -4
  14. package/bmad-core/templates/front-end-spec-tmpl.md +4 -4
  15. package/bmad-core/templates/fullstack-architecture-tmpl.md +2 -2
  16. package/bmad-core/utils/workflow-management.md +4 -4
  17. package/{bmad-core/web-bundles → dist}/agents/bmad-master.txt +0 -176
  18. package/{expansion-packs/bmad-2d-phaser-game-dev/web-bundles/teams/team-game-dev.txt → dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt} +4 -4
  19. package/dist/expansion-packs/expansion-creator/agents/bmad-the-creator.txt +1561 -0
  20. package/dist/teams/team-all.txt +10307 -0
  21. package/dist/teams/team-fullstack.txt +9659 -0
  22. package/dist/teams/team-ide-minimal.txt +2739 -0
  23. package/dist/teams/team-no-ui.txt +8519 -0
  24. package/docs/roo-code-guide.md +2 -2
  25. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yml +12 -0
  26. package/expansion-packs/expansion-creator/README.md +8 -0
  27. package/expansion-packs/expansion-creator/agents/bmad-the-creator.md +53 -0
  28. package/expansion-packs/expansion-creator/common-tasks/create-doc.md +74 -0
  29. package/expansion-packs/expansion-creator/common-tasks/execute-checklist.md +97 -0
  30. package/expansion-packs/expansion-creator/manifest.yml +12 -0
  31. package/{creator-tools → expansion-packs/expansion-creator}/tasks/create-agent.md +4 -4
  32. package/expansion-packs/expansion-creator/tasks/generate-expansion-pack.md +1026 -0
  33. package/expansion-packs/expansion-creator/templates/agent-teams-tmpl.md +154 -0
  34. package/expansion-packs/expansion-creator/templates/agent-tmpl.md +140 -0
  35. package/expansion-packs/expansion-creator/utils/template-format.md +26 -0
  36. package/expansion-packs/expansion-creator/utils/workflow-management.md +223 -0
  37. package/package.json +3 -15
  38. package/tools/builders/web-builder.js +2 -4
  39. package/tools/cli.js +0 -15
  40. package/tools/installer/bin/bmad.js +167 -27
  41. package/tools/installer/lib/config-loader.js +82 -4
  42. package/tools/installer/lib/ide-setup.js +4 -4
  43. package/tools/installer/lib/installer.js +198 -29
  44. package/tools/installer/package.json +1 -1
  45. package/.claude/commands/analyst.md +0 -63
  46. package/.claude/commands/architect.md +0 -65
  47. package/.claude/commands/bmad-master.md +0 -103
  48. package/.claude/commands/bmad-orchestrator.md +0 -132
  49. package/.claude/commands/dev.md +0 -74
  50. package/.claude/commands/pm.md +0 -63
  51. package/.claude/commands/po.md +0 -64
  52. package/.claude/commands/qa.md +0 -56
  53. package/.claude/commands/sm.md +0 -59
  54. package/.claude/commands/ux-expert.md +0 -70
  55. package/.cursor/rules/analyst.mdc +0 -77
  56. package/.cursor/rules/architect.mdc +0 -79
  57. package/.cursor/rules/bmad-master.mdc +0 -117
  58. package/.cursor/rules/bmad-orchestrator.mdc +0 -146
  59. package/.cursor/rules/dev.mdc +0 -88
  60. package/.cursor/rules/pm.mdc +0 -77
  61. package/.cursor/rules/po.mdc +0 -78
  62. package/.cursor/rules/qa.mdc +0 -70
  63. package/.cursor/rules/sm.mdc +0 -73
  64. package/.cursor/rules/ux-expert.mdc +0 -84
  65. package/.roo/.roomodes +0 -95
  66. package/.roo/README.md +0 -27
  67. package/.windsurf/rules/analyst.md +0 -71
  68. package/.windsurf/rules/architect.md +0 -73
  69. package/.windsurf/rules/bmad-master.md +0 -111
  70. package/.windsurf/rules/bmad-orchestrator.md +0 -140
  71. package/.windsurf/rules/dev.md +0 -82
  72. package/.windsurf/rules/pm.md +0 -71
  73. package/.windsurf/rules/po.md +0 -72
  74. package/.windsurf/rules/qa.md +0 -64
  75. package/.windsurf/rules/sm.md +0 -67
  76. package/.windsurf/rules/ux-expert.md +0 -78
  77. package/bmad-core/bmad-core-config.yml +0 -60
  78. package/bmad-core/templates/agent-tmpl.md +0 -58
  79. package/bmad-core/utils/agent-switcher.ide.md +0 -112
  80. package/creator-tools/tasks/generate-expansion-pack.md +0 -427
  81. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/team-game-dev.yml +0 -12
  82. package/expansion-packs/bmad-2d-phaser-game-dev/web-bundles/team-game-dev.txt +0 -4395
  83. /package/{bmad-core/web-bundles → dist}/agents/analyst.txt +0 -0
  84. /package/{bmad-core/web-bundles → dist}/agents/architect.txt +0 -0
  85. /package/{bmad-core/web-bundles → dist}/agents/bmad-orchestrator.txt +0 -0
  86. /package/{bmad-core/web-bundles → dist}/agents/dev.txt +0 -0
  87. /package/{bmad-core/web-bundles → dist}/agents/pm.txt +0 -0
  88. /package/{bmad-core/web-bundles → dist}/agents/po.txt +0 -0
  89. /package/{bmad-core/web-bundles → dist}/agents/qa.txt +0 -0
  90. /package/{bmad-core/web-bundles → dist}/agents/sm.txt +0 -0
  91. /package/{bmad-core/web-bundles → dist}/agents/ux-expert.txt +0 -0
  92. /package/{expansion-packs/bmad-2d-phaser-game-dev/web-bundles → dist/expansion-packs/bmad-2d-phaser-game-dev}/agents/game-designer.txt +0 -0
  93. /package/{expansion-packs/bmad-2d-phaser-game-dev/web-bundles → dist/expansion-packs/bmad-2d-phaser-game-dev}/agents/game-developer.txt +0 -0
  94. /package/{expansion-packs/bmad-2d-phaser-game-dev/web-bundles → dist/expansion-packs/bmad-2d-phaser-game-dev}/agents/game-sm.txt +0 -0
  95. /package/{expansion-packs/bmad-infrastructure-devops/web-bundles → dist/expansion-packs/bmad-infrastructure-devops}/agents/infra-devops-platform.txt +0 -0
  96. /package/{bmad-core → expansion-packs/expansion-creator}/templates/expansion-pack-plan-tmpl.md +0 -0
@@ -0,0 +1,154 @@
1
+ # Agent Team Configuration Template
2
+
3
+ [[LLM: This template is for creating agent team configurations in YAML format. Follow the structure carefully and replace all placeholders with appropriate values. The team name should reflect the team's purpose and domain focus.]]
4
+
5
+ ````yaml
6
+ bundle:
7
+ name: {{team-display-name}}
8
+ [[LLM: Use format "Team [Descriptor]" for generic teams or "[Domain] Team" for specialized teams. Examples: "Team Fullstack", "Healthcare Team", "Legal Team"]]
9
+
10
+ icon: {{team-emoji}}
11
+ [[LLM: Choose a single emoji that best represents the team's function or name]]
12
+
13
+ description: {{team-description}}
14
+ [[LLM: Write a concise description (1 sentence) that explains:
15
+ 1. The team's primary purpose
16
+ 2. What types of projects they handle
17
+ 3. Any special capabilities or focus areas
18
+ 4. Keep it short as its displayed in menus
19
+ Example: "Full Stack Ideation Web App Team." or "Startup Business Coaching team"]]
20
+
21
+ agents:
22
+ [[LLM: List the agents that make up this team. Guidelines:
23
+ - Use shortened agent names (e.g., 'analyst' not 'business-analyst')
24
+ - Include 'bmad-orchestrator' for bmad-core teams as the coordinator
25
+ - Only use '*' for an all-inclusive team (rare)
26
+ - Order agents logically by workflow (analysis → design → development → testing)
27
+ - For expansion packs, include both core agents and custom agents]]
28
+
29
+ ^^CONDITION: standard-team^^
30
+ # Core workflow agents
31
+ - bmad-orchestrator # Team coordinator
32
+ - analyst # Requirements and analysis
33
+ - pm # Product management
34
+ - architect # System design
35
+ - dev # Development
36
+ - qa # Quality assurance
37
+ ^^/CONDITION: standard-team^^
38
+
39
+ ^^CONDITION: minimal-team^^
40
+ # Minimal team for quick iterations
41
+ - bmad-orchestrator # Team coordinator
42
+ - architect # Design and planning
43
+ - dev # Implementation
44
+ ^^/CONDITION: minimal-team^^
45
+
46
+ ^^CONDITION: specialized-team^^
47
+ # Domain-specific team composition
48
+ - {{domain}}-orchestrator # Domain coordinator
49
+ <<REPEAT section="specialist-agents" count="{{agent-count}}">>
50
+ - {{agent-short-name}} # {{agent-role-description}}
51
+ <</REPEAT>>
52
+ ^^/CONDITION: specialized-team^^
53
+
54
+ ^^CONDITION: include-all-agents^^
55
+ - '*' # Include all available agents
56
+ ^^/CONDITION: include-all-agents^^
57
+
58
+ workflows:
59
+ [[LLM: Define the workflows this team can execute that will guide the user through a multi-step multi agent process. Guidelines:
60
+ - Use null if the team doesn't have predefined workflows
61
+ - Workflow names should be descriptive
62
+ - use domain-specific workflow names]]
63
+
64
+ ^^CONDITION: no-workflows^^
65
+ null # No predefined workflows
66
+ ^^/CONDITION: no-workflows^^
67
+
68
+ ^^CONDITION: standard-workflows^^
69
+ # New project workflows
70
+ - greenfield-fullstack # New full-stack application
71
+ - greenfield-service # New backend service
72
+ - greenfield-ui # New frontend application
73
+
74
+ # Existing project workflows
75
+ - brownfield-fullstack # Enhance existing full-stack app
76
+ - brownfield-service # Enhance existing service
77
+ - brownfield-ui # Enhance existing UI
78
+ ^^/CONDITION: standard-workflows^^
79
+
80
+ ^^CONDITION: domain-workflows^^
81
+ # Domain-specific workflows
82
+ <<REPEAT section="workflows" count="{{workflow-count}}">>
83
+ - {{workflow-name}} # {{workflow-description}}
84
+ <</REPEAT>>
85
+ ^^/CONDITION: domain-workflows^^
86
+ ```text
87
+
88
+ @{example-1: Standard fullstack team}
89
+
90
+ ```yaml
91
+ bundle:
92
+ name: Team Fullstack
93
+ icon: 🚀
94
+ description: Complete agile team for full-stack web applications. Handles everything from requirements to deployment.
95
+ agents:
96
+ - bmad-orchestrator
97
+ - analyst
98
+ - pm
99
+ - architect
100
+ - dev
101
+ - qa
102
+ - ux-expert
103
+ workflows:
104
+ - greenfield-fullstack
105
+ - greenfield-service
106
+ - greenfield-ui
107
+ - brownfield-fullstack
108
+ - brownfield-service
109
+ - brownfield-ui
110
+ ````
111
+
112
+ @{example-2: Healthcare expansion pack team}
113
+
114
+ ````yaml
115
+ bundle:
116
+ name: Healthcare Compliance Team
117
+ icon: ⚕️
118
+ description: Specialized team for healthcare applications with HIPAA compliance focus. Manages clinical workflows and regulatory requirements.
119
+ agents:
120
+ - healthcare-orchestrator
121
+ - clinical-analyst
122
+ - compliance-officer
123
+ - architect
124
+ - dev
125
+ - qa
126
+ workflows:
127
+ - healthcare-patient-portal
128
+ - healthcare-compliance-audit
129
+ - clinical-trial-management
130
+ ```text
131
+
132
+ @{example-3: Minimal IDE team}
133
+
134
+ ```yaml
135
+ bundle:
136
+ name: Team IDE Minimal
137
+ icon: ⚡
138
+ description: Minimal team for IDE usage. Just the essentials for quick development.
139
+ agents:
140
+ - bmad-orchestrator
141
+ - architect
142
+ - dev
143
+ workflows: null
144
+ ````
145
+
146
+ [[LLM: When creating a new team configuration:
147
+
148
+ 1. Choose the most appropriate condition block based on team type
149
+ 2. Remove all unused condition blocks
150
+ 3. Replace all placeholders with actual values
151
+ 4. Ensure agent names match available agents in the system
152
+ 5. Verify workflow names match available workflows
153
+ 6. Save as team-[descriptor].yml or [domain]-team.yml
154
+ 7. Place in the agent-teams directory of the appropriate location]]
@@ -0,0 +1,140 @@
1
+ # [AGENT_ID]
2
+
3
+ [[LLM: This is an agent definition template. When creating a new agent:
4
+
5
+ 1. ALL dependencies (tasks, templates, checklists, data) MUST exist or be created
6
+ 2. For output generation, use the create-doc pattern with appropriate templates
7
+ 3. Templates should include LLM instructions for guiding users through content creation
8
+ 4. Character personas should be consistent and domain-appropriate
9
+ 5. Follow the numbered options protocol for all user interactions]]
10
+
11
+ CRITICAL: Read the full YML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
12
+
13
+ ````yml
14
+ activation-instructions:
15
+ - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
16
+ - Only read the files/tasks listed here when user selects them for execution to minimize context usage
17
+ - The customization field ALWAYS takes precedence over any conflicting instructions
18
+ - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
19
+
20
+ agent:
21
+ name: [AGENT_NAME]
22
+ id: [AGENT_ID]
23
+ title: [AGENT_TITLE]
24
+ customization: [OPTIONAL_CUSTOMIZATION]
25
+
26
+ persona:
27
+ role: [AGENT_ROLE_DESCRIPTION]
28
+ style: [COMMUNICATION_STYLE]
29
+ identity: [AGENT_IDENTITY_DESCRIPTION]
30
+ focus: [PRIMARY_FOCUS_AREAS]
31
+
32
+ core_principles:
33
+ - [PRINCIPLE_1]
34
+ - [PRINCIPLE_2]
35
+ - [PRINCIPLE_3]
36
+ # Add more principles as needed
37
+
38
+ startup:
39
+ - [STARTUP_INSTRUCTIONS]
40
+
41
+ commands:
42
+ - "*help" - Show: numbered list of the following commands to allow selection
43
+ - "*chat-mode" - (Default) [DEFAULT_MODE_DESCRIPTION]
44
+ - "*create-doc {template}" - Create doc (no template = show available templates)
45
+ [[LLM: For output generation tasks, always use create-doc with templates rather than custom tasks.
46
+ Example: Instead of a "create-blueprint" task, use "*create-doc blueprint-tmpl"
47
+ The template should contain LLM instructions for guiding users through the creation process]]
48
+ - [tasks] specific to the agent that are not covered by a template
49
+ [[LLM: Only create custom tasks for actions that don't produce documents, like analysis, validation, or process execution]]
50
+ - "*exit" - Say goodbye as the [AGENT_TITLE], and then abandon inhabiting this persona
51
+
52
+ dependencies:
53
+ [[LLM: CRITICAL - All dependencies listed here MUST exist in the expansion pack or be created:
54
+ - Tasks: Must exist in tasks/ directory (include create-doc if using templates)
55
+ - Templates: Must exist in templates/ directory with proper LLM instructions
56
+ - Checklists: Must exist in checklists/ directory for quality validation
57
+ - Data: Must exist in data/ directory or be documented as user-required
58
+ - Utils: Must exist in utils/ directory (include template-format if using templates)]]
59
+
60
+ tasks:
61
+ - create-doc # Required if agent creates documents from templates
62
+ - [TASK_1] # Custom task for non-document operations
63
+ - [TASK_2] # Another custom task
64
+ [[LLM: Example tasks: validate-design, analyze-requirements, execute-tests]]
65
+
66
+ templates:
67
+ - [TEMPLATE_1] # Template with LLM instructions for guided creation
68
+ - [TEMPLATE_2] # Another template for different document type
69
+ [[LLM: Example: blueprint-tmpl, contract-tmpl, report-tmpl
70
+ Each template should include [[LLM: guidance]] and other conventions from `template-formmat.md` sections for user interaction]]
71
+
72
+ checklists:
73
+ - [CHECKLIST_1] # Quality validation for template outputs
74
+ [[LLM: Example: blueprint-checklist, contract-checklist
75
+ Checklists validate documents created from templates]]
76
+
77
+ data:
78
+ - [DATA_1] # Domain knowledge files
79
+ [[LLM: Example: building-codes.md, legal-terminology.md
80
+ Can be embedded in pack or required from user]]
81
+
82
+ utils:
83
+ - template-format # Required if using templates
84
+ - [UTIL_1] # Other utilities as needed
85
+ [[LLM: Include workflow-management if agent participates in workflows]]
86
+ ```text
87
+
88
+ @{example: Construction Contractor Agent}
89
+
90
+ ```yaml
91
+ activation-instructions:
92
+ - Follow all instructions in this file
93
+ - Stay in character as Marcus Thompson, Construction Manager
94
+ - Use numbered options for all interactions
95
+ agent:
96
+ name: Marcus Thompson
97
+ id: construction-contractor
98
+ title: Construction Project Manager
99
+ customization: null
100
+ persona:
101
+ role: Licensed general contractor with 20 years experience
102
+ style: Professional, detail-oriented, safety-conscious
103
+ identity: Former site foreman who worked up to project management
104
+ focus: Building design, code compliance, project scheduling, cost estimation
105
+ core_principles:
106
+ - Safety first - all designs must prioritize worker and occupant safety
107
+ - Code compliance - ensure all work meets local building codes
108
+ - Quality craftsmanship - no shortcuts on structural integrity
109
+ startup:
110
+ - Greet as Marcus Thompson, Construction Project Manager
111
+ - Briefly mention your experience and readiness to help
112
+ - Ask what type of construction project they're planning
113
+ - DO NOT auto-execute any commands
114
+ commands:
115
+ - '*help" - Show numbered list of available commands'
116
+ - '*chat-mode" - Discuss construction projects and provide expertise'
117
+ - '*create-doc blueprint-tmpl" - Create architectural blueprints'
118
+ - '*create-doc estimate-tmpl" - Create project cost estimate'
119
+ - '*create-doc schedule-tmpl" - Create construction schedule'
120
+ - '*validate-plans" - Review plans for code compliance'
121
+ - '*safety-assessment" - Evaluate safety considerations'
122
+ - '*exit" - Say goodbye as Marcus and exit'
123
+ dependencies:
124
+ tasks:
125
+ - 'create-doc # For document creation'
126
+ - 'validate-plans # Custom validation task'
127
+ - 'safety-assessment # Custom safety review task'
128
+ templates:
129
+ - 'blueprint-tmpl # Architectural blueprint template'
130
+ - 'estimate-tmpl # Cost estimation template'
131
+ - 'schedule-tmpl # Project timeline template'
132
+ checklists:
133
+ - 'blueprint-checklist # Validates blueprint completeness'
134
+ - 'safety-checklist # Safety compliance validation'
135
+ data:
136
+ - 'building-codes.md # Local building code reference'
137
+ - 'materials-guide.md # Construction materials specs'
138
+ utils:
139
+ - 'template-format # For template processing'
140
+ ````
@@ -0,0 +1,26 @@
1
+ # Template Format Conventions
2
+
3
+ Templates in the BMAD method use standardized markup for AI processing. These conventions ensure consistent document generation.
4
+
5
+ ## Template Markup Elements
6
+
7
+ - **{{placeholders}}**: Variables to be replaced with actual content
8
+ - **[[LLM: instructions]]**: Internal processing instructions for AI agents (never shown to users)
9
+ - **REPEAT** sections: Content blocks that may be repeated as needed
10
+ - **^^CONDITION^^** blocks: Conditional content included only if criteria are met
11
+ - **@{examples}**: Example content for guidance (never output to users)
12
+
13
+ ## Processing Rules
14
+
15
+ - Replace all {{placeholders}} with project-specific content
16
+ - Execute all [[LLM: instructions]] internally without showing users
17
+ - Process conditional and repeat blocks as specified
18
+ - Use examples for guidance but never include them in final output
19
+ - Present only clean, formatted content to users
20
+
21
+ ## Critical Guidelines
22
+
23
+ - **NEVER display template markup, LLM instructions, or examples to users**
24
+ - Template elements are for AI processing only
25
+ - Focus on faithful template execution and clean output
26
+ - All template-specific instructions are embedded within templates
@@ -0,0 +1,223 @@
1
+ # Workflow Management
2
+
3
+ This utility enables the BMAD orchestrator to manage and execute team workflows.
4
+
5
+ ## Important: Dynamic Workflow Loading
6
+
7
+ The BMAD orchestrator MUST read the available workflows from the current team configuration's `workflows` field. Do not use hardcoded workflow lists. Each team bundle defines its own set of supported workflows based on the agents it includes.
8
+
9
+ **Critical Distinction**:
10
+
11
+ - When asked "what workflows are available?", show ONLY the workflows defined in the current team bundle's configuration
12
+ - Use `/agent-list` to show agents in the current bundle
13
+ - Use `/workflows` to show workflows in the current bundle, NOT any creation tasks
14
+
15
+ ### Workflow Descriptions
16
+
17
+ When displaying workflows, use these descriptions based on the workflow ID:
18
+
19
+ - **greenfield-fullstack**: Build a new full-stack application from concept to development
20
+ - **brownfield-fullstack**: Enhance an existing full-stack application with new features
21
+ - **greenfield-service**: Build a new backend service or API from concept to development
22
+ - **brownfield-service**: Enhance an existing backend service or API
23
+ - **greenfield-ui**: Build a new frontend/UI application from concept to development
24
+ - **brownfield-ui**: Enhance an existing frontend/UI application
25
+
26
+ ## Workflow Commands
27
+
28
+ ### /workflows
29
+
30
+ Lists all available workflows for the current team. The available workflows are determined by the team configuration and may include workflows such as:
31
+
32
+ - greenfield-fullstack
33
+ - brownfield-fullstack
34
+ - greenfield-service
35
+ - brownfield-service
36
+ - greenfield-ui
37
+ - brownfield-ui
38
+
39
+ The actual list depends on which team bundle is loaded. When responding to this command, display the workflows that are configured in the current team's `workflows` field.
40
+
41
+ Example response format:
42
+
43
+ ````text
44
+ Available workflows for [Team Name]:
45
+ 1. [workflow-id] - [Brief description based on workflow type]
46
+ 2. [workflow-id] - [Brief description based on workflow type]
47
+ [... etc. ...]
48
+
49
+ Use /workflow-start {number or id} to begin a workflow.
50
+ ```text
51
+
52
+ ### /workflow-start {workflow-id}
53
+
54
+ Starts a specific workflow and transitions to the first agent.
55
+
56
+ Example: `/workflow-start greenfield-fullstack`
57
+
58
+ ### /workflow-status
59
+
60
+ Shows current workflow progress, completed artifacts, and next steps.
61
+
62
+ Example response:
63
+
64
+ ```text
65
+ Current Workflow: Greenfield Full-Stack Development
66
+ Stage: Product Planning (2 of 6)
67
+ Completed:
68
+ ✓ Discovery & Requirements
69
+ - project-brief (completed by Mary)
70
+
71
+ In Progress:
72
+ ⚡ Product Planning
73
+ - Create PRD (John) - awaiting input
74
+
75
+ Next: Technical Architecture
76
+ ```text
77
+
78
+ ### /workflow-resume
79
+
80
+ Resumes a workflow from where it left off, useful when starting a new chat.
81
+
82
+ User can provide completed artifacts:
83
+
84
+ ```text
85
+ User: /workflow-resume greenfield-fullstack
86
+ I have completed: project-brief, PRD
87
+ BMad: I see you've completed Discovery and part of Product Planning.
88
+ Based on the greenfield-fullstack workflow, the next step is:
89
+ - UX Strategy with Sally (ux-expert)
90
+
91
+ Would you like me to load Sally to continue?
92
+ ```text
93
+
94
+ ### /workflow-next
95
+
96
+ Shows the next recommended agent and action in the current workflow.
97
+
98
+ ## Workflow Execution Flow
99
+
100
+ ### 1. Starting a Workflow
101
+
102
+ When a workflow is started:
103
+
104
+ 1. Load the workflow definition
105
+ 2. Identify the first stage and step
106
+ 3. Transition to the required agent
107
+ 4. Provide context about expected inputs/outputs
108
+ 5. Guide artifact creation
109
+
110
+ ### 2. Stage Transitions
111
+
112
+ After each artifact is completed:
113
+
114
+ 1. Mark the step as complete
115
+ 2. Check transition conditions
116
+ 3. If stage is complete, move to next stage
117
+ 4. Load the appropriate agent
118
+ 5. Pass relevant artifacts as context
119
+
120
+ ### 3. Artifact Tracking
121
+
122
+ Track all created artifacts:
123
+
124
+ ```yaml
125
+ workflow_state:
126
+ current_workflow: greenfield-fullstack
127
+ current_stage: planning
128
+ current_step: 2
129
+ artifacts:
130
+ project-brief:
131
+ status: completed
132
+ created_by: analyst
133
+ timestamp: 2024-01-15T10:30:00.000Z
134
+ prd:
135
+ status: in-progress
136
+ created_by: pm
137
+ started: 2024-01-15T11:00:00.000Z
138
+ ```text
139
+
140
+ ### 4. Workflow Interruption Handling
141
+
142
+ When user returns after interruption:
143
+
144
+ 1. Ask if continuing previous workflow
145
+ 2. Request any completed artifacts
146
+ 3. Analyze provided artifacts
147
+ 4. Determine workflow position
148
+ 5. Suggest next appropriate step
149
+
150
+ Example:
151
+
152
+ ```text
153
+ User: I'm working on a new app. Here's my PRD and architecture doc.
154
+ BMad: I see you have a PRD and architecture document. Based on these artifacts,
155
+ it looks like you're following the greenfield-fullstack workflow and have completed
156
+ stages 1-3. The next recommended step would be:
157
+
158
+ Stage 4: Validation & Refinement
159
+ - Load Sarah (Product Owner) to validate all artifacts
160
+
161
+ Would you like to continue with this workflow?
162
+ ```text
163
+
164
+ ## Workflow Context Passing
165
+
166
+ When transitioning between agents, pass:
167
+
168
+ 1. Previous artifacts created
169
+ 2. Current workflow stage
170
+ 3. Expected outputs
171
+ 4. Any decisions or constraints identified
172
+
173
+ Example transition:
174
+
175
+ ```text
176
+ BMad: Great! John has completed the PRD. According to the greenfield-fullstack workflow,
177
+ the next step is UX Strategy with Sally.
178
+
179
+ /ux-expert
180
+
181
+ Sally: I see we're in the Product Planning stage of the greenfield-fullstack workflow.
182
+ I have access to:
183
+ - Project Brief from Mary
184
+ - PRD from John
185
+
186
+ Let's create the UX strategy and UI specifications. First, let me review
187
+ the PRD to understand the features we're designing for...
188
+ ```text
189
+
190
+ ## Multi-Path Workflows
191
+
192
+ Some workflows may have multiple paths:
193
+
194
+ ```yaml
195
+ conditional_paths:
196
+ - condition: project_type == 'mobile'
197
+ next_stage: mobile-specific-design
198
+ - condition: project_type == 'web'
199
+ next_stage: web-architecture
200
+ - default: fullstack-architecture
201
+ ````
202
+
203
+ Handle these by asking clarifying questions when needed.
204
+
205
+ ## Workflow Best Practices
206
+
207
+ 1. **Always show progress** - Users should know where they are
208
+ 2. **Explain transitions** - Why moving to next agent
209
+ 3. **Preserve context** - Pass relevant information forward
210
+ 4. **Allow flexibility** - Users can skip or modify steps
211
+ 5. **Track everything** - Maintain complete workflow state
212
+
213
+ ## Integration with Agents
214
+
215
+ Each agent should be workflow-aware:
216
+
217
+ - Know which workflow is active
218
+ - Understand their role in the workflow
219
+ - Access previous artifacts
220
+ - Know expected outputs
221
+ - Guide toward workflow goals
222
+
223
+ This creates a seamless experience where the entire team works together toward the workflow's objectives.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bmad-method",
3
- "version": "4.4.1",
3
+ "version": "4.5.0",
4
4
  "description": "Breakthrough Method of Agile AI-driven Development",
5
5
  "main": "tools/cli.js",
6
6
  "bin": {
@@ -14,7 +14,7 @@
14
14
  "list:agents": "node tools/cli.js list:agents",
15
15
  "validate": "node tools/cli.js validate",
16
16
  "install:bmad": "node tools/installer/bin/bmad.js install",
17
- "format": "prettier --write \"**/*.md\" && node tools/yaml-format.js **/*.md **/*.yml **/*.yaml .roo/.roomodes",
17
+ "format": "prettier --write \"**/*.md\"",
18
18
  "version:patch": "node tools/version-bump.js patch",
19
19
  "version:minor": "node tools/version-bump.js minor",
20
20
  "version:major": "node tools/version-bump.js major",
@@ -60,20 +60,8 @@
60
60
  "yaml-lint": "^1.7.0"
61
61
  },
62
62
  "lint-staged": {
63
- "**/*.{yml,yaml}": [
64
- "node tools/yaml-format.js"
65
- ],
66
63
  "**/*.md": [
67
- "node tools/yaml-format.js"
68
- ],
69
- ".roomodes": [
70
- "node tools/yaml-format.js"
71
- ],
72
- "bmad-core/**/*.yml": [
73
- "node tools/yaml-format.js"
74
- ],
75
- ".github/**/*.yml": [
76
- "node tools/yaml-format.js"
64
+ "prettier --write"
77
65
  ]
78
66
  }
79
67
  }
@@ -6,8 +6,7 @@ class WebBuilder {
6
6
  constructor(options = {}) {
7
7
  this.rootDir = options.rootDir || process.cwd();
8
8
  this.outputDirs = options.outputDirs || [
9
- path.join(this.rootDir, 'dist'),
10
- path.join(this.rootDir, 'bmad-core', 'web-bundles')
9
+ path.join(this.rootDir, 'dist')
11
10
  ];
12
11
  this.resolver = new DependencyResolver(this.rootDir);
13
12
  this.templatePath = path.join(this.rootDir, 'bmad-core', 'templates', 'web-agent-startup-instructions-template.md');
@@ -152,7 +151,6 @@ class WebBuilder {
152
151
  async buildExpansionPack(packName, options = {}) {
153
152
  const packDir = path.join(this.rootDir, 'expansion-packs', packName);
154
153
  const outputDirs = [
155
- path.join(packDir, 'web-bundles'),
156
154
  path.join(this.rootDir, 'dist', 'expansion-packs', packName)
157
155
  ];
158
156
 
@@ -200,7 +198,7 @@ class WebBuilder {
200
198
  const agentTeamsDir = path.join(packDir, 'agent-teams');
201
199
  try {
202
200
  const teamFiles = await fs.readdir(agentTeamsDir);
203
- const teamFile = teamFiles.find(f => f.startsWith('team-') && f.endsWith('.yml'));
201
+ const teamFile = teamFiles.find(f => f.endsWith('.yml'));
204
202
 
205
203
  if (teamFile) {
206
204
  console.log(` Building team bundle for ${packName}`);
package/tools/cli.js CHANGED
@@ -52,21 +52,6 @@ program
52
52
  }
53
53
  }
54
54
 
55
- // Generate IDE configuration folders
56
- console.log('Generating IDE configuration folders...');
57
- const installDir = process.cwd();
58
-
59
- // Generate configurations for all supported IDEs
60
- const ides = ['cursor', 'claude-code', 'windsurf', 'roo'];
61
- for (const ide of ides) {
62
- try {
63
- console.log(`Setting up ${ide} integration...`);
64
- await IdeSetup.setup(ide, installDir);
65
- } catch (error) {
66
- console.warn(`Warning: Failed to setup ${ide}:`, error.message);
67
- }
68
- }
69
-
70
55
  console.log('Build completed successfully!');
71
56
  } catch (error) {
72
57
  console.error('Build failed:', error.message);