bmad-method 4.27.0 → 4.27.2

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 (99) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bmad-core/agent-teams/team-all.yaml +6 -6
  3. package/bmad-core/agent-teams/team-fullstack.yaml +6 -6
  4. package/bmad-core/agent-teams/team-no-ui.yaml +2 -2
  5. package/bmad-core/agents/analyst.md +17 -20
  6. package/bmad-core/agents/architect.md +15 -18
  7. package/bmad-core/agents/bmad-master.md +55 -56
  8. package/bmad-core/agents/bmad-orchestrator.md +24 -23
  9. package/bmad-core/agents/dev.md +10 -10
  10. package/bmad-core/agents/pm.md +17 -20
  11. package/bmad-core/agents/po.md +12 -15
  12. package/bmad-core/agents/qa.md +7 -8
  13. package/bmad-core/agents/sm.md +8 -13
  14. package/bmad-core/agents/ux-expert.md +7 -11
  15. package/bmad-core/core-config.yaml +1 -1
  16. package/bmad-core/templates/architecture-tmpl.yaml +650 -0
  17. package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  18. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +476 -0
  19. package/bmad-core/templates/brownfield-prd-tmpl.yaml +280 -0
  20. package/bmad-core/templates/competitor-analysis-tmpl.yaml +293 -0
  21. package/bmad-core/templates/front-end-architecture-tmpl.yaml +206 -0
  22. package/bmad-core/templates/front-end-spec-tmpl.yaml +349 -0
  23. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +805 -0
  24. package/bmad-core/templates/market-research-tmpl.yaml +252 -0
  25. package/bmad-core/templates/{prd-tmpl2.yaml → prd-tmpl.yaml} +3 -3
  26. package/bmad-core/templates/project-brief-tmpl.yaml +221 -0
  27. package/bmad-core/templates/story-tmpl.yaml +137 -0
  28. package/common/tasks/create-doc.md +55 -67
  29. package/common/utils/bmad-doc-template.md +29 -0
  30. package/dist/agents/analyst.txt +1004 -1061
  31. package/dist/agents/architect.txt +2460 -2872
  32. package/dist/agents/bmad-master.txt +3842 -4354
  33. package/dist/agents/bmad-orchestrator.txt +211 -87
  34. package/dist/agents/dev.txt +4 -8
  35. package/dist/agents/pm.txt +557 -587
  36. package/dist/agents/po.txt +149 -102
  37. package/dist/agents/qa.txt +145 -35
  38. package/dist/agents/sm.txt +145 -100
  39. package/dist/agents/ux-expert.txt +413 -522
  40. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +1258 -1236
  41. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +623 -573
  42. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +263 -248
  43. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +9135 -4942
  44. package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +288 -251
  45. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +1123 -1145
  46. package/dist/teams/team-all.txt +4583 -4837
  47. package/dist/teams/team-fullstack.txt +5276 -5520
  48. package/dist/teams/team-ide-minimal.txt +375 -185
  49. package/dist/teams/team-no-ui.txt +4875 -5051
  50. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +2 -2
  51. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +17 -15
  52. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +13 -11
  53. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +13 -11
  54. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  55. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +613 -0
  56. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +356 -0
  57. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +343 -0
  58. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +253 -0
  59. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
  60. package/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.md +14 -12
  61. package/expansion-packs/bmad-creator-tools/config.yaml +1 -1
  62. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.yaml +178 -0
  63. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.yaml +154 -0
  64. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml +120 -0
  65. package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +14 -14
  66. package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  67. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +424 -0
  68. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +629 -0
  69. package/package.json +1 -1
  70. package/tools/builders/web-builder.js +65 -85
  71. package/tools/installer/package.json +1 -1
  72. package/tools/lib/dependency-resolver.js +8 -19
  73. package/zoo/docs/architecture.md +812 -0
  74. package/zoo/docs/brief.md +253 -0
  75. package/zoo/docs/prd.md +500 -0
  76. package/zoo/docs/stories/1.1.story.md +278 -0
  77. package/bmad-core/templates/architecture-tmpl.md +0 -776
  78. package/bmad-core/templates/brainstorming-output-tmpl.md +0 -149
  79. package/bmad-core/templates/brownfield-architecture-tmpl.md +0 -544
  80. package/bmad-core/templates/brownfield-prd-tmpl.md +0 -266
  81. package/bmad-core/templates/competitor-analysis-tmpl.md +0 -291
  82. package/bmad-core/templates/front-end-architecture-tmpl.md +0 -175
  83. package/bmad-core/templates/front-end-spec-tmpl.md +0 -413
  84. package/bmad-core/templates/fullstack-architecture-tmpl.md +0 -1018
  85. package/bmad-core/templates/market-research-tmpl.md +0 -263
  86. package/bmad-core/templates/prd-tmpl.md +0 -202
  87. package/bmad-core/templates/project-brief-tmpl.md +0 -232
  88. package/bmad-core/templates/story-tmpl.md +0 -58
  89. package/common/tasks/create-doc2.md +0 -65
  90. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.md +0 -560
  91. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.md +0 -345
  92. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.md +0 -331
  93. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.md +0 -235
  94. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.md +0 -470
  95. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.md +0 -154
  96. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.md +0 -143
  97. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.md +0 -91
  98. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.md +0 -415
  99. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
@@ -0,0 +1,278 @@
1
+ # Story 1.1: Project Setup and Infrastructure
2
+
3
+ ## Status
4
+
5
+ Draft
6
+
7
+ ## Story
8
+
9
+ **As a** developer,
10
+ **I want** a properly structured Rust project with CI/CD pipelines,
11
+ **so that** I can ensure code quality and automated releases from the start.
12
+
13
+ ## Acceptance Criteria
14
+
15
+ 1. Repository initialized with Rust project structure and .gitignore
16
+ 2. Cargo.toml configured with project metadata and all required dependencies from tech stack
17
+ 3. GitHub Actions workflow for CI (test, lint, build) on all platforms
18
+ 4. GitHub Actions workflow for CD (release binaries) on tag push
19
+ 5. Basic README with project description and development setup instructions
20
+ 6. Pre-commit hooks configured for formatting (rustfmt) and linting (clippy)
21
+ 7. MIT License file added
22
+ 8. Makefile with common development commands (test, build, release)
23
+
24
+ ## Tasks / Subtasks
25
+
26
+ - [ ] Task 1: Initialize Rust project structure (AC: 1)
27
+ - [ ] Create Cargo.toml with project metadata
28
+ - [ ] Set up proper .gitignore for Rust projects
29
+ - [ ] Initialize git repository if needed
30
+ - [ ] Create basic src/main.rs entry point
31
+ - [ ] Task 2: Configure dependencies in Cargo.toml (AC: 2)
32
+ - [ ] Add clap v4.5.4 for CLI framework
33
+ - [ ] Add sqlx v0.7.4 for database operations
34
+ - [ ] Add anyhow v1.0.82 for error handling
35
+ - [ ] Add thiserror v1.0.58 for custom error types
36
+ - [ ] Add toml v0.8.12 for config file parsing
37
+ - [ ] Add termcolor v1.4.1 for colored output
38
+ - [ ] Add criterion v0.5.1 for benchmarking
39
+ - [ ] Add env_logger v0.11.3 for debug logging
40
+ - [ ] Add chrono v0.4.38 and chrono-english v0.1.7 for date parsing
41
+ - [ ] Add serde v1.0.197 for serialization
42
+ - [ ] Task 3: Set up GitHub Actions CI workflow (AC: 3)
43
+ - [ ] Create .github/workflows/ci.yml
44
+ - [ ] Configure test, lint, and build jobs
45
+ - [ ] Set up matrix builds for Linux and macOS
46
+ - [ ] Add rustfmt and clippy checks
47
+ - [ ] Add security audit using cargo audit
48
+ - [ ] Add performance benchmarks with 5% regression threshold
49
+ - [ ] Task 4: Set up GitHub Actions CD workflow (AC: 4)
50
+ - [ ] Create .github/workflows/release.yml
51
+ - [ ] Configure binary builds for release
52
+ - [ ] Set up artifact uploads for releases
53
+ - [ ] Configure triggering on tag push
54
+ - [ ] Task 5: Create project documentation (AC: 5)
55
+ - [ ] Write README.md with project description
56
+ - [ ] Add development setup instructions
57
+ - [ ] Document build and test commands
58
+ - [ ] Include installation instructions
59
+ - [ ] Task 6: Configure pre-commit hooks (AC: 6)
60
+ - [ ] Set up rustfmt pre-commit hook
61
+ - [ ] Set up clippy pre-commit hook
62
+ - [ ] Document hook setup in README
63
+ - [ ] Task 7: Add MIT License (AC: 7)
64
+ - [ ] Create LICENSE file with MIT license text
65
+ - [ ] Add license field to Cargo.toml
66
+ - [ ] Task 8: Create Makefile for development (AC: 8)
67
+ - [ ] Add test target
68
+ - [ ] Add build target (debug and release)
69
+ - [ ] Add lint target (rustfmt + clippy)
70
+ - [ ] Add clean target
71
+
72
+ ## Dev Notes
73
+
74
+ ### Previous Story Insights
75
+
76
+ No previous story exists - this is the first story in the project.
77
+
78
+ ### Technical Architecture Context
79
+
80
+ **Project Structure Requirements** [Source: architecture.md#source-tree]:
81
+
82
+ - Follow the defined monorepo structure with clear separation of concerns
83
+ - Implement clean architecture layers: CLI, Application, Domain, Infrastructure
84
+ - Use the exact directory structure specified in the architecture document
85
+
86
+ **Technology Stack Requirements** [Source: architecture.md#tech-stack]:
87
+
88
+ - **Language**: Rust 1.78.0 (2021 edition)
89
+ - **CLI Framework**: clap v4.5.4 for command-line parsing
90
+ - **Database**: sqlx v0.7.4 for SQLite operations
91
+ - **Error Handling**: anyhow v1.0.82 for application errors, thiserror v1.0.58 for custom types
92
+ - **Configuration**: toml v0.8.12 for config file parsing
93
+ - **Terminal Output**: termcolor v1.4.1 for colored output
94
+ - **Testing**: criterion v0.5.1 for benchmarking
95
+ - **Logging**: env_logger v0.11.3 for debug logging
96
+ - **Date Parsing**: chrono v0.4.38, chrono-english v0.1.7
97
+ - **Serialization**: serde v1.0.197 for JSON/CSV export
98
+
99
+ **Performance Requirements** [Source: architecture.md#high-level-architecture]:
100
+
101
+ - Sub-100ms command execution requirement
102
+ - Cold start application startup < 50ms
103
+ - Memory usage must not exceed 10MB during normal operation
104
+ - Single binary distribution with no runtime dependencies
105
+ - Synchronous execution model (no async runtime overhead)
106
+ - Static linking required for zero runtime dependencies
107
+
108
+ **Build and CI Requirements** [Source: architecture.md#infrastructure-and-deployment]:
109
+
110
+ - GitHub Actions for CI/CD pipeline
111
+ - Matrix builds for Linux and macOS platforms
112
+ - Automated binary releases on tag push
113
+ - Integration with cargo, rustfmt, and clippy
114
+ - Security audit using cargo audit in CI pipeline
115
+ - Performance benchmarks with 5% regression threshold
116
+ - LTO enabled for release builds
117
+ - Binary size optimization for releases
118
+
119
+ ### File Locations
120
+
121
+ Based on the architecture document, the complete project structure should be:
122
+
123
+ ```
124
+ termtodo/
125
+ ├── Cargo.toml # Project manifest with dependencies
126
+ ├── Cargo.lock # Locked dependency versions
127
+ ├── build.rs # Build script for embedding resources
128
+ ├── .github/
129
+ │ └── workflows/
130
+ │ ├── ci.yml # Test, lint, build on all platforms
131
+ │ └── release.yml # Build and publish binaries on tag
132
+ ├── src/
133
+ │ ├── main.rs # Entry point, CLI setup
134
+ │ ├── cli/
135
+ │ │ ├── mod.rs # CLI module exports
136
+ │ │ ├── parser.rs # Clap command definitions
137
+ │ │ └── commands/ # Command handlers
138
+ │ ├── app/
139
+ │ │ ├── mod.rs # Application layer exports
140
+ │ │ ├── service.rs # Main application service
141
+ │ │ └── errors.rs # Application error types
142
+ │ ├── domain/
143
+ │ │ ├── mod.rs # Domain model exports
144
+ │ │ ├── task.rs # Task entity
145
+ │ │ └── types.rs # Enums (Status, Priority)
146
+ │ ├── infra/
147
+ │ │ ├── mod.rs # Infrastructure exports
148
+ │ │ ├── db/ # Database module
149
+ │ │ ├── repos/ # Repository implementations
150
+ │ │ └── config/ # Config file handling
151
+ │ └── utils/
152
+ │ ├── mod.rs # Utility exports
153
+ │ ├── dates.rs # Date parsing helpers
154
+ │ └── result.rs # Result extensions
155
+ ├── tests/
156
+ │ ├── integration/ # Integration tests
157
+ │ └── fixtures/ # Test data files
158
+ ├── benches/
159
+ │ └── performance.rs # Criterion benchmarks
160
+ ├── migrations/ # SQL migration files
161
+ ├── LICENSE # MIT license file
162
+ ├── Makefile # Development commands
163
+ └── README.md # Project documentation
164
+ ```
165
+
166
+ ### Testing Requirements
167
+
168
+ **Testing Standards** [Source: architecture.md#test-strategy-and-standards]:
169
+
170
+ - Use Rust built-in testing framework
171
+ - Target 80% overall coverage, 90% for business logic
172
+ - Unit tests in `#[cfg(test)]` modules within source files
173
+ - Integration tests in `tests/integration/` directory
174
+ - Performance tests using criterion benchmarks
175
+ - Pre-commit hooks for formatting and linting validation
176
+
177
+ ### Technical Constraints
178
+
179
+ **Coding Standards** [Source: architecture.md#coding-standards]:
180
+
181
+ - Rust 1.78.0 with 2021 edition
182
+ - rustfmt with default configuration
183
+ - clippy with pedantic lints enabled
184
+ - No unwrap() in production code
185
+ - All public functions must have doc comments
186
+ - Parameterized SQL statements only
187
+
188
+ **Error Handling** [Source: architecture.md#error-handling-strategy]:
189
+
190
+ - Result<T, Error> for all fallible operations
191
+ - anyhow::Error for applications, custom types for libraries
192
+ - Error propagation using ? operator with context
193
+
194
+ ### Database Configuration Requirements
195
+
196
+ **SQLite PRAGMA Settings** [Source: architecture.md#database-requirements]:
197
+
198
+ - foreign_keys=ON for referential integrity
199
+ - journal_mode=WAL for performance
200
+ - synchronous=NORMAL for balanced safety/performance
201
+ - Connection pooling and prepared statement caching
202
+ - Schema migration system with version tracking
203
+ - Optimized indexes for common query patterns
204
+
205
+ ### Clean Architecture Layer Requirements
206
+
207
+ **Layer Separation** [Source: architecture.md#clean-architecture]:
208
+
209
+ - **CLI Layer**: Command parsing and output formatting only
210
+ - **Application Layer**: Business logic orchestration
211
+ - **Domain Layer**: Core entities and business rules
212
+ - **Infrastructure Layer**: Database, config, external concerns
213
+ - Repository pattern for data access abstraction
214
+ - Command pattern for CLI subcommand handlers
215
+
216
+ ### Testing
217
+
218
+ **Testing Standards** [Source: architecture.md#test-strategy-and-standards]:
219
+
220
+ **Framework**: Rust built-in testing framework
221
+ **Coverage Goals**:
222
+
223
+ - 80% overall coverage minimum
224
+ - 90% for business logic coverage minimum
225
+ - Test pyramid: 70% unit, 25% integration, 5% e2e
226
+
227
+ **Test Organization**:
228
+
229
+ - Unit tests in `#[cfg(test)]` modules within source files
230
+ - Integration tests in `tests/integration/` directory
231
+ - End-to-end tests using assert_cmd for CLI testing
232
+ - Performance tests using criterion benchmarks
233
+
234
+ **Testing Infrastructure**:
235
+
236
+ - Use tempfile crate for isolated file system testing
237
+ - In-memory SQLite for database integration tests
238
+ - Criterion benchmarks for performance regression testing
239
+ - assert_cmd for CLI end-to-end testing
240
+
241
+ **CI Requirements**:
242
+
243
+ - Run tests on every push and pull request
244
+ - Include rustfmt and clippy checks in CI pipeline
245
+ - Performance benchmarks with 5% regression threshold
246
+ - Security audit using cargo audit
247
+ - Cross-platform testing (Linux and macOS)
248
+
249
+ ## Change Log
250
+
251
+ | Date | Version | Description | Author |
252
+ | ---------- | ------- | -------------------------------------------------------------------------------------------------------------------- | --------------------- |
253
+ | 2025-07-07 | 1.0 | Initial story creation | Bob (Scrum Master) |
254
+ | 2025-07-07 | 1.1 | Fixed validation issues: complete dependency list, template structure, performance requirements, source tree details | Sarah (Product Owner) |
255
+
256
+ ## Dev Agent Record
257
+
258
+ _This section will be populated by the development agent during implementation_
259
+
260
+ ### Agent Model Used
261
+
262
+ _To be filled by dev agent_
263
+
264
+ ### Debug Log References
265
+
266
+ _To be filled by dev agent_
267
+
268
+ ### Completion Notes List
269
+
270
+ _To be filled by dev agent_
271
+
272
+ ### File List
273
+
274
+ _To be filled by dev agent_
275
+
276
+ ## QA Results
277
+
278
+ _Results from QA Agent review will be populated here_