bmad-method 4.30.2 → 4.30.3

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 (58) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +1 -1
  3. package/bmad-core/core-config.yaml +0 -1
  4. package/dist/agents/analyst.txt +1 -1
  5. package/dist/agents/bmad-master.txt +1 -1
  6. package/dist/agents/bmad-orchestrator.txt +1 -1
  7. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +2409 -0
  8. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +1480 -0
  9. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +826 -0
  10. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +10690 -0
  11. package/dist/teams/team-all.txt +1 -1
  12. package/dist/teams/team-fullstack.txt +1 -1
  13. package/dist/teams/team-ide-minimal.txt +1 -1
  14. package/dist/teams/team-no-ui.txt +1 -1
  15. package/docs/bmad-workflow-guide.md +1 -1
  16. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +2 -2
  17. package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +13 -0
  18. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +72 -0
  19. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +78 -0
  20. package/expansion-packs/{bmad-creator-tools/agents/bmad-the-creator.md → bmad-2d-unity-game-dev/agents/game-sm.md} +26 -28
  21. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +201 -0
  22. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +160 -0
  23. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +6 -0
  24. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +251 -0
  25. package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +590 -0
  26. package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +111 -0
  27. package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +217 -0
  28. package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +308 -0
  29. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +545 -0
  30. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +356 -0
  31. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +343 -0
  32. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +256 -0
  33. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
  34. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +183 -0
  35. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +175 -0
  36. package/expansion-packs/bmad-infrastructure-devops/config.yaml +2 -2
  37. package/package.json +4 -8
  38. package/tools/bump-all-versions.js +8 -9
  39. package/tools/bump-expansion-version.js +40 -35
  40. package/tools/installer/bin/bmad.js +8 -21
  41. package/tools/installer/lib/file-manager.js +76 -44
  42. package/tools/installer/lib/ide-base-setup.js +227 -0
  43. package/tools/installer/lib/ide-setup.js +8 -58
  44. package/tools/installer/lib/installer.js +99 -121
  45. package/tools/installer/lib/memory-profiler.js +224 -0
  46. package/tools/installer/lib/module-manager.js +110 -0
  47. package/tools/installer/lib/resource-locator.js +310 -0
  48. package/tools/installer/package.json +1 -1
  49. package/tools/semantic-release-sync-installer.js +20 -21
  50. package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +0 -2008
  51. package/expansion-packs/bmad-creator-tools/README.md +0 -8
  52. package/expansion-packs/bmad-creator-tools/config.yaml +0 -6
  53. package/expansion-packs/bmad-creator-tools/tasks/create-agent.md +0 -200
  54. package/expansion-packs/bmad-creator-tools/tasks/generate-expansion-pack.md +0 -1020
  55. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.yaml +0 -178
  56. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.yaml +0 -154
  57. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml +0 -120
  58. package/tools/bump-core-version.js +0 -57
@@ -1,178 +0,0 @@
1
- template:
2
- id: agent-teams-template-v2
3
- name: Agent Team Configuration
4
- version: 2.0
5
- output:
6
- format: yaml
7
- filename: "agent-teams/{{team_name}}.yaml"
8
- title: "{{team_name}}"
9
-
10
- workflow:
11
- mode: interactive
12
-
13
- sections:
14
- - id: header
15
- title: Agent Team Configuration Template
16
- instruction: |
17
- 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.
18
-
19
- - id: yaml-configuration
20
- type: code
21
- language: yaml
22
- template: |
23
- bundle:
24
- name: {{team_display_name}}
25
- icon: {{team_emoji}}
26
- description: {{team_description}}
27
-
28
- agents:
29
- {{agent_list}}
30
-
31
- workflows:
32
- {{workflow_list}}
33
- instruction: |
34
- Use format "Team [Descriptor]" for generic teams or "[Domain] Team" for specialized teams. Examples: "Team Fullstack", "Healthcare Team", "Legal Team"
35
-
36
- Choose a single emoji that best represents the team's function or name
37
-
38
- Write a concise description (1 sentence) that explains:
39
- 1. The team's primary purpose
40
- 2. What types of projects they handle
41
- 3. Any special capabilities or focus areas
42
- 4. Keep it short as its displayed in menus
43
- Example: "Full Stack Ideation Web App Team." or "Startup Business Coaching team"
44
-
45
- List the agents that make up this team. Guidelines:
46
- - Use shortened agent names (e.g., 'analyst' not 'business-analyst')
47
- - Include 'bmad-orchestrator' for bmad-core teams as the coordinator
48
- - Only use '*' for an all-inclusive team (rare)
49
- - Order agents logically by workflow (analysis → design → development → testing)
50
- - For expansion packs, include both core agents and custom agents
51
-
52
- Define the workflows this team can execute that will guide the user through a multi-step multi agent process. Guidelines:
53
- - Use null if the team doesn't have predefined workflows
54
- - Workflow names should be descriptive
55
- - use domain-specific workflow names
56
- sections:
57
- - id: standard-team
58
- condition: Standard team configuration
59
- template: |
60
- # Core workflow agents
61
- - bmad-orchestrator # Team coordinator
62
- - analyst # Requirements and analysis
63
- - pm # Product management
64
- - architect # System design
65
- - dev # Development
66
- - qa # Quality assurance
67
- - id: minimal-team
68
- condition: Minimal team configuration
69
- template: |
70
- # Minimal team for quick iterations
71
- - bmad-orchestrator # Team coordinator
72
- - architect # Design and planning
73
- - dev # Implementation
74
- - id: specialized-team
75
- condition: Domain-specific team
76
- template: |
77
- # Domain-specific team composition
78
- - {{domain}}-orchestrator # Domain coordinator
79
- - {{agent_short_name}} # {{agent_role_description}}
80
- - id: all-agents
81
- condition: Include all available agents
82
- template: |
83
- - '*' # Include all available agents
84
- - id: no-workflows
85
- condition: No predefined workflows
86
- template: |
87
- null # No predefined workflows
88
- - id: standard-workflows
89
- condition: Standard project workflows
90
- template: |
91
- # New project workflows
92
- - greenfield-fullstack # New full-stack application
93
- - greenfield-service # New backend service
94
- - greenfield-ui # New frontend application
95
-
96
- # Existing project workflows
97
- - brownfield-fullstack # Enhance existing full-stack app
98
- - brownfield-service # Enhance existing service
99
- - brownfield-ui # Enhance existing UI
100
- - id: domain-workflows
101
- condition: Domain-specific workflows
102
- template: |
103
- # Domain-specific workflows
104
- - {{workflow_name}} # {{workflow_description}}
105
-
106
- - id: examples
107
- title: Examples
108
- sections:
109
- - id: example-1
110
- title: "Example 1: Standard fullstack team"
111
- type: code
112
- language: yaml
113
- template: |
114
- bundle:
115
- name: Team Fullstack
116
- icon: 🚀
117
- description: Complete agile team for full-stack web applications. Handles everything from requirements to deployment.
118
- agents:
119
- - bmad-orchestrator
120
- - analyst
121
- - pm
122
- - architect
123
- - dev
124
- - qa
125
- - ux-expert
126
- workflows:
127
- - greenfield-fullstack
128
- - greenfield-service
129
- - greenfield-ui
130
- - brownfield-fullstack
131
- - brownfield-service
132
- - brownfield-ui
133
- - id: example-2
134
- title: "Example 2: Healthcare expansion pack team"
135
- type: code
136
- language: yaml
137
- template: |
138
- bundle:
139
- name: Healthcare Compliance Team
140
- icon: ⚕️
141
- description: Specialized team for healthcare applications with HIPAA compliance focus. Manages clinical workflows and regulatory requirements.
142
- agents:
143
- - healthcare-orchestrator
144
- - clinical-analyst
145
- - compliance-officer
146
- - architect
147
- - dev
148
- - qa
149
- workflows:
150
- - healthcare-patient-portal
151
- - healthcare-compliance-audit
152
- - clinical-trial-management
153
- - id: example-3
154
- title: "Example 3: Minimal IDE team"
155
- type: code
156
- language: yaml
157
- template: |
158
- bundle:
159
- name: Team IDE Minimal
160
- icon: ⚡
161
- description: Minimal team for IDE usage. Just the essentials for quick development.
162
- agents:
163
- - bmad-orchestrator
164
- - architect
165
- - dev
166
- workflows: null
167
-
168
- - id: creation-instructions
169
- instruction: |
170
- When creating a new team configuration:
171
-
172
- 1. Choose the most appropriate condition block based on team type
173
- 2. Remove all unused condition blocks
174
- 3. Replace all placeholders with actual values
175
- 4. Ensure agent names match available agents in the system
176
- 5. Verify workflow names match available workflows
177
- 6. Save as team-[descriptor].yaml or [domain]-team.yaml
178
- 7. Place in the agent-teams directory of the appropriate location
@@ -1,154 +0,0 @@
1
- template:
2
- id: agent-template-v2
3
- name: Agent Definition
4
- version: 2.0
5
- output:
6
- format: markdown
7
- filename: "agents/{{agent_id}}.md"
8
- title: "{{agent_id}}"
9
-
10
- workflow:
11
- mode: interactive
12
-
13
- sections:
14
- - id: header
15
- title: "{{agent_id}}"
16
- instruction: |
17
- This is an agent definition template. When creating a new agent:
18
-
19
- 1. ALL dependencies (tasks, templates, checklists, data) MUST exist or be created
20
- 2. For output generation, use the create-doc pattern with appropriate templates
21
- 3. Templates should include LLM instructions for guiding users through content creation
22
- 4. Character personas should be consistent and domain-appropriate
23
- 5. Follow the numbered options protocol for all user interactions
24
-
25
- - id: agent-definition
26
- content: |
27
- CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
28
- sections:
29
- - id: yaml-definition
30
- type: code
31
- language: yaml
32
- template: |
33
- activation-instructions:
34
- - Follow all instructions in this file -> this defines you, your persona and more importantly what you can do. STAY IN CHARACTER!
35
- - Only read the files/tasks listed here when user selects them for execution to minimize context usage
36
- - The customization field ALWAYS takes precedence over any conflicting instructions
37
- - 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
38
- - Command
39
-
40
- agent:
41
- name: {{agent_name}}
42
- id: {{agent_id}}
43
- title: {{agent_title}}
44
- customization: {{optional_customization}}
45
-
46
- persona:
47
- role: {{agent_role_description}}
48
- style: {{communication_style}}
49
- identity: {{agent_identity_description}}
50
- focus: {{primary_focus_areas}}
51
-
52
- core_principles:
53
- - {{principle_1}}
54
- - {{principle_2}}
55
- - {{principle_3}}
56
- # Add more principles as needed
57
-
58
- startup:
59
- - Greet the user with your name and role, and inform of the *help command.
60
- - {{startup_instruction_1}}
61
- - {{startup_instruction_2}}
62
-
63
- commands:
64
- - "*help" - Show: numbered list of the following commands to allow selection
65
- - "*chat-mode" - (Default) {{default_mode_description}}
66
- - "*create-doc {template}" - Create doc (no template = show available templates)
67
- {{custom_commands}}
68
- - "*exit" - Say goodbye as the {{agent_title}}, and then abandon inhabiting this persona
69
-
70
- dependencies:
71
- tasks:
72
- - create-doc # Required if agent creates documents from templates
73
- {{task_list}}
74
-
75
- templates:
76
- {{template_list}}
77
-
78
- checklists:
79
- {{checklist_list}}
80
-
81
- data:
82
- {{data_list}}
83
-
84
- utils:
85
- - template-format # Required if using templates
86
- {{util_list}}
87
- instruction: |
88
- For output generation tasks, always use create-doc with templates rather than custom tasks.
89
- Example: Instead of a "create-blueprint" task, use "*create-doc blueprint-tmpl"
90
- The template should contain LLM instructions for guiding users through the creation process
91
-
92
- Only create custom tasks for actions that don't produce documents, like analysis, validation, or process execution
93
-
94
- CRITICAL - All dependencies listed here MUST exist in the expansion pack or be created:
95
- - Tasks: Must exist in tasks/ directory (include create-doc if using templates)
96
- - Templates: Must exist in templates/ directory with proper LLM instructions
97
- - Checklists: Must exist in checklists/ directory for quality validation
98
- - Data: Must exist in data/ directory or be documented as user-required
99
- - Utils: Must exist in utils/ directory (include template-format if using templates)
100
-
101
- - id: example
102
- title: Example: Construction Contractor Agent
103
- type: code
104
- language: yaml
105
- template: |
106
- activation-instructions:
107
- - Follow all instructions in this file
108
- - Stay in character as Marcus Thompson, Construction Manager
109
- - Use numbered options for all interactions
110
- agent:
111
- name: Marcus Thompson
112
- id: construction-contractor
113
- title: Construction Project Manager
114
- customization: null
115
- persona:
116
- role: Licensed general contractor with 20 years experience
117
- style: Professional, detail-oriented, safety-conscious
118
- identity: Former site foreman who worked up to project management
119
- focus: Building design, code compliance, project scheduling, cost estimation
120
- core_principles:
121
- - Safety first - all designs must prioritize worker and occupant safety
122
- - Code compliance - ensure all work meets local building codes
123
- - Quality craftsmanship - no shortcuts on structural integrity
124
- startup:
125
- - Greet as Marcus Thompson, Construction Project Manager
126
- - Briefly mention your experience and readiness to help
127
- - Ask what type of construction project they're planning
128
- - DO NOT auto-execute any commands
129
- commands:
130
- - '*help" - Show numbered list of available commands'
131
- - '*chat-mode" - Discuss construction projects and provide expertise'
132
- - '*create-doc blueprint-tmpl" - Create architectural blueprints'
133
- - '*create-doc estimate-tmpl" - Create project cost estimate'
134
- - '*create-doc schedule-tmpl" - Create construction schedule'
135
- - '*validate-plans" - Review plans for code compliance'
136
- - '*safety-assessment" - Evaluate safety considerations'
137
- - '*exit" - Say goodbye as Marcus and exit'
138
- dependencies:
139
- tasks:
140
- - create-doc
141
- - validate-plans
142
- - safety-assessment
143
- templates:
144
- - blueprint-tmpl
145
- - estimate-tmpl
146
- - schedule-tmpl
147
- checklists:
148
- - blueprint-checklist
149
- - safety-checklist
150
- data:
151
- - building-codes.md
152
- - materials-guide.md
153
- utils:
154
- - template-format
@@ -1,120 +0,0 @@
1
- template:
2
- id: expansion-pack-plan-template-v2
3
- name: Expansion Pack Plan
4
- version: 2.0
5
- output:
6
- format: markdown
7
- filename: "{{pack_name}}-expansion-pack-plan.md"
8
- title: "{{pack_display_name}} Expansion Pack Plan"
9
-
10
- workflow:
11
- mode: interactive
12
-
13
- sections:
14
- - id: overview
15
- title: Overview
16
- template: |
17
- - **Pack Name**: {{pack_identifier}}
18
- - **Display Name**: {{full_expansion_pack_name}}
19
- - **Description**: {{brief_description}}
20
- - **Target Domain**: {{industry_domain}}
21
- - **Author**: {{author_name_organization}}
22
-
23
- - id: problem-statement
24
- title: Problem Statement
25
- instruction: What specific challenges does this expansion pack solve?
26
- template: "{{problem_description}}"
27
-
28
- - id: target-users
29
- title: Target Users
30
- instruction: Who will benefit from this expansion pack?
31
- template: "{{target_user_description}}"
32
-
33
- - id: components
34
- title: Components to Create
35
- sections:
36
- - id: agents
37
- title: Agents
38
- type: checklist
39
- instruction: List all agents to be created with their roles and dependencies
40
- items:
41
- - id: orchestrator
42
- template: |
43
- `{{pack_name}}-orchestrator` - **REQUIRED**: Master orchestrator for {{domain}} workflows
44
- - Key commands: {{command_list}}
45
- - Manages: {{orchestration_scope}}
46
- - id: agent-list
47
- repeatable: true
48
- template: |
49
- `{{agent_name}}` - {{role_description}}
50
- - Tasks used: {{task_list}}
51
- - Templates used: {{template_list}}
52
- - Data required: {{data_requirements}}
53
-
54
- - id: tasks
55
- title: Tasks
56
- type: checklist
57
- instruction: List all tasks to be created
58
- repeatable: true
59
- template: "`{{task_name}}.md` - {{purpose}} (used by: {{using_agents}})"
60
-
61
- - id: templates
62
- title: Templates
63
- type: checklist
64
- instruction: List all templates to be created
65
- repeatable: true
66
- template: "`{{template_name}}-tmpl.md` - {{document_type}} (used by: {{using_components}})"
67
-
68
- - id: checklists
69
- title: Checklists
70
- type: checklist
71
- instruction: List all checklists to be created
72
- repeatable: true
73
- template: "`{{checklist_name}}-checklist.md` - {{validation_purpose}}"
74
-
75
- - id: data-files
76
- title: Data Files Required from User
77
- instruction: |
78
- Users must add these files to `bmad-core/data/`:
79
- type: checklist
80
- repeatable: true
81
- template: |
82
- `{{data_filename}}.{{extension}}` - {{content_description}}
83
- - Format: {{file_format}}
84
- - Purpose: {{why_needed}}
85
- - Example: {{brief_example}}
86
-
87
- - id: workflow-overview
88
- title: Workflow Overview
89
- type: numbered-list
90
- instruction: Describe the typical workflow steps
91
- template: "{{workflow_step}}"
92
-
93
- - id: integration-points
94
- title: Integration Points
95
- template: |
96
- - Depends on core agents: {{core_agent_dependencies}}
97
- - Extends teams: {{team_updates}}
98
-
99
- - id: success-criteria
100
- title: Success Criteria
101
- type: checklist
102
- items:
103
- - "All components created and cross-referenced"
104
- - "No orphaned task/template references"
105
- - "Data requirements clearly documented"
106
- - "Orchestrator provides clear workflow"
107
- - "README includes setup instructions"
108
-
109
- - id: user-approval
110
- title: User Approval
111
- type: checklist
112
- items:
113
- - "Plan reviewed by user"
114
- - "Approval to proceed with implementation"
115
-
116
- - id: next-steps
117
- content: |
118
- ---
119
-
120
- **Next Steps**: Once approved, proceed with Phase 3 implementation starting with the orchestrator agent.
@@ -1,57 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const fs = require('fs');
4
- const path = require('path');
5
- const yaml = require('js-yaml');
6
-
7
- const args = process.argv.slice(2);
8
- const bumpType = args[0] || 'minor'; // default to minor
9
-
10
- if (!['major', 'minor', 'patch'].includes(bumpType)) {
11
- console.log('Usage: node bump-core-version.js [major|minor|patch]');
12
- console.log('Default: minor');
13
- process.exit(1);
14
- }
15
-
16
- function bumpVersion(currentVersion, type) {
17
- const [major, minor, patch] = currentVersion.split('.').map(Number);
18
-
19
- switch (type) {
20
- case 'major':
21
- return `${major + 1}.0.0`;
22
- case 'minor':
23
- return `${major}.${minor + 1}.0`;
24
- case 'patch':
25
- return `${major}.${minor}.${patch + 1}`;
26
- default:
27
- return currentVersion;
28
- }
29
- }
30
-
31
- async function bumpCoreVersion() {
32
- try {
33
- const coreConfigPath = path.join(__dirname, '..', 'bmad-core', 'core-config.yaml');
34
-
35
- const coreConfigContent = fs.readFileSync(coreConfigPath, 'utf8');
36
- const coreConfig = yaml.load(coreConfigContent);
37
- const oldVersion = coreConfig.version || '1.0.0';
38
- const newVersion = bumpVersion(oldVersion, bumpType);
39
-
40
- coreConfig.version = newVersion;
41
-
42
- const updatedYaml = yaml.dump(coreConfig, { indent: 2 });
43
- fs.writeFileSync(coreConfigPath, updatedYaml);
44
-
45
- console.log(`✓ BMad Core: ${oldVersion} → ${newVersion}`);
46
- console.log(`\n✓ Successfully bumped BMad Core with ${bumpType} version bump`);
47
- console.log('\nNext steps:');
48
- console.log('1. Test the changes');
49
- console.log('2. Commit: git add -A && git commit -m "chore: bump core version (' + bumpType + ')"');
50
-
51
- } catch (error) {
52
- console.error('Error updating core version:', error.message);
53
- process.exit(1);
54
- }
55
- }
56
-
57
- bumpCoreVersion();