siesa-agents 2.1.40 → 2.1.42

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 (552) hide show
  1. package/README.md +147 -147
  2. package/bin/install.js +534 -534
  3. package/bin/prepare-publish.js +26 -26
  4. package/bin/restore-folders.js +26 -26
  5. package/bmad/_config/agent-manifest.csv +20 -20
  6. package/bmad/_config/agents/bmb-agent-builder.customize.yaml +41 -41
  7. package/bmad/_config/agents/bmb-module-builder.customize.yaml +41 -41
  8. package/bmad/_config/agents/bmb-workflow-builder.customize.yaml +41 -41
  9. package/bmad/_config/files-manifest.csv +469 -469
  10. package/bmad/_config/ides/claude-code.yaml +6 -6
  11. package/bmad/_config/manifest.yaml +14 -14
  12. package/bmad/_config/task-manifest.csv +6 -6
  13. package/bmad/_config/tool-manifest.csv +1 -1
  14. package/bmad/_config/workflow-manifest.csv +45 -45
  15. package/bmad/_memory/config.yaml +11 -11
  16. package/bmad/bmb/README.md +25 -25
  17. package/bmad/bmb/agents/agent-builder.md +57 -57
  18. package/bmad/bmb/agents/module-builder.md +60 -60
  19. package/bmad/bmb/agents/workflow-builder.md +56 -56
  20. package/bmad/bmb/config.yaml +12 -12
  21. package/bmad/bmb/docs/workflows/architecture.md +220 -220
  22. package/bmad/bmb/docs/workflows/common-workflow-tools.csv +18 -18
  23. package/bmad/bmb/docs/workflows/csv-data-file-standards.md +206 -206
  24. package/bmad/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -220
  25. package/bmad/bmb/docs/workflows/step-file-rules.md +469 -469
  26. package/bmad/bmb/docs/workflows/templates/step-01-init-continuable-template.md +241 -241
  27. package/bmad/bmb/docs/workflows/templates/step-1b-template.md +223 -223
  28. package/bmad/bmb/docs/workflows/templates/step-file.md +139 -139
  29. package/bmad/bmb/docs/workflows/templates/step-template.md +290 -290
  30. package/bmad/bmb/docs/workflows/templates/workflow-template.md +104 -104
  31. package/bmad/bmb/docs/workflows/templates/workflow.md +58 -58
  32. package/bmad/bmb/docs/workflows/terms.md +97 -97
  33. package/bmad/bmb/reference/agents/simple-examples/README.md +223 -223
  34. package/bmad/bmb/reference/readme.md +3 -3
  35. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +17 -17
  36. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +15 -15
  37. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +27 -27
  38. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -177
  39. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +121 -121
  40. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +165 -165
  41. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +154 -154
  42. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +183 -183
  43. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +168 -168
  44. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +195 -195
  45. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -25
  46. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -68
  47. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -29
  48. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -47
  49. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -37
  50. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -18
  51. package/bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md +59 -59
  52. package/bmad/bmb/workflows/agent/data/agent-compilation.md +273 -273
  53. package/bmad/bmb/workflows/agent/data/agent-menu-patterns.md +233 -233
  54. package/bmad/bmb/workflows/agent/data/agent-metadata.md +208 -208
  55. package/bmad/bmb/workflows/agent/data/brainstorm-context.md +146 -146
  56. package/bmad/bmb/workflows/agent/data/communication-presets.csv +61 -61
  57. package/bmad/bmb/workflows/agent/data/critical-actions.md +120 -120
  58. package/bmad/bmb/workflows/agent/data/expert-agent-architecture.md +236 -236
  59. package/bmad/bmb/workflows/agent/data/expert-agent-validation.md +173 -173
  60. package/bmad/bmb/workflows/agent/data/module-agent-validation.md +124 -124
  61. package/bmad/bmb/workflows/agent/data/persona-properties.md +266 -266
  62. package/bmad/bmb/workflows/agent/data/principles-crafting.md +292 -292
  63. package/bmad/bmb/workflows/agent/data/reference/expert-examples/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md +16 -16
  64. package/bmad/bmb/workflows/agent/data/reference/module-examples/architect.md +68 -68
  65. package/bmad/bmb/workflows/agent/data/simple-agent-architecture.md +204 -204
  66. package/bmad/bmb/workflows/agent/data/simple-agent-validation.md +132 -132
  67. package/bmad/bmb/workflows/agent/data/understanding-agent-types.md +222 -222
  68. package/bmad/bmb/workflows/agent/steps-c/step-01-brainstorm.md +126 -126
  69. package/bmad/bmb/workflows/agent/steps-c/step-02-discovery.md +168 -168
  70. package/bmad/bmb/workflows/agent/steps-c/step-03-type-metadata.md +294 -294
  71. package/bmad/bmb/workflows/agent/steps-c/step-04-persona.md +210 -210
  72. package/bmad/bmb/workflows/agent/steps-c/step-05-commands-menu.md +176 -176
  73. package/bmad/bmb/workflows/agent/steps-c/step-06-activation.md +275 -275
  74. package/bmad/bmb/workflows/agent/steps-c/step-07a-build-simple.md +185 -185
  75. package/bmad/bmb/workflows/agent/steps-c/step-07b-build-expert.md +201 -201
  76. package/bmad/bmb/workflows/agent/steps-c/step-07c-build-module.md +258 -258
  77. package/bmad/bmb/workflows/agent/steps-c/step-08a-plan-traceability.md +203 -203
  78. package/bmad/bmb/workflows/agent/steps-c/step-08b-metadata-validation.md +135 -135
  79. package/bmad/bmb/workflows/agent/steps-c/step-08c-persona-validation.md +161 -161
  80. package/bmad/bmb/workflows/agent/steps-c/step-08d-menu-validation.md +158 -158
  81. package/bmad/bmb/workflows/agent/steps-c/step-08e-structure-validation.md +306 -306
  82. package/bmad/bmb/workflows/agent/steps-c/step-08f-sidecar-validation.md +462 -462
  83. package/bmad/bmb/workflows/agent/steps-c/step-09-celebrate.md +244 -244
  84. package/bmad/bmb/workflows/agent/steps-e/e-01-load-existing.md +214 -214
  85. package/bmad/bmb/workflows/agent/steps-e/e-02-discover-edits.md +191 -191
  86. package/bmad/bmb/workflows/agent/steps-e/e-03a-validate-metadata.md +78 -78
  87. package/bmad/bmb/workflows/agent/steps-e/e-03b-validate-persona.md +76 -76
  88. package/bmad/bmb/workflows/agent/steps-e/e-03c-validate-menu.md +75 -75
  89. package/bmad/bmb/workflows/agent/steps-e/e-03d-validate-structure.md +75 -75
  90. package/bmad/bmb/workflows/agent/steps-e/e-03e-validate-sidecar.md +78 -78
  91. package/bmad/bmb/workflows/agent/steps-e/e-03f-validation-summary.md +119 -119
  92. package/bmad/bmb/workflows/agent/steps-e/e-04-type-metadata.md +122 -122
  93. package/bmad/bmb/workflows/agent/steps-e/e-05-persona.md +132 -132
  94. package/bmad/bmb/workflows/agent/steps-e/e-06-commands-menu.md +120 -120
  95. package/bmad/bmb/workflows/agent/steps-e/e-07-activation.md +122 -122
  96. package/bmad/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +134 -134
  97. package/bmad/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +117 -117
  98. package/bmad/bmb/workflows/agent/steps-e/e-08c-edit-module.md +120 -120
  99. package/bmad/bmb/workflows/agent/steps-e/e-09a-validate-metadata.md +70 -70
  100. package/bmad/bmb/workflows/agent/steps-e/e-09b-validate-persona.md +70 -70
  101. package/bmad/bmb/workflows/agent/steps-e/e-09c-validate-menu.md +69 -69
  102. package/bmad/bmb/workflows/agent/steps-e/e-09d-validate-structure.md +69 -69
  103. package/bmad/bmb/workflows/agent/steps-e/e-09e-validate-sidecar.md +70 -70
  104. package/bmad/bmb/workflows/agent/steps-e/e-09f-validation-summary.md +111 -111
  105. package/bmad/bmb/workflows/agent/steps-e/e-10-celebrate.md +150 -150
  106. package/bmad/bmb/workflows/agent/steps-v/v-01-load-review.md +128 -128
  107. package/bmad/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +73 -73
  108. package/bmad/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +72 -72
  109. package/bmad/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +71 -71
  110. package/bmad/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +71 -71
  111. package/bmad/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +76 -76
  112. package/bmad/bmb/workflows/agent/steps-v/v-03-summary.md +100 -100
  113. package/bmad/bmb/workflows/agent/templates/agent-plan.template.md +5 -5
  114. package/bmad/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +76 -76
  115. package/bmad/bmb/workflows/agent/templates/simple-agent.template.md +71 -71
  116. package/bmad/bmb/workflows/agent/workflow.md +123 -123
  117. package/bmad/bmb/workflows/create-module/steps/step-01-init.md +156 -156
  118. package/bmad/bmb/workflows/create-module/steps/step-01b-continue.md +170 -170
  119. package/bmad/bmb/workflows/create-module/steps/step-02-concept.md +218 -218
  120. package/bmad/bmb/workflows/create-module/steps/step-03-components.md +268 -268
  121. package/bmad/bmb/workflows/create-module/steps/step-04-structure.md +229 -229
  122. package/bmad/bmb/workflows/create-module/steps/step-05-config.md +234 -234
  123. package/bmad/bmb/workflows/create-module/steps/step-06-agents.md +297 -297
  124. package/bmad/bmb/workflows/create-module/steps/step-07-workflows.md +229 -229
  125. package/bmad/bmb/workflows/create-module/steps/step-08-installer.md +187 -187
  126. package/bmad/bmb/workflows/create-module/steps/step-09-documentation.md +310 -310
  127. package/bmad/bmb/workflows/create-module/steps/step-10-roadmap.md +338 -338
  128. package/bmad/bmb/workflows/create-module/steps/step-11-validate.md +336 -336
  129. package/bmad/bmb/workflows/create-module/templates/agent.template.md +313 -313
  130. package/bmad/bmb/workflows/create-module/templates/installer.template.js +47 -47
  131. package/bmad/bmb/workflows/create-module/templates/module-plan.template.md +5 -5
  132. package/bmad/bmb/workflows/create-module/templates/module.template.yaml +53 -53
  133. package/bmad/bmb/workflows/create-module/templates/workflow-plan-template.md +23 -23
  134. package/bmad/bmb/workflows/create-module/validation.md +126 -126
  135. package/bmad/bmb/workflows/create-module/workflow.md +56 -56
  136. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/dietary-restrictions.csv +17 -17
  137. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/macro-calculator.csv +15 -15
  138. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/recipe-database.csv +27 -27
  139. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01-init.md +177 -177
  140. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01b-continue.md +150 -150
  141. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-02-profile.md +164 -164
  142. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-03-assessment.md +152 -152
  143. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-04-strategy.md +182 -182
  144. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-05-shopping.md +167 -167
  145. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -194
  146. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/assessment-section.md +25 -25
  147. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/nutrition-plan.md +68 -68
  148. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/prep-schedule-section.md +29 -29
  149. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/profile-section.md +47 -47
  150. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/shopping-section.md +37 -37
  151. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/strategy-section.md +18 -18
  152. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/workflow.md +58 -58
  153. package/bmad/bmb/workflows/create-workflow/steps/step-01-init.md +158 -158
  154. package/bmad/bmb/workflows/create-workflow/steps/step-02-gather.md +212 -212
  155. package/bmad/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +251 -251
  156. package/bmad/bmb/workflows/create-workflow/steps/step-04-plan-review.md +217 -217
  157. package/bmad/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +290 -290
  158. package/bmad/bmb/workflows/create-workflow/steps/step-06-design.md +272 -272
  159. package/bmad/bmb/workflows/create-workflow/steps/step-07-build.md +323 -323
  160. package/bmad/bmb/workflows/create-workflow/steps/step-08-review.md +285 -285
  161. package/bmad/bmb/workflows/create-workflow/steps/step-09-complete.md +188 -188
  162. package/bmad/bmb/workflows/create-workflow/workflow.md +59 -59
  163. package/bmad/bmb/workflows/edit-workflow/steps/step-01-analyze.md +217 -217
  164. package/bmad/bmb/workflows/edit-workflow/steps/step-02-discover.md +254 -254
  165. package/bmad/bmb/workflows/edit-workflow/steps/step-03-improve.md +218 -218
  166. package/bmad/bmb/workflows/edit-workflow/steps/step-04-validate.md +194 -194
  167. package/bmad/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +246 -246
  168. package/bmad/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -75
  169. package/bmad/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -68
  170. package/bmad/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -40
  171. package/bmad/bmb/workflows/edit-workflow/templates/validation-results.md +51 -51
  172. package/bmad/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -56
  173. package/bmad/bmb/workflows/edit-workflow/workflow.md +59 -59
  174. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +153 -153
  175. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +244 -244
  176. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +275 -275
  177. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +296 -296
  178. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +265 -265
  179. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +361 -361
  180. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +259 -259
  181. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +302 -302
  182. package/bmad/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -140
  183. package/bmad/bmb/workflows/workflow-compliance-check/workflow.md +59 -59
  184. package/bmad/bmb/workflows-legacy/edit-module/README.md +171 -171
  185. package/bmad/bmb/workflows-legacy/edit-module/checklist.md +163 -163
  186. package/bmad/bmb/workflows-legacy/edit-module/instructions.md +340 -340
  187. package/bmad/bmb/workflows-legacy/edit-module/workflow.yaml +32 -32
  188. package/bmad/bmb/workflows-legacy/module-brief/README.md +264 -264
  189. package/bmad/bmb/workflows-legacy/module-brief/checklist.md +116 -116
  190. package/bmad/bmb/workflows-legacy/module-brief/instructions.md +268 -268
  191. package/bmad/bmb/workflows-legacy/module-brief/template.md +275 -275
  192. package/bmad/bmb/workflows-legacy/module-brief/workflow.yaml +34 -34
  193. package/bmad/bmm/agents/analyst.md +76 -76
  194. package/bmad/bmm/agents/architect.md +68 -68
  195. package/bmad/bmm/agents/dev.md +70 -70
  196. package/bmad/bmm/agents/pm.md +70 -70
  197. package/bmad/bmm/agents/quick-flow-solo-dev.md +68 -68
  198. package/bmad/bmm/agents/sm.md +71 -71
  199. package/bmad/bmm/agents/tea.md +71 -71
  200. package/bmad/bmm/agents/tech-writer.md +72 -72
  201. package/bmad/bmm/agents/ux-designer.md +68 -68
  202. package/bmad/bmm/config.yaml +18 -18
  203. package/bmad/bmm/data/README.md +29 -29
  204. package/bmad/bmm/data/documentation-standards.md +262 -262
  205. package/bmad/bmm/data/project-context-template.md +40 -40
  206. package/bmad/bmm/teams/default-party.csv +21 -21
  207. package/bmad/bmm/teams/team-fullstack.yaml +12 -12
  208. package/bmad/bmm/testarch/knowledge/api-request.md +303 -303
  209. package/bmad/bmm/testarch/knowledge/auth-session.md +356 -356
  210. package/bmad/bmm/testarch/knowledge/burn-in.md +273 -273
  211. package/bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -675
  212. package/bmad/bmm/testarch/knowledge/component-tdd.md +486 -486
  213. package/bmad/bmm/testarch/knowledge/contract-testing.md +957 -957
  214. package/bmad/bmm/testarch/knowledge/data-factories.md +500 -500
  215. package/bmad/bmm/testarch/knowledge/email-auth.md +721 -721
  216. package/bmad/bmm/testarch/knowledge/error-handling.md +725 -725
  217. package/bmad/bmm/testarch/knowledge/feature-flags.md +750 -750
  218. package/bmad/bmm/testarch/knowledge/file-utils.md +260 -260
  219. package/bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -401
  220. package/bmad/bmm/testarch/knowledge/fixtures-composition.md +382 -382
  221. package/bmad/bmm/testarch/knowledge/intercept-network-call.md +280 -280
  222. package/bmad/bmm/testarch/knowledge/log.md +294 -294
  223. package/bmad/bmm/testarch/knowledge/network-error-monitor.md +272 -272
  224. package/bmad/bmm/testarch/knowledge/network-first.md +486 -486
  225. package/bmad/bmm/testarch/knowledge/network-recorder.md +265 -265
  226. package/bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -670
  227. package/bmad/bmm/testarch/knowledge/overview.md +283 -283
  228. package/bmad/bmm/testarch/knowledge/playwright-config.md +730 -730
  229. package/bmad/bmm/testarch/knowledge/probability-impact.md +601 -601
  230. package/bmad/bmm/testarch/knowledge/recurse.md +296 -296
  231. package/bmad/bmm/testarch/knowledge/risk-governance.md +615 -615
  232. package/bmad/bmm/testarch/knowledge/selective-testing.md +732 -732
  233. package/bmad/bmm/testarch/knowledge/selector-resilience.md +527 -527
  234. package/bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -644
  235. package/bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -473
  236. package/bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -373
  237. package/bmad/bmm/testarch/knowledge/test-quality.md +664 -664
  238. package/bmad/bmm/testarch/knowledge/timing-debugging.md +372 -372
  239. package/bmad/bmm/testarch/knowledge/visual-debugging.md +524 -524
  240. package/bmad/bmm/testarch/tea-index.csv +33 -33
  241. package/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -10
  242. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +182 -182
  243. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +166 -166
  244. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +204 -204
  245. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +207 -207
  246. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +210 -210
  247. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +224 -224
  248. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +199 -199
  249. package/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -58
  250. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -137
  251. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -229
  252. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -238
  253. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -206
  254. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -234
  255. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -443
  256. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -182
  257. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -237
  258. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -200
  259. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -249
  260. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -259
  261. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -177
  262. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -475
  263. package/bmad/bmm/workflows/1-analysis/research/research.template.md +29 -29
  264. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -137
  265. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -239
  266. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -248
  267. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -202
  268. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -239
  269. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -486
  270. package/bmad/bmm/workflows/1-analysis/research/workflow.md +173 -173
  271. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -135
  272. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -127
  273. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -190
  274. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -216
  275. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -219
  276. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -234
  277. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -252
  278. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -254
  279. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -224
  280. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -224
  281. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -241
  282. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +332 -248
  283. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -237
  284. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -264
  285. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -228
  286. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -13
  287. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +59 -43
  288. package/bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +12 -12
  289. package/bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +11 -11
  290. package/bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +10 -10
  291. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +197 -197
  292. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +166 -166
  293. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +421 -421
  294. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +290 -290
  295. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +291 -291
  296. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +271 -271
  297. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +262 -262
  298. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +258 -258
  299. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +299 -299
  300. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +270 -270
  301. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +294 -294
  302. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +186 -186
  303. package/bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +63 -63
  304. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -190
  305. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -178
  306. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -179
  307. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -139
  308. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -252
  309. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -133
  310. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -4
  311. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -55
  312. package/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -12
  313. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/architecture-patterns.md +415 -415
  314. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/backend-standards.md +811 -811
  315. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/frontend-standards.md +375 -375
  316. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technical-preferences-ux.md +422 -422
  317. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technology-stack.md +235 -235
  318. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +10 -10
  319. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +6 -6
  320. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +166 -166
  321. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -164
  322. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -224
  323. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +342 -342
  324. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +328 -328
  325. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +368 -368
  326. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -379
  327. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +366 -366
  328. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -352
  329. package/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +51 -51
  330. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -259
  331. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -233
  332. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -272
  333. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -145
  334. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -57
  335. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -59
  336. package/bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -23
  337. package/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +224 -224
  338. package/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +49 -49
  339. package/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -279
  340. package/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -206
  341. package/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -58
  342. package/bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -358
  343. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-01-determine-story.md +85 -85
  344. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-02-analyze.md +67 -67
  345. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-03-architecture.md +71 -71
  346. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-04-web-research.md +58 -58
  347. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-05-create-file.md +76 -76
  348. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-06-finalize.md +66 -66
  349. package/bmad/bmm/workflows/4-implementation/create-story/template.md +49 -49
  350. package/bmad/bmm/workflows/4-implementation/create-story/workflow.md +58 -58
  351. package/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml.bak +63 -63
  352. package/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +85 -85
  353. package/bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +470 -470
  354. package/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -25
  355. package/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -1443
  356. package/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +56 -56
  357. package/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -33
  358. package/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -225
  359. package/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -55
  360. package/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -52
  361. package/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -229
  362. package/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +34 -34
  363. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +189 -189
  364. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +144 -144
  365. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +128 -128
  366. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +173 -173
  367. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +74 -74
  368. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +79 -79
  369. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -156
  370. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -120
  371. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -113
  372. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -113
  373. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -106
  374. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -140
  375. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -52
  376. package/bmad/bmm/workflows/document-project/checklist.md +245 -245
  377. package/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -12
  378. package/bmad/bmm/workflows/document-project/instructions.md +221 -221
  379. package/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -345
  380. package/bmad/bmm/workflows/document-project/templates/index-template.md +169 -169
  381. package/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -103
  382. package/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -160
  383. package/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -135
  384. package/bmad/bmm/workflows/document-project/workflow.yaml +28 -28
  385. package/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -298
  386. package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -31
  387. package/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -1106
  388. package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -31
  389. package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -90
  390. package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -127
  391. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -39
  392. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -130
  393. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +25 -25
  394. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -43
  395. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -141
  396. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +25 -25
  397. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -49
  398. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -241
  399. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +25 -25
  400. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -38
  401. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -133
  402. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +25 -25
  403. package/bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -21
  404. package/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +218 -218
  405. package/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -318
  406. package/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -278
  407. package/bmad/bmm/workflows/generate-project-context/workflow.md +50 -50
  408. package/bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -364
  409. package/bmad/bmm/workflows/testarch/atdd/checklist.md +374 -374
  410. package/bmad/bmm/workflows/testarch/atdd/instructions.md +806 -806
  411. package/bmad/bmm/workflows/testarch/atdd/workflow.yaml +45 -45
  412. package/bmad/bmm/workflows/testarch/automate/checklist.md +582 -582
  413. package/bmad/bmm/workflows/testarch/automate/instructions.md +1324 -1324
  414. package/bmad/bmm/workflows/testarch/automate/workflow.yaml +52 -52
  415. package/bmad/bmm/workflows/testarch/ci/checklist.md +248 -248
  416. package/bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -198
  417. package/bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -149
  418. package/bmad/bmm/workflows/testarch/ci/instructions.md +536 -536
  419. package/bmad/bmm/workflows/testarch/ci/workflow.yaml +45 -45
  420. package/bmad/bmm/workflows/testarch/framework/checklist.md +321 -321
  421. package/bmad/bmm/workflows/testarch/framework/instructions.md +481 -481
  422. package/bmad/bmm/workflows/testarch/framework/workflow.yaml +47 -47
  423. package/bmad/bmm/workflows/testarch/nfr-assess/checklist.md +407 -407
  424. package/bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -722
  425. package/bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -445
  426. package/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -47
  427. package/bmad/bmm/workflows/testarch/test-design/checklist.md +235 -235
  428. package/bmad/bmm/workflows/testarch/test-design/instructions.md +788 -788
  429. package/bmad/bmm/workflows/testarch/test-design/test-design-template.md +294 -294
  430. package/bmad/bmm/workflows/testarch/test-design/workflow.yaml +54 -54
  431. package/bmad/bmm/workflows/testarch/test-review/checklist.md +472 -472
  432. package/bmad/bmm/workflows/testarch/test-review/instructions.md +628 -628
  433. package/bmad/bmm/workflows/testarch/test-review/test-review-template.md +390 -390
  434. package/bmad/bmm/workflows/testarch/test-review/workflow.yaml +46 -46
  435. package/bmad/bmm/workflows/testarch/trace/checklist.md +655 -655
  436. package/bmad/bmm/workflows/testarch/trace/instructions.md +1047 -1047
  437. package/bmad/bmm/workflows/testarch/trace/trace-template.md +675 -675
  438. package/bmad/bmm/workflows/testarch/trace/workflow.yaml +55 -55
  439. package/bmad/bmm/workflows/workflow-status/init/instructions.md +346 -346
  440. package/bmad/bmm/workflows/workflow-status/init/workflow.yaml +28 -28
  441. package/bmad/bmm/workflows/workflow-status/instructions.md +395 -395
  442. package/bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -103
  443. package/bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -100
  444. package/bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -103
  445. package/bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -100
  446. package/bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -59
  447. package/bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -24
  448. package/bmad/bmm/workflows/workflow-status/workflow.yaml +30 -30
  449. package/bmad/cis/agents/brainstorming-coach.md +60 -60
  450. package/bmad/cis/agents/creative-problem-solver.md +60 -60
  451. package/bmad/cis/agents/design-thinking-coach.md +60 -60
  452. package/bmad/cis/agents/innovation-strategist.md +60 -60
  453. package/bmad/cis/agents/presentation-master.md +66 -66
  454. package/bmad/cis/agents/storyteller/storyteller.md +57 -57
  455. package/bmad/cis/config.yaml +11 -11
  456. package/bmad/cis/teams/creative-squad.yaml +7 -7
  457. package/bmad/cis/teams/default-party.csv +12 -12
  458. package/bmad/cis/workflows/README.md +139 -139
  459. package/bmad/cis/workflows/design-thinking/README.md +56 -56
  460. package/bmad/cis/workflows/design-thinking/design-methods.csv +30 -30
  461. package/bmad/cis/workflows/design-thinking/instructions.md +202 -202
  462. package/bmad/cis/workflows/design-thinking/template.md +111 -111
  463. package/bmad/cis/workflows/design-thinking/workflow.yaml +27 -27
  464. package/bmad/cis/workflows/innovation-strategy/README.md +56 -56
  465. package/bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +30 -30
  466. package/bmad/cis/workflows/innovation-strategy/instructions.md +276 -276
  467. package/bmad/cis/workflows/innovation-strategy/template.md +189 -189
  468. package/bmad/cis/workflows/innovation-strategy/workflow.yaml +27 -27
  469. package/bmad/cis/workflows/problem-solving/README.md +56 -56
  470. package/bmad/cis/workflows/problem-solving/instructions.md +252 -252
  471. package/bmad/cis/workflows/problem-solving/solving-methods.csv +30 -30
  472. package/bmad/cis/workflows/problem-solving/template.md +165 -165
  473. package/bmad/cis/workflows/problem-solving/workflow.yaml +27 -27
  474. package/bmad/cis/workflows/storytelling/README.md +58 -58
  475. package/bmad/cis/workflows/storytelling/instructions.md +293 -293
  476. package/bmad/cis/workflows/storytelling/story-types.csv +25 -25
  477. package/bmad/cis/workflows/storytelling/template.md +113 -113
  478. package/bmad/cis/workflows/storytelling/workflow.yaml +27 -27
  479. package/bmad/core/agents/bmad-master.md +57 -57
  480. package/bmad/core/config.yaml +9 -9
  481. package/bmad/core/resources/excalidraw/README.md +160 -160
  482. package/bmad/core/resources/excalidraw/excalidraw-helpers.md +127 -127
  483. package/bmad/core/resources/excalidraw/library-loader.md +50 -50
  484. package/bmad/core/resources/excalidraw/validate-json-instructions.md +79 -79
  485. package/bmad/core/tasks/index-docs.xml +64 -64
  486. package/bmad/core/tasks/review-adversarial-general.xml +41 -41
  487. package/bmad/core/tasks/shard-doc.xml +108 -108
  488. package/bmad/core/tasks/validate-workflow.xml +88 -88
  489. package/bmad/core/tasks/workflow.xml +234 -234
  490. package/bmad/core/workflows/advanced-elicitation/methods.csv +51 -51
  491. package/bmad/core/workflows/advanced-elicitation/workflow.xml +116 -116
  492. package/bmad/core/workflows/brainstorming/brain-methods.csv +61 -61
  493. package/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -197
  494. package/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -122
  495. package/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -225
  496. package/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -237
  497. package/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -209
  498. package/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -264
  499. package/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +340 -340
  500. package/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -303
  501. package/bmad/core/workflows/brainstorming/template.md +15 -15
  502. package/bmad/core/workflows/brainstorming/workflow.md +51 -51
  503. package/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +139 -139
  504. package/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +204 -204
  505. package/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +159 -159
  506. package/bmad/core/workflows/party-mode/workflow.md +206 -206
  507. package/claude/hooks/file-restriction-hook.py +51 -51
  508. package/claude/hooks/track-agent.py +67 -67
  509. package/claude/settings.local.json +76 -76
  510. package/gemini/commands/BMad/agents/analyst.toml +6 -0
  511. package/gemini/commands/BMad/agents/architect.toml +6 -0
  512. package/gemini/commands/BMad/agents/bmad-master.toml +6 -0
  513. package/gemini/commands/BMad/agents/bmad-orchestrator.toml +6 -0
  514. package/gemini/commands/BMad/agents/dev.toml +6 -0
  515. package/gemini/commands/BMad/agents/pm.toml +6 -0
  516. package/gemini/commands/BMad/agents/po.toml +6 -0
  517. package/gemini/commands/BMad/agents/qa.toml +6 -0
  518. package/gemini/commands/BMad/agents/sm.toml +6 -0
  519. package/gemini/commands/BMad/agents/ux-expert.toml +6 -0
  520. package/gemini/commands/BMad/tasks/advanced-elicitation.toml +6 -0
  521. package/gemini/commands/BMad/tasks/apply-qa-fixes.toml +6 -0
  522. package/gemini/commands/BMad/tasks/brownfield-create-epic.toml +6 -0
  523. package/gemini/commands/BMad/tasks/brownfield-create-story.toml +6 -0
  524. package/gemini/commands/BMad/tasks/correct-course.toml +6 -0
  525. package/gemini/commands/BMad/tasks/create-brownfield-story.toml +6 -0
  526. package/gemini/commands/BMad/tasks/create-deep-research-prompt.toml +6 -0
  527. package/gemini/commands/BMad/tasks/create-doc.toml +6 -0
  528. package/gemini/commands/BMad/tasks/create-next-story.toml +6 -0
  529. package/gemini/commands/BMad/tasks/document-project.toml +6 -0
  530. package/gemini/commands/BMad/tasks/execute-checklist.toml +6 -0
  531. package/gemini/commands/BMad/tasks/facilitate-brainstorming-session.toml +6 -0
  532. package/gemini/commands/BMad/tasks/generate-ai-frontend-prompt.toml +6 -0
  533. package/gemini/commands/BMad/tasks/index-docs.toml +6 -0
  534. package/gemini/commands/BMad/tasks/kb-mode-interaction.toml +6 -0
  535. package/gemini/commands/BMad/tasks/nfr-assess.toml +6 -0
  536. package/gemini/commands/BMad/tasks/qa-gate.toml +6 -0
  537. package/gemini/commands/BMad/tasks/review-story.toml +6 -0
  538. package/gemini/commands/BMad/tasks/risk-profile.toml +6 -0
  539. package/gemini/commands/BMad/tasks/shard-doc.toml +6 -0
  540. package/gemini/commands/BMad/tasks/test-design.toml +6 -0
  541. package/gemini/commands/BMad/tasks/trace-requirements.toml +6 -0
  542. package/gemini/commands/BMad/tasks/validate-next-story.toml +6 -0
  543. package/github/workflows/publish.yml +150 -150
  544. package/index.js +9 -9
  545. package/mcp.json +14 -14
  546. package/package.json +41 -40
  547. package/resources/images/Siesa_Logosimbolo_Azul.svg +24 -24
  548. package/resources/images/Siesa_Logosimbolo_Blanco.svg +24 -24
  549. package/resources/images/Siesa_Simbolo_Azul.svg +14 -14
  550. package/resources/images/Siesa_Simbolo_Blanco.svg +14 -14
  551. package/vscode/mcp.json +15 -15
  552. package/vscode/settings.json +12 -12
@@ -1,524 +1,524 @@
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
+ # 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_