bmad-method 6.0.0-alpha.5 → 6.0.0-alpha.7

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 (449) hide show
  1. package/.claude/settings.local.json +12 -6
  2. package/.github/workflows/{lint.yaml → quality.yaml} +19 -2
  3. package/.husky/pre-commit +4 -0
  4. package/CONTRIBUTING.md +1 -13
  5. package/README.md +59 -1
  6. package/bmad/_cfg/agent-manifest.csv +1 -13
  7. package/bmad/_cfg/files-manifest.csv +10 -256
  8. package/bmad/_cfg/ides/claude-code.yaml +2 -2
  9. package/bmad/_cfg/manifest.yaml +4 -5
  10. package/bmad/_cfg/task-manifest.csv +4 -1
  11. package/bmad/_cfg/tool-manifest.csv +1 -0
  12. package/bmad/_cfg/workflow-manifest.csv +2 -35
  13. package/bmad/bmb/config.yaml +2 -2
  14. package/bmad/bmb/workflows/audit-workflow/instructions.md +1 -1
  15. package/bmad/bmb/workflows/create-agent/instructions.md +25 -9
  16. package/bmad/bmb/workflows/create-module/module-structure.md +34 -0
  17. package/bmad/core/config.yaml +2 -2
  18. package/docs/installers-bundlers/installers-modules-platforms-reference.md +61 -0
  19. package/package.json +5 -3
  20. package/src/core/tasks/adv-elicit.xml +1 -1
  21. package/src/modules/bmb/workflows/create-agent/instructions.md +25 -9
  22. package/src/modules/bmb/workflows/create-module/module-structure.md +34 -0
  23. package/src/modules/bmgd/README.md +208 -0
  24. package/src/modules/bmgd/_module-installer/install-config.yaml +66 -0
  25. package/src/modules/{bmm → bmgd}/agents/game-architect.agent.yaml +5 -12
  26. package/src/modules/{bmm → bmgd}/agents/game-designer.agent.yaml +10 -22
  27. package/src/modules/{bmm → bmgd}/agents/game-dev.agent.yaml +9 -10
  28. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +70 -0
  29. package/{bmad/bmm → src/modules/bmgd}/teams/team-gamedev.yaml +3 -1
  30. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/workflow.yaml +7 -7
  31. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/workflow.yaml +9 -9
  32. package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +81 -0
  33. package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/workflow.yaml +6 -6
  34. package/{bmad/bmm/workflows/3-solutioning/architecture → src/modules/bmgd/workflows/3-technical/game-architecture}/instructions.md +7 -18
  35. package/{bmad/bmm/workflows/3-solutioning/architecture → src/modules/bmgd/workflows/3-technical/game-architecture}/workflow.yaml +16 -16
  36. package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/code-review/workflow.yaml +3 -1
  37. package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/correct-course/workflow.yaml +3 -1
  38. package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/create-story/workflow.yaml +3 -1
  39. package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/dev-story/workflow.yaml +3 -1
  40. package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/epic-tech-context/workflow.yaml +3 -1
  41. package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/retrospective/workflow.yaml +3 -1
  42. package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/sprint-planning/workflow.yaml +3 -1
  43. package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/story-context/workflow.yaml +3 -1
  44. package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/story-done/workflow.yaml +3 -1
  45. package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/story-ready/workflow.yaml +3 -1
  46. package/src/modules/bmm/_module-installer/install-config.yaml +5 -0
  47. package/src/modules/bmm/docs/README.md +18 -18
  48. package/src/modules/bmm/docs/agents-guide.md +1 -2
  49. package/src/modules/bmm/docs/brownfield-guide.md +10 -15
  50. package/src/modules/bmm/docs/enterprise-agentic-development.md +3 -3
  51. package/src/modules/bmm/docs/faq.md +10 -12
  52. package/src/modules/bmm/docs/glossary.md +8 -9
  53. package/src/modules/bmm/docs/quick-spec-flow.md +7 -7
  54. package/src/modules/bmm/docs/quick-start.md +9 -9
  55. package/src/modules/bmm/docs/scale-adaptive-system.md +6 -6
  56. package/src/modules/bmm/docs/test-architecture.md +394 -0
  57. package/src/modules/bmm/docs/workflows-analysis.md +229 -529
  58. package/src/modules/bmm/docs/workflows-implementation.md +196 -1670
  59. package/src/modules/bmm/docs/workflows-planning.md +364 -849
  60. package/src/modules/bmm/docs/workflows-solutioning.md +268 -493
  61. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +65 -32
  62. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +4 -0
  63. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +1 -1
  64. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +34 -5
  65. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +1 -1
  66. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +8 -0
  67. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +6 -0
  68. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +47 -0
  69. package/src/modules/bmm/workflows/techdoc/documentation-standards.md +24 -1
  70. package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +2 -2
  71. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +50 -0
  72. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +18 -11
  73. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +18 -11
  74. package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +42 -65
  75. package/test/test-installation-components.js +214 -0
  76. package/tools/cli/bundlers/web-bundler.js +127 -8
  77. package/tools/cli/installers/lib/core/config-collector.js +39 -11
  78. package/tools/cli/installers/lib/core/ide-config-manager.js +3 -1
  79. package/tools/cli/installers/lib/core/installer.js +20 -9
  80. package/tools/cli/installers/lib/core/manifest-generator.js +3 -1
  81. package/tools/cli/installers/lib/core/manifest.js +6 -2
  82. package/tools/cli/installers/lib/ide/auggie.js +9 -20
  83. package/tools/cli/installers/lib/ide/claude-code.js +33 -3
  84. package/tools/cli/installers/lib/ide/cursor.js +17 -0
  85. package/tools/cli/installers/lib/modules/manager.js +134 -0
  86. package/tools/cli/lib/config.js +3 -1
  87. package/tools/cli/lib/ui.js +5 -5
  88. package/tools/cli/lib/yaml-format.js +2 -1
  89. package/tools/cli/lib/yaml-xml-builder.js +9 -1
  90. package/tools/schema/agent.js +3 -0
  91. package/v6-open-items.md +3 -9
  92. package/web-bundles/bmm/agents/analyst.xml +5028 -0
  93. package/web-bundles/bmm/agents/architect.xml +2047 -0
  94. package/web-bundles/bmm/agents/dev.xml +68 -0
  95. package/web-bundles/bmm/agents/pm.xml +3808 -0
  96. package/web-bundles/bmm/agents/sm.xml +77 -0
  97. package/web-bundles/bmm/agents/tea.xml +66 -0
  98. package/web-bundles/bmm/agents/tech-writer.xml +84 -0
  99. package/web-bundles/bmm/agents/ux-designer.xml +2018 -0
  100. package/web-bundles/bmm/teams/team-fullstack.xml +12039 -0
  101. package/.claude/commands/bmad/bmb/workflows/README.md +0 -67
  102. package/.claude/commands/bmad/bmm/agents/analyst.md +0 -67
  103. package/.claude/commands/bmad/bmm/agents/architect.md +0 -72
  104. package/.claude/commands/bmad/bmm/agents/dev.md +0 -69
  105. package/.claude/commands/bmad/bmm/agents/paige.md +0 -82
  106. package/.claude/commands/bmad/bmm/agents/pm.md +0 -76
  107. package/.claude/commands/bmad/bmm/agents/sm.md +0 -85
  108. package/.claude/commands/bmad/bmm/agents/tea.md +0 -72
  109. package/.claude/commands/bmad/bmm/agents/tech-writer.md +0 -82
  110. package/.claude/commands/bmad/bmm/agents/ux-designer.md +0 -71
  111. package/.claude/commands/bmad/bmm/workflows/README.md +0 -132
  112. package/.claude/commands/bmad/bmm/workflows/architecture.md +0 -15
  113. package/.claude/commands/bmad/bmm/workflows/brainstorm-project.md +0 -15
  114. package/.claude/commands/bmad/bmm/workflows/code-review.md +0 -15
  115. package/.claude/commands/bmad/bmm/workflows/correct-course.md +0 -15
  116. package/.claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +0 -15
  117. package/.claude/commands/bmad/bmm/workflows/create-story.md +0 -15
  118. package/.claude/commands/bmad/bmm/workflows/create-ux-design.md +0 -15
  119. package/.claude/commands/bmad/bmm/workflows/dev-story.md +0 -15
  120. package/.claude/commands/bmad/bmm/workflows/document-project.md +0 -15
  121. package/.claude/commands/bmad/bmm/workflows/epic-tech-context.md +0 -15
  122. package/.claude/commands/bmad/bmm/workflows/narrative.md +0 -15
  123. package/.claude/commands/bmad/bmm/workflows/prd.md +0 -15
  124. package/.claude/commands/bmad/bmm/workflows/product-brief.md +0 -15
  125. package/.claude/commands/bmad/bmm/workflows/research.md +0 -15
  126. package/.claude/commands/bmad/bmm/workflows/retrospective.md +0 -15
  127. package/.claude/commands/bmad/bmm/workflows/solutioning-gate-check.md +0 -15
  128. package/.claude/commands/bmad/bmm/workflows/sprint-planning.md +0 -15
  129. package/.claude/commands/bmad/bmm/workflows/story-context.md +0 -15
  130. package/.claude/commands/bmad/bmm/workflows/story-done.md +0 -15
  131. package/.claude/commands/bmad/bmm/workflows/story-ready.md +0 -15
  132. package/.claude/commands/bmad/bmm/workflows/tech-spec-sm.md +0 -15
  133. package/.claude/commands/bmad/bmm/workflows/tech-spec.md +0 -15
  134. package/.claude/commands/bmad/bmm/workflows/workflow-init.md +0 -15
  135. package/.claude/commands/bmad/bmm/workflows/workflow-status.md +0 -15
  136. package/.claude/commands/bmad/cis/agents/README.md +0 -104
  137. package/.claude/commands/bmad/cis/agents/brainstorming-coach.md +0 -62
  138. package/.claude/commands/bmad/cis/agents/creative-problem-solver.md +0 -62
  139. package/.claude/commands/bmad/cis/agents/design-thinking-coach.md +0 -62
  140. package/.claude/commands/bmad/cis/agents/innovation-strategist.md +0 -62
  141. package/.claude/commands/bmad/cis/agents/storyteller.md +0 -59
  142. package/.claude/commands/bmad/cis/workflows/README.md +0 -37
  143. package/.claude/commands/bmad/cis/workflows/design-thinking.md +0 -15
  144. package/.claude/commands/bmad/cis/workflows/innovation-strategy.md +0 -15
  145. package/.claude/commands/bmad/cis/workflows/problem-solving.md +0 -15
  146. package/.claude/commands/bmad/cis/workflows/storytelling.md +0 -15
  147. package/.claude/commands/bmad/core/workflows/README.md +0 -37
  148. package/bmad/_cfg/agents/bmm-analyst.customize.yaml +0 -42
  149. package/bmad/_cfg/agents/bmm-architect.customize.yaml +0 -42
  150. package/bmad/_cfg/agents/bmm-dev.customize.yaml +0 -42
  151. package/bmad/_cfg/agents/bmm-paige.customize.yaml +0 -42
  152. package/bmad/_cfg/agents/bmm-pm.customize.yaml +0 -42
  153. package/bmad/_cfg/agents/bmm-sm.customize.yaml +0 -42
  154. package/bmad/_cfg/agents/bmm-tea.customize.yaml +0 -42
  155. package/bmad/_cfg/agents/bmm-tech-writer.customize.yaml +0 -42
  156. package/bmad/_cfg/agents/bmm-ux-designer.customize.yaml +0 -42
  157. package/bmad/_cfg/agents/cis-brainstorming-coach.customize.yaml +0 -42
  158. package/bmad/_cfg/agents/cis-creative-problem-solver.customize.yaml +0 -42
  159. package/bmad/_cfg/agents/cis-design-thinking-coach.customize.yaml +0 -42
  160. package/bmad/_cfg/agents/cis-innovation-strategist.customize.yaml +0 -42
  161. package/bmad/_cfg/agents/cis-storyteller.customize.yaml +0 -42
  162. package/bmad/bmb/agents/bmad-builder.md.bak +0 -70
  163. package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +0 -23
  164. package/bmad/bmb/workflows/create-module/workflow.yaml.bak +0 -42
  165. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml.bak +0 -39
  166. package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +0 -40
  167. package/bmad/bmb/workflows/edit-agent/workflow.yaml.bak +0 -33
  168. package/bmad/bmb/workflows/edit-module/workflow.yaml.bak +0 -34
  169. package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +0 -27
  170. package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +0 -29
  171. package/bmad/bmb/workflows/redoc/workflow.yaml.bak +0 -32
  172. package/bmad/bmm/README.md +0 -128
  173. package/bmad/bmm/README.md.bak +0 -169
  174. package/bmad/bmm/agents/analyst.md +0 -67
  175. package/bmad/bmm/agents/analyst.md.bak +0 -67
  176. package/bmad/bmm/agents/architect.md +0 -72
  177. package/bmad/bmm/agents/architect.md.bak +0 -73
  178. package/bmad/bmm/agents/dev.md +0 -69
  179. package/bmad/bmm/agents/dev.md.bak +0 -69
  180. package/bmad/bmm/agents/paige.md.bak +0 -82
  181. package/bmad/bmm/agents/pm.md +0 -76
  182. package/bmad/bmm/agents/pm.md.bak +0 -76
  183. package/bmad/bmm/agents/sm.md +0 -85
  184. package/bmad/bmm/agents/sm.md.bak +0 -85
  185. package/bmad/bmm/agents/tea.md +0 -72
  186. package/bmad/bmm/agents/tea.md.bak +0 -72
  187. package/bmad/bmm/agents/tech-writer.md +0 -82
  188. package/bmad/bmm/agents/ux-designer.md +0 -71
  189. package/bmad/bmm/agents/ux-designer.md.bak +0 -71
  190. package/bmad/bmm/config.yaml +0 -17
  191. package/bmad/bmm/docs/README.md +0 -235
  192. package/bmad/bmm/docs/agents-guide.md +0 -1057
  193. package/bmad/bmm/docs/brownfield-guide.md +0 -759
  194. package/bmad/bmm/docs/enterprise-agentic-development.md +0 -680
  195. package/bmad/bmm/docs/faq.md +0 -589
  196. package/bmad/bmm/docs/glossary.md +0 -321
  197. package/bmad/bmm/docs/party-mode.md +0 -224
  198. package/bmad/bmm/docs/quick-spec-flow.md +0 -652
  199. package/bmad/bmm/docs/quick-start.md +0 -366
  200. package/bmad/bmm/docs/scale-adaptive-system.md +0 -599
  201. package/bmad/bmm/docs/troubleshooting.md +0 -680
  202. package/bmad/bmm/docs/workflow-architecture-reference.md +0 -371
  203. package/bmad/bmm/docs/workflow-document-project-reference.md +0 -487
  204. package/bmad/bmm/docs/workflows-analysis.md +0 -670
  205. package/bmad/bmm/docs/workflows-implementation.md +0 -1758
  206. package/bmad/bmm/docs/workflows-planning.md +0 -1086
  207. package/bmad/bmm/docs/workflows-solutioning.md +0 -726
  208. package/bmad/bmm/tasks/daily-standup.xml +0 -85
  209. package/bmad/bmm/teams/team-fullstack.yaml +0 -11
  210. package/bmad/bmm/testarch/knowledge/ci-burn-in.md +0 -675
  211. package/bmad/bmm/testarch/knowledge/component-tdd.md +0 -486
  212. package/bmad/bmm/testarch/knowledge/contract-testing.md +0 -957
  213. package/bmad/bmm/testarch/knowledge/data-factories.md +0 -500
  214. package/bmad/bmm/testarch/knowledge/email-auth.md +0 -721
  215. package/bmad/bmm/testarch/knowledge/error-handling.md +0 -725
  216. package/bmad/bmm/testarch/knowledge/feature-flags.md +0 -750
  217. package/bmad/bmm/testarch/knowledge/fixture-architecture.md +0 -401
  218. package/bmad/bmm/testarch/knowledge/network-first.md +0 -486
  219. package/bmad/bmm/testarch/knowledge/nfr-criteria.md +0 -670
  220. package/bmad/bmm/testarch/knowledge/playwright-config.md +0 -730
  221. package/bmad/bmm/testarch/knowledge/probability-impact.md +0 -601
  222. package/bmad/bmm/testarch/knowledge/risk-governance.md +0 -615
  223. package/bmad/bmm/testarch/knowledge/selective-testing.md +0 -732
  224. package/bmad/bmm/testarch/knowledge/selector-resilience.md +0 -527
  225. package/bmad/bmm/testarch/knowledge/test-healing-patterns.md +0 -644
  226. package/bmad/bmm/testarch/knowledge/test-levels-framework.md +0 -473
  227. package/bmad/bmm/testarch/knowledge/test-priorities-matrix.md +0 -373
  228. package/bmad/bmm/testarch/knowledge/test-quality.md +0 -664
  229. package/bmad/bmm/testarch/knowledge/timing-debugging.md +0 -372
  230. package/bmad/bmm/testarch/knowledge/visual-debugging.md +0 -524
  231. package/bmad/bmm/testarch/tea-index.csv +0 -22
  232. package/bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md +0 -110
  233. package/bmad/bmm/workflows/1-analysis/brainstorm-project/project-context.md +0 -25
  234. package/bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +0 -26
  235. package/bmad/bmm/workflows/1-analysis/domain-research/instructions.md +0 -423
  236. package/bmad/bmm/workflows/1-analysis/domain-research/template.md +0 -180
  237. package/bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml +0 -36
  238. package/bmad/bmm/workflows/1-analysis/product-brief/checklist.md +0 -115
  239. package/bmad/bmm/workflows/1-analysis/product-brief/instructions.md +0 -524
  240. package/bmad/bmm/workflows/1-analysis/product-brief/template.md +0 -181
  241. package/bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml +0 -45
  242. package/bmad/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +0 -144
  243. package/bmad/bmm/workflows/1-analysis/research/checklist-technical.md +0 -249
  244. package/bmad/bmm/workflows/1-analysis/research/checklist.md +0 -299
  245. package/bmad/bmm/workflows/1-analysis/research/claude-code/injections.yaml +0 -114
  246. package/bmad/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +0 -439
  247. package/bmad/bmm/workflows/1-analysis/research/instructions-market.md +0 -679
  248. package/bmad/bmm/workflows/1-analysis/research/instructions-router.md +0 -133
  249. package/bmad/bmm/workflows/1-analysis/research/instructions-technical.md +0 -538
  250. package/bmad/bmm/workflows/1-analysis/research/template-deep-prompt.md +0 -94
  251. package/bmad/bmm/workflows/1-analysis/research/template-market.md +0 -347
  252. package/bmad/bmm/workflows/1-analysis/research/template-technical.md +0 -245
  253. package/bmad/bmm/workflows/1-analysis/research/workflow.yaml +0 -44
  254. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +0 -310
  255. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +0 -1319
  256. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +0 -145
  257. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +0 -64
  258. package/bmad/bmm/workflows/2-plan-workflows/narrative/workflow.yaml +0 -29
  259. package/bmad/bmm/workflows/2-plan-workflows/prd/checklist.md +0 -349
  260. package/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md +0 -63
  261. package/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +0 -395
  262. package/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +0 -33
  263. package/bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +0 -13
  264. package/bmad/bmm/workflows/2-plan-workflows/prd/instructions.md +0 -423
  265. package/bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +0 -237
  266. package/bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +0 -11
  267. package/bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml +0 -46
  268. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +0 -214
  269. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -58
  270. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +0 -200
  271. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +0 -451
  272. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +0 -1133
  273. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +0 -181
  274. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +0 -87
  275. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +0 -60
  276. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml.bak +0 -60
  277. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +0 -175
  278. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +0 -322
  279. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/template.md +0 -146
  280. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +0 -189
  281. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +0 -64
  282. package/bmad/bmm/workflows/document-project/checklist.md +0 -245
  283. package/bmad/bmm/workflows/document-project/documentation-requirements.csv +0 -12
  284. package/bmad/bmm/workflows/document-project/instructions.md +0 -222
  285. package/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +0 -345
  286. package/bmad/bmm/workflows/document-project/templates/index-template.md +0 -169
  287. package/bmad/bmm/workflows/document-project/templates/project-overview-template.md +0 -103
  288. package/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +0 -160
  289. package/bmad/bmm/workflows/document-project/templates/source-tree-template.md +0 -135
  290. package/bmad/bmm/workflows/document-project/workflow.yaml +0 -34
  291. package/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -298
  292. package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
  293. package/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -1106
  294. package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
  295. package/bmad/bmm/workflows/techdoc/documentation-standards.md +0 -239
  296. package/bmad/bmm/workflows/techdoc/documentation-standards.md.bak +0 -238
  297. package/bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +0 -363
  298. package/bmad/bmm/workflows/testarch/atdd/checklist.md +0 -373
  299. package/bmad/bmm/workflows/testarch/atdd/instructions.md +0 -785
  300. package/bmad/bmm/workflows/testarch/atdd/workflow.yaml +0 -52
  301. package/bmad/bmm/workflows/testarch/automate/checklist.md +0 -580
  302. package/bmad/bmm/workflows/testarch/automate/instructions.md +0 -1303
  303. package/bmad/bmm/workflows/testarch/automate/workflow.yaml +0 -61
  304. package/bmad/bmm/workflows/testarch/ci/checklist.md +0 -246
  305. package/bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +0 -165
  306. package/bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +0 -128
  307. package/bmad/bmm/workflows/testarch/ci/instructions.md +0 -517
  308. package/bmad/bmm/workflows/testarch/ci/workflow.yaml +0 -53
  309. package/bmad/bmm/workflows/testarch/framework/checklist.md +0 -321
  310. package/bmad/bmm/workflows/testarch/framework/instructions.md +0 -455
  311. package/bmad/bmm/workflows/testarch/framework/workflow.yaml +0 -53
  312. package/bmad/bmm/workflows/testarch/nfr-assess/checklist.md +0 -405
  313. package/bmad/bmm/workflows/testarch/nfr-assess/instructions.md +0 -722
  314. package/bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +0 -443
  315. package/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +0 -56
  316. package/bmad/bmm/workflows/testarch/test-design/checklist.md +0 -234
  317. package/bmad/bmm/workflows/testarch/test-design/instructions.md +0 -621
  318. package/bmad/bmm/workflows/testarch/test-design/test-design-template.md +0 -285
  319. package/bmad/bmm/workflows/testarch/test-design/workflow.yaml +0 -52
  320. package/bmad/bmm/workflows/testarch/test-review/checklist.md +0 -470
  321. package/bmad/bmm/workflows/testarch/test-review/instructions.md +0 -608
  322. package/bmad/bmm/workflows/testarch/test-review/test-review-template.md +0 -388
  323. package/bmad/bmm/workflows/testarch/test-review/workflow.yaml +0 -53
  324. package/bmad/bmm/workflows/testarch/trace/checklist.md +0 -654
  325. package/bmad/bmm/workflows/testarch/trace/instructions.md +0 -1045
  326. package/bmad/bmm/workflows/testarch/trace/trace-template.md +0 -673
  327. package/bmad/bmm/workflows/testarch/trace/workflow.yaml +0 -66
  328. package/bmad/bmm/workflows/workflow-status/init/instructions.md +0 -771
  329. package/bmad/bmm/workflows/workflow-status/init/workflow.yaml +0 -27
  330. package/bmad/bmm/workflows/workflow-status/init/workflow.yaml.bak +0 -27
  331. package/bmad/bmm/workflows/workflow-status/instructions.md +0 -386
  332. package/bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +0 -120
  333. package/bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +0 -108
  334. package/bmad/bmm/workflows/workflow-status/paths/game-design.yaml +0 -75
  335. package/bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +0 -97
  336. package/bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +0 -88
  337. package/bmad/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +0 -58
  338. package/bmad/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +0 -47
  339. package/bmad/bmm/workflows/workflow-status/project-levels.yaml +0 -59
  340. package/bmad/bmm/workflows/workflow-status/sample-level-3-workflow.yaml +0 -49
  341. package/bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +0 -31
  342. package/bmad/bmm/workflows/workflow-status/workflow.yaml +0 -28
  343. package/bmad/cis/README.md +0 -153
  344. package/bmad/cis/agents/README.md +0 -104
  345. package/bmad/cis/agents/brainstorming-coach.md +0 -62
  346. package/bmad/cis/agents/brainstorming-coach.md.bak +0 -62
  347. package/bmad/cis/agents/creative-problem-solver.md +0 -62
  348. package/bmad/cis/agents/creative-problem-solver.md.bak +0 -62
  349. package/bmad/cis/agents/design-thinking-coach.md +0 -62
  350. package/bmad/cis/agents/design-thinking-coach.md.bak +0 -62
  351. package/bmad/cis/agents/innovation-strategist.md +0 -62
  352. package/bmad/cis/agents/innovation-strategist.md.bak +0 -62
  353. package/bmad/cis/agents/storyteller.md +0 -59
  354. package/bmad/cis/agents/storyteller.md.bak +0 -59
  355. package/bmad/cis/config.yaml +0 -10
  356. package/bmad/cis/teams/creative-squad.yaml +0 -6
  357. package/bmad/cis/workflows/README.md +0 -139
  358. package/bmad/cis/workflows/design-thinking/README.md +0 -56
  359. package/bmad/cis/workflows/design-thinking/design-methods.csv +0 -31
  360. package/bmad/cis/workflows/design-thinking/instructions.md +0 -200
  361. package/bmad/cis/workflows/design-thinking/template.md +0 -111
  362. package/bmad/cis/workflows/design-thinking/workflow.yaml +0 -32
  363. package/bmad/cis/workflows/innovation-strategy/README.md +0 -56
  364. package/bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +0 -31
  365. package/bmad/cis/workflows/innovation-strategy/instructions.md +0 -274
  366. package/bmad/cis/workflows/innovation-strategy/template.md +0 -189
  367. package/bmad/cis/workflows/innovation-strategy/workflow.yaml +0 -32
  368. package/bmad/cis/workflows/problem-solving/README.md +0 -56
  369. package/bmad/cis/workflows/problem-solving/instructions.md +0 -250
  370. package/bmad/cis/workflows/problem-solving/solving-methods.csv +0 -31
  371. package/bmad/cis/workflows/problem-solving/template.md +0 -165
  372. package/bmad/cis/workflows/problem-solving/workflow.yaml +0 -32
  373. package/bmad/cis/workflows/storytelling/README.md +0 -58
  374. package/bmad/cis/workflows/storytelling/instructions.md +0 -291
  375. package/bmad/cis/workflows/storytelling/story-types.csv +0 -26
  376. package/bmad/cis/workflows/storytelling/template.md +0 -113
  377. package/bmad/cis/workflows/storytelling/workflow.yaml +0 -32
  378. package/bmad/core/agents/bmad-master.md.bak +0 -71
  379. package/src/modules/bmm/docs/troubleshooting.md +0 -680
  380. package/src/modules/bmm/teams/team-gamedev.yaml +0 -14
  381. package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +0 -81
  382. package/src/modules/bmm/workflows/2-plan-workflows/narrative/checklist.md +0 -139
  383. package/src/modules/bmm/workflows/2-plan-workflows/narrative/instructions-narrative.md +0 -608
  384. package/src/modules/bmm/workflows/2-plan-workflows/narrative/narrative-template.md +0 -195
  385. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-brain-methods.csv +0 -0
  386. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-context.md +0 -0
  387. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/instructions.md +0 -0
  388. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/checklist.md +0 -0
  389. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/instructions.md +0 -0
  390. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/template.md +0 -0
  391. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/checklist.md +0 -0
  392. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/action-platformer.md +0 -0
  393. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/adventure.md +0 -0
  394. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/card-game.md +0 -0
  395. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/fighting.md +0 -0
  396. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/horror.md +0 -0
  397. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/idle-incremental.md +0 -0
  398. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/metroidvania.md +0 -0
  399. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/moba.md +0 -0
  400. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/party-game.md +0 -0
  401. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/puzzle.md +0 -0
  402. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/racing.md +0 -0
  403. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rhythm.md +0 -0
  404. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/roguelike.md +0 -0
  405. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rpg.md +0 -0
  406. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sandbox.md +0 -0
  407. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/shooter.md +0 -0
  408. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/simulation.md +0 -0
  409. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sports.md +0 -0
  410. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/strategy.md +0 -0
  411. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/survival.md +0 -0
  412. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/text-based.md +0 -0
  413. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/tower-defense.md +0 -0
  414. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/turn-based-tactics.md +0 -0
  415. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/visual-novel.md +0 -0
  416. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types.csv +0 -0
  417. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/gdd-template.md +0 -0
  418. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/instructions-gdd.md +0 -0
  419. /package/{bmad/bmm/workflows/2-plan-workflows → src/modules/bmgd/workflows/2-design}/narrative/checklist.md +0 -0
  420. /package/{bmad/bmm/workflows/2-plan-workflows → src/modules/bmgd/workflows/2-design}/narrative/instructions-narrative.md +0 -0
  421. /package/{bmad/bmm/workflows/2-plan-workflows → src/modules/bmgd/workflows/2-design}/narrative/narrative-template.md +0 -0
  422. /package/{bmad/bmm/workflows/3-solutioning/architecture → src/modules/bmgd/workflows/3-technical/game-architecture}/architecture-patterns.yaml +0 -0
  423. /package/{bmad/bmm/workflows/3-solutioning/architecture → src/modules/bmgd/workflows/3-technical/game-architecture}/architecture-template.md +0 -0
  424. /package/{bmad/bmm/workflows/3-solutioning/architecture → src/modules/bmgd/workflows/3-technical/game-architecture}/checklist.md +0 -0
  425. /package/{bmad/bmm/workflows/3-solutioning/architecture → src/modules/bmgd/workflows/3-technical/game-architecture}/decision-catalog.yaml +0 -0
  426. /package/{bmad/bmm/workflows/3-solutioning/architecture → src/modules/bmgd/workflows/3-technical/game-architecture}/pattern-categories.csv +0 -0
  427. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/code-review/backlog_template.md +0 -0
  428. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/code-review/checklist.md +0 -0
  429. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/code-review/instructions.md +0 -0
  430. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/correct-course/checklist.md +0 -0
  431. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/correct-course/instructions.md +0 -0
  432. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/create-story/checklist.md +0 -0
  433. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/create-story/instructions.md +0 -0
  434. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/create-story/template.md +0 -0
  435. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/dev-story/AUDIT-REPORT.md +0 -0
  436. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/dev-story/checklist.md +0 -0
  437. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/dev-story/instructions.md +0 -0
  438. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/epic-tech-context/checklist.md +0 -0
  439. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/epic-tech-context/instructions.md +0 -0
  440. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/epic-tech-context/template.md +0 -0
  441. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/retrospective/instructions.md +0 -0
  442. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/sprint-planning/checklist.md +0 -0
  443. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/sprint-planning/instructions.md +0 -0
  444. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/sprint-planning/sprint-status-template.yaml +0 -0
  445. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/story-context/checklist.md +0 -0
  446. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/story-context/context-template.xml +0 -0
  447. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/story-context/instructions.md +0 -0
  448. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/story-done/instructions.md +0 -0
  449. /package/{bmad/bmm/workflows/4-implementation → src/modules/bmgd/workflows/4-production}/story-ready/instructions.md +0 -0
@@ -1,524 +0,0 @@
1
- # Visual Debugging and Developer Ergonomics
2
-
3
- ## Principle
4
-
5
- Fast feedback loops and transparent debugging artifacts are critical for maintaining test reliability and developer confidence. Visual debugging tools (trace viewers, screenshots, videos, HAR files) turn cryptic test failures into actionable insights, reducing triage time from hours to minutes.
6
-
7
- ## Rationale
8
-
9
- **The Problem**: CI failures often provide minimal context—a timeout, a selector mismatch, or a network error—forcing developers to reproduce issues locally (if they can). This wastes time and discourages test maintenance.
10
-
11
- **The Solution**: Capture rich debugging artifacts **only on failure** to balance storage costs with diagnostic value. Modern tools like Playwright Trace Viewer, Cypress Debug UI, and HAR recordings provide interactive, time-travel debugging that reveals exactly what the test saw at each step.
12
-
13
- **Why This Matters**:
14
-
15
- - Reduces failure triage time by 80-90% (visual context vs logs alone)
16
- - Enables debugging without local reproduction
17
- - Improves test maintenance confidence (clear failure root cause)
18
- - Catches timing/race conditions that are hard to reproduce locally
19
-
20
- ## Pattern Examples
21
-
22
- ### Example 1: Playwright Trace Viewer Configuration (Production Pattern)
23
-
24
- **Context**: Capture traces on first retry only (balances storage and diagnostics)
25
-
26
- **Implementation**:
27
-
28
- ```typescript
29
- // playwright.config.ts
30
- import { defineConfig } from '@playwright/test';
31
-
32
- export default defineConfig({
33
- use: {
34
- // Visual debugging artifacts (space-efficient)
35
- trace: 'on-first-retry', // Only when test fails once
36
- screenshot: 'only-on-failure', // Not on success
37
- video: 'retain-on-failure', // Delete on pass
38
-
39
- // Context for debugging
40
- baseURL: process.env.BASE_URL || 'http://localhost:3000',
41
-
42
- // Timeout context
43
- actionTimeout: 15_000, // 15s for clicks/fills
44
- navigationTimeout: 30_000, // 30s for page loads
45
- },
46
-
47
- // CI-specific artifact retention
48
- reporter: [
49
- ['html', { outputFolder: 'playwright-report', open: 'never' }],
50
- ['junit', { outputFile: 'results.xml' }],
51
- ['list'], // Console output
52
- ],
53
-
54
- // Failure handling
55
- retries: process.env.CI ? 2 : 0, // Retry in CI to capture trace
56
- workers: process.env.CI ? 1 : undefined,
57
- });
58
- ```
59
-
60
- **Opening and Using Trace Viewer**:
61
-
62
- ```bash
63
- # After test failure in CI, download trace artifact
64
- # Then open locally:
65
- npx playwright show-trace path/to/trace.zip
66
-
67
- # Or serve trace viewer:
68
- npx playwright show-report
69
- ```
70
-
71
- **Key Features to Use in Trace Viewer**:
72
-
73
- 1. **Timeline**: See each action (click, navigate, assertion) with timing
74
- 2. **Snapshots**: Hover over timeline to see DOM state at that moment
75
- 3. **Network Tab**: Inspect all API calls, headers, payloads, timing
76
- 4. **Console Tab**: View console.log/error messages
77
- 5. **Source Tab**: See test code with execution markers
78
- 6. **Metadata**: Browser, OS, test duration, screenshots
79
-
80
- **Why This Works**:
81
-
82
- - `on-first-retry` avoids capturing traces for flaky passes (saves storage)
83
- - Screenshots + video give visual context without trace overhead
84
- - Interactive timeline makes timing issues obvious (race conditions, slow API)
85
-
86
- ---
87
-
88
- ### Example 2: HAR File Recording for Network Debugging
89
-
90
- **Context**: Capture all network activity for reproducible API debugging
91
-
92
- **Implementation**:
93
-
94
- ```typescript
95
- // tests/e2e/checkout-with-har.spec.ts
96
- import { test, expect } from '@playwright/test';
97
- import path from 'path';
98
-
99
- test.describe('Checkout Flow with HAR Recording', () => {
100
- test('should complete payment with full network capture', async ({ page, context }) => {
101
- // Start HAR recording BEFORE navigation
102
- await context.routeFromHAR(path.join(__dirname, '../fixtures/checkout.har'), {
103
- url: '**/api/**', // Only capture API calls
104
- update: true, // Update HAR if file exists
105
- });
106
-
107
- await page.goto('/checkout');
108
-
109
- // Interact with page
110
- await page.getByTestId('payment-method').selectOption('credit-card');
111
- await page.getByTestId('card-number').fill('4242424242424242');
112
- await page.getByTestId('submit-payment').click();
113
-
114
- // Wait for payment confirmation
115
- await expect(page.getByTestId('success-message')).toBeVisible();
116
-
117
- // HAR file saved to fixtures/checkout.har
118
- // Contains all network requests/responses for replay
119
- });
120
- });
121
- ```
122
-
123
- **Using HAR for Deterministic Mocking**:
124
-
125
- ```typescript
126
- // tests/e2e/checkout-replay-har.spec.ts
127
- import { test, expect } from '@playwright/test';
128
- import path from 'path';
129
-
130
- test('should replay checkout flow from HAR', async ({ page, context }) => {
131
- // Replay network from HAR (no real API calls)
132
- await context.routeFromHAR(path.join(__dirname, '../fixtures/checkout.har'), {
133
- url: '**/api/**',
134
- update: false, // Read-only mode
135
- });
136
-
137
- await page.goto('/checkout');
138
-
139
- // Same test, but network responses come from HAR file
140
- await page.getByTestId('payment-method').selectOption('credit-card');
141
- await page.getByTestId('card-number').fill('4242424242424242');
142
- await page.getByTestId('submit-payment').click();
143
-
144
- await expect(page.getByTestId('success-message')).toBeVisible();
145
- });
146
- ```
147
-
148
- **Key Points**:
149
-
150
- - **`update: true`** records new HAR or updates existing (for flaky API debugging)
151
- - **`update: false`** replays from HAR (deterministic, no real API)
152
- - Filter by URL pattern (`**/api/**`) to avoid capturing static assets
153
- - HAR files are human-readable JSON (easy to inspect/modify)
154
-
155
- **When to Use HAR**:
156
-
157
- - Debugging flaky tests caused by API timing/responses
158
- - Creating deterministic mocks for integration tests
159
- - Analyzing third-party API behavior (Stripe, Auth0)
160
- - Reproducing production issues locally (record HAR in staging)
161
-
162
- ---
163
-
164
- ### Example 3: Custom Artifact Capture (Console Logs + Network on Failure)
165
-
166
- **Context**: Capture additional debugging context automatically on test failure
167
-
168
- **Implementation**:
169
-
170
- ```typescript
171
- // playwright/support/fixtures/debug-fixture.ts
172
- import { test as base } from '@playwright/test';
173
- import fs from 'fs';
174
- import path from 'path';
175
-
176
- type DebugFixture = {
177
- captureDebugArtifacts: () => Promise<void>;
178
- };
179
-
180
- export const test = base.extend<DebugFixture>({
181
- captureDebugArtifacts: async ({ page }, use, testInfo) => {
182
- const consoleLogs: string[] = [];
183
- const networkRequests: Array<{ url: string; status: number; method: string }> = [];
184
-
185
- // Capture console messages
186
- page.on('console', (msg) => {
187
- consoleLogs.push(`[${msg.type()}] ${msg.text()}`);
188
- });
189
-
190
- // Capture network requests
191
- page.on('request', (request) => {
192
- networkRequests.push({
193
- url: request.url(),
194
- method: request.method(),
195
- status: 0, // Will be updated on response
196
- });
197
- });
198
-
199
- page.on('response', (response) => {
200
- const req = networkRequests.find((r) => r.url === response.url());
201
- if (req) req.status = response.status();
202
- });
203
-
204
- await use(async () => {
205
- // This function can be called manually in tests
206
- // But it also runs automatically on failure via afterEach
207
- });
208
-
209
- // After test completes, save artifacts if failed
210
- if (testInfo.status !== testInfo.expectedStatus) {
211
- const artifactDir = path.join(testInfo.outputDir, 'debug-artifacts');
212
- fs.mkdirSync(artifactDir, { recursive: true });
213
-
214
- // Save console logs
215
- fs.writeFileSync(path.join(artifactDir, 'console.log'), consoleLogs.join('\n'), 'utf-8');
216
-
217
- // Save network summary
218
- fs.writeFileSync(path.join(artifactDir, 'network.json'), JSON.stringify(networkRequests, null, 2), 'utf-8');
219
-
220
- console.log(`Debug artifacts saved to: ${artifactDir}`);
221
- }
222
- },
223
- });
224
- ```
225
-
226
- **Usage in Tests**:
227
-
228
- ```typescript
229
- // tests/e2e/payment-with-debug.spec.ts
230
- import { test, expect } from '../support/fixtures/debug-fixture';
231
-
232
- test('payment flow captures debug artifacts on failure', async ({ page, captureDebugArtifacts }) => {
233
- await page.goto('/checkout');
234
-
235
- // Test will automatically capture console + network on failure
236
- await page.getByTestId('submit-payment').click();
237
- await expect(page.getByTestId('success-message')).toBeVisible({ timeout: 5000 });
238
-
239
- // If this fails, console.log and network.json saved automatically
240
- });
241
- ```
242
-
243
- **CI Integration (GitHub Actions)**:
244
-
245
- ```yaml
246
- # .github/workflows/e2e.yml
247
- name: E2E Tests with Artifacts
248
- on: [push, pull_request]
249
-
250
- jobs:
251
- test:
252
- runs-on: ubuntu-latest
253
- steps:
254
- - uses: actions/checkout@v4
255
- - uses: actions/setup-node@v4
256
- with:
257
- node-version-file: '.nvmrc'
258
-
259
- - name: Install dependencies
260
- run: npm ci
261
-
262
- - name: Run Playwright tests
263
- run: npm run test:e2e
264
- continue-on-error: true # Capture artifacts even on failure
265
-
266
- - name: Upload test artifacts on failure
267
- if: failure()
268
- uses: actions/upload-artifact@v4
269
- with:
270
- name: playwright-artifacts
271
- path: |
272
- test-results/
273
- playwright-report/
274
- retention-days: 30
275
- ```
276
-
277
- **Key Points**:
278
-
279
- - Fixtures automatically capture context without polluting test code
280
- - Only saves artifacts on failure (storage-efficient)
281
- - CI uploads artifacts for post-mortem analysis
282
- - `continue-on-error: true` ensures artifact upload even when tests fail
283
-
284
- ---
285
-
286
- ### Example 4: Accessibility Debugging Integration (axe-core in Trace Viewer)
287
-
288
- **Context**: Catch accessibility regressions during visual debugging
289
-
290
- **Implementation**:
291
-
292
- ```typescript
293
- // playwright/support/fixtures/a11y-fixture.ts
294
- import { test as base } from '@playwright/test';
295
- import AxeBuilder from '@axe-core/playwright';
296
-
297
- type A11yFixture = {
298
- checkA11y: () => Promise<void>;
299
- };
300
-
301
- export const test = base.extend<A11yFixture>({
302
- checkA11y: async ({ page }, use) => {
303
- await use(async () => {
304
- // Run axe accessibility scan
305
- const results = await new AxeBuilder({ page }).analyze();
306
-
307
- // Attach results to test report (visible in trace viewer)
308
- if (results.violations.length > 0) {
309
- console.log(`Found ${results.violations.length} accessibility violations:`);
310
- results.violations.forEach((violation) => {
311
- console.log(`- [${violation.impact}] ${violation.id}: ${violation.description}`);
312
- console.log(` Help: ${violation.helpUrl}`);
313
- });
314
-
315
- throw new Error(`Accessibility violations found: ${results.violations.length}`);
316
- }
317
- });
318
- },
319
- });
320
- ```
321
-
322
- **Usage with Visual Debugging**:
323
-
324
- ```typescript
325
- // tests/e2e/checkout-a11y.spec.ts
326
- import { test, expect } from '../support/fixtures/a11y-fixture';
327
-
328
- test('checkout page is accessible', async ({ page, checkA11y }) => {
329
- await page.goto('/checkout');
330
-
331
- // Verify page loaded
332
- await expect(page.getByRole('heading', { name: 'Checkout' })).toBeVisible();
333
-
334
- // Run accessibility check
335
- await checkA11y();
336
-
337
- // If violations found, test fails and trace captures:
338
- // - Screenshot showing the problematic element
339
- // - Console log with violation details
340
- // - Network tab showing any failed resource loads
341
- });
342
- ```
343
-
344
- **Trace Viewer Benefits**:
345
-
346
- - **Screenshot shows visual context** of accessibility issue (contrast, missing labels)
347
- - **Console tab shows axe-core violations** with impact level and helpUrl
348
- - **DOM snapshot** allows inspecting ARIA attributes at failure point
349
- - **Network tab** reveals if icon fonts or images failed (common a11y issue)
350
-
351
- **Cypress Equivalent**:
352
-
353
- ```javascript
354
- // cypress/support/commands.ts
355
- import 'cypress-axe';
356
-
357
- Cypress.Commands.add('checkA11y', (context = null, options = {}) => {
358
- cy.injectAxe(); // Inject axe-core
359
- cy.checkA11y(context, options, (violations) => {
360
- if (violations.length) {
361
- cy.task('log', `Found ${violations.length} accessibility violations`);
362
- violations.forEach((violation) => {
363
- cy.task('log', `- [${violation.impact}] ${violation.id}: ${violation.description}`);
364
- });
365
- }
366
- });
367
- });
368
-
369
- // tests/e2e/checkout-a11y.cy.ts
370
- describe('Checkout Accessibility', () => {
371
- it('should have no a11y violations', () => {
372
- cy.visit('/checkout');
373
- cy.injectAxe();
374
- cy.checkA11y();
375
- // On failure, Cypress UI shows:
376
- // - Screenshot of page
377
- // - Console log with violation details
378
- // - Network tab with API calls
379
- });
380
- });
381
- ```
382
-
383
- **Key Points**:
384
-
385
- - Accessibility checks integrate seamlessly with visual debugging
386
- - Violations are captured in trace viewer/Cypress UI automatically
387
- - Provides actionable links (helpUrl) to fix issues
388
- - Screenshots show visual context (contrast, layout)
389
-
390
- ---
391
-
392
- ### Example 5: Time-Travel Debugging Workflow (Playwright Inspector)
393
-
394
- **Context**: Debug tests interactively with step-through execution
395
-
396
- **Implementation**:
397
-
398
- ```typescript
399
- // tests/e2e/checkout-debug.spec.ts
400
- import { test, expect } from '@playwright/test';
401
-
402
- test('debug checkout flow step-by-step', async ({ page }) => {
403
- // Set breakpoint by uncommenting this:
404
- // await page.pause()
405
-
406
- await page.goto('/checkout');
407
-
408
- // Use Playwright Inspector to:
409
- // 1. Step through each action
410
- // 2. Inspect DOM at each step
411
- // 3. View network calls per action
412
- // 4. Take screenshots manually
413
-
414
- await page.getByTestId('payment-method').selectOption('credit-card');
415
-
416
- // Pause here to inspect form state
417
- // await page.pause()
418
-
419
- await page.getByTestId('card-number').fill('4242424242424242');
420
- await page.getByTestId('submit-payment').click();
421
-
422
- await expect(page.getByTestId('success-message')).toBeVisible();
423
- });
424
- ```
425
-
426
- **Running with Inspector**:
427
-
428
- ```bash
429
- # Open Playwright Inspector (GUI debugger)
430
- npx playwright test --debug
431
-
432
- # Or use headed mode with slowMo
433
- npx playwright test --headed --slow-mo=1000
434
-
435
- # Debug specific test
436
- npx playwright test checkout-debug.spec.ts --debug
437
-
438
- # Set environment variable for persistent debugging
439
- PWDEBUG=1 npx playwright test
440
- ```
441
-
442
- **Inspector Features**:
443
-
444
- 1. **Step-through execution**: Click "Next" to execute one action at a time
445
- 2. **DOM inspector**: Hover over elements to see selectors
446
- 3. **Network panel**: See API calls with timing
447
- 4. **Console panel**: View console.log output
448
- 5. **Pick locator**: Click element in browser to get selector
449
- 6. **Record mode**: Record interactions to generate test code
450
-
451
- **Common Debugging Patterns**:
452
-
453
- ```typescript
454
- // Pattern 1: Debug selector issues
455
- test('debug selector', async ({ page }) => {
456
- await page.goto('/dashboard');
457
- await page.pause(); // Inspector opens
458
-
459
- // In Inspector console, test selectors:
460
- // page.getByTestId('user-menu') ✅
461
- // page.getByRole('button', { name: 'Profile' }) ✅
462
- // page.locator('.btn-primary') ❌ (fragile)
463
- });
464
-
465
- // Pattern 2: Debug timing issues
466
- test('debug network timing', async ({ page }) => {
467
- await page.goto('/dashboard');
468
-
469
- // Set up network listener BEFORE interaction
470
- const responsePromise = page.waitForResponse('**/api/users');
471
- await page.getByTestId('load-users').click();
472
-
473
- await page.pause(); // Check network panel for timing
474
-
475
- const response = await responsePromise;
476
- expect(response.status()).toBe(200);
477
- });
478
-
479
- // Pattern 3: Debug state changes
480
- test('debug state mutation', async ({ page }) => {
481
- await page.goto('/cart');
482
-
483
- // Check initial state
484
- await expect(page.getByTestId('cart-count')).toHaveText('0');
485
-
486
- await page.pause(); // Inspect DOM
487
-
488
- await page.getByTestId('add-to-cart').click();
489
-
490
- await page.pause(); // Inspect DOM again (compare state)
491
-
492
- await expect(page.getByTestId('cart-count')).toHaveText('1');
493
- });
494
- ```
495
-
496
- **Key Points**:
497
-
498
- - `page.pause()` opens Inspector at that exact moment
499
- - Inspector shows DOM state, network activity, console at pause point
500
- - "Pick locator" feature helps find robust selectors
501
- - Record mode generates test code from manual interactions
502
-
503
- ---
504
-
505
- ## Visual Debugging Checklist
506
-
507
- Before deploying tests to CI, ensure:
508
-
509
- - [ ] **Artifact configuration**: `trace: 'on-first-retry'`, `screenshot: 'only-on-failure'`, `video: 'retain-on-failure'`
510
- - [ ] **CI artifact upload**: GitHub Actions/GitLab CI configured to upload `test-results/` and `playwright-report/`
511
- - [ ] **HAR recording**: Set up for flaky API tests (record once, replay deterministically)
512
- - [ ] **Custom debug fixtures**: Console logs + network summary captured on failure
513
- - [ ] **Accessibility integration**: axe-core violations visible in trace viewer
514
- - [ ] **Trace viewer docs**: README explains how to open traces locally (`npx playwright show-trace`)
515
- - [ ] **Inspector workflow**: Document `--debug` flag for interactive debugging
516
- - [ ] **Storage optimization**: Artifacts deleted after 30 days (CI retention policy)
517
-
518
- ## Integration Points
519
-
520
- - **Used in workflows**: `*framework` (initial setup), `*ci` (artifact upload), `*test-review` (validate artifact config)
521
- - **Related fragments**: `playwright-config.md` (artifact configuration), `ci-burn-in.md` (CI artifact upload), `test-quality.md` (debugging best practices)
522
- - **Tools**: Playwright Trace Viewer, Cypress Debug UI, axe-core, HAR files
523
-
524
- _Source: Playwright official docs, Murat testing philosophy (visual debugging manifesto), SEON production debugging patterns_
@@ -1,22 +0,0 @@
1
- id,name,description,tags,fragment_file
2
- fixture-architecture,Fixture Architecture,"Composable fixture patterns (pure function → fixture → merge) and reuse rules","fixtures,architecture,playwright,cypress",knowledge/fixture-architecture.md
3
- network-first,Network-First Safeguards,"Intercept-before-navigate workflow, HAR capture, deterministic waits, edge mocking","network,stability,playwright,cypress",knowledge/network-first.md
4
- data-factories,Data Factories and API Setup,"Factories with overrides, API seeding, cleanup discipline","data,factories,setup,api",knowledge/data-factories.md
5
- component-tdd,Component TDD Loop,"Red→green→refactor workflow, provider isolation, accessibility assertions","component-testing,tdd,ui",knowledge/component-tdd.md
6
- playwright-config,Playwright Config Guardrails,"Environment switching, timeout standards, artifact outputs","playwright,config,env",knowledge/playwright-config.md
7
- ci-burn-in,CI and Burn-In Strategy,"Staged jobs, shard orchestration, burn-in loops, artifact policy","ci,automation,flakiness",knowledge/ci-burn-in.md
8
- selective-testing,Selective Test Execution,"Tag/grep usage, spec filters, diff-based runs, promotion rules","risk-based,selection,strategy",knowledge/selective-testing.md
9
- feature-flags,Feature Flag Governance,"Enum management, targeting helpers, cleanup, release checklists","feature-flags,governance,launchdarkly",knowledge/feature-flags.md
10
- contract-testing,Contract Testing Essentials,"Pact publishing, provider verification, resilience coverage","contract-testing,pact,api",knowledge/contract-testing.md
11
- email-auth,Email Authentication Testing,"Magic link extraction, state preservation, caching, negative flows","email-authentication,security,workflow",knowledge/email-auth.md
12
- error-handling,Error Handling Checks,"Scoped exception handling, retry validation, telemetry logging","resilience,error-handling,stability",knowledge/error-handling.md
13
- visual-debugging,Visual Debugging Toolkit,"Trace viewer usage, artifact expectations, accessibility integration","debugging,dx,tooling",knowledge/visual-debugging.md
14
- risk-governance,Risk Governance,"Scoring matrix, category ownership, gate decision rules","risk,governance,gates",knowledge/risk-governance.md
15
- probability-impact,Probability and Impact Scale,"Shared definitions for scoring matrix and gate thresholds","risk,scoring,scale",knowledge/probability-impact.md
16
- test-quality,Test Quality Definition of Done,"Execution limits, isolation rules, green criteria","quality,definition-of-done,tests",knowledge/test-quality.md
17
- nfr-criteria,NFR Review Criteria,"Security, performance, reliability, maintainability status definitions","nfr,assessment,quality",knowledge/nfr-criteria.md
18
- test-levels,Test Levels Framework,"Guidelines for choosing unit, integration, or end-to-end coverage","testing,levels,selection",knowledge/test-levels-framework.md
19
- test-priorities,Test Priorities Matrix,"P0–P3 criteria, coverage targets, execution ordering","testing,prioritization,risk",knowledge/test-priorities-matrix.md
20
- test-healing-patterns,Test Healing Patterns,"Common failure patterns and automated fixes","healing,debugging,patterns",knowledge/test-healing-patterns.md
21
- selector-resilience,Selector Resilience,"Robust selector strategies and debugging techniques","selectors,locators,debugging",knowledge/selector-resilience.md
22
- timing-debugging,Timing Debugging,"Race condition identification and deterministic wait fixes","timing,async,debugging",knowledge/timing-debugging.md
@@ -1,110 +0,0 @@
1
- # Brainstorm Project - Workflow Instructions
2
-
3
- ```xml
4
- <critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
5
- <critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
6
- <critical>Communicate all responses in {communication_language}</critical>
7
- <critical>This is a meta-workflow that orchestrates the CIS brainstorming workflow with project-specific context</critical>
8
-
9
- <workflow>
10
-
11
- <step n="1" goal="Validate workflow readiness" tag="workflow-status">
12
- <action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
13
-
14
- <check if="status file not found">
15
- <output>No workflow status file found. Brainstorming is optional - you can continue without status tracking.</output>
16
- <action>Set standalone_mode = true</action>
17
- </check>
18
-
19
- <check if="status file found">
20
- <action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
21
- <action>Parse workflow_status section</action>
22
- <action>Check status of "brainstorm-project" workflow</action>
23
- <action>Get project_level from YAML metadata</action>
24
- <action>Find first non-completed workflow (next expected workflow)</action>
25
-
26
- <check if="brainstorm-project status is file path (already completed)">
27
- <output>⚠️ Brainstorming session already completed: {{brainstorm-project status}}</output>
28
- <ask>Re-running will create a new session. Continue? (y/n)</ask>
29
- <check if="n">
30
- <output>Exiting. Use workflow-status to see your next step.</output>
31
- <action>Exit workflow</action>
32
- </check>
33
- </check>
34
-
35
- <check if="brainstorm-project is not the next expected workflow (anything after brainstorm-project is completed already)">
36
- <output>⚠️ Next expected workflow: {{next_workflow}}. Brainstorming is out of sequence.</output>
37
- <ask>Continue with brainstorming anyway? (y/n)</ask>
38
- <check if="n">
39
- <output>Exiting. Run {{next_workflow}} instead.</output>
40
- <action>Exit workflow</action>
41
- </check>
42
- </check>
43
-
44
- <action>Set standalone_mode = false</action>
45
- </check>
46
- </step>
47
-
48
- <step n="2" goal="Load project brainstorming context">
49
- <action>Read the project context document from: {project_context}</action>
50
- <action>This context provides project-specific guidance including:
51
- - Focus areas for project ideation
52
- - Key considerations for software/product projects
53
- - Recommended techniques for project brainstorming
54
- - Output structure guidance
55
- </action>
56
- </step>
57
-
58
- <step n="3" goal="Invoke core brainstorming with project context">
59
- <action>Execute the CIS brainstorming workflow with project context</action>
60
- <invoke-workflow path="{core_brainstorming}" data="{project_context}">
61
- The CIS brainstorming workflow will:
62
- - Present interactive brainstorming techniques menu
63
- - Guide the user through selected ideation methods
64
- - Generate and capture brainstorming session results
65
- - Save output to: {output_folder}/brainstorming-session-results-{{date}}.md
66
- </invoke-workflow>
67
- </step>
68
-
69
- <step n="4" goal="Update status and complete" tag="workflow-status">
70
- <check if="standalone_mode != true">
71
- <action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
72
- <action>Find workflow_status key "brainstorm-project"</action>
73
- <critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
74
- <action>Update workflow_status["brainstorm-project"] = "{output_folder}/bmm-brainstorming-session-{{date}}.md"</action>
75
- <action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
76
-
77
- <action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
78
- <action>Determine next agent from path file based on next workflow</action>
79
- </check>
80
-
81
- <output>**✅ Brainstorming Session Complete, {user_name}!**
82
-
83
- **Session Results:**
84
-
85
- - Brainstorming results saved to: {output_folder}/bmm-brainstorming-session-{{date}}.md
86
-
87
- {{#if standalone_mode != true}}
88
- **Status Updated:**
89
-
90
- - Progress tracking updated
91
-
92
- **Next Steps:**
93
-
94
- - **Next required:** {{next_workflow}} ({{next_agent}} agent)
95
- - **Optional:** You can run other analysis workflows (research, product-brief) before proceeding
96
-
97
- Check status anytime with: `workflow-status`
98
- {{else}}
99
- **Next Steps:**
100
-
101
- Since no workflow is in progress:
102
-
103
- - Refer to the BMM workflow guide if unsure what to do next
104
- - Or run `workflow-init` to create a workflow path and get guided next steps
105
- {{/if}}
106
- </output>
107
- </step>
108
-
109
- </workflow>
110
- ```
@@ -1,25 +0,0 @@
1
- # Project Brainstorming Context
2
-
3
- This context guide provides project-specific considerations for brainstorming sessions focused on software and product development.
4
-
5
- ## Session Focus Areas
6
-
7
- When brainstorming for projects, consider exploring:
8
-
9
- - **User Problems and Pain Points** - What challenges do users face?
10
- - **Feature Ideas and Capabilities** - What could the product do?
11
- - **Technical Approaches** - How might we build it?
12
- - **User Experience** - How will users interact with it?
13
- - **Business Model and Value** - How does it create value?
14
- - **Market Differentiation** - What makes it unique?
15
- - **Technical Risks and Challenges** - What could go wrong?
16
- - **Success Metrics** - How will we measure success?
17
-
18
- ## Integration with Project Workflow
19
-
20
- Brainstorming sessions typically feed into:
21
-
22
- - **Product Briefs** - Initial product vision and strategy
23
- - **PRDs** - Detailed requirements documents
24
- - **Technical Specifications** - Architecture and implementation plans
25
- - **Research Activities** - Areas requiring further investigation