bmad-odoo 1.0.0

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 (282) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +317 -0
  4. package/_config/agent-manifest.csv +10 -0
  5. package/_config/manifest.yaml +10 -0
  6. package/_config/workflow-manifest.csv +10 -0
  7. package/bmm/agents/analyst.md +93 -0
  8. package/bmm/agents/architect.md +72 -0
  9. package/bmm/agents/dev.md +85 -0
  10. package/bmm/agents/pm.md +61 -0
  11. package/bmm/agents/quick-flow-solo-dev.md +58 -0
  12. package/bmm/agents/sm.md +56 -0
  13. package/bmm/agents/tea.md +57 -0
  14. package/bmm/agents/tech-writer.md +56 -0
  15. package/bmm/agents/ux-designer.md +56 -0
  16. package/bmm/config.yaml +27 -0
  17. package/bmm/data/odoo-knowledge-base.md +90 -0
  18. package/bmm/teams/default-team.md +17 -0
  19. package/bmm/testarch/odoo-test-design/steps/step-01-init.md +44 -0
  20. package/bmm/testarch/odoo-test-design/steps/step-02-test-cases.md +82 -0
  21. package/bmm/testarch/odoo-test-design/steps/step-03-complete.md +69 -0
  22. package/bmm/testarch/odoo-test-design/workflow.md +30 -0
  23. package/bmm/testarch/odoo-testing-guide.md +30 -0
  24. package/bmm/workflows/1-analysis/analyze-process/process-analysis.template.md +80 -0
  25. package/bmm/workflows/1-analysis/analyze-process/steps/step-01-init.md +44 -0
  26. package/bmm/workflows/1-analysis/analyze-process/steps/step-02-current-state.md +55 -0
  27. package/bmm/workflows/1-analysis/analyze-process/steps/step-03-pain-points.md +67 -0
  28. package/bmm/workflows/1-analysis/analyze-process/steps/step-04-odoo-mapping.md +67 -0
  29. package/bmm/workflows/1-analysis/analyze-process/steps/step-05-recommendations.md +99 -0
  30. package/bmm/workflows/1-analysis/analyze-process/steps/step-06-complete.md +62 -0
  31. package/bmm/workflows/1-analysis/analyze-process/workflow.md +60 -0
  32. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-01-init.md +45 -0
  33. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-02-users-stakeholders.md +46 -0
  34. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-03-odoo-modules.md +59 -0
  35. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-04-scope-timeline.md +64 -0
  36. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-05-complete.md +32 -0
  37. package/bmm/workflows/1-analysis/create-odoo-product-brief/workflow.md +35 -0
  38. package/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  39. package/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +182 -0
  40. package/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +166 -0
  41. package/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +204 -0
  42. package/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +207 -0
  43. package/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +210 -0
  44. package/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +224 -0
  45. package/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +199 -0
  46. package/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
  47. package/bmm/workflows/1-analysis/gap-analysis/steps/step-01-init.md +45 -0
  48. package/bmm/workflows/1-analysis/gap-analysis/steps/step-02-odoo-capabilities.md +36 -0
  49. package/bmm/workflows/1-analysis/gap-analysis/steps/step-03-gap-matrix.md +51 -0
  50. package/bmm/workflows/1-analysis/gap-analysis/workflow.md +45 -0
  51. package/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  52. package/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  53. package/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  54. package/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  55. package/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  56. package/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  57. package/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  58. package/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  59. package/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
  60. package/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  61. package/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  62. package/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  63. package/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  64. package/bmm/workflows/1-analysis/research/research.template.md +29 -0
  65. package/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  66. package/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  67. package/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  68. package/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  69. package/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  70. package/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  71. package/bmm/workflows/1-analysis/research/workflow.md +173 -0
  72. package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-01-init.md +48 -0
  73. package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-02-technical-design.md +82 -0
  74. package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-03-generate.md +86 -0
  75. package/bmm/workflows/2-plan-workflows/create-odoo-addon/workflow.md +39 -0
  76. package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-01-init.md +55 -0
  77. package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-02-stories.md +53 -0
  78. package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-03-complete.md +39 -0
  79. package/bmm/workflows/2-plan-workflows/create-odoo-epic/workflow.md +35 -0
  80. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-01-init.md +46 -0
  81. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-02-functional-requirements.md +56 -0
  82. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-03-technical-requirements.md +45 -0
  83. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-04-complete.md +40 -0
  84. package/bmm/workflows/2-plan-workflows/create-odoo-prd/workflow.md +29 -0
  85. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-01-init.md +52 -0
  86. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-02-form-design.md +78 -0
  87. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-03-tree-design.md +84 -0
  88. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-04-complete.md +55 -0
  89. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/workflow.md +30 -0
  90. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  91. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  92. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  93. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  94. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  95. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  96. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  97. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  98. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  99. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  100. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  101. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  102. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  103. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  104. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -0
  105. package/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  106. package/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
  107. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-01-init.md +49 -0
  108. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-02-risk-assessment.md +51 -0
  109. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-03-roadmap.md +58 -0
  110. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/workflow.md +29 -0
  111. package/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  112. package/bmm/workflows/2-plan-workflows/prd/prd-template.md +11 -0
  113. package/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  114. package/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +197 -0
  115. package/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +166 -0
  116. package/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +421 -0
  117. package/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +290 -0
  118. package/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +291 -0
  119. package/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +271 -0
  120. package/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +262 -0
  121. package/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +258 -0
  122. package/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +299 -0
  123. package/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +270 -0
  124. package/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +294 -0
  125. package/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +186 -0
  126. package/bmm/workflows/2-plan-workflows/prd/workflow.md +63 -0
  127. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  128. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  129. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  130. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  131. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  132. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -0
  133. package/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  134. package/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
  135. package/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  136. package/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
  137. package/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  138. package/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  139. package/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  140. package/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  141. package/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
  142. package/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  143. package/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  144. package/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  145. package/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  146. package/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -0
  147. package/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
  148. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  149. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  150. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  151. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -0
  152. package/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  153. package/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
  154. package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-01-init.md +44 -0
  155. package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-02-inheritance-strategy.md +75 -0
  156. package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-03-implementation.md +64 -0
  157. package/bmm/workflows/3-solutioning/enhance-existing-system/workflow.md +30 -0
  158. package/bmm/workflows/3-solutioning/quick-addon/workflow.md +23 -0
  159. package/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  160. package/bmm/workflows/4-implementation/code-review/instructions.xml +225 -0
  161. package/bmm/workflows/4-implementation/code-review/workflow.yaml +50 -0
  162. package/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  163. package/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  164. package/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -0
  165. package/bmm/workflows/4-implementation/create-next-story/steps/step-01-init.md +53 -0
  166. package/bmm/workflows/4-implementation/create-next-story/steps/step-02-acceptance-criteria.md +63 -0
  167. package/bmm/workflows/4-implementation/create-next-story/steps/step-03-tasks.md +68 -0
  168. package/bmm/workflows/4-implementation/create-next-story/steps/step-04-complete.md +70 -0
  169. package/bmm/workflows/4-implementation/create-next-story/workflow.md +30 -0
  170. package/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
  171. package/bmm/workflows/4-implementation/dev-story/instructions.xml +409 -0
  172. package/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -0
  173. package/bmm/workflows/4-implementation/rapid-brownfield/steps/step-01-quick-story.md +79 -0
  174. package/bmm/workflows/4-implementation/rapid-brownfield/workflow.md +29 -0
  175. package/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  176. package/bmm/workflows/4-implementation/retrospective/workflow.yaml +57 -0
  177. package/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  178. package/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
  179. package/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  180. package/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -0
  181. package/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  182. package/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
  183. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +189 -0
  184. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +144 -0
  185. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +128 -0
  186. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +173 -0
  187. package/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +74 -0
  188. package/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +79 -0
  189. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
  190. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  191. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
  192. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  193. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  194. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
  195. package/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -0
  196. package/bmm/workflows/document-odoo/steps/step-01-init.md +43 -0
  197. package/bmm/workflows/document-odoo/steps/step-02-readme.md +98 -0
  198. package/bmm/workflows/document-odoo/steps/step-03-user-guide.md +76 -0
  199. package/bmm/workflows/document-odoo/steps/step-04-complete.md +58 -0
  200. package/bmm/workflows/document-odoo/workflow.md +30 -0
  201. package/bmm/workflows/document-project/checklist.md +245 -0
  202. package/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  203. package/bmm/workflows/document-project/instructions.md +221 -0
  204. package/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  205. package/bmm/workflows/document-project/templates/index-template.md +169 -0
  206. package/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  207. package/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  208. package/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  209. package/bmm/workflows/document-project/workflow.yaml +28 -0
  210. package/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  211. package/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  212. package/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  213. package/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  214. package/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
  215. package/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
  216. package/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
  217. package/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
  218. package/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +26 -0
  219. package/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
  220. package/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
  221. package/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +26 -0
  222. package/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
  223. package/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
  224. package/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +26 -0
  225. package/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
  226. package/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
  227. package/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +26 -0
  228. package/bmm/workflows/generate-project-context/project-context-template.md +21 -0
  229. package/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
  230. package/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
  231. package/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
  232. package/bmm/workflows/generate-project-context/workflow.md +49 -0
  233. package/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -0
  234. package/bmm/workflows/testarch/atdd/checklist.md +374 -0
  235. package/bmm/workflows/testarch/atdd/instructions.md +806 -0
  236. package/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
  237. package/bmm/workflows/testarch/automate/checklist.md +582 -0
  238. package/bmm/workflows/testarch/automate/instructions.md +1324 -0
  239. package/bmm/workflows/testarch/automate/workflow.yaml +52 -0
  240. package/bmm/workflows/testarch/ci/checklist.md +248 -0
  241. package/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
  242. package/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  243. package/bmm/workflows/testarch/ci/instructions.md +536 -0
  244. package/bmm/workflows/testarch/ci/workflow.yaml +45 -0
  245. package/bmm/workflows/testarch/framework/checklist.md +321 -0
  246. package/bmm/workflows/testarch/framework/instructions.md +481 -0
  247. package/bmm/workflows/testarch/framework/workflow.yaml +47 -0
  248. package/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
  249. package/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  250. package/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -0
  251. package/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
  252. package/bmm/workflows/testarch/test-design/checklist.md +235 -0
  253. package/bmm/workflows/testarch/test-design/instructions.md +788 -0
  254. package/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
  255. package/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
  256. package/bmm/workflows/testarch/test-review/checklist.md +472 -0
  257. package/bmm/workflows/testarch/test-review/instructions.md +628 -0
  258. package/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
  259. package/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
  260. package/bmm/workflows/testarch/trace/checklist.md +655 -0
  261. package/bmm/workflows/testarch/trace/instructions.md +1047 -0
  262. package/bmm/workflows/testarch/trace/trace-template.md +675 -0
  263. package/bmm/workflows/testarch/trace/workflow.yaml +55 -0
  264. package/bmm/workflows/workflow-status/init/instructions.md +346 -0
  265. package/bmm/workflows/workflow-status/init/workflow.yaml +29 -0
  266. package/bmm/workflows/workflow-status/instructions.md +395 -0
  267. package/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -0
  268. package/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -0
  269. package/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -0
  270. package/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -0
  271. package/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  272. package/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  273. package/bmm/workflows/workflow-status/workflow.yaml +30 -0
  274. package/core/agents/bmad-odoo-master.md +61 -0
  275. package/core/config.yaml +7 -0
  276. package/core/resources/README.md +5 -0
  277. package/core/tasks/README.md +7 -0
  278. package/core/workflows/README.md +8 -0
  279. package/index.js +84 -0
  280. package/package.json +48 -0
  281. package/scripts/postinstall.js +447 -0
  282. package/scripts/setup-cli.js +17 -0
@@ -0,0 +1,45 @@
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
@@ -0,0 +1,582 @@
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)