bmad-method 4.37.0 → 4.39.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.
Files changed (251) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +3 -3
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +3 -3
  3. package/.github/workflows/discord.yaml +11 -2
  4. package/.github/workflows/format-check.yaml +42 -0
  5. package/.github/workflows/manual-release.yaml +173 -0
  6. package/.husky/pre-commit +3 -0
  7. package/.vscode/settings.json +26 -1
  8. package/CHANGELOG.md +2 -23
  9. package/README.md +2 -0
  10. package/bmad-core/agent-teams/team-all.yaml +1 -1
  11. package/bmad-core/agents/analyst.md +16 -15
  12. package/bmad-core/agents/architect.md +11 -11
  13. package/bmad-core/agents/bmad-master.md +23 -22
  14. package/bmad-core/agents/bmad-orchestrator.md +13 -17
  15. package/bmad-core/agents/dev.md +14 -11
  16. package/bmad-core/agents/pm.md +15 -14
  17. package/bmad-core/agents/po.md +9 -8
  18. package/bmad-core/agents/qa.md +42 -22
  19. package/bmad-core/agents/sm.md +7 -6
  20. package/bmad-core/agents/ux-expert.md +6 -5
  21. package/bmad-core/core-config.yaml +2 -0
  22. package/bmad-core/data/bmad-kb.md +1 -1
  23. package/bmad-core/data/test-levels-framework.md +146 -0
  24. package/bmad-core/data/test-priorities-matrix.md +172 -0
  25. package/bmad-core/tasks/apply-qa-fixes.md +148 -0
  26. package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
  27. package/bmad-core/tasks/nfr-assess.md +343 -0
  28. package/bmad-core/tasks/qa-gate.md +161 -0
  29. package/bmad-core/tasks/review-story.md +234 -74
  30. package/bmad-core/tasks/risk-profile.md +353 -0
  31. package/bmad-core/tasks/test-design.md +174 -0
  32. package/bmad-core/tasks/trace-requirements.md +264 -0
  33. package/bmad-core/templates/architecture-tmpl.yaml +49 -49
  34. package/bmad-core/templates/brainstorming-output-tmpl.yaml +5 -5
  35. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +31 -31
  36. package/bmad-core/templates/brownfield-prd-tmpl.yaml +13 -13
  37. package/bmad-core/templates/competitor-analysis-tmpl.yaml +19 -6
  38. package/bmad-core/templates/front-end-architecture-tmpl.yaml +21 -9
  39. package/bmad-core/templates/front-end-spec-tmpl.yaml +24 -24
  40. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +122 -104
  41. package/bmad-core/templates/market-research-tmpl.yaml +2 -2
  42. package/bmad-core/templates/prd-tmpl.yaml +9 -9
  43. package/bmad-core/templates/project-brief-tmpl.yaml +4 -4
  44. package/bmad-core/templates/qa-gate-tmpl.yaml +102 -0
  45. package/bmad-core/templates/story-tmpl.yaml +12 -12
  46. package/bmad-core/workflows/brownfield-fullstack.yaml +9 -9
  47. package/bmad-core/workflows/brownfield-service.yaml +1 -1
  48. package/bmad-core/workflows/brownfield-ui.yaml +1 -1
  49. package/bmad-core/workflows/greenfield-fullstack.yaml +1 -1
  50. package/bmad-core/workflows/greenfield-service.yaml +1 -1
  51. package/bmad-core/workflows/greenfield-ui.yaml +1 -1
  52. package/common/utils/bmad-doc-template.md +5 -5
  53. package/dist/agents/analyst.txt +1086 -1079
  54. package/dist/agents/architect.txt +1534 -1526
  55. package/dist/agents/bmad-master.txt +646 -632
  56. package/dist/agents/bmad-orchestrator.txt +40 -18
  57. package/dist/agents/dev.txt +158 -19
  58. package/dist/agents/pm.txt +1082 -1107
  59. package/dist/agents/po.txt +314 -332
  60. package/dist/agents/qa.txt +1754 -151
  61. package/dist/agents/sm.txt +88 -98
  62. package/dist/agents/ux-expert.txt +80 -87
  63. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +109 -146
  64. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +75 -86
  65. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +41 -48
  66. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +1903 -1941
  67. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +15 -50
  68. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +149 -195
  69. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -15
  70. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +20 -37
  71. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +2660 -2752
  72. package/dist/expansion-packs/bmad-creative-writing/agents/beta-reader.txt +871 -0
  73. package/dist/expansion-packs/bmad-creative-writing/agents/book-critic.txt +78 -0
  74. package/dist/expansion-packs/bmad-creative-writing/agents/character-psychologist.txt +839 -0
  75. package/dist/expansion-packs/bmad-creative-writing/agents/cover-designer.txt +85 -0
  76. package/dist/expansion-packs/bmad-creative-writing/agents/dialog-specialist.txt +861 -0
  77. package/dist/expansion-packs/bmad-creative-writing/agents/editor.txt +796 -0
  78. package/dist/expansion-packs/bmad-creative-writing/agents/genre-specialist.txt +927 -0
  79. package/dist/expansion-packs/bmad-creative-writing/agents/narrative-designer.txt +842 -0
  80. package/dist/expansion-packs/bmad-creative-writing/agents/plot-architect.txt +1126 -0
  81. package/dist/expansion-packs/bmad-creative-writing/agents/world-builder.txt +864 -0
  82. package/dist/expansion-packs/bmad-creative-writing/teams/agent-team.txt +5917 -0
  83. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +25 -27
  84. package/dist/teams/team-all.txt +5541 -3768
  85. package/dist/teams/team-fullstack.txt +3014 -2987
  86. package/dist/teams/team-ide-minimal.txt +2219 -469
  87. package/dist/teams/team-no-ui.txt +2993 -2966
  88. package/docs/enhanced-ide-development-workflow.md +220 -15
  89. package/docs/user-guide.md +271 -18
  90. package/docs/versioning-and-releases.md +122 -44
  91. package/docs/working-in-the-brownfield.md +264 -31
  92. package/eslint.config.mjs +119 -0
  93. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +4 -4
  94. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +1 -1
  95. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  96. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +26 -28
  97. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +50 -50
  98. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +23 -23
  99. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +24 -24
  100. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +42 -42
  101. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  102. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  103. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +1 -1
  104. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +3 -3
  105. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +1 -1
  106. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +1 -1
  107. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +23 -23
  108. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +63 -63
  109. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +20 -20
  110. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  111. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  112. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +1 -1
  113. package/expansion-packs/bmad-creative-writing/README.md +132 -0
  114. package/expansion-packs/bmad-creative-writing/agent-teams/agent-team.yaml +19 -0
  115. package/expansion-packs/bmad-creative-writing/agents/beta-reader.md +91 -0
  116. package/expansion-packs/bmad-creative-writing/agents/book-critic.md +35 -0
  117. package/expansion-packs/bmad-creative-writing/agents/character-psychologist.md +90 -0
  118. package/expansion-packs/bmad-creative-writing/agents/cover-designer.md +41 -0
  119. package/expansion-packs/bmad-creative-writing/agents/dialog-specialist.md +89 -0
  120. package/expansion-packs/bmad-creative-writing/agents/editor.md +90 -0
  121. package/expansion-packs/bmad-creative-writing/agents/genre-specialist.md +92 -0
  122. package/expansion-packs/bmad-creative-writing/agents/narrative-designer.md +90 -0
  123. package/expansion-packs/bmad-creative-writing/agents/plot-architect.md +92 -0
  124. package/expansion-packs/bmad-creative-writing/agents/world-builder.md +91 -0
  125. package/expansion-packs/bmad-creative-writing/checklists/beta-feedback-closure-checklist.md +16 -0
  126. package/expansion-packs/bmad-creative-writing/checklists/character-consistency-checklist.md +16 -0
  127. package/expansion-packs/bmad-creative-writing/checklists/comedic-timing-checklist.md +16 -0
  128. package/expansion-packs/bmad-creative-writing/checklists/cyberpunk-aesthetic-checklist.md +16 -0
  129. package/expansion-packs/bmad-creative-writing/checklists/ebook-formatting-checklist.md +15 -0
  130. package/expansion-packs/bmad-creative-writing/checklists/epic-poetry-meter-checklist.md +16 -0
  131. package/expansion-packs/bmad-creative-writing/checklists/fantasy-magic-system-checklist.md +16 -0
  132. package/expansion-packs/bmad-creative-writing/checklists/foreshadowing-payoff-checklist.md +15 -0
  133. package/expansion-packs/bmad-creative-writing/checklists/genre-tropes-checklist.md +15 -0
  134. package/expansion-packs/bmad-creative-writing/checklists/historical-accuracy-checklist.md +16 -0
  135. package/expansion-packs/bmad-creative-writing/checklists/horror-suspense-checklist.md +16 -0
  136. package/expansion-packs/bmad-creative-writing/checklists/kdp-cover-ready-checklist.md +18 -0
  137. package/expansion-packs/bmad-creative-writing/checklists/line-edit-quality-checklist.md +16 -0
  138. package/expansion-packs/bmad-creative-writing/checklists/marketing-copy-checklist.md +16 -0
  139. package/expansion-packs/bmad-creative-writing/checklists/mystery-clue-trail-checklist.md +16 -0
  140. package/expansion-packs/bmad-creative-writing/checklists/orbital-mechanics-checklist.md +16 -0
  141. package/expansion-packs/bmad-creative-writing/checklists/plot-structure-checklist.md +49 -0
  142. package/expansion-packs/bmad-creative-writing/checklists/publication-readiness-checklist.md +16 -0
  143. package/expansion-packs/bmad-creative-writing/checklists/romance-emotional-beats-checklist.md +16 -0
  144. package/expansion-packs/bmad-creative-writing/checklists/scene-quality-checklist.md +16 -0
  145. package/expansion-packs/bmad-creative-writing/checklists/scifi-technology-plausibility-checklist.md +15 -0
  146. package/expansion-packs/bmad-creative-writing/checklists/sensitivity-representation-checklist.md +16 -0
  147. package/expansion-packs/bmad-creative-writing/checklists/steampunk-gadget-checklist.md +16 -0
  148. package/expansion-packs/bmad-creative-writing/checklists/thriller-pacing-stakes-checklist.md +16 -0
  149. package/expansion-packs/bmad-creative-writing/checklists/timeline-continuity-checklist.md +16 -0
  150. package/expansion-packs/bmad-creative-writing/checklists/world-building-continuity-checklist.md +16 -0
  151. package/expansion-packs/bmad-creative-writing/checklists/ya-appropriateness-checklist.md +16 -0
  152. package/expansion-packs/bmad-creative-writing/config.yaml +11 -0
  153. package/expansion-packs/bmad-creative-writing/data/bmad-kb.md +197 -0
  154. package/expansion-packs/bmad-creative-writing/data/story-structures.md +58 -0
  155. package/expansion-packs/bmad-creative-writing/docs/brief.md +183 -0
  156. package/expansion-packs/bmad-creative-writing/tasks/advanced-elicitation.md +117 -0
  157. package/expansion-packs/bmad-creative-writing/tasks/analyze-reader-feedback.md +16 -0
  158. package/expansion-packs/bmad-creative-writing/tasks/analyze-story-structure.md +55 -0
  159. package/expansion-packs/bmad-creative-writing/tasks/assemble-kdp-package.md +22 -0
  160. package/expansion-packs/bmad-creative-writing/tasks/brainstorm-premise.md +16 -0
  161. package/expansion-packs/bmad-creative-writing/tasks/build-world.md +17 -0
  162. package/expansion-packs/bmad-creative-writing/tasks/character-depth-pass.md +15 -0
  163. package/expansion-packs/bmad-creative-writing/tasks/create-doc.md +101 -0
  164. package/expansion-packs/bmad-creative-writing/tasks/create-draft-section.md +19 -0
  165. package/expansion-packs/bmad-creative-writing/tasks/critical-review.md +19 -0
  166. package/expansion-packs/bmad-creative-writing/tasks/develop-character.md +17 -0
  167. package/expansion-packs/bmad-creative-writing/tasks/execute-checklist.md +93 -0
  168. package/expansion-packs/bmad-creative-writing/tasks/expand-premise.md +16 -0
  169. package/expansion-packs/bmad-creative-writing/tasks/expand-synopsis.md +16 -0
  170. package/expansion-packs/bmad-creative-writing/tasks/final-polish.md +16 -0
  171. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-brief.md +18 -0
  172. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-prompts.md +19 -0
  173. package/expansion-packs/bmad-creative-writing/tasks/generate-scene-list.md +16 -0
  174. package/expansion-packs/bmad-creative-writing/tasks/incorporate-feedback.md +18 -0
  175. package/expansion-packs/bmad-creative-writing/tasks/outline-scenes.md +16 -0
  176. package/expansion-packs/bmad-creative-writing/tasks/provide-feedback.md +17 -0
  177. package/expansion-packs/bmad-creative-writing/tasks/publish-chapter.md +16 -0
  178. package/expansion-packs/bmad-creative-writing/tasks/quick-feedback.md +15 -0
  179. package/expansion-packs/bmad-creative-writing/tasks/select-next-arc.md +16 -0
  180. package/expansion-packs/bmad-creative-writing/tasks/workshop-dialog.md +51 -0
  181. package/expansion-packs/bmad-creative-writing/templates/beta-feedback-form.yaml +96 -0
  182. package/expansion-packs/bmad-creative-writing/templates/chapter-draft-tmpl.yaml +81 -0
  183. package/expansion-packs/bmad-creative-writing/templates/character-profile-tmpl.yaml +92 -0
  184. package/expansion-packs/bmad-creative-writing/templates/cover-design-brief-tmpl.yaml +97 -0
  185. package/expansion-packs/bmad-creative-writing/templates/premise-brief-tmpl.yaml +77 -0
  186. package/expansion-packs/bmad-creative-writing/templates/scene-list-tmpl.yaml +54 -0
  187. package/expansion-packs/bmad-creative-writing/templates/story-outline-tmpl.yaml +96 -0
  188. package/expansion-packs/bmad-creative-writing/templates/world-guide-tmpl.yaml +88 -0
  189. package/expansion-packs/bmad-creative-writing/workflows/book-cover-design-workflow.md +176 -0
  190. package/expansion-packs/bmad-creative-writing/workflows/novel-greenfield-workflow.yaml +58 -0
  191. package/expansion-packs/bmad-creative-writing/workflows/novel-serial-workflow.yaml +51 -0
  192. package/expansion-packs/bmad-creative-writing/workflows/novel-snowflake-workflow.yaml +69 -0
  193. package/expansion-packs/bmad-creative-writing/workflows/novel-writing.yaml +92 -0
  194. package/expansion-packs/bmad-creative-writing/workflows/screenplay-development.yaml +86 -0
  195. package/expansion-packs/bmad-creative-writing/workflows/series-planning.yaml +79 -0
  196. package/expansion-packs/bmad-creative-writing/workflows/short-story-creation.yaml +65 -0
  197. package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  198. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +20 -20
  199. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +7 -7
  200. package/package.json +62 -39
  201. package/prettier.config.mjs +32 -0
  202. package/sync-version.sh +23 -0
  203. package/tools/bmad-npx-wrapper.js +10 -10
  204. package/tools/builders/web-builder.js +124 -130
  205. package/tools/bump-all-versions.js +42 -33
  206. package/tools/bump-expansion-version.js +23 -16
  207. package/tools/cli.js +10 -12
  208. package/tools/flattener/aggregate.js +10 -10
  209. package/tools/flattener/binary.js +44 -17
  210. package/tools/flattener/discovery.js +19 -18
  211. package/tools/flattener/files.js +6 -6
  212. package/tools/flattener/ignoreRules.js +125 -125
  213. package/tools/flattener/main.js +426 -70
  214. package/tools/flattener/projectRoot.js +186 -25
  215. package/tools/flattener/prompts.js +9 -9
  216. package/tools/flattener/stats.helpers.js +395 -0
  217. package/tools/flattener/stats.js +64 -14
  218. package/tools/flattener/test-matrix.js +413 -0
  219. package/tools/flattener/xml.js +33 -31
  220. package/tools/installer/bin/bmad.js +156 -113
  221. package/tools/installer/config/ide-agent-config.yaml +1 -1
  222. package/tools/installer/config/install.config.yaml +13 -3
  223. package/tools/installer/lib/config-loader.js +46 -42
  224. package/tools/installer/lib/file-manager.js +91 -113
  225. package/tools/installer/lib/ide-base-setup.js +57 -56
  226. package/tools/installer/lib/ide-setup.js +545 -399
  227. package/tools/installer/lib/installer.js +875 -714
  228. package/tools/installer/lib/memory-profiler.js +54 -53
  229. package/tools/installer/lib/module-manager.js +19 -15
  230. package/tools/installer/lib/resource-locator.js +26 -28
  231. package/tools/installer/package.json +19 -19
  232. package/tools/lib/dependency-resolver.js +26 -30
  233. package/tools/lib/yaml-utils.js +7 -7
  234. package/tools/preview-release-notes.js +66 -0
  235. package/tools/shared/bannerArt.js +3 -3
  236. package/tools/sync-installer-version.js +7 -9
  237. package/tools/update-expansion-version.js +14 -15
  238. package/tools/upgraders/v3-to-v4-upgrader.js +203 -294
  239. package/tools/version-bump.js +41 -26
  240. package/tools/yaml-format.js +56 -43
  241. package/.github/workflows/release.yaml +0 -60
  242. package/.releaserc.json +0 -21
  243. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +0 -102
  244. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +0 -13
  245. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +0 -13
  246. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +0 -25
  247. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +0 -34
  248. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +0 -70
  249. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +0 -26
  250. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +0 -109
  251. package/tools/semantic-release-sync-installer.js +0 -30
@@ -0,0 +1,264 @@
1
+ # trace-requirements
2
+
3
+ Map story requirements to test cases using Given-When-Then patterns for comprehensive traceability.
4
+
5
+ ## Purpose
6
+
7
+ Create a requirements traceability matrix that ensures every acceptance criterion has corresponding test coverage. This task helps identify gaps in testing and ensures all requirements are validated.
8
+
9
+ **IMPORTANT**: Given-When-Then is used here for documenting the mapping between requirements and tests, NOT for writing the actual test code. Tests should follow your project's testing standards (no BDD syntax in test code).
10
+
11
+ ## Prerequisites
12
+
13
+ - Story file with clear acceptance criteria
14
+ - Access to test files or test specifications
15
+ - Understanding of the implementation
16
+
17
+ ## Traceability Process
18
+
19
+ ### 1. Extract Requirements
20
+
21
+ Identify all testable requirements from:
22
+
23
+ - Acceptance Criteria (primary source)
24
+ - User story statement
25
+ - Tasks/subtasks with specific behaviors
26
+ - Non-functional requirements mentioned
27
+ - Edge cases documented
28
+
29
+ ### 2. Map to Test Cases
30
+
31
+ For each requirement, document which tests validate it. Use Given-When-Then to describe what the test validates (not how it's written):
32
+
33
+ ```yaml
34
+ requirement: 'AC1: User can login with valid credentials'
35
+ test_mappings:
36
+ - test_file: 'auth/login.test.ts'
37
+ test_case: 'should successfully login with valid email and password'
38
+ # Given-When-Then describes WHAT the test validates, not HOW it's coded
39
+ given: 'A registered user with valid credentials'
40
+ when: 'They submit the login form'
41
+ then: 'They are redirected to dashboard and session is created'
42
+ coverage: full
43
+
44
+ - test_file: 'e2e/auth-flow.test.ts'
45
+ test_case: 'complete login flow'
46
+ given: 'User on login page'
47
+ when: 'Entering valid credentials and submitting'
48
+ then: 'Dashboard loads with user data'
49
+ coverage: integration
50
+ ```
51
+
52
+ ### 3. Coverage Analysis
53
+
54
+ Evaluate coverage for each requirement:
55
+
56
+ **Coverage Levels:**
57
+
58
+ - `full`: Requirement completely tested
59
+ - `partial`: Some aspects tested, gaps exist
60
+ - `none`: No test coverage found
61
+ - `integration`: Covered in integration/e2e tests only
62
+ - `unit`: Covered in unit tests only
63
+
64
+ ### 4. Gap Identification
65
+
66
+ Document any gaps found:
67
+
68
+ ```yaml
69
+ coverage_gaps:
70
+ - requirement: 'AC3: Password reset email sent within 60 seconds'
71
+ gap: 'No test for email delivery timing'
72
+ severity: medium
73
+ suggested_test:
74
+ type: integration
75
+ description: 'Test email service SLA compliance'
76
+
77
+ - requirement: 'AC5: Support 1000 concurrent users'
78
+ gap: 'No load testing implemented'
79
+ severity: high
80
+ suggested_test:
81
+ type: performance
82
+ description: 'Load test with 1000 concurrent connections'
83
+ ```
84
+
85
+ ## Outputs
86
+
87
+ ### Output 1: Gate YAML Block
88
+
89
+ **Generate for pasting into gate file under `trace`:**
90
+
91
+ ```yaml
92
+ trace:
93
+ totals:
94
+ requirements: X
95
+ full: Y
96
+ partial: Z
97
+ none: W
98
+ planning_ref: 'qa.qaLocation/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md'
99
+ uncovered:
100
+ - ac: 'AC3'
101
+ reason: 'No test found for password reset timing'
102
+ notes: 'See qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md'
103
+ ```
104
+
105
+ ### Output 2: Traceability Report
106
+
107
+ **Save to:** `qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md`
108
+
109
+ Create a traceability report with:
110
+
111
+ ```markdown
112
+ # Requirements Traceability Matrix
113
+
114
+ ## Story: {epic}.{story} - {title}
115
+
116
+ ### Coverage Summary
117
+
118
+ - Total Requirements: X
119
+ - Fully Covered: Y (Z%)
120
+ - Partially Covered: A (B%)
121
+ - Not Covered: C (D%)
122
+
123
+ ### Requirement Mappings
124
+
125
+ #### AC1: {Acceptance Criterion 1}
126
+
127
+ **Coverage: FULL**
128
+
129
+ Given-When-Then Mappings:
130
+
131
+ - **Unit Test**: `auth.service.test.ts::validateCredentials`
132
+ - Given: Valid user credentials
133
+ - When: Validation method called
134
+ - Then: Returns true with user object
135
+
136
+ - **Integration Test**: `auth.integration.test.ts::loginFlow`
137
+ - Given: User with valid account
138
+ - When: Login API called
139
+ - Then: JWT token returned and session created
140
+
141
+ #### AC2: {Acceptance Criterion 2}
142
+
143
+ **Coverage: PARTIAL**
144
+
145
+ [Continue for all ACs...]
146
+
147
+ ### Critical Gaps
148
+
149
+ 1. **Performance Requirements**
150
+ - Gap: No load testing for concurrent users
151
+ - Risk: High - Could fail under production load
152
+ - Action: Implement load tests using k6 or similar
153
+
154
+ 2. **Security Requirements**
155
+ - Gap: Rate limiting not tested
156
+ - Risk: Medium - Potential DoS vulnerability
157
+ - Action: Add rate limit tests to integration suite
158
+
159
+ ### Test Design Recommendations
160
+
161
+ Based on gaps identified, recommend:
162
+
163
+ 1. Additional test scenarios needed
164
+ 2. Test types to implement (unit/integration/e2e/performance)
165
+ 3. Test data requirements
166
+ 4. Mock/stub strategies
167
+
168
+ ### Risk Assessment
169
+
170
+ - **High Risk**: Requirements with no coverage
171
+ - **Medium Risk**: Requirements with only partial coverage
172
+ - **Low Risk**: Requirements with full unit + integration coverage
173
+ ```
174
+
175
+ ## Traceability Best Practices
176
+
177
+ ### Given-When-Then for Mapping (Not Test Code)
178
+
179
+ Use Given-When-Then to document what each test validates:
180
+
181
+ **Given**: The initial context the test sets up
182
+
183
+ - What state/data the test prepares
184
+ - User context being simulated
185
+ - System preconditions
186
+
187
+ **When**: The action the test performs
188
+
189
+ - What the test executes
190
+ - API calls or user actions tested
191
+ - Events triggered
192
+
193
+ **Then**: What the test asserts
194
+
195
+ - Expected outcomes verified
196
+ - State changes checked
197
+ - Values validated
198
+
199
+ **Note**: This is for documentation only. Actual test code follows your project's standards (e.g., describe/it blocks, no BDD syntax).
200
+
201
+ ### Coverage Priority
202
+
203
+ Prioritize coverage based on:
204
+
205
+ 1. Critical business flows
206
+ 2. Security-related requirements
207
+ 3. Data integrity requirements
208
+ 4. User-facing features
209
+ 5. Performance SLAs
210
+
211
+ ### Test Granularity
212
+
213
+ Map at appropriate levels:
214
+
215
+ - Unit tests for business logic
216
+ - Integration tests for component interaction
217
+ - E2E tests for user journeys
218
+ - Performance tests for NFRs
219
+
220
+ ## Quality Indicators
221
+
222
+ Good traceability shows:
223
+
224
+ - Every AC has at least one test
225
+ - Critical paths have multiple test levels
226
+ - Edge cases are explicitly covered
227
+ - NFRs have appropriate test types
228
+ - Clear Given-When-Then for each test
229
+
230
+ ## Red Flags
231
+
232
+ Watch for:
233
+
234
+ - ACs with no test coverage
235
+ - Tests that don't map to requirements
236
+ - Vague test descriptions
237
+ - Missing edge case coverage
238
+ - NFRs without specific tests
239
+
240
+ ## Integration with Gates
241
+
242
+ This traceability feeds into quality gates:
243
+
244
+ - Critical gaps → FAIL
245
+ - Minor gaps → CONCERNS
246
+ - Missing P0 tests from test-design → CONCERNS
247
+
248
+ ### Output 3: Story Hook Line
249
+
250
+ **Print this line for review task to quote:**
251
+
252
+ ```text
253
+ Trace matrix: qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md
254
+ ```
255
+
256
+ - Full coverage → PASS contribution
257
+
258
+ ## Key Principles
259
+
260
+ - Every requirement must be testable
261
+ - Use Given-When-Then for clarity
262
+ - Identify both presence and absence
263
+ - Prioritize based on risk
264
+ - Make recommendations actionable
@@ -20,20 +20,20 @@ sections:
20
20
  - id: intro-content
21
21
  content: |
22
22
  This document outlines the overall project architecture for {{project_name}}, including backend systems, shared services, and non-UI specific concerns. Its primary goal is to serve as the guiding architectural blueprint for AI-driven development, ensuring consistency and adherence to chosen patterns and technologies.
23
-
23
+
24
24
  **Relationship to Frontend Architecture:**
25
25
  If the project includes a significant user interface, a separate Frontend Architecture Document will detail the frontend-specific design and MUST be used in conjunction with this document. Core technology stack choices documented herein (see "Tech Stack") are definitive for the entire project, including any frontend components.
26
26
  - id: starter-template
27
27
  title: Starter Template or Existing Project
28
28
  instruction: |
29
29
  Before proceeding further with architecture design, check if the project is based on a starter template or existing codebase:
30
-
30
+
31
31
  1. Review the PRD and brainstorming brief for any mentions of:
32
32
  - Starter templates (e.g., Create React App, Next.js, Vue CLI, Angular CLI, etc.)
33
33
  - Existing projects or codebases being used as a foundation
34
34
  - Boilerplate projects or scaffolding tools
35
35
  - Previous projects to be cloned or adapted
36
-
36
+
37
37
  2. If a starter template or existing project is mentioned:
38
38
  - Ask the user to provide access via one of these methods:
39
39
  - Link to the starter template documentation
@@ -46,16 +46,16 @@ sections:
46
46
  - Existing architectural patterns and conventions
47
47
  - Any limitations or constraints imposed by the starter
48
48
  - Use this analysis to inform and align your architecture decisions
49
-
49
+
50
50
  3. If no starter template is mentioned but this is a greenfield project:
51
51
  - Suggest appropriate starter templates based on the tech stack preferences
52
52
  - Explain the benefits (faster setup, best practices, community support)
53
53
  - Let the user decide whether to use one
54
-
54
+
55
55
  4. If the user confirms no starter template will be used:
56
56
  - Proceed with architecture design from scratch
57
57
  - Note that manual setup will be required for all tooling and configuration
58
-
58
+
59
59
  Document the decision here before proceeding with the architecture design. If none, just say N/A
60
60
  elicit: true
61
61
  - id: changelog
@@ -83,7 +83,7 @@ sections:
83
83
  title: High Level Overview
84
84
  instruction: |
85
85
  Based on the PRD's Technical Assumptions section, describe:
86
-
86
+
87
87
  1. The main architectural style (e.g., Monolith, Microservices, Serverless, Event-Driven)
88
88
  2. Repository structure decision from PRD (Monorepo/Polyrepo)
89
89
  3. Service architecture decision from PRD
@@ -100,17 +100,17 @@ sections:
100
100
  - Data flow directions
101
101
  - External integrations
102
102
  - User entry points
103
-
103
+
104
104
  - id: architectural-patterns
105
105
  title: Architectural and Design Patterns
106
106
  instruction: |
107
107
  List the key high-level patterns that will guide the architecture. For each pattern:
108
-
108
+
109
109
  1. Present 2-3 viable options if multiple exist
110
110
  2. Provide your recommendation with clear rationale
111
111
  3. Get user confirmation before finalizing
112
112
  4. These patterns should align with the PRD's technical assumptions and project goals
113
-
113
+
114
114
  Common patterns to consider:
115
115
  - Architectural style patterns (Serverless, Event-Driven, Microservices, CQRS, Hexagonal)
116
116
  - Code organization patterns (Dependency Injection, Repository, Module, Factory)
@@ -126,23 +126,23 @@ sections:
126
126
  title: Tech Stack
127
127
  instruction: |
128
128
  This is the DEFINITIVE technology selection section. Work with the user to make specific choices:
129
-
129
+
130
130
  1. Review PRD technical assumptions and any preferences from {root}/data/technical-preferences.yaml or an attached technical-preferences
131
131
  2. For each category, present 2-3 viable options with pros/cons
132
132
  3. Make a clear recommendation based on project needs
133
133
  4. Get explicit user approval for each selection
134
134
  5. Document exact versions (avoid "latest" - pin specific versions)
135
135
  6. This table is the single source of truth - all other docs must reference these choices
136
-
136
+
137
137
  Key decisions to finalize - before displaying the table, ensure you are aware of or ask the user about - let the user know if they are not sure on any that you can also provide suggestions with rationale:
138
-
138
+
139
139
  - Starter templates (if any)
140
140
  - Languages and runtimes with exact versions
141
141
  - Frameworks and libraries / packages
142
142
  - Cloud provider and key services choices
143
143
  - Database and storage solutions - if unclear suggest sql or nosql or other types depending on the project and depending on cloud provider offer a suggestion
144
144
  - Development tools
145
-
145
+
146
146
  Upon render of the table, ensure the user is aware of the importance of this sections choices, should also look for gaps or disagreements with anything, ask for any clarifications if something is unclear why its in the list, and also right away elicit feedback - this statement and the options should be rendered and then prompt right all before allowing user input.
147
147
  elicit: true
148
148
  sections:
@@ -166,13 +166,13 @@ sections:
166
166
  title: Data Models
167
167
  instruction: |
168
168
  Define the core data models/entities:
169
-
169
+
170
170
  1. Review PRD requirements and identify key business entities
171
171
  2. For each model, explain its purpose and relationships
172
172
  3. Include key attributes and data types
173
173
  4. Show relationships between models
174
174
  5. Discuss design decisions with user
175
-
175
+
176
176
  Create a clear conceptual model before moving to database schema.
177
177
  elicit: true
178
178
  repeatable: true
@@ -181,11 +181,11 @@ sections:
181
181
  title: "{{model_name}}"
182
182
  template: |
183
183
  **Purpose:** {{model_purpose}}
184
-
184
+
185
185
  **Key Attributes:**
186
186
  - {{attribute_1}}: {{type_1}} - {{description_1}}
187
187
  - {{attribute_2}}: {{type_2}} - {{description_2}}
188
-
188
+
189
189
  **Relationships:**
190
190
  - {{relationship_1}}
191
191
  - {{relationship_2}}
@@ -194,7 +194,7 @@ sections:
194
194
  title: Components
195
195
  instruction: |
196
196
  Based on the architectural patterns, tech stack, and data models from above:
197
-
197
+
198
198
  1. Identify major logical components/services and their responsibilities
199
199
  2. Consider the repository structure (monorepo/polyrepo) from PRD
200
200
  3. Define clear boundaries and interfaces between components
@@ -203,7 +203,7 @@ sections:
203
203
  - Key interfaces/APIs exposed
204
204
  - Dependencies on other components
205
205
  - Technology specifics based on tech stack choices
206
-
206
+
207
207
  5. Create component diagrams where helpful
208
208
  elicit: true
209
209
  sections:
@@ -212,13 +212,13 @@ sections:
212
212
  title: "{{component_name}}"
213
213
  template: |
214
214
  **Responsibility:** {{component_description}}
215
-
215
+
216
216
  **Key Interfaces:**
217
217
  - {{interface_1}}
218
218
  - {{interface_2}}
219
-
219
+
220
220
  **Dependencies:** {{dependencies}}
221
-
221
+
222
222
  **Technology Stack:** {{component_tech_details}}
223
223
  - id: component-diagrams
224
224
  title: Component Diagrams
@@ -235,13 +235,13 @@ sections:
235
235
  condition: Project requires external API integrations
236
236
  instruction: |
237
237
  For each external service integration:
238
-
238
+
239
239
  1. Identify APIs needed based on PRD requirements and component design
240
240
  2. If documentation URLs are unknown, ask user for specifics
241
241
  3. Document authentication methods and security considerations
242
242
  4. List specific endpoints that will be used
243
243
  5. Note any rate limits or usage constraints
244
-
244
+
245
245
  If no external APIs are needed, state this explicitly and skip to next section.
246
246
  elicit: true
247
247
  repeatable: true
@@ -254,10 +254,10 @@ sections:
254
254
  - **Base URL(s):** {{api_base_url}}
255
255
  - **Authentication:** {{auth_method}}
256
256
  - **Rate Limits:** {{rate_limits}}
257
-
257
+
258
258
  **Key Endpoints Used:**
259
259
  - `{{method}} {{endpoint_path}}` - {{endpoint_purpose}}
260
-
260
+
261
261
  **Integration Notes:** {{integration_considerations}}
262
262
 
263
263
  - id: core-workflows
@@ -266,13 +266,13 @@ sections:
266
266
  mermaid_type: sequence
267
267
  instruction: |
268
268
  Illustrate key system workflows using sequence diagrams:
269
-
269
+
270
270
  1. Identify critical user journeys from PRD
271
271
  2. Show component interactions including external APIs
272
272
  3. Include error handling paths
273
273
  4. Document async operations
274
274
  5. Create both high-level and detailed diagrams as needed
275
-
275
+
276
276
  Focus on workflows that clarify architecture decisions or complex interactions.
277
277
  elicit: true
278
278
 
@@ -283,13 +283,13 @@ sections:
283
283
  language: yaml
284
284
  instruction: |
285
285
  If the project includes a REST API:
286
-
286
+
287
287
  1. Create an OpenAPI 3.0 specification
288
288
  2. Include all endpoints from epics/stories
289
289
  3. Define request/response schemas based on data models
290
290
  4. Document authentication requirements
291
291
  5. Include example requests/responses
292
-
292
+
293
293
  Use YAML format for better readability. If no REST API, skip this section.
294
294
  elicit: true
295
295
  template: |
@@ -306,13 +306,13 @@ sections:
306
306
  title: Database Schema
307
307
  instruction: |
308
308
  Transform the conceptual data models into concrete database schemas:
309
-
309
+
310
310
  1. Use the database type(s) selected in Tech Stack
311
311
  2. Create schema definitions using appropriate notation
312
312
  3. Include indexes, constraints, and relationships
313
313
  4. Consider performance and scalability
314
314
  5. For NoSQL, show document structures
315
-
315
+
316
316
  Present schema in format appropriate to database type (SQL DDL, JSON schema, etc.)
317
317
  elicit: true
318
318
 
@@ -322,14 +322,14 @@ sections:
322
322
  language: plaintext
323
323
  instruction: |
324
324
  Create a project folder structure that reflects:
325
-
325
+
326
326
  1. The chosen repository structure (monorepo/polyrepo)
327
327
  2. The service architecture (monolith/microservices/serverless)
328
328
  3. The selected tech stack and languages
329
329
  4. Component organization from above
330
330
  5. Best practices for the chosen frameworks
331
331
  6. Clear separation of concerns
332
-
332
+
333
333
  Adapt the structure based on project needs. For monorepos, show service separation. For serverless, show function organization. Include language-specific conventions.
334
334
  elicit: true
335
335
  examples:
@@ -347,13 +347,13 @@ sections:
347
347
  title: Infrastructure and Deployment
348
348
  instruction: |
349
349
  Define the deployment architecture and practices:
350
-
350
+
351
351
  1. Use IaC tool selected in Tech Stack
352
352
  2. Choose deployment strategy appropriate for the architecture
353
353
  3. Define environments and promotion flow
354
354
  4. Establish rollback procedures
355
355
  5. Consider security, monitoring, and cost optimization
356
-
356
+
357
357
  Get user input on deployment preferences and CI/CD tool choices.
358
358
  elicit: true
359
359
  sections:
@@ -389,13 +389,13 @@ sections:
389
389
  title: Error Handling Strategy
390
390
  instruction: |
391
391
  Define comprehensive error handling approach:
392
-
392
+
393
393
  1. Choose appropriate patterns for the language/framework from Tech Stack
394
394
  2. Define logging standards and tools
395
395
  3. Establish error categories and handling rules
396
396
  4. Consider observability and debugging needs
397
397
  5. Ensure security (no sensitive data in logs)
398
-
398
+
399
399
  This section guides both AI and human developers in consistent error handling.
400
400
  elicit: true
401
401
  sections:
@@ -442,13 +442,13 @@ sections:
442
442
  title: Coding Standards
443
443
  instruction: |
444
444
  These standards are MANDATORY for AI agents. Work with user to define ONLY the critical rules needed to prevent bad code. Explain that:
445
-
445
+
446
446
  1. This section directly controls AI developer behavior
447
447
  2. Keep it minimal - assume AI knows general best practices
448
448
  3. Focus on project-specific conventions and gotchas
449
449
  4. Overly detailed standards bloat context and slow development
450
450
  5. Standards will be extracted to separate file for dev agent use
451
-
451
+
452
452
  For each standard, get explicit user confirmation it's necessary.
453
453
  elicit: true
454
454
  sections:
@@ -470,7 +470,7 @@ sections:
470
470
  - "Never use console.log in production code - use logger"
471
471
  - "All API responses must use ApiResponse wrapper type"
472
472
  - "Database queries must use repository pattern, never direct ORM"
473
-
473
+
474
474
  Avoid obvious rules like "use SOLID principles" or "write clean code"
475
475
  repeatable: true
476
476
  template: "- **{{rule_name}}:** {{rule_description}}"
@@ -488,14 +488,14 @@ sections:
488
488
  title: Test Strategy and Standards
489
489
  instruction: |
490
490
  Work with user to define comprehensive test strategy:
491
-
491
+
492
492
  1. Use test frameworks from Tech Stack
493
493
  2. Decide on TDD vs test-after approach
494
494
  3. Define test organization and naming
495
495
  4. Establish coverage goals
496
496
  5. Determine integration test infrastructure
497
497
  6. Plan for test data and external dependencies
498
-
498
+
499
499
  Note: Basic info goes in Coding Standards for dev agent. This detailed section is for QA agent and team reference.
500
500
  elicit: true
501
501
  sections:
@@ -516,7 +516,7 @@ sections:
516
516
  - **Location:** {{unit_test_location}}
517
517
  - **Mocking Library:** {{mocking_library}}
518
518
  - **Coverage Requirement:** {{unit_coverage}}
519
-
519
+
520
520
  **AI Agent Requirements:**
521
521
  - Generate tests for all public methods
522
522
  - Cover edge cases and error conditions
@@ -558,7 +558,7 @@ sections:
558
558
  title: Security
559
559
  instruction: |
560
560
  Define MANDATORY security requirements for AI and human developers:
561
-
561
+
562
562
  1. Focus on implementation-specific rules
563
563
  2. Reference security tools from Tech Stack
564
564
  3. Define clear patterns for common scenarios
@@ -627,16 +627,16 @@ sections:
627
627
  title: Next Steps
628
628
  instruction: |
629
629
  After completing the architecture:
630
-
630
+
631
631
  1. If project has UI components:
632
632
  - Use "Frontend Architecture Mode"
633
633
  - Provide this document as input
634
-
634
+
635
635
  2. For all projects:
636
636
  - Review with Product Owner
637
637
  - Begin story implementation with Dev agent
638
638
  - Set up infrastructure with DevOps agent
639
-
639
+
640
640
  3. Include specific prompts for next agents if needed
641
641
  sections:
642
642
  - id: architect-prompt
@@ -23,11 +23,11 @@ sections:
23
23
  - id: summary-details
24
24
  template: |
25
25
  **Topic:** {{session_topic}}
26
-
26
+
27
27
  **Session Goals:** {{stated_goals}}
28
-
28
+
29
29
  **Techniques Used:** {{techniques_list}}
30
-
30
+
31
31
  **Total Ideas Generated:** {{total_ideas}}
32
32
  - id: key-themes
33
33
  title: "Key Themes Identified:"
@@ -152,5 +152,5 @@ sections:
152
152
  - id: footer
153
153
  content: |
154
154
  ---
155
-
156
- *Session facilitated using the BMAD-METHOD brainstorming framework*
155
+
156
+ *Session facilitated using the BMAD-METHOD brainstorming framework*