bmad-method 1.0.1
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/.bmad-core/agent-teams/team-all.yml +16 -0
- package/.bmad-core/agent-teams/team-fullstack.yml +26 -0
- package/.bmad-core/agent-teams/team-no-ui.yml +15 -0
- package/.bmad-core/agents/analyst.md +65 -0
- package/.bmad-core/agents/architect.md +66 -0
- package/.bmad-core/agents/bmad-master.md +107 -0
- package/.bmad-core/agents/bmad-orchestrator.md +81 -0
- package/.bmad-core/agents/dev.md +69 -0
- package/.bmad-core/agents/pm.md +64 -0
- package/.bmad-core/agents/po.md +60 -0
- package/.bmad-core/agents/qa.md +52 -0
- package/.bmad-core/agents/sm.md +60 -0
- package/.bmad-core/agents/ux-expert.md +66 -0
- package/.bmad-core/checklists/architect-checklist.md +443 -0
- package/.bmad-core/checklists/change-checklist.md +182 -0
- package/.bmad-core/checklists/pm-checklist.md +375 -0
- package/.bmad-core/checklists/po-master-checklist.md +441 -0
- package/.bmad-core/checklists/story-dod-checklist.md +101 -0
- package/.bmad-core/checklists/story-draft-checklist.md +156 -0
- package/.bmad-core/data/bmad-kb.md +36 -0
- package/.bmad-core/data/technical-preferences.md +3 -0
- package/.bmad-core/schemas/agent-team-schema.yml +153 -0
- package/.bmad-core/tasks/advanced-elicitation.md +92 -0
- package/.bmad-core/tasks/brainstorming-techniques.md +238 -0
- package/.bmad-core/tasks/brownfield-create-epic.md +160 -0
- package/.bmad-core/tasks/brownfield-create-story.md +147 -0
- package/.bmad-core/tasks/core-dump.md +74 -0
- package/.bmad-core/tasks/correct-course.md +73 -0
- package/.bmad-core/tasks/create-agent.md +202 -0
- package/.bmad-core/tasks/create-deep-research-prompt.md +301 -0
- package/.bmad-core/tasks/create-doc.md +74 -0
- package/.bmad-core/tasks/create-expansion-pack.md +425 -0
- package/.bmad-core/tasks/create-next-story.md +206 -0
- package/.bmad-core/tasks/create-team.md +229 -0
- package/.bmad-core/tasks/doc-migration-task.md +198 -0
- package/.bmad-core/tasks/execute-checklist.md +97 -0
- package/.bmad-core/tasks/generate-ai-frontend-prompt.md +58 -0
- package/.bmad-core/tasks/index-docs.md +180 -0
- package/.bmad-core/tasks/shard-doc.md +173 -0
- package/.bmad-core/templates/agent-tmpl.md +58 -0
- package/.bmad-core/templates/architecture-tmpl.md +771 -0
- package/.bmad-core/templates/brownfield-architecture-tmpl.md +542 -0
- package/.bmad-core/templates/brownfield-prd-tmpl.md +240 -0
- package/.bmad-core/templates/competitor-analysis-tmpl.md +289 -0
- package/.bmad-core/templates/expansion-pack-plan-tmpl.md +91 -0
- package/.bmad-core/templates/front-end-architecture-tmpl.md +173 -0
- package/.bmad-core/templates/front-end-spec-tmpl.md +411 -0
- package/.bmad-core/templates/fullstack-architecture-tmpl.md +1034 -0
- package/.bmad-core/templates/market-research-tmpl.md +261 -0
- package/.bmad-core/templates/prd-tmpl.md +200 -0
- package/.bmad-core/templates/project-brief-tmpl.md +228 -0
- package/.bmad-core/templates/story-tmpl.md +61 -0
- package/.bmad-core/templates/web-agent-startup-instructions-template.md +39 -0
- package/.bmad-core/utils/agent-switcher.ide.md +112 -0
- package/.bmad-core/utils/template-format.md +26 -0
- package/.bmad-core/utils/workflow-management.md +224 -0
- package/.bmad-core/web-bundles/agents/analyst.txt +1679 -0
- package/.bmad-core/web-bundles/agents/architect.txt +3602 -0
- package/.bmad-core/web-bundles/agents/bmad-master.txt +9496 -0
- package/.bmad-core/web-bundles/agents/bmad-orchestrator.txt +1455 -0
- package/.bmad-core/web-bundles/agents/dev.txt +315 -0
- package/.bmad-core/web-bundles/agents/pm.txt +2196 -0
- package/.bmad-core/web-bundles/agents/po.txt +1489 -0
- package/.bmad-core/web-bundles/agents/qa.txt +129 -0
- package/.bmad-core/web-bundles/agents/sm.txt +663 -0
- package/.bmad-core/web-bundles/agents/ux-expert.txt +1099 -0
- package/.bmad-core/web-bundles/teams/team-all.txt +10315 -0
- package/.bmad-core/web-bundles/teams/team-fullstack.txt +9663 -0
- package/.bmad-core/web-bundles/teams/team-no-ui.txt +8504 -0
- package/.bmad-core/workflows/brownfield-fullstack.yml +116 -0
- package/.bmad-core/workflows/brownfield-service.yml +117 -0
- package/.bmad-core/workflows/brownfield-ui.yml +127 -0
- package/.bmad-core/workflows/greenfield-fullstack.yml +177 -0
- package/.bmad-core/workflows/greenfield-service.yml +143 -0
- package/.bmad-core/workflows/greenfield-ui.yml +172 -0
- package/.claude/commands/analyst.md +69 -0
- package/.claude/commands/architect.md +70 -0
- package/.claude/commands/bmad-master.md +111 -0
- package/.claude/commands/bmad-orchestrator.md +85 -0
- package/.claude/commands/dev.md +73 -0
- package/.claude/commands/pm.md +68 -0
- package/.claude/commands/po.md +64 -0
- package/.claude/commands/qa.md +56 -0
- package/.claude/commands/sm.md +64 -0
- package/.claude/commands/ux-expert.md +70 -0
- package/.cursor/rules/analyst.mdc +83 -0
- package/.cursor/rules/architect.mdc +84 -0
- package/.cursor/rules/bmad-master.mdc +125 -0
- package/.cursor/rules/bmad-orchestrator.mdc +99 -0
- package/.cursor/rules/dev.mdc +87 -0
- package/.cursor/rules/pm.mdc +82 -0
- package/.cursor/rules/po.mdc +78 -0
- package/.cursor/rules/qa.mdc +70 -0
- package/.cursor/rules/sm.mdc +78 -0
- package/.cursor/rules/ux-expert.mdc +84 -0
- package/.github/workflows/release.yml +59 -0
- package/.husky/pre-commit +2 -0
- package/.releaserc.json +17 -0
- package/.roo/.roomodes +95 -0
- package/.roo/README.md +38 -0
- package/.vscode/extensions.json +6 -0
- package/.vscode/settings.json +72 -0
- package/.windsurf/rules/analyst.md +77 -0
- package/.windsurf/rules/architect.md +78 -0
- package/.windsurf/rules/bmad-master.md +119 -0
- package/.windsurf/rules/bmad-orchestrator.md +93 -0
- package/.windsurf/rules/dev.md +81 -0
- package/.windsurf/rules/pm.md +76 -0
- package/.windsurf/rules/po.md +72 -0
- package/.windsurf/rules/qa.md +64 -0
- package/.windsurf/rules/sm.md +72 -0
- package/.windsurf/rules/ux-expert.md +78 -0
- package/CHANGELOG.md +22 -0
- package/CONTRIBUTING.md +46 -0
- package/LICENSE +21 -0
- package/README.md +283 -0
- package/docs/versioning-and-releases.md +85 -0
- package/docs/versions.md +49 -0
- package/expansion-packs/README.md +113 -0
- package/expansion-packs/infrastructure-devops/README.md +147 -0
- package/expansion-packs/infrastructure-devops/agents/infra-devops-platform.md +59 -0
- package/expansion-packs/infrastructure-devops/checklists/infrastructure-checklist.md +484 -0
- package/expansion-packs/infrastructure-devops/manifest.yml +38 -0
- package/expansion-packs/infrastructure-devops/tasks/review-infrastructure.md +160 -0
- package/expansion-packs/infrastructure-devops/tasks/validate-infrastructure.md +154 -0
- package/expansion-packs/infrastructure-devops/templates/infrastructure-architecture-tmpl.md +415 -0
- package/expansion-packs/infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
- package/package.json +73 -0
- package/tools/bmad-npx-wrapper.js +41 -0
- package/tools/builders/web-builder.js +145 -0
- package/tools/cli.js +119 -0
- package/tools/installer/README.md +58 -0
- package/tools/installer/bin/bmad.js +179 -0
- package/tools/installer/config/install.config.yml +139 -0
- package/tools/installer/lib/config-loader.js +89 -0
- package/tools/installer/lib/file-manager.js +169 -0
- package/tools/installer/lib/ide-setup.js +419 -0
- package/tools/installer/lib/installer.js +534 -0
- package/tools/installer/package-lock.json +704 -0
- package/tools/installer/package.json +43 -0
- package/tools/installer/templates/claude-commands.md +7 -0
- package/tools/installer/templates/cursor-rules.md +22 -0
- package/tools/installer/templates/windsurf-rules.md +22 -0
- package/tools/lib/dependency-resolver.js +179 -0
- package/tools/upgraders/v3-to-v4-upgrader.js +766 -0
- package/tools/version-bump.js +72 -0
- package/tools/yaml-format.js +211 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Infrastructure Validation Task
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
To comprehensively validate platform infrastructure changes against security, reliability, operational, and compliance requirements before deployment. This task ensures all platform infrastructure meets organizational standards, follows best practices, and properly integrates with the broader BMAD ecosystem.
|
|
6
|
+
|
|
7
|
+
## Inputs
|
|
8
|
+
|
|
9
|
+
- Infrastructure Change Request (`docs/infrastructure/{ticketNumber}.change.md`)
|
|
10
|
+
- **Infrastructure Architecture Document** (`docs/infrastructure-architecture.md` - from Architect Agent)
|
|
11
|
+
- Infrastructure Guidelines (`docs/infrastructure/guidelines.md`)
|
|
12
|
+
- Technology Stack Document (`docs/tech-stack.md`)
|
|
13
|
+
- `infrastructure-checklist.md` (primary validation framework - 16 comprehensive sections)
|
|
14
|
+
|
|
15
|
+
## Key Activities & Instructions
|
|
16
|
+
|
|
17
|
+
### 1. Confirm Interaction Mode
|
|
18
|
+
|
|
19
|
+
- Ask the user: "How would you like to proceed with platform infrastructure validation? We can work:
|
|
20
|
+
A. **Incrementally (Default & Recommended):** We'll work through each section of the checklist step-by-step, documenting compliance or gaps for each item before moving to the next section. This is best for thorough validation and detailed documentation of the complete platform stack.
|
|
21
|
+
B. **"YOLO" Mode:** I can perform a rapid assessment of all checklist items and present a comprehensive validation report for review. This is faster but may miss nuanced details that would be caught in the incremental approach."
|
|
22
|
+
- Request the user to select their preferred mode (e.g., "Please let me know if you'd prefer A or B.").
|
|
23
|
+
- Once the user chooses, confirm the selected mode and proceed accordingly.
|
|
24
|
+
|
|
25
|
+
### 2. Initialize Platform Validation
|
|
26
|
+
|
|
27
|
+
- Review the infrastructure change documentation to understand platform implementation scope and purpose
|
|
28
|
+
- Analyze the infrastructure architecture document for platform design patterns and compliance requirements
|
|
29
|
+
- Examine infrastructure guidelines for organizational standards across all platform components
|
|
30
|
+
- Prepare the validation environment and tools for comprehensive platform testing
|
|
31
|
+
- <critical_rule>Verify the infrastructure change request is approved for validation. If not, HALT and inform the user.</critical_rule>
|
|
32
|
+
|
|
33
|
+
### 3. Architecture Design Review Gate
|
|
34
|
+
|
|
35
|
+
- **DevOps/Platform → Architect Design Review:**
|
|
36
|
+
- Conduct systematic review of infrastructure architecture document for implementability
|
|
37
|
+
- Evaluate architectural decisions against operational constraints and capabilities:
|
|
38
|
+
- **Implementation Complexity:** Assess if proposed architecture can be implemented with available tools and expertise
|
|
39
|
+
- **Operational Feasibility:** Validate that operational patterns are achievable within current organizational maturity
|
|
40
|
+
- **Resource Availability:** Confirm required infrastructure resources are available and within budget constraints
|
|
41
|
+
- **Technology Compatibility:** Verify selected technologies integrate properly with existing infrastructure
|
|
42
|
+
- **Security Implementation:** Validate that security patterns can be implemented with current security toolchain
|
|
43
|
+
- **Maintenance Overhead:** Assess ongoing operational burden and maintenance requirements
|
|
44
|
+
- Document design review findings and recommendations:
|
|
45
|
+
- **Approved Aspects:** Document architectural decisions that are implementable as designed
|
|
46
|
+
- **Implementation Concerns:** Identify architectural decisions that may face implementation challenges
|
|
47
|
+
- **Required Modifications:** Recommend specific changes needed to make architecture implementable
|
|
48
|
+
- **Alternative Approaches:** Suggest alternative implementation patterns where needed
|
|
49
|
+
- **Collaboration Decision Point:**
|
|
50
|
+
- If **critical implementation blockers** identified: HALT validation and escalate to Architect Agent for architectural revision
|
|
51
|
+
- If **minor concerns** identified: Document concerns and proceed with validation, noting required implementation adjustments
|
|
52
|
+
- If **architecture approved**: Proceed with comprehensive platform validation
|
|
53
|
+
- <critical_rule>All critical design review issues must be resolved before proceeding to detailed validation</critical_rule>
|
|
54
|
+
|
|
55
|
+
### 4. Execute Comprehensive Platform Validation Process
|
|
56
|
+
|
|
57
|
+
- **If "Incremental Mode" was selected:**
|
|
58
|
+
|
|
59
|
+
- For each section of the infrastructure checklist (Sections 1-16):
|
|
60
|
+
- **a. Present Section Purpose:** Explain what this section validates and why it's important for platform operations
|
|
61
|
+
- **b. Work Through Items:** Present each checklist item, guide the user through validation, and document compliance or gaps
|
|
62
|
+
- **c. Evidence Collection:** For each compliant item, document how compliance was verified
|
|
63
|
+
- **d. Gap Documentation:** For each non-compliant item, document specific issues and proposed remediation
|
|
64
|
+
- **e. Platform Integration Testing:** For platform engineering sections (13-16), validate integration between platform components
|
|
65
|
+
- **f. [Offer Advanced Self-Refinement & Elicitation Options](#offer-advanced-self-refinement--elicitation-options)**
|
|
66
|
+
- **g. Section Summary:** Provide a compliance percentage and highlight critical findings before moving to the next section
|
|
67
|
+
|
|
68
|
+
- **If "YOLO Mode" was selected:**
|
|
69
|
+
- Work through all checklist sections rapidly (foundation infrastructure sections 1-12 + platform engineering sections 13-16)
|
|
70
|
+
- Document compliance status for each item across all platform components
|
|
71
|
+
- Identify and document critical non-compliance issues affecting platform operations
|
|
72
|
+
- Present a comprehensive validation report for all sections
|
|
73
|
+
- <important_note>After presenting the full validation report in YOLO mode, you MAY still offer the 'Advanced Reflective & Elicitation Options' menu for deeper investigation of specific sections with issues.</important_note>
|
|
74
|
+
|
|
75
|
+
### 5. Generate Comprehensive Platform Validation Report
|
|
76
|
+
|
|
77
|
+
- Summarize validation findings by section across all 16 checklist areas
|
|
78
|
+
- Calculate and present overall compliance percentage for complete platform stack
|
|
79
|
+
- Clearly document all non-compliant items with remediation plans prioritized by platform impact
|
|
80
|
+
- Highlight critical security or operational risks affecting platform reliability
|
|
81
|
+
- Include design review findings and architectural implementation recommendations
|
|
82
|
+
- Provide validation signoff recommendation based on complete platform assessment
|
|
83
|
+
- Document platform component integration validation results
|
|
84
|
+
|
|
85
|
+
### 6. BMAD Integration Assessment
|
|
86
|
+
|
|
87
|
+
- Review how platform infrastructure changes support other BMAD agents:
|
|
88
|
+
- **Development Agent Alignment:** Verify platform infrastructure supports Frontend Dev, Backend Dev, and Full Stack Dev requirements including:
|
|
89
|
+
- Container platform development environment provisioning
|
|
90
|
+
- GitOps workflows for application deployment
|
|
91
|
+
- Service mesh integration for development testing
|
|
92
|
+
- Developer experience platform self-service capabilities
|
|
93
|
+
- **Product Alignment:** Ensure platform infrastructure implements PRD requirements from Product Owner including:
|
|
94
|
+
- Scalability and performance requirements through container platform
|
|
95
|
+
- Deployment automation through GitOps workflows
|
|
96
|
+
- Service reliability through service mesh implementation
|
|
97
|
+
- **Architecture Alignment:** Validate that platform implementation aligns with architecture decisions including:
|
|
98
|
+
- Technology selections implemented correctly across all platform components
|
|
99
|
+
- Security architecture implemented in container platform, service mesh, and GitOps
|
|
100
|
+
- Integration patterns properly implemented between platform components
|
|
101
|
+
- Document all integration points and potential impacts on other agents' workflows
|
|
102
|
+
|
|
103
|
+
### 7. Next Steps Recommendation
|
|
104
|
+
|
|
105
|
+
- If validation successful:
|
|
106
|
+
- Prepare platform deployment recommendation with component dependencies
|
|
107
|
+
- Outline monitoring requirements for complete platform stack
|
|
108
|
+
- Suggest knowledge transfer activities for platform operations
|
|
109
|
+
- Document platform readiness certification
|
|
110
|
+
- If validation failed:
|
|
111
|
+
- Prioritize remediation actions by platform component and integration impact
|
|
112
|
+
- Recommend blockers vs. non-blockers for platform deployment
|
|
113
|
+
- Schedule follow-up validation with focus on failed platform components
|
|
114
|
+
- Document platform risks and mitigation strategies
|
|
115
|
+
- If design review identified architectural issues:
|
|
116
|
+
- **Escalate to Architect Agent** for architectural revision and re-design
|
|
117
|
+
- Document specific architectural changes required for implementability
|
|
118
|
+
- Schedule follow-up design review after architectural modifications
|
|
119
|
+
- Update documentation with validation results across all platform components
|
|
120
|
+
- <important_note>Always ensure the Infrastructure Change Request status is updated to reflect the platform validation outcome.</important_note>
|
|
121
|
+
|
|
122
|
+
## Output
|
|
123
|
+
|
|
124
|
+
A comprehensive platform validation report documenting:
|
|
125
|
+
|
|
126
|
+
1. **Architecture Design Review Results** - Implementability assessment and architectural recommendations
|
|
127
|
+
2. **Compliance percentage by checklist section** (all 16 sections including platform engineering)
|
|
128
|
+
3. **Detailed findings for each non-compliant item** across foundation and platform components
|
|
129
|
+
4. **Platform integration validation results** documenting component interoperability
|
|
130
|
+
5. **Remediation recommendations with priority levels** based on platform impact
|
|
131
|
+
6. **BMAD integration assessment results** for complete platform stack
|
|
132
|
+
7. **Clear signoff recommendation** for platform deployment readiness or architectural revision requirements
|
|
133
|
+
8. **Next steps for implementation or remediation** prioritized by platform dependencies
|
|
134
|
+
|
|
135
|
+
## Offer Advanced Self-Refinement & Elicitation Options
|
|
136
|
+
|
|
137
|
+
Present the user with the following list of 'Advanced Reflective, Elicitation & Brainstorming Actions'. Explain that these are optional steps to help ensure quality, explore alternatives, and deepen the understanding of the current section before finalizing it and moving on. The user can select an action by number, or choose to skip this and proceed to finalize the section.
|
|
138
|
+
|
|
139
|
+
"To ensure the quality of the current section: **[Specific Section Name]** and to ensure its robustness, explore alternatives, and consider all angles, I can perform any of the following actions. Please choose a number (8 to finalize and proceed):
|
|
140
|
+
|
|
141
|
+
**Advanced Reflective, Elicitation & Brainstorming Actions I Can Take:**
|
|
142
|
+
|
|
143
|
+
1. **Critical Security Assessment & Risk Analysis**
|
|
144
|
+
2. **Platform Integration & Component Compatibility Evaluation**
|
|
145
|
+
3. **Cross-Environment Consistency Review**
|
|
146
|
+
4. **Technical Debt & Maintainability Analysis**
|
|
147
|
+
5. **Compliance & Regulatory Alignment Deep Dive**
|
|
148
|
+
6. **Cost Optimization & Resource Efficiency Analysis**
|
|
149
|
+
7. **Operational Resilience & Platform Failure Mode Testing (Theoretical)**
|
|
150
|
+
8. **Finalize this Section and Proceed.**
|
|
151
|
+
|
|
152
|
+
After I perform the selected action, we can discuss the outcome and decide on any further revisions for this section."
|
|
153
|
+
|
|
154
|
+
REPEAT by Asking the user if they would like to perform another Reflective, Elicitation & Brainstorming Action UNTIL the user indicates it is time to proceed to the next section (or selects #8)
|
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
# {{Project Name}} Infrastructure Architecture
|
|
2
|
+
|
|
3
|
+
[[LLM: Initial Setup
|
|
4
|
+
|
|
5
|
+
1. Replace {{Project Name}} with the actual project name throughout the document
|
|
6
|
+
2. Gather and review required inputs:
|
|
7
|
+
- Product Requirements Document (PRD) - Required for business needs and scale requirements
|
|
8
|
+
- Main System Architecture - Required for infrastructure dependencies
|
|
9
|
+
- Technical Preferences/Tech Stack Document - Required for technology choices
|
|
10
|
+
- PRD Technical Assumptions - Required for cross-referencing repository and service architecture
|
|
11
|
+
|
|
12
|
+
If any required documents are missing, ask user: "I need the following documents to create a comprehensive infrastructure architecture: [list missing]. Would you like to proceed with available information or provide the missing documents first?"
|
|
13
|
+
|
|
14
|
+
3. <critical_rule>Cross-reference with PRD Technical Assumptions to ensure infrastructure decisions align with repository and service architecture decisions made in the system architecture.</critical_rule>
|
|
15
|
+
|
|
16
|
+
Output file location: `docs/infrastructure-architecture.md`]]
|
|
17
|
+
|
|
18
|
+
## Infrastructure Overview
|
|
19
|
+
|
|
20
|
+
[[LLM: Review the product requirements document to understand business needs and scale requirements. Analyze the main system architecture to identify infrastructure dependencies. Document non-functional requirements (performance, scalability, reliability, security). Cross-reference with PRD Technical Assumptions to ensure alignment with repository and service architecture decisions.]]
|
|
21
|
+
|
|
22
|
+
- Cloud Provider(s)
|
|
23
|
+
- Core Services & Resources
|
|
24
|
+
- Regional Architecture
|
|
25
|
+
- Multi-environment Strategy
|
|
26
|
+
|
|
27
|
+
@{example: cloud_strategy}
|
|
28
|
+
|
|
29
|
+
- **Cloud Provider:** AWS (primary), with multi-cloud capability for critical services
|
|
30
|
+
- **Core Services:** EKS for container orchestration, RDS for databases, S3 for storage, CloudFront for CDN
|
|
31
|
+
- **Regional Architecture:** Multi-region active-passive with primary in us-east-1, DR in us-west-2
|
|
32
|
+
- **Multi-environment Strategy:** Development, Staging, UAT, Production with identical infrastructure patterns
|
|
33
|
+
|
|
34
|
+
@{/example}
|
|
35
|
+
|
|
36
|
+
[[LLM: Infrastructure Elicitation Options
|
|
37
|
+
Present user with domain-specific elicitation options:
|
|
38
|
+
"For the Infrastructure Overview section, I can explore:
|
|
39
|
+
|
|
40
|
+
1. **Multi-Cloud Strategy Analysis** - Evaluate cloud provider options and vendor lock-in considerations
|
|
41
|
+
2. **Regional Distribution Planning** - Analyze latency requirements and data residency needs
|
|
42
|
+
3. **Environment Isolation Strategy** - Design security boundaries and resource segregation
|
|
43
|
+
4. **Scalability Patterns Review** - Assess auto-scaling needs and traffic patterns
|
|
44
|
+
5. **Compliance Requirements Analysis** - Review regulatory and security compliance needs
|
|
45
|
+
6. **Cost-Benefit Analysis** - Compare infrastructure options and TCO
|
|
46
|
+
7. **Proceed to next section**
|
|
47
|
+
|
|
48
|
+
Select an option (1-7):"]]
|
|
49
|
+
|
|
50
|
+
## Infrastructure as Code (IaC)
|
|
51
|
+
|
|
52
|
+
[[LLM: Define IaC approach based on technical preferences and existing patterns. Consider team expertise, tooling ecosystem, and maintenance requirements.]]
|
|
53
|
+
|
|
54
|
+
- Tools & Frameworks
|
|
55
|
+
- Repository Structure
|
|
56
|
+
- State Management
|
|
57
|
+
- Dependency Management
|
|
58
|
+
|
|
59
|
+
<critical_rule>All infrastructure must be defined as code. No manual resource creation in production environments.</critical_rule>
|
|
60
|
+
|
|
61
|
+
## Environment Configuration
|
|
62
|
+
|
|
63
|
+
[[LLM: Design environment strategy that supports the development workflow while maintaining security and cost efficiency. Reference the Environment Transition Strategy section for promotion details.]]
|
|
64
|
+
|
|
65
|
+
- Environment Promotion Strategy
|
|
66
|
+
- Configuration Management
|
|
67
|
+
- Secret Management
|
|
68
|
+
- Feature Flag Integration
|
|
69
|
+
|
|
70
|
+
<<REPEAT: environment>>
|
|
71
|
+
|
|
72
|
+
### {{environment_name}} Environment
|
|
73
|
+
|
|
74
|
+
- **Purpose:** {{environment_purpose}}
|
|
75
|
+
- **Resources:** {{environment_resources}}
|
|
76
|
+
- **Access Control:** {{environment_access}}
|
|
77
|
+
- **Data Classification:** {{environment_data_class}}
|
|
78
|
+
|
|
79
|
+
<</REPEAT>>
|
|
80
|
+
|
|
81
|
+
## Environment Transition Strategy
|
|
82
|
+
|
|
83
|
+
[[LLM: Detail the complete lifecycle of code and configuration changes from development to production. Include governance, testing gates, and rollback procedures.]]
|
|
84
|
+
|
|
85
|
+
- Development to Production Pipeline
|
|
86
|
+
- Deployment Stages and Gates
|
|
87
|
+
- Approval Workflows and Authorities
|
|
88
|
+
- Rollback Procedures
|
|
89
|
+
- Change Cadence and Release Windows
|
|
90
|
+
- Environment-Specific Configuration Management
|
|
91
|
+
|
|
92
|
+
## Network Architecture
|
|
93
|
+
|
|
94
|
+
[[LLM: Design network topology considering security zones, traffic patterns, and compliance requirements. Reference main architecture for service communication patterns.
|
|
95
|
+
|
|
96
|
+
Create Mermaid diagram showing:
|
|
97
|
+
|
|
98
|
+
- VPC/Network structure
|
|
99
|
+
- Security zones and boundaries
|
|
100
|
+
- Traffic flow patterns
|
|
101
|
+
- Load balancer placement
|
|
102
|
+
- Service mesh topology (if applicable)]]
|
|
103
|
+
|
|
104
|
+
- VPC/VNET Design
|
|
105
|
+
- Subnet Strategy
|
|
106
|
+
- Security Groups & NACLs
|
|
107
|
+
- Load Balancers & API Gateways
|
|
108
|
+
- Service Mesh (if applicable)
|
|
109
|
+
|
|
110
|
+
```mermaid
|
|
111
|
+
graph TB
|
|
112
|
+
subgraph "Production VPC"
|
|
113
|
+
subgraph "Public Subnets"
|
|
114
|
+
ALB[Application Load Balancer]
|
|
115
|
+
end
|
|
116
|
+
subgraph "Private Subnets"
|
|
117
|
+
EKS[EKS Cluster]
|
|
118
|
+
RDS[(RDS Database)]
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
Internet((Internet)) --> ALB
|
|
122
|
+
ALB --> EKS
|
|
123
|
+
EKS --> RDS
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
^^CONDITION: uses_service_mesh^^
|
|
127
|
+
|
|
128
|
+
### Service Mesh Architecture
|
|
129
|
+
|
|
130
|
+
- **Mesh Technology:** {{service_mesh_tech}}
|
|
131
|
+
- **Traffic Management:** {{traffic_policies}}
|
|
132
|
+
- **Security Policies:** {{mesh_security}}
|
|
133
|
+
- **Observability Integration:** {{mesh_observability}}
|
|
134
|
+
|
|
135
|
+
^^/CONDITION: uses_service_mesh^^
|
|
136
|
+
|
|
137
|
+
## Compute Resources
|
|
138
|
+
|
|
139
|
+
[[LLM: Select compute strategy based on application architecture (microservices, serverless, monolithic). Consider cost, scalability, and operational complexity.]]
|
|
140
|
+
|
|
141
|
+
- Container Strategy
|
|
142
|
+
- Serverless Architecture
|
|
143
|
+
- VM/Instance Configuration
|
|
144
|
+
- Auto-scaling Approach
|
|
145
|
+
|
|
146
|
+
^^CONDITION: uses_kubernetes^^
|
|
147
|
+
|
|
148
|
+
### Kubernetes Architecture
|
|
149
|
+
|
|
150
|
+
- **Cluster Configuration:** {{k8s_cluster_config}}
|
|
151
|
+
- **Node Groups:** {{k8s_node_groups}}
|
|
152
|
+
- **Networking:** {{k8s_networking}}
|
|
153
|
+
- **Storage Classes:** {{k8s_storage}}
|
|
154
|
+
- **Security Policies:** {{k8s_security}}
|
|
155
|
+
|
|
156
|
+
^^/CONDITION: uses_kubernetes^^
|
|
157
|
+
|
|
158
|
+
## Data Resources
|
|
159
|
+
|
|
160
|
+
[[LLM: Design data infrastructure based on data architecture from main system design. Consider data volumes, access patterns, compliance, and recovery requirements.
|
|
161
|
+
|
|
162
|
+
Create data flow diagram showing:
|
|
163
|
+
|
|
164
|
+
- Database topology
|
|
165
|
+
- Replication patterns
|
|
166
|
+
- Backup flows
|
|
167
|
+
- Data migration paths]]
|
|
168
|
+
|
|
169
|
+
- Database Deployment Strategy
|
|
170
|
+
- Backup & Recovery
|
|
171
|
+
- Replication & Failover
|
|
172
|
+
- Data Migration Strategy
|
|
173
|
+
|
|
174
|
+
## Security Architecture
|
|
175
|
+
|
|
176
|
+
[[LLM: Implement defense-in-depth strategy. Reference security requirements from PRD and compliance needs. Consider zero-trust principles where applicable.]]
|
|
177
|
+
|
|
178
|
+
- IAM & Authentication
|
|
179
|
+
- Network Security
|
|
180
|
+
- Data Encryption
|
|
181
|
+
- Compliance Controls
|
|
182
|
+
- Security Scanning & Monitoring
|
|
183
|
+
|
|
184
|
+
<critical_rule>Apply principle of least privilege for all access controls. Document all security exceptions with business justification.</critical_rule>
|
|
185
|
+
|
|
186
|
+
## Shared Responsibility Model
|
|
187
|
+
|
|
188
|
+
[[LLM: Clearly define boundaries between cloud provider, platform team, development team, and security team responsibilities. This is critical for operational success.]]
|
|
189
|
+
|
|
190
|
+
- Cloud Provider Responsibilities
|
|
191
|
+
- Platform Team Responsibilities
|
|
192
|
+
- Development Team Responsibilities
|
|
193
|
+
- Security Team Responsibilities
|
|
194
|
+
- Operational Monitoring Ownership
|
|
195
|
+
- Incident Response Accountability Matrix
|
|
196
|
+
|
|
197
|
+
@{example: responsibility_matrix}
|
|
198
|
+
|
|
199
|
+
| Component | Cloud Provider | Platform Team | Dev Team | Security Team |
|
|
200
|
+
| -------------------- | -------------- | ------------- | -------------- | ------------- |
|
|
201
|
+
| Physical Security | ✓ | - | - | Audit |
|
|
202
|
+
| Network Security | Partial | ✓ | Config | Audit |
|
|
203
|
+
| Application Security | - | Tools | ✓ | Review |
|
|
204
|
+
| Data Encryption | Engine | Config | Implementation | Standards |
|
|
205
|
+
|
|
206
|
+
@{/example}
|
|
207
|
+
|
|
208
|
+
## Monitoring & Observability
|
|
209
|
+
|
|
210
|
+
[[LLM: Design comprehensive observability strategy covering metrics, logs, traces, and business KPIs. Ensure alignment with SLA/SLO requirements.]]
|
|
211
|
+
|
|
212
|
+
- Metrics Collection
|
|
213
|
+
- Logging Strategy
|
|
214
|
+
- Tracing Implementation
|
|
215
|
+
- Alerting & Incident Response
|
|
216
|
+
- Dashboards & Visualization
|
|
217
|
+
|
|
218
|
+
## CI/CD Pipeline
|
|
219
|
+
|
|
220
|
+
[[LLM: Design deployment pipeline that balances speed with safety. Include progressive deployment strategies and automated quality gates.
|
|
221
|
+
|
|
222
|
+
Create pipeline diagram showing:
|
|
223
|
+
|
|
224
|
+
- Build stages
|
|
225
|
+
- Test gates
|
|
226
|
+
- Deployment stages
|
|
227
|
+
- Approval points
|
|
228
|
+
- Rollback triggers]]
|
|
229
|
+
|
|
230
|
+
- Pipeline Architecture
|
|
231
|
+
- Build Process
|
|
232
|
+
- Deployment Strategy
|
|
233
|
+
- Rollback Procedures
|
|
234
|
+
- Approval Gates
|
|
235
|
+
|
|
236
|
+
^^CONDITION: uses_progressive_deployment^^
|
|
237
|
+
|
|
238
|
+
### Progressive Deployment Strategy
|
|
239
|
+
|
|
240
|
+
- **Canary Deployment:** {{canary_config}}
|
|
241
|
+
- **Blue-Green Deployment:** {{blue_green_config}}
|
|
242
|
+
- **Feature Flags:** {{feature_flag_integration}}
|
|
243
|
+
- **Traffic Splitting:** {{traffic_split_rules}}
|
|
244
|
+
|
|
245
|
+
^^/CONDITION: uses_progressive_deployment^^
|
|
246
|
+
|
|
247
|
+
## Disaster Recovery
|
|
248
|
+
|
|
249
|
+
[[LLM: Design DR strategy based on business continuity requirements. Define clear RTO/RPO targets and ensure they align with business needs.]]
|
|
250
|
+
|
|
251
|
+
- Backup Strategy
|
|
252
|
+
- Recovery Procedures
|
|
253
|
+
- RTO & RPO Targets
|
|
254
|
+
- DR Testing Approach
|
|
255
|
+
|
|
256
|
+
<critical_rule>DR procedures must be tested at least quarterly. Document test results and improvement actions.</critical_rule>
|
|
257
|
+
|
|
258
|
+
## Cost Optimization
|
|
259
|
+
|
|
260
|
+
[[LLM: Balance cost efficiency with performance and reliability requirements. Include both immediate optimizations and long-term strategies.]]
|
|
261
|
+
|
|
262
|
+
- Resource Sizing Strategy
|
|
263
|
+
- Reserved Instances/Commitments
|
|
264
|
+
- Cost Monitoring & Reporting
|
|
265
|
+
- Optimization Recommendations
|
|
266
|
+
|
|
267
|
+
## BMAD Integration Architecture
|
|
268
|
+
|
|
269
|
+
[[LLM: Design infrastructure to specifically support other BMAD agents and their workflows. This ensures the infrastructure enables the entire BMAD methodology.]]
|
|
270
|
+
|
|
271
|
+
### Development Agent Support
|
|
272
|
+
|
|
273
|
+
- Container platform for development environments
|
|
274
|
+
- GitOps workflows for application deployment
|
|
275
|
+
- Service mesh integration for development testing
|
|
276
|
+
- Developer self-service platform capabilities
|
|
277
|
+
|
|
278
|
+
### Product & Architecture Alignment
|
|
279
|
+
|
|
280
|
+
- Infrastructure implementing PRD scalability requirements
|
|
281
|
+
- Deployment automation supporting product iteration speed
|
|
282
|
+
- Service reliability meeting product SLAs
|
|
283
|
+
- Architecture patterns properly implemented in infrastructure
|
|
284
|
+
|
|
285
|
+
### Cross-Agent Integration Points
|
|
286
|
+
|
|
287
|
+
- CI/CD pipelines supporting Frontend, Backend, and Full Stack development workflows
|
|
288
|
+
- Monitoring and observability data accessible to QA and DevOps agents
|
|
289
|
+
- Infrastructure enabling Design Architect's UI/UX performance requirements
|
|
290
|
+
- Platform supporting Analyst's data collection and analysis needs
|
|
291
|
+
|
|
292
|
+
## DevOps/Platform Feasibility Review
|
|
293
|
+
|
|
294
|
+
[[LLM: CRITICAL STEP - Present architectural blueprint summary to DevOps/Platform Engineering Agent for feasibility review. Request specific feedback on:
|
|
295
|
+
|
|
296
|
+
- **Operational Complexity:** Are the proposed patterns implementable with current tooling and expertise?
|
|
297
|
+
- **Resource Constraints:** Do infrastructure requirements align with available resources and budgets?
|
|
298
|
+
- **Security Implementation:** Are security patterns achievable with current security toolchain?
|
|
299
|
+
- **Operational Overhead:** Will the proposed architecture create excessive operational burden?
|
|
300
|
+
- **Technology Constraints:** Are selected technologies compatible with existing infrastructure?
|
|
301
|
+
|
|
302
|
+
Document all feasibility feedback and concerns raised. Iterate on architectural decisions based on operational constraints and feedback.
|
|
303
|
+
|
|
304
|
+
<critical_rule>Address all critical feasibility concerns before proceeding to final architecture documentation. If critical blockers identified, revise architecture before continuing.</critical_rule>]]
|
|
305
|
+
|
|
306
|
+
### Feasibility Assessment Results
|
|
307
|
+
|
|
308
|
+
- **Green Light Items:** {{feasible_items}}
|
|
309
|
+
- **Yellow Light Items:** {{items_needing_adjustment}}
|
|
310
|
+
- **Red Light Items:** {{items_requiring_redesign}}
|
|
311
|
+
- **Mitigation Strategies:** {{mitigation_plans}}
|
|
312
|
+
|
|
313
|
+
## Infrastructure Verification
|
|
314
|
+
|
|
315
|
+
### Validation Framework
|
|
316
|
+
|
|
317
|
+
This infrastructure architecture will be validated using the comprehensive `infrastructure-checklist.md`, with particular focus on Section 12: Architecture Documentation Validation. The checklist ensures:
|
|
318
|
+
|
|
319
|
+
- Completeness of architecture documentation
|
|
320
|
+
- Consistency with broader system architecture
|
|
321
|
+
- Appropriate level of detail for different stakeholders
|
|
322
|
+
- Clear implementation guidance
|
|
323
|
+
- Future evolution considerations
|
|
324
|
+
|
|
325
|
+
### Validation Process
|
|
326
|
+
|
|
327
|
+
The architecture documentation validation should be performed:
|
|
328
|
+
|
|
329
|
+
- After initial architecture development
|
|
330
|
+
- After significant architecture changes
|
|
331
|
+
- Before major implementation phases
|
|
332
|
+
- During periodic architecture reviews
|
|
333
|
+
|
|
334
|
+
The Platform Engineer should use the infrastructure checklist to systematically validate all aspects of this architecture document.
|
|
335
|
+
|
|
336
|
+
## Implementation Handoff
|
|
337
|
+
|
|
338
|
+
[[LLM: Create structured handoff documentation for implementation team. This ensures architecture decisions are properly communicated and implemented.]]
|
|
339
|
+
|
|
340
|
+
### Architecture Decision Records (ADRs)
|
|
341
|
+
|
|
342
|
+
Create ADRs for key infrastructure decisions:
|
|
343
|
+
|
|
344
|
+
- Cloud provider selection rationale
|
|
345
|
+
- Container orchestration platform choice
|
|
346
|
+
- Networking architecture decisions
|
|
347
|
+
- Security implementation choices
|
|
348
|
+
- Cost optimization trade-offs
|
|
349
|
+
|
|
350
|
+
### Implementation Validation Criteria
|
|
351
|
+
|
|
352
|
+
Define specific criteria for validating correct implementation:
|
|
353
|
+
|
|
354
|
+
- Infrastructure as Code quality gates
|
|
355
|
+
- Security compliance checkpoints
|
|
356
|
+
- Performance benchmarks
|
|
357
|
+
- Cost targets
|
|
358
|
+
- Operational readiness criteria
|
|
359
|
+
|
|
360
|
+
### Knowledge Transfer Requirements
|
|
361
|
+
|
|
362
|
+
- Technical documentation for operations team
|
|
363
|
+
- Runbook creation requirements
|
|
364
|
+
- Training needs for platform team
|
|
365
|
+
- Handoff meeting agenda items
|
|
366
|
+
|
|
367
|
+
## Infrastructure Evolution
|
|
368
|
+
|
|
369
|
+
[[LLM: Document the long-term vision and evolution path for the infrastructure. Consider technology trends, anticipated growth, and technical debt management.]]
|
|
370
|
+
|
|
371
|
+
- Technical Debt Inventory
|
|
372
|
+
- Planned Upgrades and Migrations
|
|
373
|
+
- Deprecation Schedule
|
|
374
|
+
- Technology Roadmap
|
|
375
|
+
- Capacity Planning
|
|
376
|
+
- Scalability Considerations
|
|
377
|
+
|
|
378
|
+
## Integration with Application Architecture
|
|
379
|
+
|
|
380
|
+
[[LLM: Map infrastructure components to application services. Ensure infrastructure design supports application requirements and patterns defined in main architecture.]]
|
|
381
|
+
|
|
382
|
+
- Service-to-Infrastructure Mapping
|
|
383
|
+
- Application Dependency Matrix
|
|
384
|
+
- Performance Requirements Implementation
|
|
385
|
+
- Security Requirements Implementation
|
|
386
|
+
- Data Flow to Infrastructure Correlation
|
|
387
|
+
- API Gateway and Service Mesh Integration
|
|
388
|
+
|
|
389
|
+
## Cross-Team Collaboration
|
|
390
|
+
|
|
391
|
+
[[LLM: Define clear interfaces and communication patterns between teams. This section is critical for operational success and should include specific touchpoints and escalation paths.]]
|
|
392
|
+
|
|
393
|
+
- Platform Engineer and Developer Touchpoints
|
|
394
|
+
- Frontend/Backend Integration Requirements
|
|
395
|
+
- Product Requirements to Infrastructure Mapping
|
|
396
|
+
- Architecture Decision Impact Analysis
|
|
397
|
+
- Design Architect UI/UX Infrastructure Requirements
|
|
398
|
+
- Analyst Research Integration
|
|
399
|
+
|
|
400
|
+
## Infrastructure Change Management
|
|
401
|
+
|
|
402
|
+
[[LLM: Define structured process for infrastructure changes. Include risk assessment, testing requirements, and rollback procedures.]]
|
|
403
|
+
|
|
404
|
+
- Change Request Process
|
|
405
|
+
- Risk Assessment
|
|
406
|
+
- Testing Strategy
|
|
407
|
+
- Validation Procedures
|
|
408
|
+
|
|
409
|
+
[[LLM: Final Review - Ensure all sections are complete and consistent. Verify feasibility review was conducted and all concerns addressed. Apply final validation against infrastructure checklist.]]
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
_Document Version: 1.0_
|
|
414
|
+
_Last Updated: {{current_date}}_
|
|
415
|
+
_Next Review: {{review_date}}_
|
package/expansion-packs/infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md
ADDED
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bmad-method",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Breakthrough Method of Agile AI-driven Development",
|
|
5
|
+
"main": "tools/cli.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"bmad": "./tools/bmad-npx-wrapper.js",
|
|
8
|
+
"bmad-method": "./tools/bmad-npx-wrapper.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "node tools/cli.js build",
|
|
12
|
+
"build:agents": "node tools/cli.js build --agents-only",
|
|
13
|
+
"build:teams": "node tools/cli.js build --teams-only",
|
|
14
|
+
"list:agents": "node tools/cli.js list:agents",
|
|
15
|
+
"validate": "node tools/cli.js validate",
|
|
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",
|
|
18
|
+
"version:patch": "node tools/version-bump.js patch",
|
|
19
|
+
"version:minor": "node tools/version-bump.js minor",
|
|
20
|
+
"version:major": "node tools/version-bump.js major",
|
|
21
|
+
"release": "semantic-release",
|
|
22
|
+
"release:test": "semantic-release --dry-run --no-ci || echo 'Config test complete - authentication errors are expected locally'",
|
|
23
|
+
"prepare": "husky"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@kayvan/markdown-tree-parser": "^1.4.2",
|
|
27
|
+
"chalk": "^4.1.2",
|
|
28
|
+
"commander": "^9.4.1",
|
|
29
|
+
"fs-extra": "^11.1.0",
|
|
30
|
+
"glob": "^8.0.3",
|
|
31
|
+
"inquirer": "^8.2.5",
|
|
32
|
+
"js-yaml": "^4.1.0",
|
|
33
|
+
"ora": "^5.4.1"
|
|
34
|
+
},
|
|
35
|
+
"keywords": [
|
|
36
|
+
"agile",
|
|
37
|
+
"ai",
|
|
38
|
+
"orchestrator",
|
|
39
|
+
"development",
|
|
40
|
+
"methodology",
|
|
41
|
+
"agents",
|
|
42
|
+
"bmad"
|
|
43
|
+
],
|
|
44
|
+
"author": "Brian (BMad) Madison",
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"repository": {
|
|
47
|
+
"type": "git",
|
|
48
|
+
"url": "https://github.com/bmadcode/BMAD-METHOD.git"
|
|
49
|
+
},
|
|
50
|
+
"engines": {
|
|
51
|
+
"node": ">=14.0.0"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"husky": "^9.1.7",
|
|
55
|
+
"lint-staged": "^16.1.1",
|
|
56
|
+
"prettier": "^3.5.3",
|
|
57
|
+
"semantic-release": "^22.0.0",
|
|
58
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
59
|
+
"@semantic-release/git": "^10.0.1",
|
|
60
|
+
"yaml-lint": "^1.7.0"
|
|
61
|
+
},
|
|
62
|
+
"lint-staged": {
|
|
63
|
+
"*.{yml,yaml}": [
|
|
64
|
+
"node tools/yaml-format.js"
|
|
65
|
+
],
|
|
66
|
+
"*.md": [
|
|
67
|
+
"node tools/yaml-format.js"
|
|
68
|
+
],
|
|
69
|
+
".roomodes": [
|
|
70
|
+
"node tools/yaml-format.js"
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* BMAD Method CLI - Direct execution wrapper for npx
|
|
5
|
+
* This file ensures proper execution when run via npx from GitHub
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { execSync } = require('child_process');
|
|
9
|
+
const path = require('path');
|
|
10
|
+
const fs = require('fs');
|
|
11
|
+
|
|
12
|
+
// Check if we're running in an npx temporary directory
|
|
13
|
+
const isNpxExecution = __dirname.includes('_npx') || __dirname.includes('.npm');
|
|
14
|
+
|
|
15
|
+
// If running via npx, we need to handle things differently
|
|
16
|
+
if (isNpxExecution) {
|
|
17
|
+
// The actual bmad.js is in installer/bin/ (relative to tools directory)
|
|
18
|
+
const bmadScriptPath = path.join(__dirname, 'installer', 'bin', 'bmad.js');
|
|
19
|
+
|
|
20
|
+
// Verify the file exists
|
|
21
|
+
if (!fs.existsSync(bmadScriptPath)) {
|
|
22
|
+
console.error('Error: Could not find bmad.js at', bmadScriptPath);
|
|
23
|
+
console.error('Current directory:', __dirname);
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Execute with proper working directory
|
|
28
|
+
try {
|
|
29
|
+
execSync(`node "${bmadScriptPath}" ${process.argv.slice(2).join(' ')}`, {
|
|
30
|
+
stdio: 'inherit',
|
|
31
|
+
cwd: path.dirname(__dirname)
|
|
32
|
+
});
|
|
33
|
+
} catch (error) {
|
|
34
|
+
// execSync will throw if the command exits with non-zero
|
|
35
|
+
// But the stdio is inherited, so the error is already displayed
|
|
36
|
+
process.exit(error.status || 1);
|
|
37
|
+
}
|
|
38
|
+
} else {
|
|
39
|
+
// Local execution - just require the installer directly
|
|
40
|
+
require('./installer/bin/bmad.js');
|
|
41
|
+
}
|