bmm-opencode 1.5.0 → 1.6.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 (482) hide show
  1. package/_bmad/_config/agent-manifest.csv +18 -0
  2. package/_bmad/_config/agents/bmm-analyst.customize.yaml +41 -0
  3. package/_bmad/_config/agents/bmm-architect.customize.yaml +41 -0
  4. package/_bmad/_config/agents/bmm-dev.customize.yaml +41 -0
  5. package/_bmad/_config/agents/bmm-pm.customize.yaml +41 -0
  6. package/_bmad/_config/agents/bmm-qa.customize.yaml +41 -0
  7. package/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -0
  8. package/_bmad/_config/agents/bmm-sm.customize.yaml +41 -0
  9. package/_bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -0
  10. package/_bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -0
  11. package/_bmad/_config/agents/cis-brainstorming-coach.customize.yaml +41 -0
  12. package/_bmad/_config/agents/cis-creative-problem-solver.customize.yaml +41 -0
  13. package/_bmad/_config/agents/cis-design-thinking-coach.customize.yaml +41 -0
  14. package/_bmad/_config/agents/cis-innovation-strategist.customize.yaml +41 -0
  15. package/_bmad/_config/agents/cis-presentation-master.customize.yaml +41 -0
  16. package/_bmad/_config/agents/cis-storyteller.customize.yaml +41 -0
  17. package/_bmad/_config/agents/core-bmad-master.customize.yaml +41 -0
  18. package/_bmad/_config/agents/tea-tea.customize.yaml +41 -0
  19. package/_bmad/_config/bmad-help.csv +53 -0
  20. package/_bmad/_config/files-manifest.csv +443 -0
  21. package/_bmad/_config/manifest.yaml +34 -0
  22. package/_bmad/_config/task-manifest.csv +7 -0
  23. package/_bmad/_config/tool-manifest.csv +1 -0
  24. package/_bmad/_config/workflow-manifest.csv +39 -0
  25. package/_bmad/_memory/config.yaml +11 -0
  26. package/_bmad/_memory/storyteller-sidecar/stories-told.md +7 -0
  27. package/_bmad/_memory/storyteller-sidecar/story-preferences.md +7 -0
  28. package/_bmad/_memory/tech-writer-sidecar/documentation-standards.md +224 -0
  29. package/_bmad/bmm/agents/analyst.md +78 -0
  30. package/_bmad/bmm/agents/architect.md +58 -0
  31. package/_bmad/bmm/agents/dev.md +69 -0
  32. package/_bmad/bmm/agents/pm.md +72 -0
  33. package/_bmad/bmm/agents/qa.md +92 -0
  34. package/_bmad/bmm/agents/quick-flow-solo-dev.md +69 -0
  35. package/_bmad/bmm/agents/sm.md +70 -0
  36. package/_bmad/bmm/agents/tech-writer/tech-writer.md +70 -0
  37. package/_bmad/bmm/agents/ux-designer.md +57 -0
  38. package/_bmad/bmm/config.yaml +16 -0
  39. package/_bmad/bmm/data/project-context-template.md +26 -0
  40. package/_bmad/bmm/module-help.csv +31 -0
  41. package/_bmad/bmm/teams/default-party.csv +20 -0
  42. package/_bmad/bmm/teams/team-fullstack.yaml +12 -0
  43. package/_bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  44. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
  45. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
  46. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
  47. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
  48. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
  49. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
  50. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
  51. package/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -0
  52. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  53. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  54. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  55. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  56. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  57. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  58. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  59. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  60. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  61. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  62. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  63. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  64. package/_bmad/bmm/workflows/1-analysis/research/research.template.md +29 -0
  65. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  66. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  67. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  68. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  69. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  70. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  71. package/_bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -0
  72. package/_bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -0
  73. package/_bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -0
  74. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +15 -0
  75. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
  76. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
  77. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
  78. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +153 -0
  79. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
  80. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
  81. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
  82. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
  83. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
  84. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
  85. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
  86. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
  87. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
  88. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
  89. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
  90. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
  91. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  92. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
  93. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
  94. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
  95. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +218 -0
  96. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
  97. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
  98. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
  99. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  100. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
  101. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
  102. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  103. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  104. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
  105. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
  106. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  107. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
  108. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
  109. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
  110. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -0
  111. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -0
  112. package/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +65 -0
  113. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  114. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  115. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  116. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  117. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  118. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  119. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  120. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  121. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  122. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  123. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  124. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  125. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  126. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  127. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
  128. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  129. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -0
  130. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  131. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  132. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  133. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  134. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  135. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +135 -0
  136. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  137. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -0
  138. package/_bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  139. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +13 -0
  140. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  141. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  142. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  143. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  144. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
  145. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  146. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  147. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  148. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  149. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
  150. package/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -0
  151. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  152. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  153. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +282 -0
  154. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
  155. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +63 -0
  156. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -0
  157. package/_bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  158. package/_bmad/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
  159. package/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +48 -0
  160. package/_bmad/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
  161. package/_bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  162. package/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +56 -0
  163. package/_bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
  164. package/_bmad/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
  165. package/_bmad/bmm/workflows/4-implementation/create-story/template.md +50 -0
  166. package/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +57 -0
  167. package/_bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
  168. package/_bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
  169. package/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +23 -0
  170. package/_bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  171. package/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +55 -0
  172. package/_bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  173. package/_bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +265 -0
  174. package/_bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +81 -0
  175. package/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +51 -0
  176. package/_bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  177. package/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +30 -0
  178. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +176 -0
  179. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  180. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
  181. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  182. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  183. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +149 -0
  184. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -0
  185. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +192 -0
  186. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +145 -0
  187. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
  188. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +201 -0
  189. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
  190. package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +78 -0
  191. package/_bmad/bmm/workflows/document-project/checklist.md +245 -0
  192. package/_bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  193. package/_bmad/bmm/workflows/document-project/instructions.md +221 -0
  194. package/_bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  195. package/_bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
  196. package/_bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  197. package/_bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  198. package/_bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  199. package/_bmad/bmm/workflows/document-project/workflow.yaml +22 -0
  200. package/_bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  201. package/_bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  202. package/_bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  203. package/_bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  204. package/_bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -0
  205. package/_bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
  206. package/_bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
  207. package/_bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
  208. package/_bmad/bmm/workflows/generate-project-context/workflow.md +49 -0
  209. package/_bmad/bmm/workflows/qa/automate/checklist.md +33 -0
  210. package/_bmad/bmm/workflows/qa/automate/instructions.md +110 -0
  211. package/_bmad/bmm/workflows/qa/automate/workflow.yaml +47 -0
  212. package/_bmad/cis/agents/brainstorming-coach.md +61 -0
  213. package/_bmad/cis/agents/creative-problem-solver.md +61 -0
  214. package/_bmad/cis/agents/design-thinking-coach.md +61 -0
  215. package/_bmad/cis/agents/innovation-strategist.md +61 -0
  216. package/_bmad/cis/agents/presentation-master.md +67 -0
  217. package/_bmad/cis/agents/storyteller/storyteller.md +58 -0
  218. package/_bmad/cis/config.yaml +12 -0
  219. package/_bmad/cis/module-help.csv +6 -0
  220. package/_bmad/cis/teams/creative-squad.yaml +7 -0
  221. package/_bmad/cis/teams/default-party.csv +12 -0
  222. package/_bmad/cis/workflows/README.md +139 -0
  223. package/_bmad/cis/workflows/design-thinking/README.md +56 -0
  224. package/_bmad/cis/workflows/design-thinking/design-methods.csv +31 -0
  225. package/_bmad/cis/workflows/design-thinking/instructions.md +202 -0
  226. package/_bmad/cis/workflows/design-thinking/template.md +111 -0
  227. package/_bmad/cis/workflows/design-thinking/workflow.yaml +27 -0
  228. package/_bmad/cis/workflows/innovation-strategy/README.md +56 -0
  229. package/_bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
  230. package/_bmad/cis/workflows/innovation-strategy/instructions.md +276 -0
  231. package/_bmad/cis/workflows/innovation-strategy/template.md +189 -0
  232. package/_bmad/cis/workflows/innovation-strategy/workflow.yaml +27 -0
  233. package/_bmad/cis/workflows/problem-solving/README.md +56 -0
  234. package/_bmad/cis/workflows/problem-solving/instructions.md +252 -0
  235. package/_bmad/cis/workflows/problem-solving/solving-methods.csv +31 -0
  236. package/_bmad/cis/workflows/problem-solving/template.md +165 -0
  237. package/_bmad/cis/workflows/problem-solving/workflow.yaml +27 -0
  238. package/_bmad/cis/workflows/storytelling/README.md +58 -0
  239. package/_bmad/cis/workflows/storytelling/instructions.md +293 -0
  240. package/_bmad/cis/workflows/storytelling/story-types.csv +26 -0
  241. package/_bmad/cis/workflows/storytelling/template.md +113 -0
  242. package/_bmad/cis/workflows/storytelling/workflow.yaml +27 -0
  243. package/_bmad/core/agents/bmad-master.md +56 -0
  244. package/_bmad/core/config.yaml +9 -0
  245. package/_bmad/core/module-help.csv +9 -0
  246. package/_bmad/core/tasks/editorial-review-prose.xml +102 -0
  247. package/_bmad/core/tasks/editorial-review-structure.xml +209 -0
  248. package/_bmad/core/tasks/help.md +82 -0
  249. package/_bmad/core/tasks/index-docs.xml +65 -0
  250. package/_bmad/core/tasks/review-adversarial-general.xml +48 -0
  251. package/_bmad/core/tasks/shard-doc.xml +108 -0
  252. package/_bmad/core/tasks/workflow.xml +235 -0
  253. package/_bmad/core/workflows/advanced-elicitation/methods.csv +51 -0
  254. package/_bmad/core/workflows/advanced-elicitation/workflow.xml +117 -0
  255. package/_bmad/core/workflows/brainstorming/brain-methods.csv +62 -0
  256. package/_bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
  257. package/_bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
  258. package/_bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
  259. package/_bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  260. package/_bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
  261. package/_bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  262. package/_bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
  263. package/_bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
  264. package/_bmad/core/workflows/brainstorming/template.md +15 -0
  265. package/_bmad/core/workflows/brainstorming/workflow.md +58 -0
  266. package/_bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  267. package/_bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +261 -0
  268. package/_bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +166 -0
  269. package/_bmad/core/workflows/party-mode/workflow.md +219 -0
  270. package/_bmad/tea/agents/tea.md +71 -0
  271. package/_bmad/tea/config.yaml +19 -0
  272. package/_bmad/tea/module-help.csv +10 -0
  273. package/_bmad/tea/teams/default-party.csv +2 -0
  274. package/_bmad/tea/testarch/knowledge/adr-quality-readiness-checklist.md +377 -0
  275. package/_bmad/tea/testarch/knowledge/api-request.md +442 -0
  276. package/_bmad/tea/testarch/knowledge/api-testing-patterns.md +851 -0
  277. package/_bmad/tea/testarch/knowledge/auth-session.md +548 -0
  278. package/_bmad/tea/testarch/knowledge/burn-in.md +273 -0
  279. package/_bmad/tea/testarch/knowledge/ci-burn-in.md +675 -0
  280. package/_bmad/tea/testarch/knowledge/component-tdd.md +486 -0
  281. package/_bmad/tea/testarch/knowledge/contract-testing.md +957 -0
  282. package/_bmad/tea/testarch/knowledge/data-factories.md +500 -0
  283. package/_bmad/tea/testarch/knowledge/email-auth.md +721 -0
  284. package/_bmad/tea/testarch/knowledge/error-handling.md +725 -0
  285. package/_bmad/tea/testarch/knowledge/feature-flags.md +750 -0
  286. package/_bmad/tea/testarch/knowledge/file-utils.md +456 -0
  287. package/_bmad/tea/testarch/knowledge/fixture-architecture.md +401 -0
  288. package/_bmad/tea/testarch/knowledge/fixtures-composition.md +382 -0
  289. package/_bmad/tea/testarch/knowledge/intercept-network-call.md +426 -0
  290. package/_bmad/tea/testarch/knowledge/log.md +426 -0
  291. package/_bmad/tea/testarch/knowledge/network-error-monitor.md +401 -0
  292. package/_bmad/tea/testarch/knowledge/network-first.md +486 -0
  293. package/_bmad/tea/testarch/knowledge/network-recorder.md +527 -0
  294. package/_bmad/tea/testarch/knowledge/nfr-criteria.md +670 -0
  295. package/_bmad/tea/testarch/knowledge/overview.md +286 -0
  296. package/_bmad/tea/testarch/knowledge/playwright-config.md +730 -0
  297. package/_bmad/tea/testarch/knowledge/probability-impact.md +601 -0
  298. package/_bmad/tea/testarch/knowledge/recurse.md +421 -0
  299. package/_bmad/tea/testarch/knowledge/risk-governance.md +615 -0
  300. package/_bmad/tea/testarch/knowledge/selective-testing.md +732 -0
  301. package/_bmad/tea/testarch/knowledge/selector-resilience.md +527 -0
  302. package/_bmad/tea/testarch/knowledge/test-healing-patterns.md +644 -0
  303. package/_bmad/tea/testarch/knowledge/test-levels-framework.md +473 -0
  304. package/_bmad/tea/testarch/knowledge/test-priorities-matrix.md +373 -0
  305. package/_bmad/tea/testarch/knowledge/test-quality.md +664 -0
  306. package/_bmad/tea/testarch/knowledge/timing-debugging.md +372 -0
  307. package/_bmad/tea/testarch/knowledge/visual-debugging.md +524 -0
  308. package/_bmad/tea/testarch/tea-index.csv +35 -0
  309. package/_bmad/tea/workflows/testarch/README.md +74 -0
  310. package/_bmad/tea/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  311. package/_bmad/tea/workflows/testarch/atdd/checklist.md +374 -0
  312. package/_bmad/tea/workflows/testarch/atdd/instructions.md +38 -0
  313. package/_bmad/tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +110 -0
  314. package/_bmad/tea/workflows/testarch/atdd/steps-c/step-02-generation-mode.md +79 -0
  315. package/_bmad/tea/workflows/testarch/atdd/steps-c/step-03-test-strategy.md +76 -0
  316. package/_bmad/tea/workflows/testarch/atdd/steps-c/step-04-generate-tests.md +228 -0
  317. package/_bmad/tea/workflows/testarch/atdd/steps-c/step-04a-subprocess-api-failing.md +215 -0
  318. package/_bmad/tea/workflows/testarch/atdd/steps-c/step-04b-subprocess-e2e-failing.md +212 -0
  319. package/_bmad/tea/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +329 -0
  320. package/_bmad/tea/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md +68 -0
  321. package/_bmad/tea/workflows/testarch/atdd/steps-e/step-01-assess.md +65 -0
  322. package/_bmad/tea/workflows/testarch/atdd/steps-e/step-02-apply-edit.md +60 -0
  323. package/_bmad/tea/workflows/testarch/atdd/steps-v/step-01-validate.md +67 -0
  324. package/_bmad/tea/workflows/testarch/atdd/validation-report-20260127-095021.md +73 -0
  325. package/_bmad/tea/workflows/testarch/atdd/validation-report-20260127-102401.md +116 -0
  326. package/_bmad/tea/workflows/testarch/atdd/workflow-plan.md +21 -0
  327. package/_bmad/tea/workflows/testarch/atdd/workflow.md +39 -0
  328. package/_bmad/tea/workflows/testarch/atdd/workflow.yaml +45 -0
  329. package/_bmad/tea/workflows/testarch/automate/checklist.md +582 -0
  330. package/_bmad/tea/workflows/testarch/automate/instructions.md +43 -0
  331. package/_bmad/tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +127 -0
  332. package/_bmad/tea/workflows/testarch/automate/steps-c/step-02-identify-targets.md +95 -0
  333. package/_bmad/tea/workflows/testarch/automate/steps-c/step-03-generate-tests.md +199 -0
  334. package/_bmad/tea/workflows/testarch/automate/steps-c/step-03a-subprocess-api.md +183 -0
  335. package/_bmad/tea/workflows/testarch/automate/steps-c/step-03b-subprocess-e2e.md +181 -0
  336. package/_bmad/tea/workflows/testarch/automate/steps-c/step-03c-aggregate.md +300 -0
  337. package/_bmad/tea/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md +69 -0
  338. package/_bmad/tea/workflows/testarch/automate/steps-e/step-01-assess.md +65 -0
  339. package/_bmad/tea/workflows/testarch/automate/steps-e/step-02-apply-edit.md +60 -0
  340. package/_bmad/tea/workflows/testarch/automate/steps-v/step-01-validate.md +67 -0
  341. package/_bmad/tea/workflows/testarch/automate/validation-report-20260127-095021.md +72 -0
  342. package/_bmad/tea/workflows/testarch/automate/validation-report-20260127-102401.md +114 -0
  343. package/_bmad/tea/workflows/testarch/automate/workflow-plan.md +20 -0
  344. package/_bmad/tea/workflows/testarch/automate/workflow.md +39 -0
  345. package/_bmad/tea/workflows/testarch/automate/workflow.yaml +52 -0
  346. package/_bmad/tea/workflows/testarch/ci/checklist.md +247 -0
  347. package/_bmad/tea/workflows/testarch/ci/github-actions-template.yaml +198 -0
  348. package/_bmad/tea/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  349. package/_bmad/tea/workflows/testarch/ci/instructions.md +38 -0
  350. package/_bmad/tea/workflows/testarch/ci/steps-c/step-01-preflight.md +92 -0
  351. package/_bmad/tea/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +82 -0
  352. package/_bmad/tea/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +75 -0
  353. package/_bmad/tea/workflows/testarch/ci/steps-c/step-04-validate-and-summary.md +67 -0
  354. package/_bmad/tea/workflows/testarch/ci/steps-e/step-01-assess.md +65 -0
  355. package/_bmad/tea/workflows/testarch/ci/steps-e/step-02-apply-edit.md +60 -0
  356. package/_bmad/tea/workflows/testarch/ci/steps-v/step-01-validate.md +67 -0
  357. package/_bmad/tea/workflows/testarch/ci/validation-report-20260127-095021.md +72 -0
  358. package/_bmad/tea/workflows/testarch/ci/validation-report-20260127-102401.md +114 -0
  359. package/_bmad/tea/workflows/testarch/ci/workflow-plan.md +20 -0
  360. package/_bmad/tea/workflows/testarch/ci/workflow.md +39 -0
  361. package/_bmad/tea/workflows/testarch/ci/workflow.yaml +45 -0
  362. package/_bmad/tea/workflows/testarch/framework/checklist.md +320 -0
  363. package/_bmad/tea/workflows/testarch/framework/instructions.md +38 -0
  364. package/_bmad/tea/workflows/testarch/framework/steps-c/step-01-preflight.md +75 -0
  365. package/_bmad/tea/workflows/testarch/framework/steps-c/step-02-select-framework.md +73 -0
  366. package/_bmad/tea/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +120 -0
  367. package/_bmad/tea/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md +70 -0
  368. package/_bmad/tea/workflows/testarch/framework/steps-c/step-05-validate-and-summary.md +68 -0
  369. package/_bmad/tea/workflows/testarch/framework/steps-e/step-01-assess.md +65 -0
  370. package/_bmad/tea/workflows/testarch/framework/steps-e/step-02-apply-edit.md +60 -0
  371. package/_bmad/tea/workflows/testarch/framework/steps-v/step-01-validate.md +67 -0
  372. package/_bmad/tea/workflows/testarch/framework/validation-report-20260127-095021.md +73 -0
  373. package/_bmad/tea/workflows/testarch/framework/validation-report-20260127-102401.md +116 -0
  374. package/_bmad/tea/workflows/testarch/framework/workflow-plan.md +22 -0
  375. package/_bmad/tea/workflows/testarch/framework/workflow.md +39 -0
  376. package/_bmad/tea/workflows/testarch/framework/workflow.yaml +47 -0
  377. package/_bmad/tea/workflows/testarch/nfr-assess/checklist.md +407 -0
  378. package/_bmad/tea/workflows/testarch/nfr-assess/instructions.md +36 -0
  379. package/_bmad/tea/workflows/testarch/nfr-assess/nfr-report-template.md +462 -0
  380. package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md +85 -0
  381. package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-02-define-thresholds.md +82 -0
  382. package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-03-gather-evidence.md +64 -0
  383. package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md +140 -0
  384. package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04a-subprocess-security.md +138 -0
  385. package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04b-subprocess-performance.md +84 -0
  386. package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04c-subprocess-reliability.md +85 -0
  387. package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04d-subprocess-scalability.md +88 -0
  388. package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +219 -0
  389. package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md +71 -0
  390. package/_bmad/tea/workflows/testarch/nfr-assess/steps-e/step-01-assess.md +65 -0
  391. package/_bmad/tea/workflows/testarch/nfr-assess/steps-e/step-02-apply-edit.md +60 -0
  392. package/_bmad/tea/workflows/testarch/nfr-assess/steps-v/step-01-validate.md +67 -0
  393. package/_bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-095021.md +73 -0
  394. package/_bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-102401.md +116 -0
  395. package/_bmad/tea/workflows/testarch/nfr-assess/workflow-plan.md +19 -0
  396. package/_bmad/tea/workflows/testarch/nfr-assess/workflow.md +39 -0
  397. package/_bmad/tea/workflows/testarch/nfr-assess/workflow.yaml +47 -0
  398. package/_bmad/tea/workflows/testarch/teach-me-testing/checklist.md +197 -0
  399. package/_bmad/tea/workflows/testarch/teach-me-testing/data/curriculum.yaml +129 -0
  400. package/_bmad/tea/workflows/testarch/teach-me-testing/data/quiz-questions.yaml +206 -0
  401. package/_bmad/tea/workflows/testarch/teach-me-testing/data/role-paths.yaml +136 -0
  402. package/_bmad/tea/workflows/testarch/teach-me-testing/data/session-content-map.yaml +204 -0
  403. package/_bmad/tea/workflows/testarch/teach-me-testing/data/tea-resources-index.yaml +359 -0
  404. package/_bmad/tea/workflows/testarch/teach-me-testing/instructions.md +130 -0
  405. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-01-init.md +235 -0
  406. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-01b-continue.md +147 -0
  407. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-02-assess.md +258 -0
  408. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-03-session-menu.md +219 -0
  409. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-01.md +460 -0
  410. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-02.md +465 -0
  411. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-03.md +301 -0
  412. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-04.md +234 -0
  413. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-05.md +234 -0
  414. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-06.md +209 -0
  415. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-07.md +212 -0
  416. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-05-completion.md +339 -0
  417. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-e/step-e-01-assess-workflow.md +141 -0
  418. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-e/step-e-02-apply-edits.md +122 -0
  419. package/_bmad/tea/workflows/testarch/teach-me-testing/steps-v/step-v-01-validate.md +263 -0
  420. package/_bmad/tea/workflows/testarch/teach-me-testing/templates/certificate-template.md +86 -0
  421. package/_bmad/tea/workflows/testarch/teach-me-testing/templates/progress-template.yaml +95 -0
  422. package/_bmad/tea/workflows/testarch/teach-me-testing/templates/session-notes-template.md +83 -0
  423. package/_bmad/tea/workflows/testarch/teach-me-testing/workflow-plan-teach-me-testing.md +950 -0
  424. package/_bmad/tea/workflows/testarch/teach-me-testing/workflow.md +90 -0
  425. package/_bmad/tea/workflows/testarch/test-design/checklist.md +410 -0
  426. package/_bmad/tea/workflows/testarch/test-design/instructions.md +52 -0
  427. package/_bmad/tea/workflows/testarch/test-design/steps-c/step-01-detect-mode.md +109 -0
  428. package/_bmad/tea/workflows/testarch/test-design/steps-c/step-02-load-context.md +127 -0
  429. package/_bmad/tea/workflows/testarch/test-design/steps-c/step-03-risk-and-testability.md +85 -0
  430. package/_bmad/tea/workflows/testarch/test-design/steps-c/step-04-coverage-plan.md +98 -0
  431. package/_bmad/tea/workflows/testarch/test-design/steps-c/step-05-generate-output.md +97 -0
  432. package/_bmad/tea/workflows/testarch/test-design/steps-e/step-01-assess.md +65 -0
  433. package/_bmad/tea/workflows/testarch/test-design/steps-e/step-02-apply-edit.md +60 -0
  434. package/_bmad/tea/workflows/testarch/test-design/steps-v/step-01-validate.md +67 -0
  435. package/_bmad/tea/workflows/testarch/test-design/test-design-architecture-template.md +222 -0
  436. package/_bmad/tea/workflows/testarch/test-design/test-design-qa-template.md +296 -0
  437. package/_bmad/tea/workflows/testarch/test-design/test-design-template.md +294 -0
  438. package/_bmad/tea/workflows/testarch/test-design/validation-report-20260127-095021.md +73 -0
  439. package/_bmad/tea/workflows/testarch/test-design/validation-report-20260127-102401.md +116 -0
  440. package/_bmad/tea/workflows/testarch/test-design/workflow-plan.md +22 -0
  441. package/_bmad/tea/workflows/testarch/test-design/workflow.md +39 -0
  442. package/_bmad/tea/workflows/testarch/test-design/workflow.yaml +69 -0
  443. package/_bmad/tea/workflows/testarch/test-review/checklist.md +472 -0
  444. package/_bmad/tea/workflows/testarch/test-review/instructions.md +36 -0
  445. package/_bmad/tea/workflows/testarch/test-review/steps-c/step-01-load-context.md +101 -0
  446. package/_bmad/tea/workflows/testarch/test-review/steps-c/step-02-discover-tests.md +69 -0
  447. package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md +184 -0
  448. package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03a-subprocess-determinism.md +214 -0
  449. package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03b-subprocess-isolation.md +125 -0
  450. package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03c-subprocess-maintainability.md +102 -0
  451. package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03d-subprocess-coverage.md +111 -0
  452. package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03e-subprocess-performance.md +117 -0
  453. package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +246 -0
  454. package/_bmad/tea/workflows/testarch/test-review/steps-c/step-04-generate-report.md +72 -0
  455. package/_bmad/tea/workflows/testarch/test-review/steps-e/step-01-assess.md +65 -0
  456. package/_bmad/tea/workflows/testarch/test-review/steps-e/step-02-apply-edit.md +60 -0
  457. package/_bmad/tea/workflows/testarch/test-review/steps-v/step-01-validate.md +67 -0
  458. package/_bmad/tea/workflows/testarch/test-review/test-review-template.md +390 -0
  459. package/_bmad/tea/workflows/testarch/test-review/validation-report-20260127-095021.md +72 -0
  460. package/_bmad/tea/workflows/testarch/test-review/validation-report-20260127-102401.md +114 -0
  461. package/_bmad/tea/workflows/testarch/test-review/workflow-plan.md +18 -0
  462. package/_bmad/tea/workflows/testarch/test-review/workflow.md +39 -0
  463. package/_bmad/tea/workflows/testarch/test-review/workflow.yaml +46 -0
  464. package/_bmad/tea/workflows/testarch/trace/checklist.md +642 -0
  465. package/_bmad/tea/workflows/testarch/trace/instructions.md +36 -0
  466. package/_bmad/tea/workflows/testarch/trace/steps-c/step-01-load-context.md +80 -0
  467. package/_bmad/tea/workflows/testarch/trace/steps-c/step-02-discover-tests.md +69 -0
  468. package/_bmad/tea/workflows/testarch/trace/steps-c/step-03-map-criteria.md +65 -0
  469. package/_bmad/tea/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +244 -0
  470. package/_bmad/tea/workflows/testarch/trace/steps-c/step-05-gate-decision.md +232 -0
  471. package/_bmad/tea/workflows/testarch/trace/steps-e/step-01-assess.md +65 -0
  472. package/_bmad/tea/workflows/testarch/trace/steps-e/step-02-apply-edit.md +60 -0
  473. package/_bmad/tea/workflows/testarch/trace/steps-v/step-01-validate.md +67 -0
  474. package/_bmad/tea/workflows/testarch/trace/trace-template.md +675 -0
  475. package/_bmad/tea/workflows/testarch/trace/validation-report-20260127-095021.md +73 -0
  476. package/_bmad/tea/workflows/testarch/trace/validation-report-20260127-102401.md +116 -0
  477. package/_bmad/tea/workflows/testarch/trace/workflow-plan.md +21 -0
  478. package/_bmad/tea/workflows/testarch/trace/workflow.md +39 -0
  479. package/_bmad/tea/workflows/testarch/trace/workflow.yaml +55 -0
  480. package/dist/index.d.ts.map +1 -1
  481. package/dist/index.js +201 -11
  482. package/package.json +2 -1
@@ -0,0 +1,401 @@
1
+ # Network Error Monitor
2
+
3
+ ## Principle
4
+
5
+ Automatically detect and fail tests when HTTP 4xx/5xx errors occur during execution. Act like Sentry for tests - catch silent backend failures even when UI passes assertions.
6
+
7
+ ## Rationale
8
+
9
+ Traditional Playwright tests focus on UI:
10
+
11
+ - Backend 500 errors ignored if UI looks correct
12
+ - Silent failures slip through
13
+ - No visibility into background API health
14
+ - Tests pass while features are broken
15
+
16
+ The `network-error-monitor` provides:
17
+
18
+ - **Automatic detection**: All HTTP 4xx/5xx responses tracked
19
+ - **Test failures**: Fail tests with backend errors (even if UI passes)
20
+ - **Structured artifacts**: JSON reports with error details
21
+ - **Smart opt-out**: Disable for validation tests expecting errors
22
+ - **Deduplication**: Group repeated errors by pattern
23
+ - **Domino effect prevention**: Limit test failures per error pattern
24
+ - **Respects test status**: Won't suppress actual test failures
25
+
26
+ ## Quick Start
27
+
28
+ ```typescript
29
+ import { test } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
30
+
31
+ // That's it! Network monitoring is automatically enabled
32
+ test('my test', async ({ page }) => {
33
+ await page.goto('/dashboard');
34
+ // If any HTTP 4xx/5xx errors occur, the test will fail
35
+ });
36
+ ```
37
+
38
+ ## Pattern Examples
39
+
40
+ ### Example 1: Basic Auto-Monitoring
41
+
42
+ **Context**: Automatically fail tests when backend errors occur.
43
+
44
+ **Implementation**:
45
+
46
+ ```typescript
47
+ import { test } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
48
+
49
+ // Monitoring automatically enabled
50
+ test('should load dashboard', async ({ page }) => {
51
+ await page.goto('/dashboard');
52
+ await expect(page.locator('h1')).toContainText('Dashboard');
53
+
54
+ // Passes if no HTTP errors
55
+ // Fails if any 4xx/5xx errors detected with clear message:
56
+ // "Network errors detected: 2 request(s) failed"
57
+ // Failed requests:
58
+ // GET 500 https://api.example.com/users
59
+ // POST 503 https://api.example.com/metrics
60
+ });
61
+ ```
62
+
63
+ **Key Points**:
64
+
65
+ - Zero setup - auto-enabled for all tests
66
+ - Fails on any 4xx/5xx response
67
+ - Structured error message with URLs and status codes
68
+ - JSON artifact attached to test report
69
+
70
+ ### Example 2: Opt-Out for Validation Tests
71
+
72
+ **Context**: Some tests expect errors (validation, error handling, edge cases).
73
+
74
+ **Implementation**:
75
+
76
+ ```typescript
77
+ import { test } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
78
+
79
+ // Opt-out with annotation
80
+ test('should show error on invalid input', { annotation: [{ type: 'skipNetworkMonitoring' }] }, async ({ page }) => {
81
+ await page.goto('/form');
82
+ await page.click('#submit'); // Triggers 400 error
83
+
84
+ // Monitoring disabled - test won't fail on 400
85
+ await expect(page.getByText('Invalid input')).toBeVisible();
86
+ });
87
+
88
+ // Or opt-out entire describe block
89
+ test.describe('error handling', { annotation: [{ type: 'skipNetworkMonitoring' }] }, () => {
90
+ test('handles 404', async ({ page }) => {
91
+ // All tests in this block skip monitoring
92
+ });
93
+
94
+ test('handles 500', async ({ page }) => {
95
+ // Monitoring disabled
96
+ });
97
+ });
98
+ ```
99
+
100
+ **Key Points**:
101
+
102
+ - Use annotation `{ type: 'skipNetworkMonitoring' }`
103
+ - Can opt-out single test or entire describe block
104
+ - Monitoring still active for other tests
105
+ - Perfect for intentional error scenarios
106
+
107
+ ### Example 3: Respects Test Status
108
+
109
+ **Context**: The monitor respects final test statuses to avoid suppressing important test outcomes.
110
+
111
+ **Behavior by test status:**
112
+
113
+ - **`failed`**: Network errors logged as additional context, not thrown
114
+ - **`timedOut`**: Network errors logged as additional context
115
+ - **`skipped`**: Network errors logged, skip status preserved
116
+ - **`interrupted`**: Network errors logged, interrupted status preserved
117
+ - **`passed`**: Network errors throw and fail the test
118
+
119
+ **Example with test.skip():**
120
+
121
+ ```typescript
122
+ test('feature gated test', async ({ page }) => {
123
+ const featureEnabled = await checkFeatureFlag();
124
+ test.skip(!featureEnabled, 'Feature not enabled');
125
+ // If skipped, network errors won't turn this into a failure
126
+ await page.goto('/new-feature');
127
+ });
128
+ ```
129
+
130
+ ### Example 4: Excluding Legitimate Errors
131
+
132
+ **Context**: Some endpoints legitimately return 4xx/5xx responses.
133
+
134
+ **Implementation**:
135
+
136
+ ```typescript
137
+ import { test as base } from '@playwright/test';
138
+ import { createNetworkErrorMonitorFixture } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
139
+
140
+ export const test = base.extend(
141
+ createNetworkErrorMonitorFixture({
142
+ excludePatterns: [
143
+ /email-cluster\/ml-app\/has-active-run/, // ML service returns 404 when no active run
144
+ /idv\/session-templates\/list/, // IDV service returns 404 when not configured
145
+ /sentry\.io\/api/, // External Sentry errors should not fail tests
146
+ ],
147
+ }),
148
+ );
149
+ ```
150
+
151
+ **For merged fixtures:**
152
+
153
+ ```typescript
154
+ import { test as base, mergeTests } from '@playwright/test';
155
+ import { createNetworkErrorMonitorFixture } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
156
+
157
+ const networkErrorMonitor = base.extend(
158
+ createNetworkErrorMonitorFixture({
159
+ excludePatterns: [/analytics\.google\.com/, /cdn\.example\.com/],
160
+ }),
161
+ );
162
+
163
+ export const test = mergeTests(authFixture, networkErrorMonitor);
164
+ ```
165
+
166
+ ### Example 5: Preventing Domino Effect
167
+
168
+ **Context**: One failing endpoint shouldn't fail all tests.
169
+
170
+ **Implementation**:
171
+
172
+ ```typescript
173
+ import { test as base } from '@playwright/test';
174
+ import { createNetworkErrorMonitorFixture } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
175
+
176
+ const networkErrorMonitor = base.extend(
177
+ createNetworkErrorMonitorFixture({
178
+ excludePatterns: [], // Required when using maxTestsPerError
179
+ maxTestsPerError: 1, // Only first test fails per error pattern, rest just log
180
+ }),
181
+ );
182
+ ```
183
+
184
+ **How it works:**
185
+
186
+ When `/api/v2/case-management/cases` returns 500:
187
+
188
+ - **First test** encountering this error: **FAILS** with clear error message
189
+ - **Subsequent tests** encountering same error: **PASSES** but logs warning
190
+
191
+ Error patterns are grouped by `method + status + base path`:
192
+
193
+ - `GET /api/v2/case-management/cases/123` -> Pattern: `GET:500:/api/v2/case-management`
194
+ - `GET /api/v2/case-management/quota` -> Pattern: `GET:500:/api/v2/case-management` (same group!)
195
+ - `POST /api/v2/case-management/cases` -> Pattern: `POST:500:/api/v2/case-management` (different group!)
196
+
197
+ **Why include HTTP method?** A GET 404 vs POST 404 might represent different issues:
198
+
199
+ - `GET 404 /api/users/123` -> User not found (expected in some tests)
200
+ - `POST 404 /api/users` -> Endpoint doesn't exist (critical error)
201
+
202
+ **Output for subsequent tests:**
203
+
204
+ ```
205
+ Warning: Network errors detected but not failing test (maxTestsPerError limit reached):
206
+ GET 500 https://api.example.com/api/v2/case-management/cases
207
+ ```
208
+
209
+ **Recommended configuration:**
210
+
211
+ ```typescript
212
+ createNetworkErrorMonitorFixture({
213
+ excludePatterns: [...], // Required - known broken endpoints (can be empty [])
214
+ maxTestsPerError: 1 // Stop domino effect (requires excludePatterns)
215
+ })
216
+ ```
217
+
218
+ **Understanding worker-level state:**
219
+
220
+ Error pattern counts are stored in worker-level global state:
221
+
222
+ ```typescript
223
+ // test-file-1.spec.ts (runs in Worker 1)
224
+ test('test A', () => {
225
+ /* triggers GET:500:/api/v2/cases */
226
+ }); // FAILS
227
+
228
+ // test-file-2.spec.ts (runs later in Worker 1)
229
+ test('test B', () => {
230
+ /* triggers GET:500:/api/v2/cases */
231
+ }); // PASSES (limit reached)
232
+
233
+ // test-file-3.spec.ts (runs in Worker 2 - different worker)
234
+ test('test C', () => {
235
+ /* triggers GET:500:/api/v2/cases */
236
+ }); // FAILS (fresh worker)
237
+ ```
238
+
239
+ ### Example 6: Integration with Merged Fixtures
240
+
241
+ **Context**: Combine network-error-monitor with other utilities.
242
+
243
+ **Implementation**:
244
+
245
+ ```typescript
246
+ // playwright/support/merged-fixtures.ts
247
+ import { mergeTests } from '@playwright/test';
248
+ import { test as authFixture } from '@seontechnologies/playwright-utils/auth-session/fixtures';
249
+ import { test as networkErrorMonitorFixture } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
250
+
251
+ export const test = mergeTests(
252
+ authFixture,
253
+ networkErrorMonitorFixture,
254
+ // Add other fixtures
255
+ );
256
+
257
+ // In tests
258
+ import { test, expect } from '../support/merged-fixtures';
259
+
260
+ test('authenticated with monitoring', async ({ page, authToken }) => {
261
+ // Both auth and network monitoring active
262
+ await page.goto('/protected');
263
+
264
+ // Fails if backend returns errors during auth flow
265
+ });
266
+ ```
267
+
268
+ **Key Points**:
269
+
270
+ - Combine with `mergeTests`
271
+ - Works alongside all other utilities
272
+ - Monitoring active automatically
273
+ - No extra setup needed
274
+
275
+ ### Example 7: Artifact Structure
276
+
277
+ **Context**: Debugging failed tests with network error artifacts.
278
+
279
+ When test fails due to network errors, artifact attached:
280
+
281
+ ```json
282
+ [
283
+ {
284
+ "url": "https://api.example.com/users",
285
+ "status": 500,
286
+ "method": "GET",
287
+ "timestamp": "2025-11-10T12:34:56.789Z"
288
+ },
289
+ {
290
+ "url": "https://api.example.com/metrics",
291
+ "status": 503,
292
+ "method": "POST",
293
+ "timestamp": "2025-11-10T12:34:57.123Z"
294
+ }
295
+ ]
296
+ ```
297
+
298
+ ## Implementation Details
299
+
300
+ ### How It Works
301
+
302
+ 1. **Fixture Extension**: Uses Playwright's `base.extend()` with `auto: true`
303
+ 2. **Response Listener**: Attaches `page.on('response')` listener at test start
304
+ 3. **Multi-Page Monitoring**: Automatically monitors popups and new tabs via `context.on('page')`
305
+ 4. **Error Collection**: Captures 4xx/5xx responses, checking exclusion patterns
306
+ 5. **Try/Finally**: Ensures error processing runs even if test fails early
307
+ 6. **Status Check**: Only throws errors if test hasn't already reached final status
308
+ 7. **Artifact**: Attaches JSON file to test report for debugging
309
+
310
+ ### Performance
311
+
312
+ The monitor has minimal performance impact:
313
+
314
+ - Event listener overhead: ~0.1ms per response
315
+ - Memory: ~200 bytes per unique error
316
+ - No network delay (observes responses, doesn't intercept them)
317
+
318
+ ## Comparison with Alternatives
319
+
320
+ | Approach | Network Error Monitor | Manual afterEach |
321
+ | --------------------------- | --------------------- | --------------------- |
322
+ | **Setup Required** | Zero (auto-enabled) | Every test file |
323
+ | **Catches Silent Failures** | Yes | Yes (if configured) |
324
+ | **Structured Artifacts** | JSON attached | Custom impl |
325
+ | **Test Failure Safety** | Try/finally | afterEach may not run |
326
+ | **Opt-Out Mechanism** | Annotation | Custom logic |
327
+ | **Status Aware** | Respects skip/failed | No |
328
+
329
+ ## When to Use
330
+
331
+ **Auto-enabled for:**
332
+
333
+ - All E2E tests
334
+ - Integration tests
335
+ - Any test hitting real APIs
336
+
337
+ **Opt-out for:**
338
+
339
+ - Validation tests (expecting 4xx)
340
+ - Error handling tests (expecting 5xx)
341
+ - Offline tests (network-recorder playback)
342
+
343
+ ## Troubleshooting
344
+
345
+ ### Test fails with network errors but I don't see them in my app
346
+
347
+ The errors might be happening during page load or in background polling. Check the `network-errors.json` artifact in your test report for full details including timestamps.
348
+
349
+ ### False positives from external services
350
+
351
+ Configure exclusion patterns as shown in the "Excluding Legitimate Errors" section above.
352
+
353
+ ### Network errors not being caught
354
+
355
+ Ensure you're importing the test from the correct fixture:
356
+
357
+ ```typescript
358
+ // Correct
359
+ import { test } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
360
+
361
+ // Wrong - this won't have network monitoring
362
+ import { test } from '@playwright/test';
363
+ ```
364
+
365
+ ## Related Fragments
366
+
367
+ - `overview.md` - Installation and fixtures
368
+ - `fixtures-composition.md` - Merging with other utilities
369
+ - `error-handling.md` - Traditional error handling patterns
370
+
371
+ ## Anti-Patterns
372
+
373
+ **DON'T opt out of monitoring globally:**
374
+
375
+ ```typescript
376
+ // Every test skips monitoring
377
+ test.use({ annotation: [{ type: 'skipNetworkMonitoring' }] });
378
+ ```
379
+
380
+ **DO opt-out only for specific error tests:**
381
+
382
+ ```typescript
383
+ test.describe('error scenarios', { annotation: [{ type: 'skipNetworkMonitoring' }] }, () => {
384
+ // Only these tests skip monitoring
385
+ });
386
+ ```
387
+
388
+ **DON'T ignore network error artifacts:**
389
+
390
+ ```typescript
391
+ // Test fails, artifact shows 500 errors
392
+ // Developer: "Works on my machine" ¯\_(ツ)_/¯
393
+ ```
394
+
395
+ **DO check artifacts for root cause:**
396
+
397
+ ```typescript
398
+ // Read network-errors.json artifact
399
+ // Identify failing endpoint: GET /api/users -> 500
400
+ // Fix backend issue before merging
401
+ ```