bmad-method 4.27.4 → 4.27.5

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [4.27.5](https://github.com/bmadcode/BMAD-METHOD/compare/v4.27.4...v4.27.5) (2025-07-08)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * installer for github copilot asks follow up questions right away now so it does not seem to hang, and some minor doc improvements ([cadf8b6](https://github.com/bmadcode/BMAD-METHOD/commit/cadf8b6750afd5daa32eb887608c614584156a69))
7
+
1
8
  ## [4.27.4](https://github.com/bmadcode/BMAD-METHOD/compare/v4.27.3...v4.27.4) (2025-07-07)
2
9
 
3
10
 
package/CONTRIBUTING.md CHANGED
@@ -4,7 +4,7 @@ Thank you for considering contributing to this project! This document outlines t
4
4
 
5
5
  🆕 **New to GitHub or pull requests?** Check out our [beginner-friendly Pull Request Guide](docs/how-to-contribute-with-pull-requests.md) first!
6
6
 
7
- 📋 **Before contributing**, please read our [Guiding Principles](GUIDING-PRINCIPLES.md) to understand the BMad Method's core philosophy and architectural decisions.
7
+ 📋 **Before contributing**, please read our [Guiding Principles](docs/GUIDING-PRINCIPLES.md) to understand the BMad Method's core philosophy and architectural decisions.
8
8
 
9
9
  Also note, we use the discussions feature in GitHub to have a community to discuss potential ideas, uses, additions and enhancements.
10
10
 
@@ -52,7 +52,7 @@ By participating in this project, you agree to abide by our Code of Conduct. Ple
52
52
 
53
53
  Please only propose small granular commits! If its large or significant, please discuss in the discussions tab and open up an issue first. I do not want you to waste your time on a potentially very large PR to have it rejected because it is not aligned or deviates from other planned changes. Communicate and lets work together to build and improve this great community project!
54
54
 
55
- **Important**: All contributions must align with our [Guiding Principles](GUIDING-PRINCIPLES.md). Key points:
55
+ **Important**: All contributions must align with our [Guiding Principles](docs/GUIDING-PRINCIPLES.md). Key points:
56
56
 
57
57
  - Keep dev agents lean - they need context for coding, not documentation
58
58
  - Web/planning agents can be larger with more complex tasks
@@ -93,7 +93,6 @@ dependencies:
93
93
  - technical-preferences.md
94
94
  utils:
95
95
  - plan-management.md
96
- - workflow-management.md
97
96
  workflows:
98
97
  - brownfield-fullstack.md
99
98
  - brownfield-service.md
@@ -726,7 +726,7 @@ For full details, see `CONTRIBUTING.md`. Key points:
726
726
  - Atomic commits - one logical change per commit
727
727
  - Must align with guiding principles
728
728
 
729
- **Core Principles** (from GUIDING-PRINCIPLES.md):
729
+ **Core Principles** (from docs/GUIDING-PRINCIPLES.md):
730
730
 
731
731
  - **Dev Agents Must Be Lean**: Minimize dependencies, save context for code
732
732
  - **Natural Language First**: Everything in markdown, no code in core
@@ -796,8 +796,8 @@ Use the **expansion-creator** pack to build your own:
796
796
 
797
797
  ## Getting Help
798
798
 
799
- - **Commands**: Use `/help` in any environment to see available commands
800
- - **Agent Switching**: Use `/switch agent-name` with orchestrator for role changes
799
+ - **Commands**: Use `*/*help` in any environment to see available commands
800
+ - **Agent Switching**: Use `*/*switch agent-name` with orchestrator for role changes
801
801
  - **Documentation**: Check `docs/` folder for project-specific context
802
802
  - **Community**: Discord and GitHub resources available for support
803
803
  - **Contributing**: See `CONTRIBUTING.md` for full guidelines
@@ -15,7 +15,7 @@ The BMad Method is a natural language framework for AI-assisted software develop
15
15
 
16
16
  - **Everything is markdown**: Agents, tasks, templates - all written in plain English
17
17
  - **No code in core**: The framework itself contains no programming code, only natural language instructions
18
- - **Self-contained templates**: Templates include their own generation instructions using `[[LLM: ...]]` markup
18
+ - **Self-contained templates**: Templates are defined as YAML files with structured sections that include metadata, workflow configuration, and detailed instructions for content generation
19
19
 
20
20
  ### 3. Agent and Task Design
21
21
 
@@ -60,22 +60,28 @@ See [Expansion Packs Guide](../docs/expansion-packs.md) for detailed examples an
60
60
  - This keeps context overhead minimal
61
61
  6. **Reuse common tasks** - Don't create new document creation tasks
62
62
  - Use the existing `create-doc` task
63
- - Pass the appropriate template with embedded LLM instructions
63
+ - Pass the appropriate YAML template with structured sections
64
64
  - This maintains consistency and reduces duplication
65
65
 
66
66
  ### Template Rules
67
67
 
68
- 1. Include generation instructions with `[[LLM: ...]]` markup
69
- 2. Provide clear structure for output
70
- 3. Make templates reusable across agents
71
- 4. Use standardized markup elements:
72
- - `{{placeholders}}` for variables to be replaced
73
- - `[[LLM: instructions]]` for AI-only processing (never shown to users)
74
- - `REPEAT` sections for repeatable content blocks
75
- - `^^CONDITION^^` blocks for conditional content
76
- - `@{examples}` for guidance examples (never output to users)
77
- 5. NEVER display template markup or LLM instructions to users
78
- 6. Focus on clean output - all processing instructions stay internal
68
+ Templates follow the [BMad Document Template](common/utils/bmad-doc-template.md) specification using YAML format:
69
+
70
+ 1. **Structure**: Templates are defined in YAML with clear metadata, workflow configuration, and section hierarchy
71
+ 2. **Separation of Concerns**: Instructions for LLMs are in `instruction` fields, separate from content
72
+ 3. **Reusability**: Templates are agent-agnostic and can be used across different agents
73
+ 4. **Key Components**:
74
+ - `template` block for metadata (id, name, version, output settings)
75
+ - `workflow` block for interaction mode configuration
76
+ - `sections` array defining document structure with nested subsections
77
+ - Each section has `id`, `title`, and `instruction` fields
78
+ 5. **Advanced Features**:
79
+ - Variable substitution using `{{variable_name}}` syntax
80
+ - Conditional sections with `condition` field
81
+ - Repeatable sections with `repeatable: true`
82
+ - Agent permissions with `owner` and `editors` fields
83
+ - Examples arrays for guidance (never included in output)
84
+ 6. **Clean Output**: YAML structure ensures all processing logic stays separate from generated content
79
85
 
80
86
  ## Remember
81
87
 
@@ -0,0 +1,86 @@
1
+ # Old Template Markup System References
2
+
3
+ This document catalogs all references to the old template markup system found in the BMAD-METHOD documentation and codebase.
4
+
5
+ ## Summary of Old Markup Patterns
6
+
7
+ The old template markup system used the following patterns:
8
+
9
+ - `[[LLM: ...]]` - LLM-only processing directives
10
+ - `{{placeholders}}` - Variable substitution
11
+ - `<<REPEAT section="name">>` - Repeatable sections
12
+ - `^^CONDITION: condition_name^^` - Conditional blocks
13
+ - `@{examples}` - Example content markers
14
+
15
+ ## Files Containing References
16
+
17
+ ### 1. Primary Documentation Files
18
+
19
+ #### `/Users/brianmadison/dev-bmc/BMAD-METHOD/docs/user-guide.md`
20
+
21
+ - **Lines 149-155**: Describes template structure with placeholders and LLM instructions
22
+ - **Lines 229-230**: References advanced elicitation with embedded LLM instructions
23
+ - **Lines 527-549**: Shows custom template creation with LLM instructions and placeholders
24
+ - **Lines 590-632**: Detailed template patterns including variables, AI processing, and conditionals
25
+ - **Lines 619-623**: References to `@{example}` patterns and `[[LLM:]]` instructions
26
+
27
+ #### `/Users/brianmadison/dev-bmc/BMAD-METHOD/docs/core-architecture.md`
28
+
29
+ - **Lines 93-104**: Describes templates as self-contained with embedded LLM instructions
30
+ - **Lines 97-104**: Mentions template-format.md specification with placeholders and LLM directives
31
+
32
+ #### `/Users/brianmadison/dev-bmc/BMAD-METHOD/CLAUDE.md`
33
+
34
+ - **Lines 37, 262**: References to template instructions using `[[LLM: ...]]` markup
35
+ - **Line 38**: Mentions templates with embedded LLM instructions
36
+
37
+ ### 2. Common Utilities
38
+
39
+ #### `/Users/brianmadison/dev-bmc/BMAD-METHOD/common/utils/bmad-doc-template.md`
40
+
41
+ - **Lines 296-324**: Migration section describes converting from legacy markdown+frontmatter templates
42
+ - **Lines 319-323**: Specific conversion instructions for old markup patterns
43
+
44
+ ### 3. Task Files
45
+
46
+ #### `/Users/brianmadison/dev-bmc/BMAD-METHOD/bmad-core/tasks/shard-doc.md`
47
+
48
+ - **Lines 11-30**: Contains LLM instructions embedded in the task
49
+ - **Line 160**: References preserving template markup including `{{placeholders}}` and `[[LLM instructions]]`
50
+
51
+ #### `/Users/brianmadison/dev-bmc/BMAD-METHOD/expansion-packs/bmad-creator-tools/tasks/generate-expansion-pack.md`
52
+
53
+ - **Lines 10-14**: Describes template systems with LLM instruction embedding
54
+ - **Lines 107-118**: Template section planning with LLM instructions
55
+ - **Lines 229-245**: Detailed LLM instruction patterns for templates
56
+ - **Lines 569-593**: Advanced template design patterns
57
+ - **Lines 229, 573**: Specific examples of `[[LLM:]]` usage
58
+ - **Line 574**: References conditional content with `^^CONDITION:^^`
59
+ - **Line 576**: Mentions iteration controls with `<<REPEAT>>`
60
+
61
+ ### 4. Agent and Template Files
62
+
63
+ Multiple agent and task files contain actual usage of the old markup system (22 files found with `[[LLM:]]` patterns), including:
64
+
65
+ - Story templates
66
+ - Checklists
67
+ - Task definitions
68
+ - Workflow plans
69
+
70
+ ## Key Observations
71
+
72
+ 1. **Documentation vs Implementation**: The documentation heavily references the old markup system, while the new YAML-based template system (`bmad-doc-template.md`) is already defined but not yet reflected in the main documentation.
73
+
74
+ 2. **Migration Path**: The `bmad-doc-template.md` file includes a migration section (lines 316-324) that explicitly maps old patterns to new YAML structures.
75
+
76
+ 3. **Active Usage**: Many core tasks and templates still actively use the old markup patterns, particularly `[[LLM:]]` instructions embedded within markdown files.
77
+
78
+ 4. **Inconsistency**: Some files reference a `template-format.md` file that doesn't exist in the expected locations, suggesting incomplete migration or documentation updates.
79
+
80
+ ## Recommendations
81
+
82
+ 1. **Update User Guide**: The user guide needs significant updates to reflect the new YAML-based template system
83
+ 2. **Update Core Architecture Docs**: Remove references to embedded LLM instructions in templates
84
+ 3. **Create Template Migration Guide**: A comprehensive guide for converting existing templates
85
+ 4. **Update Extension Pack Documentation**: The bmad-creator-tools expansion pack documentation needs updates
86
+ 5. **Audit Active Templates**: Review and migrate templates that still use the old markup system
@@ -1,3 +1,308 @@
1
- # Usage Information
1
+ # BMad Infrastructure DevOps Expansion Pack Knowledge Base
2
2
 
3
- TODO
3
+ ## Overview
4
+
5
+ The BMad Infrastructure DevOps expansion pack extends the BMad Method framework with comprehensive infrastructure and DevOps capabilities. It enables teams to design, implement, validate, and maintain modern cloud-native infrastructure alongside their application development efforts.
6
+
7
+ **Version**: 1.7.0
8
+ **BMad Compatibility**: v4+
9
+ **Author**: Brian (BMad)
10
+
11
+ ## Core Purpose
12
+
13
+ This expansion pack addresses the critical need for systematic infrastructure planning and implementation in modern software projects. It provides:
14
+
15
+ - Structured approach to infrastructure architecture design
16
+ - Platform engineering implementation guidance
17
+ - Comprehensive validation and review processes
18
+ - Integration with core BMad development workflows
19
+ - Support for cloud-native and traditional infrastructure patterns
20
+
21
+ ## When to Use This Expansion Pack
22
+
23
+ Use the BMad Infrastructure DevOps expansion pack when your project involves:
24
+
25
+ - **Cloud Infrastructure Design**: AWS, Azure, GCP, or multi-cloud architectures
26
+ - **Kubernetes and Container Orchestration**: Container platform design and implementation
27
+ - **Infrastructure as Code**: Terraform, CloudFormation, Pulumi implementations
28
+ - **GitOps Workflows**: ArgoCD, Flux, or similar continuous deployment patterns
29
+ - **Platform Engineering**: Building internal developer platforms and self-service capabilities
30
+ - **Service Mesh Implementation**: Istio, Linkerd, or similar service mesh architectures
31
+ - **DevOps Transformation**: Establishing or improving DevOps practices and culture
32
+
33
+ ## Key Components
34
+
35
+ ### 1. DevOps Agent: Alex
36
+
37
+ **Role**: DevOps Infrastructure Specialist
38
+ **Experience**: 15+ years in infrastructure and platform engineering
39
+
40
+ **Core Principles**:
41
+
42
+ - Infrastructure as Code (IaC) First
43
+ - Automation and Repeatability
44
+ - Reliability and Scalability
45
+ - Security by Design
46
+ - Cost Optimization
47
+ - Developer Experience Focus
48
+
49
+ **Commands**:
50
+
51
+ - `*help` - Display available commands and capabilities
52
+ - `*chat-mode` - Interactive conversation mode for infrastructure discussions
53
+ - `*create-doc` - Generate infrastructure documentation from templates
54
+ - `*review-infrastructure` - Conduct systematic infrastructure review
55
+ - `*validate-infrastructure` - Validate infrastructure against comprehensive checklist
56
+ - `*checklist` - Access the 16-section infrastructure validation checklist
57
+ - `*exit` - Return to normal context
58
+
59
+ ### 2. Infrastructure Templates
60
+
61
+ #### Infrastructure Architecture Template
62
+
63
+ **Purpose**: Design comprehensive infrastructure architecture
64
+ **Key Sections**:
65
+
66
+ - Infrastructure Overview (providers, regions, environments)
67
+ - Infrastructure as Code approach and tooling
68
+ - Network Architecture with visual diagrams
69
+ - Compute Resources planning
70
+ - Security Architecture design
71
+ - Monitoring and Observability strategy
72
+ - CI/CD Pipeline architecture
73
+ - Disaster Recovery planning
74
+ - BMad Integration points
75
+
76
+ #### Platform Implementation Template
77
+
78
+ **Purpose**: Implement platform infrastructure based on approved architecture
79
+ **Key Sections**:
80
+
81
+ - Foundation Infrastructure Layer
82
+ - Container Platform (Kubernetes) setup
83
+ - GitOps Workflow implementation
84
+ - Service Mesh configuration
85
+ - Developer Experience Platform
86
+ - Security hardening procedures
87
+ - Platform validation and testing
88
+
89
+ ### 3. Tasks
90
+
91
+ #### Review Infrastructure Task
92
+
93
+ **Purpose**: Systematic infrastructure review process
94
+ **Features**:
95
+
96
+ - Incremental or rapid assessment modes
97
+ - Architectural escalation for complex issues
98
+ - Advanced elicitation for deep analysis
99
+ - Prioritized findings and recommendations
100
+ - Integration with BMad Architecture phase
101
+
102
+ #### Validate Infrastructure Task
103
+
104
+ **Purpose**: Comprehensive infrastructure validation
105
+ **Features**:
106
+
107
+ - 16-section validation checklist
108
+ - Architecture Design Review Gate
109
+ - Compliance percentage tracking
110
+ - Remediation planning
111
+ - BMad integration assessment
112
+
113
+ ### 4. Infrastructure Validation Checklist
114
+
115
+ A comprehensive 16-section checklist covering:
116
+
117
+ **Foundation Infrastructure (Sections 1-12)**:
118
+
119
+ 1. Security Foundation - IAM, encryption, compliance
120
+ 2. Infrastructure as Code - Version control, testing, documentation
121
+ 3. Resilience & High Availability - Multi-AZ, failover, SLAs
122
+ 4. Backup & Disaster Recovery - Strategies, testing, RTO/RPO
123
+ 5. Monitoring & Observability - Metrics, logging, alerting
124
+ 6. Performance & Scalability - Auto-scaling, load testing
125
+ 7. Infrastructure Operations - Patching, maintenance, runbooks
126
+ 8. CI/CD Infrastructure - Pipelines, environments, deployments
127
+ 9. Networking & Connectivity - Architecture, security, DNS
128
+ 10. Compliance & Governance - Standards, auditing, policies
129
+ 11. BMad Integration - Agent support, workflow alignment
130
+ 12. Architecture Documentation - Diagrams, decisions, maintenance
131
+
132
+ **Platform Engineering (Sections 13-16)**: 13. Container Platform - Kubernetes setup, RBAC, networking 14. GitOps Workflows - Repository structure, deployment patterns 15. Service Mesh - Traffic management, security, observability 16. Developer Experience - Self-service, documentation, tooling
133
+
134
+ ## Integration with BMad Flow
135
+
136
+ ### Workflow Integration Points
137
+
138
+ 1. **After Architecture Phase**: Infrastructure design begins after application architecture is defined
139
+ 2. **Parallel to Development**: Infrastructure implementation runs alongside application development
140
+ 3. **Before Production**: Infrastructure validation gates before production deployment
141
+ 4. **Continuous Operation**: Ongoing infrastructure reviews and improvements
142
+
143
+ ### Agent Collaboration
144
+
145
+ - **With Architect (Sage)**: Joint planning sessions, design reviews, architectural alignment
146
+ - **With Developer (Blake)**: Platform capabilities, development environment setup
147
+ - **With Product Manager (Finley)**: Infrastructure requirements, cost considerations
148
+ - **With Creator Agents**: Infrastructure for creative workflows and asset management
149
+
150
+ ## Best Practices
151
+
152
+ ### Infrastructure Design
153
+
154
+ 1. **Start with Requirements**: Understand application needs before designing infrastructure
155
+ 2. **Design for Scale**: Plan for 10x growth from day one
156
+ 3. **Security First**: Implement defense in depth at every layer
157
+ 4. **Cost Awareness**: Balance performance with budget constraints
158
+ 5. **Document Everything**: Maintain comprehensive documentation
159
+
160
+ ### Implementation Approach
161
+
162
+ 1. **Incremental Rollout**: Deploy infrastructure in stages with validation gates
163
+ 2. **Automation Focus**: Automate repetitive tasks and deployments
164
+ 3. **Testing Strategy**: Include infrastructure testing in CI/CD pipelines
165
+ 4. **Monitoring Setup**: Implement observability before production
166
+ 5. **Team Training**: Ensure team understanding of infrastructure
167
+
168
+ ### Validation Process
169
+
170
+ 1. **Regular Reviews**: Schedule periodic infrastructure assessments
171
+ 2. **Checklist Compliance**: Maintain high compliance with validation checklist
172
+ 3. **Performance Baselines**: Establish and monitor performance metrics
173
+ 4. **Security Audits**: Regular security assessments and penetration testing
174
+ 5. **Cost Optimization**: Monthly cost reviews and optimization
175
+
176
+ ## Common Use Cases
177
+
178
+ ### 1. New Project Infrastructure
179
+
180
+ **Scenario**: Starting a new cloud-native application
181
+ **Process**:
182
+
183
+ 1. Use Infrastructure Architecture template for design
184
+ 2. Review with Architect agent
185
+ 3. Implement using Platform Implementation template
186
+ 4. Validate with comprehensive checklist
187
+ 5. Deploy incrementally with monitoring
188
+
189
+ ### 2. Infrastructure Modernization
190
+
191
+ **Scenario**: Migrating legacy infrastructure to cloud
192
+ **Process**:
193
+
194
+ 1. Review existing infrastructure
195
+ 2. Design target architecture
196
+ 3. Plan migration phases
197
+ 4. Implement with validation gates
198
+ 5. Monitor and optimize
199
+
200
+ ### 3. Platform Engineering Initiative
201
+
202
+ **Scenario**: Building internal developer platform
203
+ **Process**:
204
+
205
+ 1. Assess developer needs
206
+ 2. Design platform architecture
207
+ 3. Implement Kubernetes/GitOps foundation
208
+ 4. Build self-service capabilities
209
+ 5. Enable developer adoption
210
+
211
+ ### 4. Multi-Cloud Strategy
212
+
213
+ **Scenario**: Implementing multi-cloud architecture
214
+ **Process**:
215
+
216
+ 1. Define cloud strategy and requirements
217
+ 2. Design cloud-agnostic architecture
218
+ 3. Implement with IaC abstraction
219
+ 4. Validate cross-cloud functionality
220
+ 5. Establish unified monitoring
221
+
222
+ ## Advanced Features
223
+
224
+ ### GitOps Workflows
225
+
226
+ - **Repository Structure**: Organized by environment and application
227
+ - **Deployment Patterns**: Progressive delivery, canary deployments
228
+ - **Secret Management**: External secrets operator integration
229
+ - **Policy Enforcement**: OPA/Gatekeeper for compliance
230
+
231
+ ### Service Mesh Capabilities
232
+
233
+ - **Traffic Management**: Load balancing, circuit breaking, retries
234
+ - **Security**: mTLS, authorization policies
235
+ - **Observability**: Distributed tracing, service maps
236
+ - **Multi-Cluster**: Cross-cluster communication
237
+
238
+ ### Developer Self-Service
239
+
240
+ - **Portal Features**: Resource provisioning, environment management
241
+ - **API Gateway**: Centralized API management
242
+ - **Documentation**: Automated API docs, runbooks
243
+ - **Tooling**: CLI tools, IDE integrations
244
+
245
+ ## Troubleshooting Guide
246
+
247
+ ### Common Issues
248
+
249
+ 1. **Infrastructure Drift**
250
+
251
+ - Solution: Implement drift detection in IaC pipelines
252
+ - Prevention: Restrict manual changes, enforce GitOps
253
+
254
+ 2. **Cost Overruns**
255
+
256
+ - Solution: Implement cost monitoring and alerts
257
+ - Prevention: Resource tagging, budget limits
258
+
259
+ 3. **Performance Problems**
260
+
261
+ - Solution: Review monitoring data, scale resources
262
+ - Prevention: Load testing, capacity planning
263
+
264
+ 4. **Security Vulnerabilities**
265
+ - Solution: Immediate patching, security reviews
266
+ - Prevention: Automated scanning, compliance checks
267
+
268
+ ## Metrics and KPIs
269
+
270
+ ### Infrastructure Metrics
271
+
272
+ - **Availability**: Target 99.9%+ uptime
273
+ - **Performance**: Response time < 100ms
274
+ - **Cost Efficiency**: Cost per transaction trending down
275
+ - **Security**: Zero critical vulnerabilities
276
+ - **Automation**: 90%+ automated deployments
277
+
278
+ ### Platform Metrics
279
+
280
+ - **Developer Satisfaction**: NPS > 50
281
+ - **Self-Service Adoption**: 80%+ platform usage
282
+ - **Deployment Frequency**: Multiple per day
283
+ - **Lead Time**: < 1 hour from commit to production
284
+ - **MTTR**: < 30 minutes for incidents
285
+
286
+ ## Future Enhancements
287
+
288
+ ### Planned Features
289
+
290
+ 1. **AI-Driven Optimization**: Automated infrastructure tuning
291
+ 2. **Enhanced Security**: Zero-trust architecture templates
292
+ 3. **Edge Computing**: Support for edge infrastructure patterns
293
+ 4. **Sustainability**: Carbon footprint optimization
294
+ 5. **Advanced Compliance**: Industry-specific compliance templates
295
+
296
+ ### Integration Roadmap
297
+
298
+ 1. **Cloud Provider APIs**: Direct integration with AWS, Azure, GCP
299
+ 2. **IaC Tools**: Native support for Terraform, Pulumi
300
+ 3. **Monitoring Platforms**: Integration with Datadog, New Relic
301
+ 4. **Security Tools**: SIEM and vulnerability scanner integration
302
+ 5. **Cost Management**: FinOps platform integration
303
+
304
+ ## Conclusion
305
+
306
+ The BMad Infrastructure DevOps expansion pack provides a comprehensive framework for modern infrastructure and platform engineering. By following its structured approach and leveraging the provided tools and templates, teams can build reliable, scalable, and secure infrastructure that accelerates application delivery while maintaining operational excellence.
307
+
308
+ For support and updates, refer to the main BMad Method documentation or contact the BMad community.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bmad-method",
3
- "version": "4.27.4",
3
+ "version": "4.27.5",
4
4
  "description": "Breakthrough Method of Agile AI-driven Development",
5
5
  "main": "tools/cli.js",
6
6
  "bin": {
@@ -224,6 +224,58 @@ async function promptInstallation() {
224
224
  answers.installType = selectedItems.includes('bmad-core') ? 'full' : 'expansion-only';
225
225
  answers.expansionPacks = selectedItems.filter(item => item !== 'bmad-core');
226
226
 
227
+ // Ask sharding questions if installing BMad core
228
+ if (selectedItems.includes('bmad-core')) {
229
+ console.log(chalk.cyan('\n📋 Document Organization Settings'));
230
+ console.log(chalk.dim('Configure how your project documentation should be organized.\n'));
231
+
232
+ // Ask about PRD sharding
233
+ const { prdSharded } = await inquirer.prompt([
234
+ {
235
+ type: 'confirm',
236
+ name: 'prdSharded',
237
+ message: 'Will the PRD (Product Requirements Document) be sharded into multiple files?',
238
+ default: true
239
+ }
240
+ ]);
241
+ answers.prdSharded = prdSharded;
242
+
243
+ // Ask about architecture sharding
244
+ const { architectureSharded } = await inquirer.prompt([
245
+ {
246
+ type: 'confirm',
247
+ name: 'architectureSharded',
248
+ message: 'Will the architecture documentation be sharded into multiple files?',
249
+ default: true
250
+ }
251
+ ]);
252
+ answers.architectureSharded = architectureSharded;
253
+
254
+ // Show warning if architecture sharding is disabled
255
+ if (!architectureSharded) {
256
+ console.log(chalk.yellow.bold('\n⚠️ IMPORTANT: Architecture Sharding Disabled'));
257
+ console.log(chalk.yellow('With architecture sharding disabled, you should still create the files listed'));
258
+ console.log(chalk.yellow('in devLoadAlwaysFiles (like coding-standards.md, tech-stack.md, source-tree.md)'));
259
+ console.log(chalk.yellow('as these are used by the dev agent at runtime.'));
260
+ console.log(chalk.yellow('\nAlternatively, you can remove these files from the devLoadAlwaysFiles list'));
261
+ console.log(chalk.yellow('in your core-config.yaml after installation.'));
262
+
263
+ const { acknowledge } = await inquirer.prompt([
264
+ {
265
+ type: 'confirm',
266
+ name: 'acknowledge',
267
+ message: 'Do you acknowledge this requirement and want to proceed?',
268
+ default: false
269
+ }
270
+ ]);
271
+
272
+ if (!acknowledge) {
273
+ console.log(chalk.red('Installation cancelled.'));
274
+ process.exit(0);
275
+ }
276
+ }
277
+ }
278
+
227
279
  // Ask for IDE configuration
228
280
  const { ides } = await inquirer.prompt([
229
281
  {
@@ -246,6 +298,37 @@ async function promptInstallation() {
246
298
  // Use selected IDEs directly
247
299
  answers.ides = ides;
248
300
 
301
+ // Configure GitHub Copilot immediately if selected
302
+ if (ides.includes('github-copilot')) {
303
+ console.log(chalk.cyan('\n🔧 GitHub Copilot Configuration'));
304
+ console.log(chalk.dim('BMad works best with specific VS Code settings for optimal agent experience.\n'));
305
+
306
+ const { configChoice } = await inquirer.prompt([
307
+ {
308
+ type: 'list',
309
+ name: 'configChoice',
310
+ message: chalk.yellow('How would you like to configure GitHub Copilot settings?'),
311
+ choices: [
312
+ {
313
+ name: 'Use recommended defaults (fastest setup)',
314
+ value: 'defaults'
315
+ },
316
+ {
317
+ name: 'Configure each setting manually (customize to your preferences)',
318
+ value: 'manual'
319
+ },
320
+ {
321
+ name: 'Skip settings configuration (I\'ll configure manually later)',
322
+ value: 'skip'
323
+ }
324
+ ],
325
+ default: 'defaults'
326
+ }
327
+ ]);
328
+
329
+ answers.githubCopilotConfig = { configChoice };
330
+ }
331
+
249
332
  // Ask for web bundles installation
250
333
  const { includeWebBundles } = await inquirer.prompt([
251
334
  {
@@ -271,6 +271,34 @@ class FileManager {
271
271
 
272
272
  return manifest;
273
273
  }
274
+
275
+ async modifyCoreConfig(installDir, config) {
276
+ const coreConfigPath = path.join(installDir, '.bmad-core', 'core-config.yaml');
277
+
278
+ try {
279
+ // Read the existing core-config.yaml
280
+ const coreConfigContent = await fs.readFile(coreConfigPath, 'utf8');
281
+ const coreConfig = yaml.load(coreConfigContent);
282
+
283
+ // Modify sharding settings if provided
284
+ if (config.prdSharded !== undefined) {
285
+ coreConfig.prd.prdSharded = config.prdSharded;
286
+ }
287
+
288
+ if (config.architectureSharded !== undefined) {
289
+ coreConfig.architecture.architectureSharded = config.architectureSharded;
290
+ }
291
+
292
+ // Write back the modified config
293
+ await fs.writeFile(coreConfigPath, yaml.dump(coreConfig, { indent: 2 }));
294
+
295
+ return true;
296
+ } catch (error) {
297
+ await initializeModules();
298
+ console.error(chalk.red(`Failed to modify core-config.yaml:`), error.message);
299
+ return false;
300
+ }
301
+ }
274
302
  }
275
303
 
276
304
  module.exports = new FileManager();
@@ -41,7 +41,7 @@ class IdeSetup {
41
41
  }
42
42
  }
43
43
 
44
- async setup(ide, installDir, selectedAgent = null, spinner = null) {
44
+ async setup(ide, installDir, selectedAgent = null, spinner = null, preConfiguredSettings = null) {
45
45
  await initializeModules();
46
46
  const ideConfig = await configLoader.getIdeConfiguration(ide);
47
47
 
@@ -66,7 +66,7 @@ class IdeSetup {
66
66
  case "gemini":
67
67
  return this.setupGeminiCli(installDir, selectedAgent);
68
68
  case "github-copilot":
69
- return this.setupGitHubCopilot(installDir, selectedAgent, spinner);
69
+ return this.setupGitHubCopilot(installDir, selectedAgent, spinner, preConfiguredSettings);
70
70
  default:
71
71
  console.log(chalk.yellow(`\nIDE ${ide} not yet supported`));
72
72
  return false;
@@ -566,11 +566,11 @@ class IdeSetup {
566
566
  return true;
567
567
  }
568
568
 
569
- async setupGitHubCopilot(installDir, selectedAgent, spinner = null) {
569
+ async setupGitHubCopilot(installDir, selectedAgent, spinner = null, preConfiguredSettings = null) {
570
570
  await initializeModules();
571
571
 
572
572
  // Configure VS Code workspace settings first to avoid UI conflicts with loading spinners
573
- await this.configureVsCodeSettings(installDir, spinner);
573
+ await this.configureVsCodeSettings(installDir, spinner, preConfiguredSettings);
574
574
 
575
575
  const chatmodesDir = path.join(installDir, ".github", "chatmodes");
576
576
  const agents = selectedAgent ? [selectedAgent] : await this.getAllAgentIds(installDir);
@@ -616,7 +616,7 @@ tools: ['changes', 'codebase', 'fetch', 'findTestFiles', 'githubRepo', 'problems
616
616
  return true;
617
617
  }
618
618
 
619
- async configureVsCodeSettings(installDir, spinner) {
619
+ async configureVsCodeSettings(installDir, spinner, preConfiguredSettings = null) {
620
620
  await initializeModules(); // Ensure inquirer is loaded
621
621
  const vscodeDir = path.join(installDir, ".vscode");
622
622
  const settingsPath = path.join(vscodeDir, "settings.json");
@@ -636,34 +636,42 @@ tools: ['changes', 'codebase', 'fetch', 'findTestFiles', 'githubRepo', 'problems
636
636
  }
637
637
  }
638
638
 
639
- // Clear any previous output and add spacing to avoid conflicts with loaders
640
- console.log('\n'.repeat(2));
641
- console.log(chalk.blue("🔧 Github Copilot Agent Settings Configuration"));
642
- console.log(chalk.dim("BMad works best with specific VS Code settings for optimal agent experience."));
643
- console.log(''); // Add extra spacing
644
-
645
- const { configChoice } = await inquirer.prompt([
646
- {
647
- type: 'list',
648
- name: 'configChoice',
649
- message: 'How would you like to configure Github Copilot settings?',
650
- choices: [
651
- {
652
- name: 'Use recommended defaults (fastest setup)',
653
- value: 'defaults'
654
- },
655
- {
656
- name: 'Configure each setting manually (customize to your preferences)',
657
- value: 'manual'
658
- },
659
- {
660
- name: 'Skip settings configuration (I\'ll configure manually later)\n',
661
- value: 'skip'
662
- }
663
- ],
664
- default: 'defaults'
665
- }
666
- ]);
639
+ // Use pre-configured settings if provided, otherwise prompt
640
+ let configChoice;
641
+ if (preConfiguredSettings && preConfiguredSettings.configChoice) {
642
+ configChoice = preConfiguredSettings.configChoice;
643
+ console.log(chalk.dim(`Using pre-configured GitHub Copilot settings: ${configChoice}`));
644
+ } else {
645
+ // Clear any previous output and add spacing to avoid conflicts with loaders
646
+ console.log('\n'.repeat(2));
647
+ console.log(chalk.blue("🔧 Github Copilot Agent Settings Configuration"));
648
+ console.log(chalk.dim("BMad works best with specific VS Code settings for optimal agent experience."));
649
+ console.log(''); // Add extra spacing
650
+
651
+ const response = await inquirer.prompt([
652
+ {
653
+ type: 'list',
654
+ name: 'configChoice',
655
+ message: chalk.yellow('How would you like to configure GitHub Copilot settings?'),
656
+ choices: [
657
+ {
658
+ name: 'Use recommended defaults (fastest setup)',
659
+ value: 'defaults'
660
+ },
661
+ {
662
+ name: 'Configure each setting manually (customize to your preferences)',
663
+ value: 'manual'
664
+ },
665
+ {
666
+ name: 'Skip settings configuration (I\'ll configure manually later)',
667
+ value: 'skip'
668
+ }
669
+ ],
670
+ default: 'defaults'
671
+ }
672
+ ]);
673
+ configChoice = response.configChoice;
674
+ }
667
675
 
668
676
  let bmadSettings = {};
669
677
 
@@ -373,10 +373,17 @@ class Installer {
373
373
  if (ides.length > 0) {
374
374
  for (const ide of ides) {
375
375
  spinner.text = `Setting up ${ide} integration...`;
376
- await ideSetup.setup(ide, installDir, config.agent, spinner);
376
+ const preConfiguredSettings = ide === 'github-copilot' ? config.githubCopilotConfig : null;
377
+ await ideSetup.setup(ide, installDir, config.agent, spinner, preConfiguredSettings);
377
378
  }
378
379
  }
379
380
 
381
+ // Modify core-config.yaml if sharding preferences were provided
382
+ if (config.installType !== "expansion-only" && (config.prdSharded !== undefined || config.architectureSharded !== undefined)) {
383
+ spinner.text = "Configuring document sharding settings...";
384
+ await fileManager.modifyCoreConfig(installDir, config);
385
+ }
386
+
380
387
  // Create manifest (skip for expansion-only installations)
381
388
  if (config.installType !== "expansion-only") {
382
389
  spinner.text = "Creating installation manifest...";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bmad-method",
3
- "version": "4.27.4",
3
+ "version": "4.27.5",
4
4
  "description": "BMad Method installer - AI-powered Agile development framework",
5
5
  "main": "lib/installer.js",
6
6
  "bin": {