bmad-method 6.0.0-alpha.12 → 6.0.0-alpha.13

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 (491) hide show
  1. package/.github/workflows/bundle-latest.yaml +79 -27
  2. package/CHANGELOG.md +159 -1
  3. package/README.md +3 -1
  4. package/custom/src/agents/commit-poet/commit-poet.agent.yaml +129 -0
  5. package/custom/src/agents/commit-poet/installation-guide.md +36 -0
  6. package/custom/src/agents/toolsmith/installation-guide.md +36 -0
  7. package/custom/src/agents/toolsmith/toolsmith-sidecar/instructions.md +70 -0
  8. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +111 -0
  9. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +70 -0
  10. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +114 -0
  11. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +134 -0
  12. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +161 -0
  13. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +103 -0
  14. package/custom/src/agents/toolsmith/toolsmith-sidecar/memories.md +17 -0
  15. package/custom/src/agents/toolsmith/toolsmith.agent.yaml +108 -0
  16. package/docs/custom-agent-installation.md +31 -17
  17. package/docs/ide-info/rovo-dev.md +388 -0
  18. package/docs/index.md +6 -81
  19. package/docs/installers-bundlers/installers-modules-platforms-reference.md +1 -1
  20. package/package.json +1 -1
  21. package/src/core/agents/bmad-master.agent.yaml +1 -1
  22. package/src/core/agents/bmad-web-orchestrator.agent.xml +1 -1
  23. package/src/core/tasks/advanced-elicitation-methods.csv +51 -21
  24. package/src/core/tasks/advanced-elicitation.xml +18 -8
  25. package/src/core/tasks/workflow.xml +36 -71
  26. package/src/core/workflows/brainstorming/brain-methods.csv +62 -36
  27. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +196 -0
  28. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +121 -0
  29. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +224 -0
  30. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +236 -0
  31. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +208 -0
  32. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +263 -0
  33. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +339 -0
  34. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +302 -0
  35. package/src/core/workflows/brainstorming/template.md +13 -104
  36. package/src/core/workflows/brainstorming/workflow.md +51 -0
  37. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  38. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +203 -0
  39. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +159 -0
  40. package/src/core/workflows/party-mode/workflow.md +207 -0
  41. package/src/modules/bmb/README.md +153 -86
  42. package/src/modules/bmb/_module-installer/install-config.yaml +3 -3
  43. package/src/modules/bmb/agents/bmad-builder.agent.yaml +45 -31
  44. package/src/modules/bmb/docs/{agent-menu-patterns.md → agents/agent-menu-patterns.md} +1 -1
  45. package/src/modules/bmb/docs/agents/kb.csv +0 -0
  46. package/src/modules/bmb/docs/{module-agent-architecture.md → agents/module-agent-architecture.md} +1 -1
  47. package/src/modules/bmb/docs/{simple-agent-architecture.md → agents/simple-agent-architecture.md} +1 -1
  48. package/src/modules/bmb/docs/workflows/architecture.md +220 -0
  49. package/src/modules/bmb/docs/workflows/common-workflow-tools.csv +19 -0
  50. package/src/modules/bmb/docs/workflows/csv-data-file-standards.md +206 -0
  51. package/src/modules/bmb/docs/workflows/index.md +45 -0
  52. package/src/modules/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -0
  53. package/src/modules/bmb/docs/workflows/kb.csv +0 -0
  54. package/src/modules/bmb/docs/workflows/step-template.md +283 -0
  55. package/src/modules/bmb/docs/workflows/terms.md +97 -0
  56. package/src/modules/bmb/docs/workflows/workflow-template.md +152 -0
  57. package/src/modules/bmb/reference/agents/module-examples/README.md +1 -1
  58. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +2 -2
  59. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +1 -1
  60. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  61. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  62. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  63. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  64. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  65. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  66. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  67. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  68. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  69. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  70. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  71. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  72. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  73. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  74. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  75. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  76. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  77. package/src/modules/bmb/workflows/create-agent/data/info-and-installation-guide.md +17 -0
  78. package/src/modules/bmb/workflows/create-agent/data/reference/README.md +3 -0
  79. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md +242 -0
  80. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
  81. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
  82. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
  83. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
  84. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
  85. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/README.md +50 -0
  86. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
  87. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
  88. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/README.md +223 -0
  89. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
  90. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  91. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  92. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  93. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  94. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  95. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  96. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  97. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  98. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  99. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  100. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  101. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  102. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  103. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  104. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  105. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  106. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  107. package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +305 -0
  108. package/src/modules/bmb/workflows/create-agent/steps/step-01-brainstorm.md +145 -0
  109. package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +210 -0
  110. package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +260 -0
  111. package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +237 -0
  112. package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +231 -0
  113. package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +224 -0
  114. package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +234 -0
  115. package/src/modules/bmb/workflows/create-agent/steps/step-08-setup.md +179 -0
  116. package/src/modules/bmb/workflows/create-agent/steps/step-09-customize.md +197 -0
  117. package/src/modules/bmb/workflows/create-agent/steps/step-10-build-tools.md +180 -0
  118. package/src/modules/bmb/workflows/create-agent/steps/step-11-celebrate.md +222 -0
  119. package/src/modules/bmb/workflows/create-agent/templates/agent_commands.md +21 -0
  120. package/src/modules/bmb/workflows/create-agent/templates/agent_persona.md +25 -0
  121. package/src/modules/bmb/workflows/create-agent/templates/agent_purpose_and_type.md +23 -0
  122. package/src/modules/bmb/workflows/create-agent/workflow.md +91 -0
  123. package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +168 -0
  124. package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +233 -0
  125. package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-overview.md +127 -0
  126. package/src/modules/bmb/workflows/create-workflow/steps/step-04-core-tools.md +145 -0
  127. package/src/modules/bmb/workflows/create-workflow/steps/step-05-memory-requirements.md +136 -0
  128. package/src/modules/bmb/workflows/create-workflow/steps/step-06-external-tools.md +154 -0
  129. package/src/modules/bmb/workflows/create-workflow/steps/step-07-installation-guidance.md +159 -0
  130. package/src/modules/bmb/workflows/create-workflow/steps/step-08-tools-summary.md +167 -0
  131. package/src/modules/bmb/workflows/create-workflow/steps/step-09-design.md +239 -0
  132. package/src/modules/bmb/workflows/create-workflow/steps/step-10-plan-review.md +215 -0
  133. package/src/modules/bmb/workflows/create-workflow/steps/step-11-build.md +262 -0
  134. package/src/modules/bmb/workflows/create-workflow/steps/step-12-review.md +270 -0
  135. package/src/modules/bmb/workflows/create-workflow/templates/build-summary.md +36 -0
  136. package/src/modules/bmb/workflows/create-workflow/templates/completion-section.md +39 -0
  137. package/src/modules/bmb/workflows/create-workflow/templates/content-template.md +21 -0
  138. package/src/modules/bmb/workflows/create-workflow/templates/design-section.md +53 -0
  139. package/src/modules/bmb/workflows/create-workflow/templates/project-info.md +18 -0
  140. package/src/modules/bmb/workflows/create-workflow/templates/requirements-section.md +47 -0
  141. package/src/modules/bmb/workflows/create-workflow/templates/review-section.md +56 -0
  142. package/src/modules/bmb/workflows/create-workflow/templates/step-file.md +139 -0
  143. package/src/modules/bmb/workflows/create-workflow/templates/workflow-plan.md +54 -0
  144. package/src/modules/bmb/workflows/create-workflow/templates/workflow.md +58 -0
  145. package/src/modules/bmb/workflows/create-workflow/workflow.md +58 -0
  146. package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +134 -0
  147. package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +202 -0
  148. package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +157 -0
  149. package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +150 -0
  150. package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +150 -0
  151. package/src/modules/bmb/workflows/edit-agent/workflow.md +58 -0
  152. package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +221 -0
  153. package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +253 -0
  154. package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +217 -0
  155. package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +193 -0
  156. package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +245 -0
  157. package/src/modules/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -0
  158. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -0
  159. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -0
  160. package/src/modules/bmb/workflows/edit-workflow/templates/validation-results.md +51 -0
  161. package/src/modules/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -0
  162. package/src/modules/bmb/workflows/edit-workflow/workflow.md +58 -0
  163. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +152 -0
  164. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +243 -0
  165. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +274 -0
  166. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +295 -0
  167. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +264 -0
  168. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +360 -0
  169. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +258 -0
  170. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +301 -0
  171. package/src/modules/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -0
  172. package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +58 -0
  173. package/src/modules/bmgd/agents/game-architect.agent.yaml +1 -1
  174. package/src/modules/bmgd/agents/game-designer.agent.yaml +1 -1
  175. package/src/modules/bmgd/agents/game-dev.agent.yaml +1 -1
  176. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +1 -1
  177. package/src/modules/bmm/_module-installer/install-config.yaml +9 -15
  178. package/src/modules/bmm/agents/analyst.agent.yaml +14 -14
  179. package/src/modules/bmm/agents/architect.agent.yaml +12 -10
  180. package/src/modules/bmm/agents/dev.agent.yaml +20 -16
  181. package/src/modules/bmm/agents/pm.agent.yaml +13 -31
  182. package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +36 -0
  183. package/src/modules/bmm/agents/sm.agent.yaml +13 -31
  184. package/src/modules/bmm/agents/tea.agent.yaml +10 -7
  185. package/src/modules/bmm/agents/tech-writer.agent.yaml +7 -20
  186. package/src/modules/bmm/agents/ux-designer.agent.yaml +12 -10
  187. package/src/modules/bmm/data/README.md +29 -0
  188. package/src/modules/bmm/data/project-context-template.md +40 -0
  189. package/src/modules/bmm/docs/README.md +21 -9
  190. package/src/modules/bmm/docs/agents-guide.md +69 -23
  191. package/src/modules/bmm/docs/bmad-quick-flow.md +528 -0
  192. package/src/modules/bmm/docs/brownfield-guide.md +9 -10
  193. package/src/modules/bmm/docs/enterprise-agentic-development.md +1 -1
  194. package/src/modules/bmm/docs/glossary.md +5 -5
  195. package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +909 -1654
  196. package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +2 -2
  197. package/src/modules/bmm/docs/quick-flow-solo-dev.md +337 -0
  198. package/src/modules/bmm/docs/scale-adaptive-system.md +5 -5
  199. package/src/modules/bmm/docs/test-architecture.md +84 -18
  200. package/src/modules/bmm/docs/workflows-analysis.md +36 -140
  201. package/src/modules/bmm/docs/workflows-implementation.md +32 -157
  202. package/src/modules/bmm/docs/workflows-planning.md +51 -212
  203. package/src/modules/bmm/docs/workflows-solutioning.md +24 -69
  204. package/src/modules/bmm/teams/default-party.csv +15 -14
  205. package/src/modules/bmm/teams/team-fullstack.yaml +0 -1
  206. package/src/modules/bmm/testarch/knowledge/api-request.md +303 -0
  207. package/src/modules/bmm/testarch/knowledge/auth-session.md +356 -0
  208. package/src/modules/bmm/testarch/knowledge/burn-in.md +273 -0
  209. package/src/modules/bmm/testarch/knowledge/file-utils.md +260 -0
  210. package/src/modules/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  211. package/src/modules/bmm/testarch/knowledge/intercept-network-call.md +280 -0
  212. package/src/modules/bmm/testarch/knowledge/log.md +294 -0
  213. package/src/modules/bmm/testarch/knowledge/network-error-monitor.md +272 -0
  214. package/src/modules/bmm/testarch/knowledge/network-recorder.md +265 -0
  215. package/src/modules/bmm/testarch/knowledge/overview.md +284 -0
  216. package/src/modules/bmm/testarch/knowledge/recurse.md +296 -0
  217. package/src/modules/bmm/testarch/tea-index.csv +11 -0
  218. package/src/modules/bmm/workflows/1-analysis/product-brief/product-brief.template.md +8 -0
  219. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01-init.md +192 -0
  220. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01b-continue.md +167 -0
  221. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-02-vision.md +203 -0
  222. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-03-users.md +206 -0
  223. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-04-metrics.md +209 -0
  224. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-05-scope.md +223 -0
  225. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-06-complete.md +199 -0
  226. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.md +58 -0
  227. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +136 -0
  228. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +228 -0
  229. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +237 -0
  230. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +205 -0
  231. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +233 -0
  232. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  233. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  234. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +235 -0
  235. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +198 -0
  236. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +247 -0
  237. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +257 -0
  238. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +175 -0
  239. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  240. package/src/modules/bmm/workflows/1-analysis/research/research.template.md +16 -0
  241. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +136 -0
  242. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +237 -0
  243. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +246 -0
  244. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +200 -0
  245. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +237 -0
  246. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  247. package/src/modules/bmm/workflows/1-analysis/research/workflow.md +198 -0
  248. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +159 -0
  249. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +126 -0
  250. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +209 -0
  251. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +215 -0
  252. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +218 -0
  253. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +233 -0
  254. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +251 -0
  255. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +253 -0
  256. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +223 -0
  257. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +223 -0
  258. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +240 -0
  259. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +247 -0
  260. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +236 -0
  261. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +263 -0
  262. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +226 -0
  263. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +6 -138
  264. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +53 -0
  265. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +5 -200
  266. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +161 -0
  267. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +123 -0
  268. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +275 -0
  269. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +271 -0
  270. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +272 -0
  271. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +249 -0
  272. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +240 -0
  273. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +236 -0
  274. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +280 -0
  275. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +251 -0
  276. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +275 -0
  277. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +210 -0
  278. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +61 -0
  279. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-decision-template.md +13 -0
  280. package/src/modules/bmm/workflows/3-solutioning/architecture/data/domain-complexity.csv +11 -0
  281. package/src/modules/bmm/workflows/3-solutioning/architecture/data/project-types.csv +7 -0
  282. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01-init.md +194 -0
  283. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01b-continue.md +163 -0
  284. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-02-context.md +223 -0
  285. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-03-starter.md +330 -0
  286. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-04-decisions.md +317 -0
  287. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-05-patterns.md +358 -0
  288. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-06-structure.md +378 -0
  289. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-07-validation.md +358 -0
  290. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-08-complete.md +351 -0
  291. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.md +48 -0
  292. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/instructions.md +247 -476
  293. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.yaml +8 -18
  294. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +176 -0
  295. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +4 -11
  296. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +332 -214
  297. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +324 -0
  298. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +21 -34
  299. package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +65 -23
  300. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +406 -0
  301. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +6 -37
  302. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +4 -3
  303. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +2 -0
  304. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md +115 -0
  305. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +26 -0
  306. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/checklist.md +25 -0
  307. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md +105 -0
  308. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +29 -0
  309. package/src/modules/bmm/workflows/generate-project-context/project-context-template.md +20 -0
  310. package/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md +193 -0
  311. package/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +317 -0
  312. package/src/modules/bmm/workflows/generate-project-context/steps/step-03-complete.md +277 -0
  313. package/src/modules/bmm/workflows/generate-project-context/workflow.md +48 -0
  314. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +23 -3
  315. package/src/modules/bmm/workflows/testarch/automate/instructions.md +23 -2
  316. package/src/modules/bmm/workflows/testarch/ci/instructions.md +18 -1
  317. package/src/modules/bmm/workflows/testarch/framework/instructions.md +27 -1
  318. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +8 -2
  319. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +28 -8
  320. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +66 -54
  321. package/src/modules/bmm/workflows/workflow-status/instructions.md +11 -4
  322. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +3 -2
  323. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +3 -2
  324. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +3 -2
  325. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +3 -2
  326. package/src/modules/cis/agents/README.md +1 -1
  327. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +3 -2
  328. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +2 -1
  329. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +2 -1
  330. package/src/modules/cis/agents/innovation-strategist.agent.yaml +2 -1
  331. package/src/modules/cis/agents/presentation-master.agent.yaml +3 -2
  332. package/src/modules/cis/agents/storyteller.agent.yaml +2 -1
  333. package/src/modules/cis/teams/default-party.csv +6 -5
  334. package/src/utility/models/agent-activation-ide.xml +4 -4
  335. package/src/utility/models/agent-activation-web.xml +1 -11
  336. package/src/utility/models/fragments/activation-rules.xml +5 -6
  337. package/src/utility/models/fragments/handler-exec.xml +6 -5
  338. package/src/utility/models/fragments/handler-multi.xml +14 -0
  339. package/test/README.md +1 -1
  340. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -3
  341. package/tools/cli/README.md +1 -0
  342. package/tools/cli/bundlers/web-bundler.js +3 -14
  343. package/tools/cli/commands/agent-install.js +8 -8
  344. package/tools/cli/commands/cleanup.js +141 -0
  345. package/tools/cli/commands/install.js +48 -3
  346. package/tools/cli/installers/lib/core/config-collector.js +24 -0
  347. package/tools/cli/installers/lib/core/installer.js +612 -43
  348. package/tools/cli/installers/lib/ide/antigravity.js +51 -7
  349. package/tools/cli/installers/lib/ide/auggie.js +53 -0
  350. package/tools/cli/installers/lib/ide/claude-code.js +1 -6
  351. package/tools/cli/installers/lib/ide/cline.js +49 -0
  352. package/tools/cli/installers/lib/ide/codex.js +2 -2
  353. package/tools/cli/installers/lib/ide/crush.js +47 -0
  354. package/tools/cli/installers/lib/ide/gemini.js +47 -0
  355. package/tools/cli/installers/lib/ide/github-copilot.js +59 -48
  356. package/tools/cli/installers/lib/ide/iflow.js +47 -0
  357. package/tools/cli/installers/lib/ide/kilo.js +74 -0
  358. package/tools/cli/installers/lib/ide/qwen.js +54 -0
  359. package/tools/cli/installers/lib/ide/roo.js +71 -0
  360. package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
  361. package/tools/cli/installers/lib/ide/trae.js +47 -0
  362. package/tools/cli/lib/agent/compiler.js +156 -22
  363. package/tools/cli/lib/agent/installer.js +13 -3
  364. package/tools/cli/lib/agent-analyzer.js +46 -18
  365. package/tools/cli/lib/ui.js +204 -9
  366. package/tools/cli/lib/yaml-xml-builder.js +123 -24
  367. package/tools/platform-codes.yaml +12 -0
  368. package/tools/schema/agent.js +169 -20
  369. package/src/core/tasks/adv-elicit-methods.csv +0 -39
  370. package/src/core/workflows/brainstorming/README.md +0 -261
  371. package/src/core/workflows/brainstorming/instructions.md +0 -315
  372. package/src/core/workflows/brainstorming/workflow.yaml +0 -38
  373. package/src/core/workflows/party-mode/instructions.md +0 -183
  374. package/src/core/workflows/party-mode/workflow.yaml +0 -28
  375. package/src/modules/bmb/workflows/audit-workflow/checklist.md +0 -142
  376. package/src/modules/bmb/workflows/audit-workflow/instructions.md +0 -341
  377. package/src/modules/bmb/workflows/audit-workflow/template.md +0 -118
  378. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +0 -25
  379. package/src/modules/bmb/workflows/convert-legacy/README.md +0 -262
  380. package/src/modules/bmb/workflows/convert-legacy/checklist.md +0 -205
  381. package/src/modules/bmb/workflows/convert-legacy/instructions.md +0 -377
  382. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +0 -30
  383. package/src/modules/bmb/workflows/create-agent/instructions.md +0 -519
  384. package/src/modules/bmb/workflows/create-agent/workflow.yaml +0 -55
  385. package/src/modules/bmb/workflows/create-workflow/README.md +0 -277
  386. package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
  387. package/src/modules/bmb/workflows/create-workflow/checklist.md +0 -94
  388. package/src/modules/bmb/workflows/create-workflow/instructions.md +0 -725
  389. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1327
  390. package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
  391. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -15
  392. package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
  393. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -61
  394. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +0 -41
  395. package/src/modules/bmb/workflows/edit-agent/README.md +0 -239
  396. package/src/modules/bmb/workflows/edit-agent/instructions.md +0 -654
  397. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +0 -49
  398. package/src/modules/bmb/workflows/edit-workflow/README.md +0 -119
  399. package/src/modules/bmb/workflows/edit-workflow/checklist.md +0 -70
  400. package/src/modules/bmb/workflows/edit-workflow/instructions.md +0 -342
  401. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +0 -27
  402. package/src/modules/bmm/_module-installer/assets/bmm-kb.md +0 -1
  403. package/src/modules/bmm/_module-installer/assets/technical-decisions.md +0 -30
  404. package/src/modules/bmm/docs/quick-spec-flow.md +0 -652
  405. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +0 -112
  406. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +0 -25
  407. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +0 -39
  408. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +0 -425
  409. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +0 -180
  410. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +0 -56
  411. package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +0 -115
  412. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +0 -524
  413. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +0 -181
  414. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +0 -61
  415. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +0 -144
  416. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +0 -249
  417. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +0 -299
  418. package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +0 -114
  419. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +0 -438
  420. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +0 -675
  421. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +0 -134
  422. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +0 -534
  423. package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +0 -94
  424. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +0 -347
  425. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +0 -245
  426. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +0 -62
  427. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +0 -310
  428. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +0 -1308
  429. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +0 -93
  430. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +0 -346
  431. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +0 -703
  432. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +0 -78
  433. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +0 -217
  434. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -74
  435. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +0 -436
  436. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +0 -980
  437. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +0 -181
  438. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +0 -90
  439. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +0 -60
  440. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -321
  441. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +0 -103
  442. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +0 -240
  443. package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +0 -222
  444. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +0 -768
  445. package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +0 -13
  446. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +0 -100
  447. package/src/modules/bmm/workflows/4-implementation/code-review/backlog_template.md +0 -12
  448. package/src/modules/bmm/workflows/4-implementation/code-review/checklist.md +0 -22
  449. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +0 -398
  450. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +0 -256
  451. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +0 -267
  452. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +0 -17
  453. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +0 -164
  454. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/template.md +0 -76
  455. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +0 -58
  456. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +0 -16
  457. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +0 -34
  458. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +0 -209
  459. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +0 -63
  460. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +0 -111
  461. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +0 -28
  462. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +0 -117
  463. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +0 -25
  464. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +0 -58
  465. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +0 -47
  466. /package/src/modules/bmb/docs/{agent-compilation.md → agents/agent-compilation.md} +0 -0
  467. /package/src/modules/bmb/docs/{expert-agent-architecture.md → agents/expert-agent-architecture.md} +0 -0
  468. /package/src/modules/bmb/docs/{index.md → agents/index.md} +0 -0
  469. /package/src/modules/bmb/docs/{understanding-agent-types.md → agents/understanding-agent-types.md} +0 -0
  470. /package/src/modules/bmb/reference/{readme.md → README.md} +0 -0
  471. /package/src/modules/bmb/workflows/create-agent/{agent-validation-checklist.md → data/agent-validation-checklist.md} +0 -0
  472. /package/src/modules/bmb/workflows/create-agent/{brainstorm-context.md → data/brainstorm-context.md} +0 -0
  473. /package/src/modules/bmb/workflows/create-agent/{communication-presets.csv → data/communication-presets.csv} +0 -0
  474. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/README.md +0 -0
  475. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/brainstorm-context.md +0 -0
  476. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/checklist.md +0 -0
  477. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/installer-templates/install-config.yaml +0 -0
  478. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/installer-templates/installer.js +0 -0
  479. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/instructions.md +0 -0
  480. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/module-structure.md +0 -0
  481. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/workflow.yaml +0 -0
  482. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/README.md +0 -0
  483. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/checklist.md +0 -0
  484. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/instructions.md +0 -0
  485. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/workflow.yaml +0 -0
  486. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/README.md +0 -0
  487. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/checklist.md +0 -0
  488. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/instructions.md +0 -0
  489. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/template.md +0 -0
  490. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/workflow.yaml +0 -0
  491. /package/src/modules/bmm/{workflows/techdoc → data}/documentation-standards.md +0 -0
@@ -0,0 +1,294 @@
1
+ # Log Utility
2
+
3
+ ## Principle
4
+
5
+ Use structured logging that integrates with Playwright's test reports. Support object logging, test step decoration, and multiple log levels (info, step, success, warning, error, debug).
6
+
7
+ ## Rationale
8
+
9
+ Console.log in Playwright tests has limitations:
10
+
11
+ - Not visible in HTML reports
12
+ - No test step integration
13
+ - No structured output
14
+ - Lost in terminal noise during CI
15
+
16
+ The `log` utility provides:
17
+
18
+ - **Report integration**: Logs appear in Playwright HTML reports
19
+ - **Test step decoration**: `log.step()` creates collapsible steps in UI
20
+ - **Object logging**: Automatically formats objects/arrays
21
+ - **Multiple levels**: info, step, success, warning, error, debug
22
+ - **Optional console**: Can disable console output but keep report logs
23
+
24
+ ## Pattern Examples
25
+
26
+ ### Example 1: Basic Logging Levels
27
+
28
+ **Context**: Log different types of messages throughout test execution.
29
+
30
+ **Implementation**:
31
+
32
+ ```typescript
33
+ import { log } from '@seontechnologies/playwright-utils';
34
+
35
+ test('logging demo', async ({ page }) => {
36
+ await log.step('Navigate to login page');
37
+ await page.goto('/login');
38
+
39
+ await log.info('Entering credentials');
40
+ await page.fill('#username', 'testuser');
41
+
42
+ await log.success('Login successful');
43
+
44
+ await log.warning('Rate limit approaching');
45
+
46
+ await log.debug({ userId: '123', sessionId: 'abc' });
47
+
48
+ // Errors still throw but get logged first
49
+ try {
50
+ await page.click('#nonexistent');
51
+ } catch (error) {
52
+ await log.error('Click failed', false); // false = no console output
53
+ throw error;
54
+ }
55
+ });
56
+ ```
57
+
58
+ **Key Points**:
59
+
60
+ - `step()` creates collapsible steps in Playwright UI
61
+ - `info()`, `success()`, `warning()` for different message types
62
+ - `debug()` for detailed data (objects/arrays)
63
+ - `error()` with optional console suppression
64
+ - All logs appear in test reports
65
+
66
+ ### Example 2: Object and Array Logging
67
+
68
+ **Context**: Log structured data for debugging without cluttering console.
69
+
70
+ **Implementation**:
71
+
72
+ ```typescript
73
+ test('object logging', async ({ apiRequest }) => {
74
+ const { body } = await apiRequest({
75
+ method: 'GET',
76
+ path: '/api/users',
77
+ });
78
+
79
+ // Log array of objects
80
+ await log.debug(body); // Formatted as JSON in report
81
+
82
+ // Log specific object
83
+ await log.info({
84
+ totalUsers: body.length,
85
+ firstUser: body[0]?.name,
86
+ timestamp: new Date().toISOString(),
87
+ });
88
+
89
+ // Complex nested structures
90
+ await log.debug({
91
+ request: {
92
+ method: 'GET',
93
+ path: '/api/users',
94
+ timestamp: Date.now(),
95
+ },
96
+ response: {
97
+ status: 200,
98
+ body: body.slice(0, 3), // First 3 items
99
+ },
100
+ });
101
+ });
102
+ ```
103
+
104
+ **Key Points**:
105
+
106
+ - Objects auto-formatted as pretty JSON
107
+ - Arrays handled gracefully
108
+ - Nested structures supported
109
+ - All visible in Playwright report attachments
110
+
111
+ ### Example 3: Test Step Organization
112
+
113
+ **Context**: Organize test execution into collapsible steps for better readability in reports.
114
+
115
+ **Implementation**:
116
+
117
+ ```typescript
118
+ test('organized with steps', async ({ page, apiRequest }) => {
119
+ await log.step('ARRANGE: Setup test data');
120
+ const { body: user } = await apiRequest({
121
+ method: 'POST',
122
+ path: '/api/users',
123
+ body: { name: 'Test User' },
124
+ });
125
+
126
+ await log.step('ACT: Perform user action');
127
+ await page.goto(`/users/${user.id}`);
128
+ await page.click('#edit');
129
+ await page.fill('#name', 'Updated Name');
130
+ await page.click('#save');
131
+
132
+ await log.step('ASSERT: Verify changes');
133
+ await expect(page.getByText('Updated Name')).toBeVisible();
134
+
135
+ // In Playwright UI, each step is collapsible
136
+ });
137
+ ```
138
+
139
+ **Key Points**:
140
+
141
+ - `log.step()` creates collapsible sections
142
+ - Organize by Arrange-Act-Assert
143
+ - Steps visible in Playwright trace viewer
144
+ - Better debugging when tests fail
145
+
146
+ ### Example 4: Conditional Logging
147
+
148
+ **Context**: Log different messages based on environment or test conditions.
149
+
150
+ **Implementation**:
151
+
152
+ ```typescript
153
+ test('conditional logging', async ({ page }) => {
154
+ const isCI = process.env.CI === 'true';
155
+
156
+ if (isCI) {
157
+ await log.info('Running in CI environment');
158
+ } else {
159
+ await log.debug('Running locally');
160
+ }
161
+
162
+ const isKafkaWorking = await checkKafkaHealth();
163
+
164
+ if (!isKafkaWorking) {
165
+ await log.warning('Kafka unavailable - skipping event checks');
166
+ } else {
167
+ await log.step('Verifying Kafka events');
168
+ // ... event verification
169
+ }
170
+ });
171
+ ```
172
+
173
+ **Key Points**:
174
+
175
+ - Log based on environment
176
+ - Skip logging with conditionals
177
+ - Use appropriate log levels
178
+ - Debug info for local, minimal for CI
179
+
180
+ ### Example 5: Integration with Auth and API
181
+
182
+ **Context**: Log authenticated API requests with tokens (safely).
183
+
184
+ **Implementation**:
185
+
186
+ ```typescript
187
+ import { test } from '@seontechnologies/playwright-utils/fixtures';
188
+
189
+ // Helper to create safe token preview
190
+ function createTokenPreview(token: string): string {
191
+ if (!token || token.length < 10) return '[invalid]';
192
+ return `${token.slice(0, 6)}...${token.slice(-4)}`;
193
+ }
194
+
195
+ test('should log auth flow', async ({ authToken, apiRequest }) => {
196
+ await log.info(`Using token: ${createTokenPreview(authToken)}`);
197
+
198
+ await log.step('Fetch protected resource');
199
+ const { status, body } = await apiRequest({
200
+ method: 'GET',
201
+ path: '/api/protected',
202
+ headers: { Authorization: `Bearer ${authToken}` },
203
+ });
204
+
205
+ await log.debug({
206
+ status,
207
+ bodyPreview: {
208
+ id: body.id,
209
+ recordCount: body.data?.length,
210
+ },
211
+ });
212
+
213
+ await log.success('Protected resource accessed successfully');
214
+ });
215
+ ```
216
+
217
+ **Key Points**:
218
+
219
+ - Never log full tokens (security risk)
220
+ - Use preview functions for sensitive data
221
+ - Combine with auth and API utilities
222
+ - Log at appropriate detail level
223
+
224
+ ## Log Levels Guide
225
+
226
+ | Level | When to Use | Shows in Report | Shows in Console |
227
+ | --------- | ----------------------------------- | -------------------- | ---------------- |
228
+ | `step` | Test organization, major actions | ✅ Collapsible steps | ✅ Yes |
229
+ | `info` | General information, state changes | ✅ Yes | ✅ Yes |
230
+ | `success` | Successful operations | ✅ Yes | ✅ Yes |
231
+ | `warning` | Non-critical issues, skipped checks | ✅ Yes | ✅ Yes |
232
+ | `error` | Failures, exceptions | ✅ Yes | ✅ Configurable |
233
+ | `debug` | Detailed data, objects | ✅ Yes (attached) | ✅ Configurable |
234
+
235
+ ## Comparison with console.log
236
+
237
+ | console.log | log Utility |
238
+ | ----------------------- | ------------------------- |
239
+ | Not in reports | Appears in reports |
240
+ | No test steps | Creates collapsible steps |
241
+ | Manual JSON.stringify() | Auto-formats objects |
242
+ | No log levels | 6 log levels |
243
+ | Lost in CI output | Preserved in artifacts |
244
+
245
+ ## Related Fragments
246
+
247
+ - `overview.md` - Basic usage and imports
248
+ - `api-request.md` - Log API requests
249
+ - `auth-session.md` - Log auth flow (safely)
250
+ - `recurse.md` - Log polling progress
251
+
252
+ ## Anti-Patterns
253
+
254
+ **❌ Logging objects in steps:**
255
+
256
+ ```typescript
257
+ await log.step({ user: 'test', action: 'create' }); // Shows empty in UI
258
+ ```
259
+
260
+ **✅ Use strings for steps, objects for debug:**
261
+
262
+ ```typescript
263
+ await log.step('Creating user: test'); // Readable in UI
264
+ await log.debug({ user: 'test', action: 'create' }); // Detailed data
265
+ ```
266
+
267
+ **❌ Logging sensitive data:**
268
+
269
+ ```typescript
270
+ await log.info(`Password: ${password}`); // Security risk!
271
+ await log.info(`Token: ${authToken}`); // Full token exposed!
272
+ ```
273
+
274
+ **✅ Use previews or omit sensitive data:**
275
+
276
+ ```typescript
277
+ await log.info('User authenticated successfully'); // No sensitive data
278
+ await log.debug({ tokenPreview: token.slice(0, 6) + '...' });
279
+ ```
280
+
281
+ **❌ Excessive logging in loops:**
282
+
283
+ ```typescript
284
+ for (const item of items) {
285
+ await log.info(`Processing ${item.id}`); // 100 log entries!
286
+ }
287
+ ```
288
+
289
+ **✅ Log summary or use debug level:**
290
+
291
+ ```typescript
292
+ await log.step(`Processing ${items.length} items`);
293
+ await log.debug({ itemIds: items.map((i) => i.id) }); // One log entry
294
+ ```
@@ -0,0 +1,272 @@
1
+ # Network Error Monitor
2
+
3
+ ## Principle
4
+
5
+ Automatically detect and fail tests when HTTP 4xx/5xx errors occur during execution. Act like Sentry for tests - catch silent backend failures even when UI passes assertions.
6
+
7
+ ## Rationale
8
+
9
+ Traditional Playwright tests focus on UI:
10
+
11
+ - Backend 500 errors ignored if UI looks correct
12
+ - Silent failures slip through
13
+ - No visibility into background API health
14
+ - Tests pass while features are broken
15
+
16
+ The `network-error-monitor` provides:
17
+
18
+ - **Automatic detection**: All HTTP 4xx/5xx responses tracked
19
+ - **Test failures**: Fail tests with backend errors (even if UI passes)
20
+ - **Structured artifacts**: JSON reports with error details
21
+ - **Smart opt-out**: Disable for validation tests expecting errors
22
+ - **Deduplication**: Group repeated errors by pattern
23
+ - **Domino effect prevention**: Limit test failures per error pattern
24
+
25
+ ## Pattern Examples
26
+
27
+ ### Example 1: Basic Auto-Monitoring
28
+
29
+ **Context**: Automatically fail tests when backend errors occur.
30
+
31
+ **Implementation**:
32
+
33
+ ```typescript
34
+ import { test } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
35
+
36
+ // Monitoring automatically enabled
37
+ test('should load dashboard', async ({ page }) => {
38
+ await page.goto('/dashboard');
39
+ await expect(page.locator('h1')).toContainText('Dashboard');
40
+
41
+ // ✅ Passes if no HTTP errors
42
+ // ❌ Fails if any 4xx/5xx errors detected with clear message:
43
+ // "Network errors detected: 2 request(s) failed"
44
+ // Failed requests:
45
+ // GET 500 https://api.example.com/users
46
+ // POST 503 https://api.example.com/metrics
47
+ });
48
+ ```
49
+
50
+ **Key Points**:
51
+
52
+ - Zero setup - auto-enabled for all tests
53
+ - Fails on any 4xx/5xx response
54
+ - Structured error message with URLs and status codes
55
+ - JSON artifact attached to test report
56
+
57
+ ### Example 2: Opt-Out for Validation Tests
58
+
59
+ **Context**: Some tests expect errors (validation, error handling, edge cases).
60
+
61
+ **Implementation**:
62
+
63
+ ```typescript
64
+ import { test } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
65
+
66
+ // Opt-out with annotation
67
+ test('should show error on invalid input', { annotation: [{ type: 'skipNetworkMonitoring' }] }, async ({ page }) => {
68
+ await page.goto('/form');
69
+ await page.click('#submit'); // Triggers 400 error
70
+
71
+ // Monitoring disabled - test won't fail on 400
72
+ await expect(page.getByText('Invalid input')).toBeVisible();
73
+ });
74
+
75
+ // Or opt-out entire describe block
76
+ test.describe('error handling', { annotation: [{ type: 'skipNetworkMonitoring' }] }, () => {
77
+ test('handles 404', async ({ page }) => {
78
+ // All tests in this block skip monitoring
79
+ });
80
+
81
+ test('handles 500', async ({ page }) => {
82
+ // Monitoring disabled
83
+ });
84
+ });
85
+ ```
86
+
87
+ **Key Points**:
88
+
89
+ - Use annotation `{ type: 'skipNetworkMonitoring' }`
90
+ - Can opt-out single test or entire describe block
91
+ - Monitoring still active for other tests
92
+ - Perfect for intentional error scenarios
93
+
94
+ ### Example 3: Integration with Merged Fixtures
95
+
96
+ **Context**: Combine network-error-monitor with other utilities.
97
+
98
+ **Implementation**:
99
+
100
+ ```typescript
101
+ // playwright/support/merged-fixtures.ts
102
+ import { mergeTests } from '@playwright/test';
103
+ import { test as authFixture } from '@seontechnologies/playwright-utils/auth-session/fixtures';
104
+ import { test as networkErrorMonitorFixture } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
105
+
106
+ export const test = mergeTests(
107
+ authFixture,
108
+ networkErrorMonitorFixture,
109
+ // Add other fixtures
110
+ );
111
+
112
+ // In tests
113
+ import { test, expect } from '../support/merged-fixtures';
114
+
115
+ test('authenticated with monitoring', async ({ page, authToken }) => {
116
+ // Both auth and network monitoring active
117
+ await page.goto('/protected');
118
+
119
+ // Fails if backend returns errors during auth flow
120
+ });
121
+ ```
122
+
123
+ **Key Points**:
124
+
125
+ - Combine with `mergeTests`
126
+ - Works alongside all other utilities
127
+ - Monitoring active automatically
128
+ - No extra setup needed
129
+
130
+ ### Example 4: Domino Effect Prevention
131
+
132
+ **Context**: One failing endpoint shouldn't fail all tests.
133
+
134
+ **Implementation**:
135
+
136
+ ```typescript
137
+ // Configuration (internal to utility)
138
+ const config = {
139
+ maxTestsPerError: 3, // Max 3 tests fail per unique error pattern
140
+ };
141
+
142
+ // Scenario:
143
+ // Test 1: GET /api/broken → 500 error → Test fails ❌
144
+ // Test 2: GET /api/broken → 500 error → Test fails ❌
145
+ // Test 3: GET /api/broken → 500 error → Test fails ❌
146
+ // Test 4: GET /api/broken → 500 error → Test passes ⚠️ (limit reached, warning logged)
147
+ // Test 5: Different error pattern → Test fails ❌ (new pattern, counter resets)
148
+ ```
149
+
150
+ **Key Points**:
151
+
152
+ - Limits cascading failures
153
+ - Groups errors by URL + status code pattern
154
+ - Warns when limit reached
155
+ - Prevents flaky backend from failing entire suite
156
+
157
+ ### Example 5: Artifact Structure
158
+
159
+ **Context**: Debugging failed tests with network error artifacts.
160
+
161
+ **Implementation**:
162
+
163
+ When test fails due to network errors, artifact attached:
164
+
165
+ ```json
166
+ // test-results/my-test/network-errors.json
167
+ {
168
+ "errors": [
169
+ {
170
+ "url": "https://api.example.com/users",
171
+ "method": "GET",
172
+ "status": 500,
173
+ "statusText": "Internal Server Error",
174
+ "timestamp": "2024-08-13T10:30:45.123Z"
175
+ },
176
+ {
177
+ "url": "https://api.example.com/metrics",
178
+ "method": "POST",
179
+ "status": 503,
180
+ "statusText": "Service Unavailable",
181
+ "timestamp": "2024-08-13T10:30:46.456Z"
182
+ }
183
+ ],
184
+ "summary": {
185
+ "totalErrors": 2,
186
+ "uniquePatterns": 2
187
+ }
188
+ }
189
+ ```
190
+
191
+ **Key Points**:
192
+
193
+ - JSON artifact per failed test
194
+ - Full error details (URL, method, status, timestamp)
195
+ - Summary statistics
196
+ - Easy debugging with structured data
197
+
198
+ ## Comparison with Manual Error Checks
199
+
200
+ | Manual Approach | network-error-monitor |
201
+ | ------------------------------------------------------ | -------------------------- |
202
+ | `page.on('response', resp => { if (!resp.ok()) ... })` | Auto-enabled, zero setup |
203
+ | Check each response manually | Automatic for all requests |
204
+ | Custom error tracking logic | Built-in deduplication |
205
+ | No structured artifacts | JSON artifacts attached |
206
+ | Easy to forget | Never miss a backend error |
207
+
208
+ ## When to Use
209
+
210
+ **Auto-enabled for:**
211
+
212
+ - ✅ All E2E tests
213
+ - ✅ Integration tests
214
+ - ✅ Any test hitting real APIs
215
+
216
+ **Opt-out for:**
217
+
218
+ - ❌ Validation tests (expecting 4xx)
219
+ - ❌ Error handling tests (expecting 5xx)
220
+ - ❌ Offline tests (network-recorder playback)
221
+
222
+ ## Integration with Framework Setup
223
+
224
+ In `*framework` workflow, mention network-error-monitor:
225
+
226
+ ```typescript
227
+ // Add to merged-fixtures.ts
228
+ import { test as networkErrorMonitorFixture } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures';
229
+
230
+ export const test = mergeTests(
231
+ // ... other fixtures
232
+ networkErrorMonitorFixture,
233
+ );
234
+ ```
235
+
236
+ ## Related Fragments
237
+
238
+ - `overview.md` - Installation and fixtures
239
+ - `fixtures-composition.md` - Merging with other utilities
240
+ - `error-handling.md` - Traditional error handling patterns
241
+
242
+ ## Anti-Patterns
243
+
244
+ **❌ Opting out of monitoring globally:**
245
+
246
+ ```typescript
247
+ // Every test skips monitoring
248
+ test.use({ annotation: [{ type: 'skipNetworkMonitoring' }] });
249
+ ```
250
+
251
+ **✅ Opt-out only for specific error tests:**
252
+
253
+ ```typescript
254
+ test.describe('error scenarios', { annotation: [{ type: 'skipNetworkMonitoring' }] }, () => {
255
+ // Only these tests skip monitoring
256
+ });
257
+ ```
258
+
259
+ **❌ Ignoring network error artifacts:**
260
+
261
+ ```typescript
262
+ // Test fails, artifact shows 500 errors
263
+ // Developer: "Works on my machine" ¯\_(ツ)_/¯
264
+ ```
265
+
266
+ **✅ Check artifacts for root cause:**
267
+
268
+ ```typescript
269
+ // Read network-errors.json artifact
270
+ // Identify failing endpoint: GET /api/users → 500
271
+ // Fix backend issue before merging
272
+ ```