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,536 @@
1
+ <!-- Powered by BMAD-CORE™ -->
2
+
3
+ # CI/CD Pipeline Setup
4
+
5
+ **Workflow ID**: `_bmad/bmm/testarch/ci`
6
+ **Version**: 4.0 (BMad v6)
7
+
8
+ ---
9
+
10
+ ## Overview
11
+
12
+ Scaffolds a production-ready CI/CD quality pipeline with test execution, burn-in loops for flaky test detection, parallel sharding, artifact collection, and notification configuration. This workflow creates platform-specific CI configuration optimized for fast feedback and reliable test execution.
13
+
14
+ Note: This is typically a one-time setup per repo; run it any time after the test framework exists, ideally before feature work starts.
15
+
16
+ ---
17
+
18
+ ## Preflight Requirements
19
+
20
+ **Critical:** Verify these requirements before proceeding. If any fail, HALT and notify the user.
21
+
22
+ - ✅ Git repository is initialized (`.git/` directory exists)
23
+ - ✅ Local test suite passes (`npm run test:e2e` succeeds)
24
+ - ✅ Test framework is configured (from `framework` workflow)
25
+ - ✅ Team agrees on target CI platform (GitHub Actions, GitLab CI, Circle CI, etc.)
26
+ - ✅ Access to CI platform settings/secrets available (if updating existing pipeline)
27
+
28
+ ---
29
+
30
+ ## Step 1: Run Preflight Checks
31
+
32
+ ### Actions
33
+
34
+ 1. **Verify Git Repository**
35
+ - Check for `.git/` directory
36
+ - Confirm remote repository configured (`git remote -v`)
37
+ - If not initialized, HALT with message: "Git repository required for CI/CD setup"
38
+
39
+ 2. **Validate Test Framework**
40
+ - Look for `playwright.config.*` or `cypress.config.*`
41
+ - Read framework configuration to extract:
42
+ - Test directory location
43
+ - Test command
44
+ - Reporter configuration
45
+ - Timeout settings
46
+ - If not found, HALT with message: "Run `framework` workflow first to set up test infrastructure"
47
+
48
+ 3. **Run Local Tests**
49
+ - Execute `npm run test:e2e` (or equivalent from package.json)
50
+ - Ensure tests pass before CI setup
51
+ - If tests fail, HALT with message: "Fix failing tests before setting up CI/CD"
52
+
53
+ 4. **Detect CI Platform**
54
+ - Check for existing CI configuration:
55
+ - `.github/workflows/*.yml` (GitHub Actions)
56
+ - `.gitlab-ci.yml` (GitLab CI)
57
+ - `.circleci/config.yml` (Circle CI)
58
+ - `Jenkinsfile` (Jenkins)
59
+ - If found, ask user: "Update existing CI configuration or create new?"
60
+ - If not found, detect platform from git remote:
61
+ - `github.com` → GitHub Actions (default)
62
+ - `gitlab.com` → GitLab CI
63
+ - Ask user if unable to auto-detect
64
+
65
+ 5. **Read Environment Configuration**
66
+ - Use `.nvmrc` for Node version if present
67
+ - If missing, default to a current LTS (Node 24) or newer instead of a fixed old version
68
+ - Read `package.json` to identify dependencies (affects caching strategy)
69
+
70
+ **Halt Condition:** If preflight checks fail, stop immediately and report which requirement failed.
71
+
72
+ ---
73
+
74
+ ## Step 2: Scaffold CI Pipeline
75
+
76
+ ### Actions
77
+
78
+ 1. **Select CI Platform Template**
79
+
80
+ Based on detection or user preference, use the appropriate template:
81
+
82
+ **GitHub Actions** (`.github/workflows/test.yml`):
83
+ - Most common platform
84
+ - Excellent caching and matrix support
85
+ - Free for public repos, generous free tier for private
86
+
87
+ **GitLab CI** (`.gitlab-ci.yml`):
88
+ - Integrated with GitLab
89
+ - Built-in registry and runners
90
+ - Powerful pipeline features
91
+
92
+ **Circle CI** (`.circleci/config.yml`):
93
+ - Fast execution with parallelism
94
+ - Docker-first approach
95
+ - Enterprise features
96
+
97
+ **Jenkins** (`Jenkinsfile`):
98
+ - Self-hosted option
99
+ - Maximum customization
100
+ - Requires infrastructure management
101
+
102
+ 2. **Generate Pipeline Configuration**
103
+
104
+ Use templates from `{installed_path}/` directory:
105
+ - `github-actions-template.yml`
106
+ - `gitlab-ci-template.yml`
107
+
108
+ **Key pipeline stages:**
109
+
110
+ ```yaml
111
+ stages:
112
+ - lint # Code quality checks
113
+ - test # Test execution (parallel shards)
114
+ - burn-in # Flaky test detection
115
+ - report # Aggregate results and publish
116
+ ```
117
+
118
+ 3. **Configure Test Execution**
119
+
120
+ **Parallel Sharding:**
121
+
122
+ ```yaml
123
+ strategy:
124
+ fail-fast: false
125
+ matrix:
126
+ shard: [1, 2, 3, 4]
127
+
128
+ steps:
129
+ - name: Run tests
130
+ run: npm run test:e2e -- --shard=${{ matrix.shard }}/${{ strategy.job-total }}
131
+ ```
132
+
133
+ **Purpose:** Splits tests into N parallel jobs for faster execution (target: <10 min per shard)
134
+
135
+ 4. **Add Burn-In Loop**
136
+
137
+ **Critical pattern from production systems:**
138
+
139
+ ```yaml
140
+ burn-in:
141
+ name: Flaky Test Detection
142
+ runs-on: ubuntu-latest
143
+ steps:
144
+ - uses: actions/checkout@v4
145
+
146
+ - name: Setup Node
147
+ uses: actions/setup-node@v4
148
+ with:
149
+ node-version-file: '.nvmrc'
150
+
151
+ - name: Install dependencies
152
+ run: npm ci
153
+
154
+ - name: Run burn-in loop (10 iterations)
155
+ run: |
156
+ for i in {1..10}; do
157
+ echo "🔥 Burn-in iteration $i/10"
158
+ npm run test:e2e || exit 1
159
+ done
160
+
161
+ - name: Upload failure artifacts
162
+ if: failure()
163
+ uses: actions/upload-artifact@v4
164
+ with:
165
+ name: burn-in-failures
166
+ path: test-results/
167
+ retention-days: 30
168
+ ```
169
+
170
+ **Purpose:** Runs tests multiple times to catch non-deterministic failures before they reach main branch.
171
+
172
+ **When to run:**
173
+ - On pull requests to main/develop
174
+ - Weekly on cron schedule
175
+ - After significant test infrastructure changes
176
+
177
+ 5. **Configure Caching**
178
+
179
+ **Node modules cache:**
180
+
181
+ ```yaml
182
+ - name: Cache dependencies
183
+ uses: actions/cache@v4
184
+ with:
185
+ path: ~/.npm
186
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
187
+ restore-keys: |
188
+ ${{ runner.os }}-node-
189
+ ```
190
+
191
+ **Browser binaries cache (Playwright):**
192
+
193
+ ```yaml
194
+ - name: Cache Playwright browsers
195
+ uses: actions/cache@v4
196
+ with:
197
+ path: ~/.cache/ms-playwright
198
+ key: ${{ runner.os }}-playwright-${{ hashFiles('**/package-lock.json') }}
199
+ ```
200
+
201
+ **Purpose:** Reduces CI execution time by 2-5 minutes per run.
202
+
203
+ 6. **Configure Artifact Collection**
204
+
205
+ **Failure artifacts only:**
206
+
207
+ ```yaml
208
+ - name: Upload test results
209
+ if: failure()
210
+ uses: actions/upload-artifact@v4
211
+ with:
212
+ name: test-results-${{ matrix.shard }}
213
+ path: |
214
+ test-results/
215
+ playwright-report/
216
+ retention-days: 30
217
+ ```
218
+
219
+ **Artifacts to collect:**
220
+ - Traces (Playwright) - full debugging context
221
+ - Screenshots - visual evidence of failures
222
+ - Videos - interaction playback
223
+ - HTML reports - detailed test results
224
+ - Console logs - error messages and warnings
225
+
226
+ 7. **Add Retry Logic**
227
+
228
+ ```yaml
229
+ - name: Run tests with retries
230
+ uses: nick-invision/retry@v2
231
+ with:
232
+ timeout_minutes: 30
233
+ max_attempts: 3
234
+ retry_on: error
235
+ command: npm run test:e2e
236
+ ```
237
+
238
+ **Purpose:** Handles transient failures (network issues, race conditions)
239
+
240
+ 8. **Configure Notifications** (Optional)
241
+
242
+ If `notify_on_failure` is enabled:
243
+
244
+ ```yaml
245
+ - name: Notify on failure
246
+ if: failure()
247
+ uses: 8398a7/action-slack@v3
248
+ with:
249
+ status: ${{ job.status }}
250
+ text: 'Test failures detected in PR #${{ github.event.pull_request.number }}'
251
+ webhook_url: ${{ secrets.SLACK_WEBHOOK }}
252
+ ```
253
+
254
+ 9. **Generate Helper Scripts**
255
+
256
+ **Selective testing script** (`scripts/test-changed.sh`):
257
+
258
+ ```bash
259
+ #!/bin/bash
260
+ # Run only tests for changed files
261
+
262
+ CHANGED_FILES=$(git diff --name-only HEAD~1)
263
+
264
+ if echo "$CHANGED_FILES" | grep -q "src/.*\.ts$"; then
265
+ echo "Running affected tests..."
266
+ npm run test:e2e -- --grep="$(echo $CHANGED_FILES | sed 's/src\///g' | sed 's/\.ts//g')"
267
+ else
268
+ echo "No test-affecting changes detected"
269
+ fi
270
+ ```
271
+
272
+ **Local mirror script** (`scripts/ci-local.sh`):
273
+
274
+ ```bash
275
+ #!/bin/bash
276
+ # Mirror CI execution locally for debugging
277
+
278
+ echo "🔍 Running CI pipeline locally..."
279
+
280
+ # Lint
281
+ npm run lint || exit 1
282
+
283
+ # Tests
284
+ npm run test:e2e || exit 1
285
+
286
+ # Burn-in (reduced iterations)
287
+ for i in {1..3}; do
288
+ echo "🔥 Burn-in $i/3"
289
+ npm run test:e2e || exit 1
290
+ done
291
+
292
+ echo "✅ Local CI pipeline passed"
293
+ ```
294
+
295
+ 10. **Generate Documentation**
296
+
297
+ **CI README** (`docs/ci.md`):
298
+ - Pipeline stages and purpose
299
+ - How to run locally
300
+ - Debugging failed CI runs
301
+ - Secrets and environment variables needed
302
+ - Notification setup
303
+ - Badge URLs for README
304
+
305
+ **Secrets checklist** (`docs/ci-secrets-checklist.md`):
306
+ - Required secrets list (SLACK_WEBHOOK, etc.)
307
+ - Where to configure in CI platform
308
+ - Security best practices
309
+
310
+ ---
311
+
312
+ ## Step 3: Deliverables
313
+
314
+ ### Primary Artifacts Created
315
+
316
+ 1. **CI Configuration File**
317
+ - `.github/workflows/test.yml` (GitHub Actions)
318
+ - `.gitlab-ci.yml` (GitLab CI)
319
+ - `.circleci/config.yml` (Circle CI)
320
+
321
+ 2. **Pipeline Stages**
322
+ - **Lint**: Code quality checks (ESLint, Prettier)
323
+ - **Test**: Parallel test execution (4 shards)
324
+ - **Burn-in**: Flaky test detection (10 iterations)
325
+ - **Report**: Result aggregation and publishing
326
+
327
+ 3. **Helper Scripts**
328
+ - `scripts/test-changed.sh` - Selective testing
329
+ - `scripts/ci-local.sh` - Local CI mirror
330
+ - `scripts/burn-in.sh` - Standalone burn-in execution
331
+
332
+ 4. **Documentation**
333
+ - `docs/ci.md` - CI pipeline guide
334
+ - `docs/ci-secrets-checklist.md` - Required secrets
335
+ - Inline comments in CI configuration
336
+
337
+ 5. **Optimization Features**
338
+ - Dependency caching (npm, browser binaries)
339
+ - Parallel sharding (4 jobs default)
340
+ - Retry logic (2 retries on failure)
341
+ - Failure-only artifact upload
342
+
343
+ ### Performance Targets
344
+
345
+ - **Lint stage**: <2 minutes
346
+ - **Test stage** (per shard): <10 minutes
347
+ - **Burn-in stage**: <30 minutes (10 iterations)
348
+ - **Total pipeline**: <45 minutes
349
+
350
+ **Speedup:** 20× faster than sequential execution through parallelism and caching.
351
+
352
+ ---
353
+
354
+ ## Important Notes
355
+
356
+ ### Knowledge Base Integration
357
+
358
+ **Critical:** Check configuration and load appropriate fragments.
359
+
360
+ Read `{config_source}` and check `config.tea_use_playwright_utils`.
361
+
362
+ **Core CI Patterns (Always load):**
363
+
364
+ - `ci-burn-in.md` - Burn-in loop patterns: 10-iteration detection, GitHub Actions workflow, shard orchestration, selective execution (678 lines, 4 examples)
365
+ - `selective-testing.md` - Changed test detection strategies: tag-based, spec filters, diff-based selection, promotion rules (727 lines, 4 examples)
366
+ - `visual-debugging.md` - Artifact collection best practices: trace viewer, HAR recording, custom artifacts, accessibility integration (522 lines, 5 examples)
367
+ - `test-quality.md` - CI-specific test quality criteria: deterministic tests, isolated with cleanup, explicit assertions, length/time optimization (658 lines, 5 examples)
368
+ - `playwright-config.md` - CI-optimized configuration: parallelization, artifact output, project dependencies, sharding (722 lines, 5 examples)
369
+
370
+ **If `config.tea_use_playwright_utils: true`:**
371
+
372
+ Load playwright-utils CI-relevant fragments:
373
+
374
+ - `burn-in.md` - Smart test selection with git diff analysis (very important for CI optimization)
375
+ - `network-error-monitor.md` - Automatic HTTP 4xx/5xx detection (recommend in CI pipelines)
376
+
377
+ Recommend:
378
+
379
+ - Add burn-in script for pull request validation
380
+ - Enable network-error-monitor in merged fixtures for catching silent failures
381
+ - Reference full docs in `*framework` and `*automate` workflows
382
+
383
+ ### CI Platform-Specific Guidance
384
+
385
+ **GitHub Actions:**
386
+
387
+ - Use `actions/cache` for caching
388
+ - Matrix strategy for parallelism
389
+ - Secrets in repository settings
390
+ - Free 2000 minutes/month for private repos
391
+
392
+ **GitLab CI:**
393
+
394
+ - Use `.gitlab-ci.yml` in root
395
+ - `cache:` directive for caching
396
+ - Parallel execution with `parallel: 4`
397
+ - Variables in project CI/CD settings
398
+
399
+ **Circle CI:**
400
+
401
+ - Use `.circleci/config.yml`
402
+ - Docker executors recommended
403
+ - Parallelism with `parallelism: 4`
404
+ - Context for shared secrets
405
+
406
+ ### Burn-In Loop Strategy
407
+
408
+ **When to run:**
409
+
410
+ - ✅ On PRs to main/develop branches
411
+ - ✅ Weekly on schedule (cron)
412
+ - ✅ After test infrastructure changes
413
+ - ❌ Not on every commit (too slow)
414
+
415
+ **Iterations:**
416
+
417
+ - **10 iterations** for thorough detection
418
+ - **3 iterations** for quick feedback
419
+ - **100 iterations** for high-confidence stability
420
+
421
+ **Failure threshold:**
422
+
423
+ - Even ONE failure in burn-in → tests are flaky
424
+ - Must fix before merging
425
+
426
+ ### Artifact Retention
427
+
428
+ **Failure artifacts only:**
429
+
430
+ - Saves storage costs
431
+ - Maintains debugging capability
432
+ - 30-day retention default
433
+
434
+ **Artifact types:**
435
+
436
+ - Traces (Playwright) - 5-10 MB per test
437
+ - Screenshots - 100-500 KB per screenshot
438
+ - Videos - 2-5 MB per test
439
+ - HTML reports - 1-2 MB per run
440
+
441
+ ### Selective Testing
442
+
443
+ **Detect changed files:**
444
+
445
+ ```bash
446
+ git diff --name-only HEAD~1
447
+ ```
448
+
449
+ **Run affected tests only:**
450
+
451
+ - Faster feedback for small changes
452
+ - Full suite still runs on main branch
453
+ - Reduces CI time by 50-80% for focused PRs
454
+
455
+ **Trade-off:**
456
+
457
+ - May miss integration issues
458
+ - Run full suite at least on merge
459
+
460
+ ### Local CI Mirror
461
+
462
+ **Purpose:** Debug CI failures locally
463
+
464
+ **Usage:**
465
+
466
+ ```bash
467
+ ./scripts/ci-local.sh
468
+ ```
469
+
470
+ **Mirrors CI environment:**
471
+
472
+ - Same Node version
473
+ - Same test command
474
+ - Same stages (lint → test → burn-in)
475
+ - Reduced burn-in iterations (3 vs 10)
476
+
477
+ ---
478
+
479
+ ## Output Summary
480
+
481
+ After completing this workflow, provide a summary:
482
+
483
+ ```markdown
484
+ ## CI/CD Pipeline Complete
485
+
486
+ **Platform**: GitHub Actions (or GitLab CI, etc.)
487
+
488
+ **Artifacts Created**:
489
+
490
+ - ✅ Pipeline configuration: .github/workflows/test.yml
491
+ - ✅ Burn-in loop: 10 iterations for flaky detection
492
+ - ✅ Parallel sharding: 4 jobs for fast execution
493
+ - ✅ Caching: Dependencies + browser binaries
494
+ - ✅ Artifact collection: Failure-only traces/screenshots/videos
495
+ - ✅ Helper scripts: test-changed.sh, ci-local.sh, burn-in.sh
496
+ - ✅ Documentation: docs/ci.md, docs/ci-secrets-checklist.md
497
+
498
+ **Performance:**
499
+
500
+ - Lint: <2 min
501
+ - Test (per shard): <10 min
502
+ - Burn-in: <30 min
503
+ - Total: <45 min (20× speedup vs sequential)
504
+
505
+ **Next Steps**:
506
+
507
+ 1. Commit CI configuration: `git add .github/workflows/test.yml && git commit -m "ci: add test pipeline"`
508
+ 2. Push to remote: `git push`
509
+ 3. Configure required secrets in CI platform settings (see docs/ci-secrets-checklist.md)
510
+ 4. Open a PR to trigger first CI run
511
+ 5. Monitor pipeline execution and adjust parallelism if needed
512
+
513
+ **Knowledge Base References Applied**:
514
+
515
+ - Burn-in loop pattern (ci-burn-in.md)
516
+ - Selective testing strategy (selective-testing.md)
517
+ - Artifact collection (visual-debugging.md)
518
+ - Test quality criteria (test-quality.md)
519
+ ```
520
+
521
+ ---
522
+
523
+ ## Validation
524
+
525
+ After completing all steps, verify:
526
+
527
+ - [ ] CI configuration file created and syntactically valid
528
+ - [ ] Burn-in loop configured (10 iterations)
529
+ - [ ] Parallel sharding enabled (4 jobs)
530
+ - [ ] Caching configured (dependencies + browsers)
531
+ - [ ] Artifact collection on failure only
532
+ - [ ] Helper scripts created and executable (`chmod +x`)
533
+ - [ ] Documentation complete (ci.md, secrets checklist)
534
+ - [ ] No errors or warnings during scaffold
535
+
536
+ Refer to `checklist.md` for comprehensive validation criteria.
@@ -0,0 +1,45 @@
1
+ # Test Architect workflow: ci
2
+ name: testarch-ci
3
+ description: "Scaffold CI/CD quality pipeline with test execution, burn-in loops, and artifact collection"
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/ci"
16
+ instructions: "{installed_path}/instructions.md"
17
+ validation: "{installed_path}/checklist.md"
18
+
19
+ # Variables and inputs
20
+ variables:
21
+ ci_platform: "auto" # auto, github-actions, gitlab-ci, circle-ci, jenkins - user can override
22
+ test_dir: "{project-root}/tests" # Root test directory
23
+
24
+ # Output configuration
25
+ default_output_file: "{project-root}/.github/workflows/test.yml" # GitHub Actions default
26
+
27
+ # Required tools
28
+ required_tools:
29
+ - read_file # Read .nvmrc, package.json, framework config
30
+ - write_file # Create CI config, scripts, documentation
31
+ - create_directory # Create .github/workflows/ or .gitlab-ci/ directories
32
+ - list_files # Detect existing CI configuration
33
+ - search_repo # Find test files for selective testing
34
+
35
+ tags:
36
+ - qa
37
+ - ci-cd
38
+ - test-architect
39
+ - pipeline
40
+ - automation
41
+
42
+ execution_hints:
43
+ interactive: false # Minimize prompts, auto-detect when possible
44
+ autonomous: true # Proceed without user input unless blocked
45
+ iterative: true