bmalph 1.0.0 → 2.2.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 (455) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +398 -217
  3. package/bmad/bmm/agents/analyst.agent.yaml +43 -36
  4. package/bmad/bmm/agents/architect.agent.yaml +29 -28
  5. package/bmad/bmm/agents/dev.agent.yaml +38 -38
  6. package/bmad/bmm/agents/pm.agent.yaml +44 -46
  7. package/bmad/bmm/agents/qa.agent.yaml +58 -0
  8. package/bmad/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -32
  9. package/bmad/bmm/agents/sm.agent.yaml +37 -36
  10. package/bmad/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +223 -223
  11. package/bmad/bmm/agents/tech-writer/tech-writer.agent.yaml +46 -45
  12. package/bmad/bmm/agents/ux-designer.agent.yaml +27 -26
  13. package/bmad/bmm/data/project-context-template.md +26 -26
  14. package/bmad/bmm/module-help.csv +31 -31
  15. package/bmad/bmm/module.yaml +50 -44
  16. package/bmad/bmm/teams/default-party.csv +20 -21
  17. package/bmad/bmm/teams/team-fullstack.yaml +12 -12
  18. package/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -10
  19. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -177
  20. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -161
  21. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -199
  22. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -202
  23. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -205
  24. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -219
  25. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -162
  26. package/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -58
  27. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -137
  28. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -229
  29. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -238
  30. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -206
  31. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -234
  32. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -443
  33. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -182
  34. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -237
  35. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -249
  36. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -259
  37. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -177
  38. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -475
  39. package/bmad/bmm/workflows/1-analysis/research/research.template.md +29 -29
  40. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -137
  41. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -239
  42. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -248
  43. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -202
  44. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +233 -239
  45. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -486
  46. package/bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -0
  47. package/bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -0
  48. package/bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -0
  49. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/data/domain-complexity.csv +14 -12
  50. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/data/prd-purpose.md +197 -197
  51. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/data/project-types.csv +10 -10
  52. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-01-init.md +191 -191
  53. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-01b-continue.md +153 -153
  54. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-02-discovery.md +224 -224
  55. package/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +154 -0
  56. package/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +170 -0
  57. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-03-success.md +226 -226
  58. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-04-journeys.md +213 -213
  59. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-05-domain.md +207 -207
  60. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-06-innovation.md +226 -226
  61. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-07-project-type.md +237 -237
  62. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-08-scoping.md +228 -228
  63. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-09-functional.md +231 -231
  64. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-10-nonfunctional.md +242 -242
  65. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-11-polish.md +217 -217
  66. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-c/step-12-complete.md +124 -124
  67. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-e/step-e-01-discovery.md +247 -247
  68. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-e/step-e-01b-legacy-conversion.md +208 -208
  69. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-e/step-e-02-review.md +249 -249
  70. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-e/step-e-03-edit.md +253 -253
  71. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-e/step-e-04-complete.md +168 -168
  72. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-01-discovery.md +226 -218
  73. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-02-format-detection.md +191 -191
  74. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-02b-parity-check.md +209 -209
  75. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-03-density-validation.md +174 -174
  76. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-04-brief-coverage-validation.md +214 -214
  77. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-05-measurability-validation.md +228 -228
  78. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-06-traceability-validation.md +217 -217
  79. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-07-implementation-leakage-validation.md +205 -205
  80. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-08-domain-compliance-validation.md +243 -243
  81. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-09-project-type-validation.md +263 -263
  82. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-10-smart-validation.md +209 -209
  83. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-11-holistic-quality-validation.md +264 -264
  84. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-12-completeness-validation.md +242 -242
  85. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/steps-v/step-v-13-report-complete.md +231 -231
  86. package/bmad/bmm/workflows/2-plan-workflows/{prd → create-prd}/templates/prd-template.md +10 -10
  87. package/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -0
  88. package/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -0
  89. package/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +63 -0
  90. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -135
  91. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -127
  92. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -190
  93. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -216
  94. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -219
  95. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -234
  96. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -252
  97. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -254
  98. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -224
  99. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -224
  100. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -241
  101. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -248
  102. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -237
  103. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -264
  104. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -171
  105. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -13
  106. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -43
  107. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +184 -190
  108. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +172 -178
  109. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +173 -179
  110. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +133 -139
  111. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +245 -252
  112. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +129 -135
  113. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -4
  114. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -55
  115. package/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -12
  116. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +12 -10
  117. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +6 -6
  118. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -153
  119. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -164
  120. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -224
  121. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -331
  122. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -318
  123. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -359
  124. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -379
  125. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -359
  126. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -76
  127. package/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -50
  128. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -259
  129. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -233
  130. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -272
  131. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -149
  132. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -57
  133. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -59
  134. package/bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -23
  135. package/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +226 -226
  136. package/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +44 -51
  137. package/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +288 -288
  138. package/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +207 -206
  139. package/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +54 -60
  140. package/bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -358
  141. package/bmad/bmm/workflows/4-implementation/create-story/instructions.xml +346 -345
  142. package/bmad/bmm/workflows/4-implementation/create-story/template.md +49 -49
  143. package/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +53 -61
  144. package/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -80
  145. package/bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -410
  146. package/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +21 -27
  147. package/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1444 -1443
  148. package/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +53 -58
  149. package/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -33
  150. package/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +226 -225
  151. package/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -55
  152. package/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -54
  153. package/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +230 -229
  154. package/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +25 -36
  155. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +174 -156
  156. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +118 -120
  157. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +111 -113
  158. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +111 -113
  159. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +104 -106
  160. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +146 -140
  161. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -50
  162. package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +191 -189
  163. package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +144 -144
  164. package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +127 -128
  165. package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +200 -191
  166. package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -74
  167. package/bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -79
  168. package/bmad/bmm/workflows/document-project/checklist.md +245 -245
  169. package/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -12
  170. package/bmad/bmm/workflows/document-project/instructions.md +130 -221
  171. package/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -345
  172. package/bmad/bmm/workflows/document-project/templates/index-template.md +169 -169
  173. package/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -103
  174. package/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -160
  175. package/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -135
  176. package/bmad/bmm/workflows/document-project/workflow.yaml +22 -30
  177. package/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -298
  178. package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -31
  179. package/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -1106
  180. package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -31
  181. package/bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -0
  182. package/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
  183. package/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
  184. package/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
  185. package/bmad/bmm/workflows/generate-project-context/workflow.md +49 -0
  186. package/bmad/bmm/workflows/qa/automate/checklist.md +33 -0
  187. package/bmad/bmm/workflows/qa/automate/instructions.md +110 -0
  188. package/bmad/bmm/workflows/qa/automate/workflow.yaml +44 -0
  189. package/bmad/core/agents/bmad-master.agent.yaml +30 -30
  190. package/bmad/core/module-help.csv +9 -11
  191. package/bmad/core/module.yaml +25 -25
  192. package/bmad/core/tasks/editorial-review-prose.xml +102 -91
  193. package/bmad/core/tasks/editorial-review-structure.xml +209 -198
  194. package/bmad/core/tasks/help.md +85 -0
  195. package/bmad/core/tasks/index-docs.xml +64 -64
  196. package/bmad/core/tasks/review-adversarial-general.xml +48 -48
  197. package/bmad/core/tasks/shard-doc.xml +107 -108
  198. package/bmad/core/tasks/workflow.xml +234 -234
  199. package/bmad/core/workflows/advanced-elicitation/methods.csv +51 -51
  200. package/bmad/core/workflows/advanced-elicitation/workflow.xml +116 -116
  201. package/bmad/core/workflows/brainstorming/brain-methods.csv +61 -61
  202. package/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -197
  203. package/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -122
  204. package/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -225
  205. package/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -237
  206. package/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -209
  207. package/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -264
  208. package/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -399
  209. package/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -303
  210. package/bmad/core/workflows/brainstorming/template.md +15 -15
  211. package/bmad/core/workflows/brainstorming/workflow.md +58 -58
  212. package/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -138
  213. package/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -187
  214. package/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +168 -157
  215. package/bmad/core/workflows/party-mode/workflow.md +194 -194
  216. package/bundled-versions.json +3 -0
  217. package/dist/cli.js +61 -6
  218. package/dist/commands/check-updates.d.ts +5 -0
  219. package/dist/commands/check-updates.js +63 -0
  220. package/dist/commands/doctor.d.ts +39 -1
  221. package/dist/commands/doctor.js +348 -79
  222. package/dist/commands/init.d.ts +2 -0
  223. package/dist/commands/init.js +41 -15
  224. package/dist/commands/status.d.ts +7 -1
  225. package/dist/commands/status.js +111 -42
  226. package/dist/commands/upgrade.d.ts +7 -1
  227. package/dist/commands/upgrade.js +43 -12
  228. package/dist/installer.d.ts +19 -2
  229. package/dist/installer.js +305 -66
  230. package/dist/transition/artifacts.d.ts +2 -0
  231. package/dist/transition/artifacts.js +46 -0
  232. package/dist/transition/context.d.ts +19 -0
  233. package/dist/transition/context.js +261 -0
  234. package/dist/transition/fix-plan.d.ts +15 -0
  235. package/dist/transition/fix-plan.js +94 -0
  236. package/dist/transition/index.d.ts +9 -0
  237. package/dist/transition/index.js +16 -0
  238. package/dist/transition/orchestration.d.ts +2 -0
  239. package/dist/transition/orchestration.js +243 -0
  240. package/dist/transition/specs-changelog.d.ts +3 -0
  241. package/dist/transition/specs-changelog.js +75 -0
  242. package/dist/transition/specs-index.d.ts +22 -0
  243. package/dist/transition/specs-index.js +157 -0
  244. package/dist/transition/story-parsing.d.ts +7 -0
  245. package/dist/transition/story-parsing.js +124 -0
  246. package/dist/transition/tech-stack.d.ts +3 -0
  247. package/dist/transition/tech-stack.js +79 -0
  248. package/dist/transition/types.d.ts +60 -0
  249. package/dist/transition/types.js +1 -0
  250. package/dist/utils/config.d.ts +4 -0
  251. package/dist/utils/config.js +14 -4
  252. package/dist/utils/constants.d.ts +70 -0
  253. package/dist/utils/constants.js +97 -0
  254. package/dist/utils/dryrun.d.ts +7 -0
  255. package/dist/utils/dryrun.js +48 -0
  256. package/dist/utils/errors.d.ts +63 -0
  257. package/dist/utils/errors.js +86 -0
  258. package/dist/utils/file-system.d.ts +24 -0
  259. package/dist/utils/file-system.js +99 -0
  260. package/dist/utils/github.d.ts +83 -0
  261. package/dist/utils/github.js +230 -0
  262. package/dist/utils/json.js +3 -3
  263. package/dist/utils/logger.d.ts +6 -0
  264. package/dist/utils/logger.js +27 -0
  265. package/dist/utils/state.d.ts +4 -7
  266. package/dist/utils/state.js +147 -26
  267. package/dist/utils/validate.d.ts +40 -0
  268. package/dist/utils/validate.js +175 -1
  269. package/package.json +75 -59
  270. package/ralph/RALPH-REFERENCE.md +412 -0
  271. package/ralph/lib/circuit_breaker.sh +463 -330
  272. package/ralph/lib/date_utils.sh +104 -53
  273. package/ralph/lib/enable_core.sh +815 -0
  274. package/ralph/lib/response_analyzer.sh +884 -768
  275. package/ralph/lib/task_sources.sh +577 -0
  276. package/ralph/lib/timeout_utils.sh +145 -145
  277. package/ralph/lib/wizard_utils.sh +547 -0
  278. package/ralph/ralph_import.sh +636 -0
  279. package/ralph/ralph_loop.sh +1793 -1391
  280. package/ralph/ralph_monitor.sh +125 -0
  281. package/ralph/templates/AGENT.md +158 -158
  282. package/ralph/templates/PROMPT.md +285 -292
  283. package/ralph/templates/fix_plan.md +27 -27
  284. package/ralph/templates/ralphrc.template +102 -0
  285. package/ralph/templates/specs/.gitkeep +1 -1
  286. package/slash-commands/advanced-elicitation.md +1 -1
  287. package/slash-commands/adversarial-review.md +1 -1
  288. package/slash-commands/analyst.md +1 -1
  289. package/slash-commands/architect.md +1 -1
  290. package/slash-commands/bmad-help.md +1 -1
  291. package/slash-commands/bmalph-implement.md +152 -152
  292. package/slash-commands/brainstorm-project.md +1 -1
  293. package/slash-commands/brainstorming.md +1 -1
  294. package/slash-commands/correct-course.md +1 -1
  295. package/slash-commands/create-architecture.md +1 -1
  296. package/slash-commands/create-brief.md +1 -1
  297. package/slash-commands/create-epics-stories.md +1 -1
  298. package/slash-commands/create-prd.md +1 -1
  299. package/slash-commands/create-story.md +1 -1
  300. package/slash-commands/create-ux.md +1 -1
  301. package/slash-commands/dev.md +1 -1
  302. package/slash-commands/document-project.md +1 -1
  303. package/slash-commands/domain-research.md +1 -1
  304. package/slash-commands/editorial-prose.md +1 -1
  305. package/slash-commands/editorial-structure.md +1 -1
  306. package/slash-commands/execute-workflow.md +1 -1
  307. package/slash-commands/generate-project-context.md +1 -0
  308. package/slash-commands/implementation-readiness.md +1 -1
  309. package/slash-commands/index-docs.md +1 -1
  310. package/slash-commands/market-research.md +1 -1
  311. package/slash-commands/party-mode.md +1 -1
  312. package/slash-commands/pm.md +1 -1
  313. package/slash-commands/qa-automate.md +1 -0
  314. package/slash-commands/qa.md +1 -0
  315. package/slash-commands/quick-dev.md +1 -1
  316. package/slash-commands/quick-flow-solo-dev.md +1 -1
  317. package/slash-commands/retrospective.md +1 -1
  318. package/slash-commands/shard-doc.md +1 -1
  319. package/slash-commands/sm.md +1 -1
  320. package/slash-commands/sprint-planning.md +1 -1
  321. package/slash-commands/sprint-status.md +1 -1
  322. package/slash-commands/tech-spec.md +1 -1
  323. package/slash-commands/tech-writer.md +1 -0
  324. package/slash-commands/technical-research.md +1 -1
  325. package/slash-commands/ux-designer.md +1 -1
  326. package/slash-commands/validate-architecture.md +1 -1
  327. package/slash-commands/validate-brief.md +1 -1
  328. package/slash-commands/validate-epics-stories.md +1 -1
  329. package/slash-commands/validate-prd.md +1 -1
  330. package/slash-commands/validate-story.md +1 -1
  331. package/slash-commands/validate-ux.md +1 -1
  332. package/bmad/bmm/agents/tea.agent.yaml +0 -63
  333. package/bmad/bmm/sub-modules/claude-code/config.yaml +0 -4
  334. package/bmad/bmm/sub-modules/claude-code/injections.yaml +0 -242
  335. package/bmad/bmm/sub-modules/claude-code/readme.md +0 -87
  336. package/bmad/bmm/testarch/knowledge/adr-quality-readiness-checklist.md +0 -350
  337. package/bmad/bmm/testarch/knowledge/api-request.md +0 -442
  338. package/bmad/bmm/testarch/knowledge/api-testing-patterns.md +0 -843
  339. package/bmad/bmm/testarch/knowledge/auth-session.md +0 -552
  340. package/bmad/bmm/testarch/knowledge/burn-in.md +0 -273
  341. package/bmad/bmm/testarch/knowledge/ci-burn-in.md +0 -675
  342. package/bmad/bmm/testarch/knowledge/component-tdd.md +0 -486
  343. package/bmad/bmm/testarch/knowledge/contract-testing.md +0 -957
  344. package/bmad/bmm/testarch/knowledge/data-factories.md +0 -500
  345. package/bmad/bmm/testarch/knowledge/email-auth.md +0 -721
  346. package/bmad/bmm/testarch/knowledge/error-handling.md +0 -725
  347. package/bmad/bmm/testarch/knowledge/feature-flags.md +0 -750
  348. package/bmad/bmm/testarch/knowledge/file-utils.md +0 -463
  349. package/bmad/bmm/testarch/knowledge/fixture-architecture.md +0 -401
  350. package/bmad/bmm/testarch/knowledge/fixtures-composition.md +0 -382
  351. package/bmad/bmm/testarch/knowledge/intercept-network-call.md +0 -430
  352. package/bmad/bmm/testarch/knowledge/log.md +0 -429
  353. package/bmad/bmm/testarch/knowledge/network-error-monitor.md +0 -405
  354. package/bmad/bmm/testarch/knowledge/network-first.md +0 -486
  355. package/bmad/bmm/testarch/knowledge/network-recorder.md +0 -527
  356. package/bmad/bmm/testarch/knowledge/nfr-criteria.md +0 -670
  357. package/bmad/bmm/testarch/knowledge/overview.md +0 -286
  358. package/bmad/bmm/testarch/knowledge/playwright-config.md +0 -730
  359. package/bmad/bmm/testarch/knowledge/probability-impact.md +0 -601
  360. package/bmad/bmm/testarch/knowledge/recurse.md +0 -421
  361. package/bmad/bmm/testarch/knowledge/risk-governance.md +0 -615
  362. package/bmad/bmm/testarch/knowledge/selective-testing.md +0 -732
  363. package/bmad/bmm/testarch/knowledge/selector-resilience.md +0 -527
  364. package/bmad/bmm/testarch/knowledge/test-healing-patterns.md +0 -644
  365. package/bmad/bmm/testarch/knowledge/test-levels-framework.md +0 -473
  366. package/bmad/bmm/testarch/knowledge/test-priorities-matrix.md +0 -373
  367. package/bmad/bmm/testarch/knowledge/test-quality.md +0 -664
  368. package/bmad/bmm/testarch/knowledge/timing-debugging.md +0 -372
  369. package/bmad/bmm/testarch/knowledge/visual-debugging.md +0 -524
  370. package/bmad/bmm/testarch/tea-index.csv +0 -35
  371. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +0 -200
  372. package/bmad/bmm/workflows/1-analysis/research/workflow.md +0 -173
  373. package/bmad/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +0 -433
  374. package/bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +0 -150
  375. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/data/project-levels.yaml +0 -59
  376. package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +0 -90
  377. package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +0 -127
  378. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +0 -39
  379. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +0 -130
  380. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +0 -27
  381. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +0 -43
  382. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +0 -141
  383. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +0 -27
  384. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +0 -49
  385. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +0 -241
  386. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +0 -27
  387. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +0 -38
  388. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +0 -133
  389. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +0 -27
  390. package/bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +0 -363
  391. package/bmad/bmm/workflows/testarch/atdd/checklist.md +0 -374
  392. package/bmad/bmm/workflows/testarch/atdd/instructions.md +0 -806
  393. package/bmad/bmm/workflows/testarch/atdd/workflow.yaml +0 -47
  394. package/bmad/bmm/workflows/testarch/automate/checklist.md +0 -582
  395. package/bmad/bmm/workflows/testarch/automate/instructions.md +0 -1324
  396. package/bmad/bmm/workflows/testarch/automate/workflow.yaml +0 -54
  397. package/bmad/bmm/workflows/testarch/ci/checklist.md +0 -247
  398. package/bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +0 -198
  399. package/bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +0 -149
  400. package/bmad/bmm/workflows/testarch/ci/instructions.md +0 -536
  401. package/bmad/bmm/workflows/testarch/ci/workflow.yaml +0 -47
  402. package/bmad/bmm/workflows/testarch/framework/checklist.md +0 -320
  403. package/bmad/bmm/workflows/testarch/framework/instructions.md +0 -481
  404. package/bmad/bmm/workflows/testarch/framework/workflow.yaml +0 -49
  405. package/bmad/bmm/workflows/testarch/nfr-assess/checklist.md +0 -407
  406. package/bmad/bmm/workflows/testarch/nfr-assess/instructions.md +0 -726
  407. package/bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +0 -461
  408. package/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +0 -49
  409. package/bmad/bmm/workflows/testarch/test-design/checklist.md +0 -407
  410. package/bmad/bmm/workflows/testarch/test-design/instructions.md +0 -1158
  411. package/bmad/bmm/workflows/testarch/test-design/test-design-architecture-template.md +0 -213
  412. package/bmad/bmm/workflows/testarch/test-design/test-design-qa-template.md +0 -286
  413. package/bmad/bmm/workflows/testarch/test-design/test-design-template.md +0 -294
  414. package/bmad/bmm/workflows/testarch/test-design/workflow.yaml +0 -71
  415. package/bmad/bmm/workflows/testarch/test-review/checklist.md +0 -472
  416. package/bmad/bmm/workflows/testarch/test-review/instructions.md +0 -628
  417. package/bmad/bmm/workflows/testarch/test-review/test-review-template.md +0 -390
  418. package/bmad/bmm/workflows/testarch/test-review/workflow.yaml +0 -48
  419. package/bmad/bmm/workflows/testarch/trace/checklist.md +0 -642
  420. package/bmad/bmm/workflows/testarch/trace/instructions.md +0 -1030
  421. package/bmad/bmm/workflows/testarch/trace/trace-template.md +0 -675
  422. package/bmad/bmm/workflows/testarch/trace/workflow.yaml +0 -57
  423. package/bmad/core/resources/excalidraw/README.md +0 -160
  424. package/bmad/core/resources/excalidraw/excalidraw-helpers.md +0 -127
  425. package/bmad/core/resources/excalidraw/library-loader.md +0 -50
  426. package/bmad/core/resources/excalidraw/validate-json-instructions.md +0 -79
  427. package/bmad/core/tasks/bmad-help.md +0 -62
  428. package/dist/commands/guide.d.ts +0 -1
  429. package/dist/commands/guide.js +0 -19
  430. package/dist/commands/implement.d.ts +0 -1
  431. package/dist/commands/implement.js +0 -83
  432. package/dist/commands/plan.d.ts +0 -5
  433. package/dist/commands/plan.js +0 -44
  434. package/dist/commands/reset.d.ts +0 -5
  435. package/dist/commands/reset.js +0 -35
  436. package/dist/commands/resume.d.ts +0 -1
  437. package/dist/commands/resume.js +0 -44
  438. package/dist/commands/start.d.ts +0 -5
  439. package/dist/commands/start.js +0 -54
  440. package/dist/transition.d.ts +0 -52
  441. package/dist/transition.js +0 -656
  442. package/slash-commands/atdd.md +0 -1
  443. package/slash-commands/continuous-integration.md +0 -1
  444. package/slash-commands/create-dataflow.md +0 -1
  445. package/slash-commands/create-diagram.md +0 -1
  446. package/slash-commands/create-flowchart.md +0 -1
  447. package/slash-commands/create-wireframe.md +0 -1
  448. package/slash-commands/nfr-assess.md +0 -1
  449. package/slash-commands/tea.md +0 -1
  450. package/slash-commands/test-automate.md +0 -1
  451. package/slash-commands/test-design.md +0 -1
  452. package/slash-commands/test-framework.md +0 -1
  453. package/slash-commands/test-review.md +0 -1
  454. package/slash-commands/test-trace.md +0 -1
  455. package/slash-commands/validate-test-design.md +0 -1
@@ -1,47 +0,0 @@
1
- # Test Architect workflow: atdd
2
- name: testarch-atdd
3
- description: "Generate failing acceptance tests before implementation using TDD red-green-refactor cycle"
4
- author: "BMad"
5
-
6
- # Critical variables from config
7
- config_source: "{project-root}/_bmad/bmm/config.yaml"
8
- output_folder: "{config_source}:output_folder"
9
- user_name: "{config_source}:user_name"
10
- communication_language: "{config_source}:communication_language"
11
- document_output_language: "{config_source}:document_output_language"
12
- date: system-generated
13
-
14
- # Workflow components
15
- installed_path: "{project-root}/_bmad/bmm/workflows/testarch/atdd"
16
- instructions: "{installed_path}/instructions.md"
17
- validation: "{installed_path}/checklist.md"
18
- template: "{installed_path}/atdd-checklist-template.md"
19
-
20
- # Variables and inputs
21
- variables:
22
- test_dir: "{project-root}/tests" # Root test directory
23
-
24
- # Output configuration
25
- default_output_file: "{output_folder}/atdd-checklist-{story_id}.md"
26
-
27
- # Required tools
28
- required_tools:
29
- - read_file # Read story markdown, framework config
30
- - write_file # Create test files, checklist, factory stubs
31
- - create_directory # Create test directories
32
- - list_files # Find existing fixtures and helpers
33
- - search_repo # Search for similar test patterns
34
-
35
- tags:
36
- - qa
37
- - atdd
38
- - test-architect
39
- - tdd
40
- - red-green-refactor
41
-
42
- execution_hints:
43
- interactive: false # Minimize prompts
44
- autonomous: true # Proceed without user input unless blocked
45
- iterative: true
46
-
47
- web_bundle: false
@@ -1,582 +0,0 @@
1
- # Automate Workflow Validation Checklist
2
-
3
- Use this checklist to validate that the automate workflow has been executed correctly and all deliverables meet quality standards.
4
-
5
- ## Prerequisites
6
-
7
- Before starting this workflow, verify:
8
-
9
- - [ ] Framework scaffolding configured (playwright.config.ts or cypress.config.ts exists)
10
- - [ ] Test directory structure exists (tests/ folder with subdirectories)
11
- - [ ] Package.json has test framework dependencies installed
12
-
13
- **Halt only if:** Framework scaffolding is completely missing (run `framework` workflow first)
14
-
15
- **Note:** BMad artifacts (story, tech-spec, PRD) are OPTIONAL - workflow can run without them
16
- **Note:** `automate` generates tests; it does not run `*atdd` or `*test-review`. If ATDD outputs exist, use them as input and avoid duplicate coverage.
17
-
18
- ---
19
-
20
- ## Step 1: Execution Mode Determination and Context Loading
21
-
22
- ### Mode Detection
23
-
24
- - [ ] Execution mode correctly determined:
25
- - [ ] BMad-Integrated Mode (story_file variable set) OR
26
- - [ ] Standalone Mode (target_feature or target_files set) OR
27
- - [ ] Auto-discover Mode (no targets specified)
28
-
29
- ### BMad Artifacts (If Available - OPTIONAL)
30
-
31
- - [ ] Story markdown loaded (if `{story_file}` provided)
32
- - [ ] Acceptance criteria extracted from story (if available)
33
- - [ ] Tech-spec.md loaded (if `{use_tech_spec}` true and file exists)
34
- - [ ] Test-design.md loaded (if `{use_test_design}` true and file exists)
35
- - [ ] PRD.md loaded (if `{use_prd}` true and file exists)
36
- - [ ] **Note**: Absence of BMad artifacts does NOT halt workflow
37
-
38
- ### Framework Configuration
39
-
40
- - [ ] Test framework config loaded (playwright.config.ts or cypress.config.ts)
41
- - [ ] Test directory structure identified from `{test_dir}`
42
- - [ ] Existing test patterns reviewed
43
- - [ ] Test runner capabilities noted (parallel execution, fixtures, etc.)
44
-
45
- ### Coverage Analysis
46
-
47
- - [ ] Existing test files searched in `{test_dir}` (if `{analyze_coverage}` true)
48
- - [ ] Tested features vs untested features identified
49
- - [ ] Coverage gaps mapped (tests to source files)
50
- - [ ] Existing fixture and factory patterns checked
51
-
52
- ### Knowledge Base Fragments Loaded
53
-
54
- - [ ] `test-levels-framework.md` - Test level selection
55
- - [ ] `test-priorities.md` - Priority classification (P0-P3)
56
- - [ ] `fixture-architecture.md` - Fixture patterns with auto-cleanup
57
- - [ ] `data-factories.md` - Factory patterns using faker
58
- - [ ] `selective-testing.md` - Targeted test execution strategies
59
- - [ ] `ci-burn-in.md` - Flaky test detection patterns
60
- - [ ] `test-quality.md` - Test design principles
61
-
62
- ---
63
-
64
- ## Step 2: Automation Targets Identification
65
-
66
- ### Target Determination
67
-
68
- **BMad-Integrated Mode (if story available):**
69
-
70
- - [ ] Acceptance criteria mapped to test scenarios
71
- - [ ] Features implemented in story identified
72
- - [ ] Existing ATDD tests checked (if any)
73
- - [ ] Expansion beyond ATDD planned (edge cases, negative paths)
74
-
75
- **Standalone Mode (if no story):**
76
-
77
- - [ ] Specific feature analyzed (if `{target_feature}` specified)
78
- - [ ] Specific files analyzed (if `{target_files}` specified)
79
- - [ ] Features auto-discovered (if `{auto_discover_features}` true)
80
- - [ ] Features prioritized by:
81
- - [ ] No test coverage (highest priority)
82
- - [ ] Complex business logic
83
- - [ ] External integrations (API, database, auth)
84
- - [ ] Critical user paths (login, checkout, etc.)
85
-
86
- ### Test Level Selection
87
-
88
- - [ ] Test level selection framework applied (from `test-levels-framework.md`)
89
- - [ ] E2E tests identified: Critical user journeys, multi-system integration
90
- - [ ] API tests identified: Business logic, service contracts, data transformations
91
- - [ ] Component tests identified: UI behavior, interactions, state management
92
- - [ ] Unit tests identified: Pure logic, edge cases, error handling
93
-
94
- ### Duplicate Coverage Avoidance
95
-
96
- - [ ] Same behavior NOT tested at multiple levels unnecessarily
97
- - [ ] E2E used for critical happy path only
98
- - [ ] API tests used for business logic variations
99
- - [ ] Component tests used for UI interaction edge cases
100
- - [ ] Unit tests used for pure logic edge cases
101
-
102
- ### Priority Assignment
103
-
104
- - [ ] Test priorities assigned using `test-priorities.md` framework
105
- - [ ] P0 tests: Critical paths, security-critical, data integrity
106
- - [ ] P1 tests: Important features, integration points, error handling
107
- - [ ] P2 tests: Edge cases, less-critical variations, performance
108
- - [ ] P3 tests: Nice-to-have, rarely-used features, exploratory
109
- - [ ] Priority variables respected:
110
- - [ ] `{include_p0}` = true (always include)
111
- - [ ] `{include_p1}` = true (high priority)
112
- - [ ] `{include_p2}` = true (medium priority)
113
- - [ ] `{include_p3}` = false (low priority, skip by default)
114
-
115
- ### Coverage Plan Created
116
-
117
- - [ ] Test coverage plan documented
118
- - [ ] What will be tested at each level listed
119
- - [ ] Priorities assigned to each test
120
- - [ ] Coverage strategy clear (critical-paths, comprehensive, or selective)
121
-
122
- ---
123
-
124
- ## Step 3: Test Infrastructure Generated
125
-
126
- ### Fixture Architecture
127
-
128
- - [ ] Existing fixtures checked in `tests/support/fixtures/`
129
- - [ ] Fixture architecture created/enhanced (if `{generate_fixtures}` true)
130
- - [ ] All fixtures use Playwright's `test.extend()` pattern
131
- - [ ] All fixtures have auto-cleanup in teardown
132
- - [ ] Common fixtures created/enhanced:
133
- - [ ] authenticatedUser (with auto-delete)
134
- - [ ] apiRequest (authenticated client)
135
- - [ ] mockNetwork (external service mocking)
136
- - [ ] testDatabase (with auto-cleanup)
137
-
138
- ### Data Factories
139
-
140
- - [ ] Existing factories checked in `tests/support/factories/`
141
- - [ ] Factory architecture created/enhanced (if `{generate_factories}` true)
142
- - [ ] All factories use `@faker-js/faker` for random data (no hardcoded values)
143
- - [ ] All factories support overrides for specific scenarios
144
- - [ ] Common factories created/enhanced:
145
- - [ ] User factory (email, password, name, role)
146
- - [ ] Product factory (name, price, SKU)
147
- - [ ] Order factory (items, total, status)
148
- - [ ] Cleanup helpers provided (e.g., deleteUser(), deleteProduct())
149
-
150
- ### Helper Utilities
151
-
152
- - [ ] Existing helpers checked in `tests/support/helpers/` (if `{update_helpers}` true)
153
- - [ ] Common utilities created/enhanced:
154
- - [ ] waitFor (polling for complex conditions)
155
- - [ ] retry (retry helper for flaky operations)
156
- - [ ] testData (test data generation)
157
- - [ ] assertions (custom assertion helpers)
158
-
159
- ---
160
-
161
- ## Step 4: Test Files Generated
162
-
163
- ### Test File Structure
164
-
165
- - [ ] Test files organized correctly:
166
- - [ ] `tests/e2e/` for E2E tests
167
- - [ ] `tests/api/` for API tests
168
- - [ ] `tests/component/` for component tests
169
- - [ ] `tests/unit/` for unit tests
170
- - [ ] `tests/support/` for fixtures/factories/helpers
171
-
172
- ### E2E Tests (If Applicable)
173
-
174
- - [ ] E2E test files created in `tests/e2e/`
175
- - [ ] All tests follow Given-When-Then format
176
- - [ ] All tests have priority tags ([P0], [P1], [P2], [P3]) in test name
177
- - [ ] All tests use data-testid selectors (not CSS classes)
178
- - [ ] One assertion per test (atomic design)
179
- - [ ] No hard waits or sleeps (explicit waits only)
180
- - [ ] Network-first pattern applied (route interception BEFORE navigation)
181
- - [ ] Clear Given-When-Then comments in test code
182
-
183
- ### API Tests (If Applicable)
184
-
185
- - [ ] API test files created in `tests/api/`
186
- - [ ] All tests follow Given-When-Then format
187
- - [ ] All tests have priority tags in test name
188
- - [ ] API contracts validated (request/response structure)
189
- - [ ] HTTP status codes verified
190
- - [ ] Response body validation includes required fields
191
- - [ ] Error cases tested (400, 401, 403, 404, 500)
192
- - [ ] JWT token format validated (if auth tests)
193
-
194
- ### Component Tests (If Applicable)
195
-
196
- - [ ] Component test files created in `tests/component/`
197
- - [ ] All tests follow Given-When-Then format
198
- - [ ] All tests have priority tags in test name
199
- - [ ] Component mounting works correctly
200
- - [ ] Interaction testing covers user actions (click, hover, keyboard)
201
- - [ ] State management validated
202
- - [ ] Props and events tested
203
-
204
- ### Unit Tests (If Applicable)
205
-
206
- - [ ] Unit test files created in `tests/unit/`
207
- - [ ] All tests follow Given-When-Then format
208
- - [ ] All tests have priority tags in test name
209
- - [ ] Pure logic tested (no dependencies)
210
- - [ ] Edge cases covered
211
- - [ ] Error handling tested
212
-
213
- ### Quality Standards Enforced
214
-
215
- - [ ] All tests use Given-When-Then format with clear comments
216
- - [ ] All tests have descriptive names with priority tags
217
- - [ ] No duplicate tests (same behavior tested multiple times)
218
- - [ ] No flaky patterns (race conditions, timing issues)
219
- - [ ] No test interdependencies (tests can run in any order)
220
- - [ ] Tests are deterministic (same input always produces same result)
221
- - [ ] All tests use data-testid selectors (E2E tests)
222
- - [ ] No hard waits: `await page.waitForTimeout()` (forbidden)
223
- - [ ] No conditional flow: `if (await element.isVisible())` (forbidden)
224
- - [ ] No try-catch for test logic (only for cleanup)
225
- - [ ] No hardcoded test data (use factories with faker)
226
- - [ ] No page object classes (tests are direct and simple)
227
- - [ ] No shared state between tests
228
-
229
- ### Network-First Pattern Applied
230
-
231
- - [ ] Route interception set up BEFORE navigation (E2E tests with network requests)
232
- - [ ] `page.route()` called before `page.goto()` to prevent race conditions
233
- - [ ] Network-first pattern verified in all E2E tests that make API calls
234
-
235
- ---
236
-
237
- ## Step 5: Test Validation and Healing (NEW - Phase 2.5)
238
-
239
- ### Healing Configuration
240
-
241
- - [ ] Healing configuration checked:
242
- - [ ] `{auto_validate}` setting noted (default: true)
243
- - [ ] `{auto_heal_failures}` setting noted (default: false)
244
- - [ ] `{max_healing_iterations}` setting noted (default: 3)
245
- - [ ] `{use_mcp_healing}` setting noted (default: true)
246
-
247
- ### Healing Knowledge Fragments Loaded (If Healing Enabled)
248
-
249
- - [ ] `test-healing-patterns.md` loaded (common failure patterns and fixes)
250
- - [ ] `selector-resilience.md` loaded (selector refactoring guide)
251
- - [ ] `timing-debugging.md` loaded (race condition fixes)
252
-
253
- ### Test Execution and Validation
254
-
255
- - [ ] Generated tests executed (if `{auto_validate}` true)
256
- - [ ] Test results captured:
257
- - [ ] Total tests run
258
- - [ ] Passing tests count
259
- - [ ] Failing tests count
260
- - [ ] Error messages and stack traces captured
261
-
262
- ### Healing Loop (If Enabled and Tests Failed)
263
-
264
- - [ ] Healing loop entered (if `{auto_heal_failures}` true AND tests failed)
265
- - [ ] For each failing test:
266
- - [ ] Failure pattern identified (selector, timing, data, network, hard wait)
267
- - [ ] Appropriate healing strategy applied:
268
- - [ ] Stale selector → Replaced with data-testid or ARIA role
269
- - [ ] Race condition → Added network-first interception or state waits
270
- - [ ] Dynamic data → Replaced hardcoded values with regex/dynamic generation
271
- - [ ] Network error → Added route mocking
272
- - [ ] Hard wait → Replaced with event-based wait
273
- - [ ] Healed test re-run to validate fix
274
- - [ ] Iteration count tracked (max 3 attempts)
275
-
276
- ### Unfixable Tests Handling
277
-
278
- - [ ] Tests that couldn't be healed after 3 iterations marked with `test.fixme()` (if `{mark_unhealable_as_fixme}` true)
279
- - [ ] Detailed comment added to test.fixme() tests:
280
- - [ ] What failure occurred
281
- - [ ] What healing was attempted (3 iterations)
282
- - [ ] Why healing failed
283
- - [ ] Manual investigation steps needed
284
- - [ ] Original test logic preserved in comments
285
-
286
- ### Healing Report Generated
287
-
288
- - [ ] Healing report generated (if healing attempted)
289
- - [ ] Report includes:
290
- - [ ] Auto-heal enabled status
291
- - [ ] Healing mode (MCP-assisted or Pattern-based)
292
- - [ ] Iterations allowed (max_healing_iterations)
293
- - [ ] Validation results (total, passing, failing)
294
- - [ ] Successfully healed tests (count, file:line, fix applied)
295
- - [ ] Unable to heal tests (count, file:line, reason)
296
- - [ ] Healing patterns applied (selector fixes, timing fixes, data fixes)
297
- - [ ] Knowledge base references used
298
-
299
- ---
300
-
301
- ## Step 6: Documentation and Scripts Updated
302
-
303
- ### Test README Updated
304
-
305
- - [ ] `tests/README.md` created or updated (if `{update_readme}` true)
306
- - [ ] Test suite structure overview included
307
- - [ ] Test execution instructions provided (all, specific files, by priority)
308
- - [ ] Fixture usage examples provided
309
- - [ ] Factory usage examples provided
310
- - [ ] Priority tagging convention explained ([P0], [P1], [P2], [P3])
311
- - [ ] How to write new tests documented
312
- - [ ] Common patterns documented
313
- - [ ] Anti-patterns documented (what to avoid)
314
-
315
- ### package.json Scripts Updated
316
-
317
- - [ ] package.json scripts added/updated (if `{update_package_scripts}` true)
318
- - [ ] `test:e2e` script for all E2E tests
319
- - [ ] `test:e2e:p0` script for P0 tests only
320
- - [ ] `test:e2e:p1` script for P0 + P1 tests
321
- - [ ] `test:api` script for API tests
322
- - [ ] `test:component` script for component tests
323
- - [ ] `test:unit` script for unit tests (if applicable)
324
-
325
- ### Test Suite Executed
326
-
327
- - [ ] Test suite run locally (if `{run_tests_after_generation}` true)
328
- - [ ] Test results captured (passing/failing counts)
329
- - [ ] No flaky patterns detected (tests are deterministic)
330
- - [ ] Setup requirements documented (if any)
331
- - [ ] Known issues documented (if any)
332
-
333
- ---
334
-
335
- ## Step 6: Automation Summary Generated
336
-
337
- ### Automation Summary Document
338
-
339
- - [ ] Output file created at `{output_summary}`
340
- - [ ] Document includes execution mode (BMad-Integrated, Standalone, Auto-discover)
341
- - [ ] Feature analysis included (source files, coverage gaps) - Standalone mode
342
- - [ ] Tests created listed (E2E, API, Component, Unit) with counts and paths
343
- - [ ] Infrastructure created listed (fixtures, factories, helpers)
344
- - [ ] Test execution instructions provided
345
- - [ ] Coverage analysis included:
346
- - [ ] Total test count
347
- - [ ] Priority breakdown (P0, P1, P2, P3 counts)
348
- - [ ] Test level breakdown (E2E, API, Component, Unit counts)
349
- - [ ] Coverage percentage (if calculated)
350
- - [ ] Coverage status (acceptance criteria covered, gaps identified)
351
- - [ ] Definition of Done checklist included
352
- - [ ] Next steps provided
353
- - [ ] Recommendations included (if Standalone mode)
354
-
355
- ### Summary Provided to User
356
-
357
- - [ ] Concise summary output provided
358
- - [ ] Total tests created across test levels
359
- - [ ] Priority breakdown (P0, P1, P2, P3 counts)
360
- - [ ] Infrastructure counts (fixtures, factories, helpers)
361
- - [ ] Test execution command provided
362
- - [ ] Output file path provided
363
- - [ ] Next steps listed
364
-
365
- ---
366
-
367
- ## Quality Checks
368
-
369
- ### Test Design Quality
370
-
371
- - [ ] Tests are readable (clear Given-When-Then structure)
372
- - [ ] Tests are maintainable (use factories/fixtures, not hardcoded data)
373
- - [ ] Tests are isolated (no shared state between tests)
374
- - [ ] Tests are deterministic (no race conditions or flaky patterns)
375
- - [ ] Tests are atomic (one assertion per test)
376
- - [ ] Tests are fast (no unnecessary waits or delays)
377
- - [ ] Tests are lean (files under {max_file_lines} lines)
378
-
379
- ### Knowledge Base Integration
380
-
381
- - [ ] Test level selection framework applied (from `test-levels-framework.md`)
382
- - [ ] Priority classification applied (from `test-priorities.md`)
383
- - [ ] Fixture architecture patterns applied (from `fixture-architecture.md`)
384
- - [ ] Data factory patterns applied (from `data-factories.md`)
385
- - [ ] Selective testing strategies considered (from `selective-testing.md`)
386
- - [ ] Flaky test detection patterns considered (from `ci-burn-in.md`)
387
- - [ ] Test quality principles applied (from `test-quality.md`)
388
-
389
- ### Code Quality
390
-
391
- - [ ] All TypeScript types are correct and complete
392
- - [ ] No linting errors in generated test files
393
- - [ ] Consistent naming conventions followed
394
- - [ ] Imports are organized and correct
395
- - [ ] Code follows project style guide
396
- - [ ] No console.log or debug statements in test code
397
-
398
- ---
399
-
400
- ## Integration Points
401
-
402
- ### With Framework Workflow
403
-
404
- - [ ] Test framework configuration detected and used
405
- - [ ] Directory structure matches framework setup
406
- - [ ] Fixtures and helpers follow established patterns
407
- - [ ] Naming conventions consistent with framework standards
408
-
409
- ### With BMad Workflows (If Available - OPTIONAL)
410
-
411
- **With Story Workflow:**
412
-
413
- - [ ] Story ID correctly referenced in output (if story available)
414
- - [ ] Acceptance criteria from story reflected in tests (if story available)
415
- - [ ] Technical constraints from story considered (if story available)
416
-
417
- **With test-design Workflow:**
418
-
419
- - [ ] P0 scenarios from test-design prioritized (if test-design available)
420
- - [ ] Risk assessment from test-design considered (if test-design available)
421
- - [ ] Coverage strategy aligned with test-design (if test-design available)
422
-
423
- **With atdd Workflow:**
424
-
425
- - [ ] ATDD artifacts provided or located (manual handoff; `atdd` not auto-run)
426
- - [ ] Existing ATDD tests checked (if story had ATDD workflow run)
427
- - [ ] Expansion beyond ATDD planned (edge cases, negative paths)
428
- - [ ] No duplicate coverage with ATDD tests
429
-
430
- ### With CI Pipeline
431
-
432
- - [ ] Tests can run in CI environment
433
- - [ ] Tests are parallelizable (no shared state)
434
- - [ ] Tests have appropriate timeouts
435
- - [ ] Tests clean up their data (no CI environment pollution)
436
-
437
- ---
438
-
439
- ## Completion Criteria
440
-
441
- All of the following must be true before marking this workflow as complete:
442
-
443
- - [ ] **Execution mode determined** (BMad-Integrated, Standalone, or Auto-discover)
444
- - [ ] **Framework configuration loaded** and validated
445
- - [ ] **Coverage analysis completed** (gaps identified if analyze_coverage true)
446
- - [ ] **Automation targets identified** (what needs testing)
447
- - [ ] **Test levels selected** appropriately (E2E, API, Component, Unit)
448
- - [ ] **Duplicate coverage avoided** (same behavior not tested at multiple levels)
449
- - [ ] **Test priorities assigned** (P0, P1, P2, P3)
450
- - [ ] **Fixture architecture created/enhanced** with auto-cleanup
451
- - [ ] **Data factories created/enhanced** using faker (no hardcoded data)
452
- - [ ] **Helper utilities created/enhanced** (if needed)
453
- - [ ] **Test files generated** at appropriate levels (E2E, API, Component, Unit)
454
- - [ ] **Given-When-Then format used** consistently across all tests
455
- - [ ] **Priority tags added** to all test names ([P0], [P1], [P2], [P3])
456
- - [ ] **data-testid selectors used** in E2E tests (not CSS classes)
457
- - [ ] **Network-first pattern applied** (route interception before navigation)
458
- - [ ] **Quality standards enforced** (no hard waits, no flaky patterns, self-cleaning, deterministic)
459
- - [ ] **Test README updated** with execution instructions and patterns
460
- - [ ] **package.json scripts updated** with test execution commands
461
- - [ ] **Test suite run locally** (if run_tests_after_generation true)
462
- - [ ] **Tests validated** (if auto_validate enabled)
463
- - [ ] **Failures healed** (if auto_heal_failures enabled and tests failed)
464
- - [ ] **Healing report generated** (if healing attempted)
465
- - [ ] **Unfixable tests marked** with test.fixme() and detailed comments (if any)
466
- - [ ] **Automation summary created** and saved to correct location
467
- - [ ] **Output file formatted correctly**
468
- - [ ] **Knowledge base references applied** and documented (including healing fragments if used)
469
- - [ ] **No test quality issues** (flaky patterns, race conditions, hardcoded data, page objects)
470
-
471
- ---
472
-
473
- ## Common Issues and Resolutions
474
-
475
- ### Issue: BMad artifacts not found
476
-
477
- **Problem:** Story, tech-spec, or PRD files not found when variables are set.
478
-
479
- **Resolution:**
480
-
481
- - **automate does NOT require BMad artifacts** - they are OPTIONAL enhancements
482
- - If files not found, switch to Standalone Mode automatically
483
- - Analyze source code directly without BMad context
484
- - Continue workflow without halting
485
-
486
- ### Issue: Framework configuration not found
487
-
488
- **Problem:** No playwright.config.ts or cypress.config.ts found.
489
-
490
- **Resolution:**
491
-
492
- - **HALT workflow** - framework is required
493
- - Message: "Framework scaffolding required. Run `bmad tea *framework` first."
494
- - User must run framework workflow before automate
495
-
496
- ### Issue: No automation targets identified
497
-
498
- **Problem:** Neither story, target_feature, nor target_files specified, and auto-discover finds nothing.
499
-
500
- **Resolution:**
501
-
502
- - Check if source_dir variable is correct
503
- - Verify source code exists in project
504
- - Ask user to specify target_feature or target_files explicitly
505
- - Provide examples: `target_feature: "src/auth/"` or `target_files: "src/auth/login.ts,src/auth/session.ts"`
506
-
507
- ### Issue: Duplicate coverage detected
508
-
509
- **Problem:** Same behavior tested at multiple levels (E2E + API + Component).
510
-
511
- **Resolution:**
512
-
513
- - Review test level selection framework (test-levels-framework.md)
514
- - Use E2E for critical happy path ONLY
515
- - Use API for business logic variations
516
- - Use Component for UI edge cases
517
- - Remove redundant tests that duplicate coverage
518
-
519
- ### Issue: Tests have hardcoded data
520
-
521
- **Problem:** Tests use hardcoded email addresses, passwords, or other data.
522
-
523
- **Resolution:**
524
-
525
- - Replace all hardcoded data with factory function calls
526
- - Use faker for all random data generation
527
- - Update data-factories to support all required test scenarios
528
- - Example: `createUser({ email: faker.internet.email() })`
529
-
530
- ### Issue: Tests are flaky
531
-
532
- **Problem:** Tests fail intermittently, pass on retry.
533
-
534
- **Resolution:**
535
-
536
- - Remove all hard waits (`page.waitForTimeout()`)
537
- - Use explicit waits (`page.waitForSelector()`)
538
- - Apply network-first pattern (route interception before navigation)
539
- - Remove conditional flow (`if (await element.isVisible())`)
540
- - Ensure tests are deterministic (no race conditions)
541
- - Run burn-in loop (10 iterations) to detect flakiness
542
-
543
- ### Issue: Fixtures don't clean up data
544
-
545
- **Problem:** Test data persists after test run, causing test pollution.
546
-
547
- **Resolution:**
548
-
549
- - Ensure all fixtures have cleanup in teardown phase
550
- - Cleanup happens AFTER `await use(data)`
551
- - Call deletion/cleanup functions (deleteUser, deleteProduct, etc.)
552
- - Verify cleanup works by checking database/storage after test run
553
-
554
- ### Issue: Tests too slow
555
-
556
- **Problem:** Tests take longer than 90 seconds (max_test_duration).
557
-
558
- **Resolution:**
559
-
560
- - Remove unnecessary waits and delays
561
- - Use parallel execution where possible
562
- - Mock external services (don't make real API calls)
563
- - Use API tests instead of E2E for business logic
564
- - Optimize test data creation (use in-memory database, etc.)
565
-
566
- ---
567
-
568
- ## Notes for TEA Agent
569
-
570
- - **automate is flexible:** Can work with or without BMad artifacts (story, tech-spec, PRD are OPTIONAL)
571
- - **Standalone mode is powerful:** Analyze any codebase and generate tests independently
572
- - **Auto-discover mode:** Scan codebase for features needing tests when no targets specified
573
- - **Framework is the ONLY hard requirement:** HALT if framework config missing, otherwise proceed
574
- - **Avoid duplicate coverage:** E2E for critical paths only, API/Component for variations
575
- - **Priority tagging enables selective execution:** P0 tests run on every commit, P1 on PR, P2 nightly
576
- - **Network-first pattern prevents race conditions:** Route interception BEFORE navigation
577
- - **No page objects:** Keep tests simple, direct, and maintainable
578
- - **Use knowledge base:** Load relevant fragments (test-levels, test-priorities, fixture-architecture, data-factories, healing patterns) for guidance
579
- - **Deterministic tests only:** No hard waits, no conditional flow, no flaky patterns allowed
580
- - **Optional healing:** auto_heal_failures disabled by default (opt-in for automatic test healing)
581
- - **Graceful degradation:** Healing works without Playwright MCP (pattern-based fallback)
582
- - **Unfixable tests handled:** Mark with test.fixme() and detailed comments (not silently broken)