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

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 (608) hide show
  1. package/.github/ISSUE_TEMPLATE/idea_submission.md +1 -1
  2. package/.github/scripts/discord-helpers.sh +15 -0
  3. package/.github/workflows/bundle-latest.yaml +79 -27
  4. package/.github/workflows/discord.yaml +278 -8
  5. package/.github/workflows/quality.yaml +19 -0
  6. package/.markdownlint-cli2.yaml +42 -0
  7. package/.prettierignore +3 -0
  8. package/CHANGELOG.md +254 -1
  9. package/CODE_OF_CONDUCT.md +128 -0
  10. package/README.md +3 -1
  11. package/bmad-method-6.0.0-alpha.14.tgz +0 -0
  12. package/docs/agent-customization-guide.md +2 -2
  13. package/docs/custom-agent-installation.md +58 -90
  14. package/docs/document-sharding-guide.md +1 -1
  15. package/docs/ide-info/rovo-dev.md +388 -0
  16. package/docs/index.md +6 -81
  17. package/docs/installers-bundlers/installers-modules-platforms-reference.md +1 -1
  18. package/eslint.config.mjs +14 -0
  19. package/example-custom-content/README.md +4 -0
  20. package/example-custom-content/agents/commit-poet/commit-poet.agent.yaml +129 -0
  21. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/instructions.md +70 -0
  22. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +111 -0
  23. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +70 -0
  24. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +114 -0
  25. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +134 -0
  26. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +161 -0
  27. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +103 -0
  28. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/memories.md +17 -0
  29. package/example-custom-content/agents/toolsmith/toolsmith.agent.yaml +109 -0
  30. package/example-custom-content/custom.yaml +3 -0
  31. package/example-custom-content/workflows/quiz-master/steps/step-01-init.md +168 -0
  32. package/example-custom-content/workflows/quiz-master/steps/step-02-q1.md +155 -0
  33. package/example-custom-content/workflows/quiz-master/steps/step-03-q2.md +89 -0
  34. package/example-custom-content/workflows/quiz-master/steps/step-04-q3.md +36 -0
  35. package/example-custom-content/workflows/quiz-master/steps/step-05-q4.md +36 -0
  36. package/example-custom-content/workflows/quiz-master/steps/step-06-q5.md +36 -0
  37. package/example-custom-content/workflows/quiz-master/steps/step-07-q6.md +36 -0
  38. package/example-custom-content/workflows/quiz-master/steps/step-08-q7.md +36 -0
  39. package/example-custom-content/workflows/quiz-master/steps/step-09-q8.md +36 -0
  40. package/example-custom-content/workflows/quiz-master/steps/step-10-q9.md +36 -0
  41. package/example-custom-content/workflows/quiz-master/steps/step-11-q10.md +36 -0
  42. package/example-custom-content/workflows/quiz-master/steps/step-12-results.md +150 -0
  43. package/example-custom-content/workflows/quiz-master/templates/csv-headers.template +1 -0
  44. package/example-custom-content/workflows/quiz-master/workflow-plan-quiz-master.md +269 -0
  45. package/example-custom-content/workflows/quiz-master/workflow.md +54 -0
  46. package/example-custom-content/workflows/wassup/workflow.md +26 -0
  47. package/example-custom-module/mwm/README.md +4 -0
  48. package/example-custom-module/mwm/_module-installer/install-config.yaml +27 -0
  49. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach-sidecar/cognitive-distortions.md +47 -0
  50. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach-sidecar/thought-records.md +17 -0
  51. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach.agent.yaml +150 -0
  52. package/example-custom-module/mwm/agents/crisis-navigator.agent.yaml +137 -0
  53. package/example-custom-module/mwm/agents/meditation-guide.agent.yaml +137 -0
  54. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/insights.md +13 -0
  55. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/instructions.md +30 -0
  56. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/memories.md +13 -0
  57. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/patterns.md +17 -0
  58. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion.agent.yaml +124 -0
  59. package/example-custom-module/mwm/workflows/cbt-thought-record/README.md +31 -0
  60. package/example-custom-module/mwm/workflows/cbt-thought-record/workflow.md +45 -0
  61. package/example-custom-module/mwm/workflows/crisis-support/README.md +31 -0
  62. package/example-custom-module/mwm/workflows/crisis-support/workflow.md +45 -0
  63. package/example-custom-module/mwm/workflows/daily-checkin/README.md +32 -0
  64. package/example-custom-module/mwm/workflows/daily-checkin/workflow.md +45 -0
  65. package/example-custom-module/mwm/workflows/guided-meditation/README.md +31 -0
  66. package/example-custom-module/mwm/workflows/guided-meditation/workflow.md +45 -0
  67. package/example-custom-module/mwm/workflows/wellness-journal/README.md +31 -0
  68. package/example-custom-module/mwm/workflows/wellness-journal/workflow.md +45 -0
  69. package/package.json +9 -4
  70. package/src/core/_module-installer/install-config.yaml +5 -1
  71. package/src/core/agents/bmad-master.agent.yaml +1 -1
  72. package/src/core/agents/bmad-web-orchestrator.agent.xml +1 -1
  73. package/src/core/resources/excalidraw/library-loader.md +2 -2
  74. package/src/core/tasks/advanced-elicitation-methods.csv +51 -21
  75. package/src/core/tasks/advanced-elicitation.xml +18 -8
  76. package/src/core/tasks/workflow.xml +36 -71
  77. package/src/core/workflows/brainstorming/brain-methods.csv +62 -36
  78. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +196 -0
  79. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +121 -0
  80. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +224 -0
  81. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +236 -0
  82. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +208 -0
  83. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +263 -0
  84. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +339 -0
  85. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +302 -0
  86. package/src/core/workflows/brainstorming/template.md +13 -104
  87. package/src/core/workflows/brainstorming/workflow.md +51 -0
  88. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  89. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +203 -0
  90. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +158 -0
  91. package/src/core/workflows/party-mode/workflow.md +206 -0
  92. package/src/modules/bmb/README.md +153 -86
  93. package/src/modules/bmb/_module-installer/install-config.yaml +4 -9
  94. package/src/modules/bmb/_module-installer/installer.js +76 -0
  95. package/src/modules/bmb/agents/bmad-builder.agent.yaml +75 -38
  96. package/src/modules/bmb/docs/{agent-menu-patterns.md → agents/agent-menu-patterns.md} +6 -6
  97. package/src/modules/bmb/docs/{expert-agent-architecture.md → agents/expert-agent-architecture.md} +20 -20
  98. package/src/modules/bmb/docs/agents/kb.csv +0 -0
  99. package/src/modules/bmb/docs/{module-agent-architecture.md → agents/module-agent-architecture.md} +46 -46
  100. package/src/modules/bmb/docs/{simple-agent-architecture.md → agents/simple-agent-architecture.md} +7 -3
  101. package/src/modules/bmb/docs/workflows/architecture.md +220 -0
  102. package/src/modules/bmb/docs/workflows/common-workflow-tools.csv +19 -0
  103. package/src/modules/bmb/docs/workflows/csv-data-file-standards.md +206 -0
  104. package/src/modules/bmb/docs/workflows/index.md +45 -0
  105. package/src/modules/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -0
  106. package/src/modules/bmb/docs/workflows/kb.csv +0 -0
  107. package/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md +241 -0
  108. package/src/modules/bmb/docs/workflows/templates/step-1b-template.md +223 -0
  109. package/src/modules/bmb/docs/workflows/templates/step-file.md +139 -0
  110. package/src/modules/bmb/docs/workflows/templates/step-template.md +290 -0
  111. package/src/modules/bmb/docs/workflows/templates/workflow-template.md +104 -0
  112. package/src/modules/bmb/docs/workflows/templates/workflow.md +58 -0
  113. package/src/modules/bmb/docs/workflows/terms.md +97 -0
  114. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +4 -4
  115. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +8 -8
  116. package/src/modules/bmb/reference/agents/module-examples/README.md +1 -1
  117. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +7 -7
  118. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +7 -7
  119. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  120. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  121. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  122. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +176 -0
  123. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +120 -0
  124. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  125. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +153 -0
  126. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  127. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  128. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  129. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  130. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  131. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  132. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  133. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  134. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  135. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  136. package/src/modules/bmb/workflows/create-agent/data/info-and-installation-guide.md +29 -0
  137. package/src/modules/bmb/workflows/create-agent/data/reference/README.md +3 -0
  138. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md +242 -0
  139. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
  140. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
  141. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
  142. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
  143. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
  144. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/README.md +50 -0
  145. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
  146. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
  147. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/README.md +223 -0
  148. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
  149. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  150. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  151. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  152. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  153. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  154. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  155. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  156. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  157. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  158. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  159. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  160. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  161. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  162. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  163. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  164. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  165. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  166. package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +305 -0
  167. package/src/modules/bmb/workflows/create-agent/steps/step-01-brainstorm.md +145 -0
  168. package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +210 -0
  169. package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +260 -0
  170. package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +237 -0
  171. package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +231 -0
  172. package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +224 -0
  173. package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +234 -0
  174. package/src/modules/bmb/workflows/create-agent/steps/step-08-setup.md +179 -0
  175. package/src/modules/bmb/workflows/create-agent/steps/step-09-customize.md +197 -0
  176. package/src/modules/bmb/workflows/create-agent/steps/step-10-build-tools.md +180 -0
  177. package/src/modules/bmb/workflows/create-agent/steps/step-11-celebrate.md +222 -0
  178. package/src/modules/bmb/workflows/create-agent/templates/agent_commands.md +21 -0
  179. package/src/modules/bmb/workflows/create-agent/templates/agent_persona.md +25 -0
  180. package/src/modules/bmb/workflows/create-agent/templates/agent_purpose_and_type.md +23 -0
  181. package/src/modules/bmb/workflows/create-agent/workflow.md +91 -0
  182. package/src/modules/bmb/workflows/create-module/steps/step-01-init.md +155 -0
  183. package/src/modules/bmb/workflows/create-module/steps/step-01b-continue.md +169 -0
  184. package/src/modules/bmb/workflows/create-module/steps/step-02-concept.md +217 -0
  185. package/src/modules/bmb/workflows/create-module/steps/step-03-components.md +267 -0
  186. package/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +228 -0
  187. package/src/modules/bmb/workflows/create-module/steps/step-05-config.md +233 -0
  188. package/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +296 -0
  189. package/src/modules/bmb/workflows/create-module/steps/step-07-workflows.md +228 -0
  190. package/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +186 -0
  191. package/src/modules/bmb/workflows/create-module/steps/step-09-documentation.md +308 -0
  192. package/src/modules/bmb/workflows/create-module/steps/step-10-roadmap.md +336 -0
  193. package/src/modules/bmb/workflows/create-module/steps/step-11-validate.md +335 -0
  194. package/src/modules/bmb/workflows/create-module/templates/agent.template.md +317 -0
  195. package/src/modules/bmb/workflows/create-module/templates/install-config.template.yaml +53 -0
  196. package/src/modules/bmb/workflows/create-module/templates/installer.template.js +47 -0
  197. package/src/modules/bmb/workflows/create-module/templates/module-plan.template.md +5 -0
  198. package/src/modules/bmb/workflows/create-module/templates/workflow-plan-template.md +23 -0
  199. package/src/modules/bmb/workflows/create-module/validation.md +126 -0
  200. package/src/modules/bmb/workflows/create-module/workflow.md +55 -0
  201. package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +157 -0
  202. package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +211 -0
  203. package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +250 -0
  204. package/src/modules/bmb/workflows/create-workflow/steps/step-04-plan-review.md +216 -0
  205. package/src/modules/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +289 -0
  206. package/src/modules/bmb/workflows/create-workflow/steps/step-06-design.md +271 -0
  207. package/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md +308 -0
  208. package/src/modules/bmb/workflows/create-workflow/steps/step-08-review.md +284 -0
  209. package/src/modules/bmb/workflows/create-workflow/steps/step-09-complete.md +187 -0
  210. package/src/modules/bmb/workflows/create-workflow/workflow.md +58 -0
  211. package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +134 -0
  212. package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +202 -0
  213. package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +157 -0
  214. package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +150 -0
  215. package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +150 -0
  216. package/src/modules/bmb/workflows/edit-agent/workflow.md +58 -0
  217. package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +217 -0
  218. package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +253 -0
  219. package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +217 -0
  220. package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +193 -0
  221. package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +245 -0
  222. package/src/modules/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -0
  223. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -0
  224. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -0
  225. package/src/modules/bmb/workflows/edit-workflow/templates/validation-results.md +51 -0
  226. package/src/modules/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -0
  227. package/src/modules/bmb/workflows/edit-workflow/workflow.md +58 -0
  228. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +152 -0
  229. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +243 -0
  230. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +274 -0
  231. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +295 -0
  232. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +264 -0
  233. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +360 -0
  234. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +258 -0
  235. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +301 -0
  236. package/src/modules/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -0
  237. package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +58 -0
  238. package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/checklist.md +0 -1
  239. package/src/modules/bmgd/agents/game-architect.agent.yaml +1 -1
  240. package/src/modules/bmgd/agents/game-designer.agent.yaml +1 -1
  241. package/src/modules/bmgd/agents/game-dev.agent.yaml +1 -1
  242. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +1 -1
  243. package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +8 -8
  244. package/src/modules/bmm/_module-installer/install-config.yaml +10 -16
  245. package/src/modules/bmm/agents/analyst.agent.yaml +25 -22
  246. package/src/modules/bmm/agents/architect.agent.yaml +12 -14
  247. package/src/modules/bmm/agents/dev.agent.yaml +20 -16
  248. package/src/modules/bmm/agents/pm.agent.yaml +14 -32
  249. package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +36 -0
  250. package/src/modules/bmm/agents/sm.agent.yaml +13 -31
  251. package/src/modules/bmm/agents/tea.agent.yaml +10 -7
  252. package/src/modules/bmm/agents/tech-writer.agent.yaml +7 -20
  253. package/src/modules/bmm/agents/ux-designer.agent.yaml +12 -10
  254. package/src/modules/bmm/data/README.md +29 -0
  255. package/src/modules/bmm/data/project-context-template.md +40 -0
  256. package/src/modules/bmm/docs/README.md +44 -10
  257. package/src/modules/bmm/docs/agents-guide.md +80 -53
  258. package/src/modules/bmm/docs/bmad-quick-flow.md +528 -0
  259. package/src/modules/bmm/docs/brownfield-guide.md +25 -39
  260. package/src/modules/bmm/docs/enterprise-agentic-development.md +3 -3
  261. package/src/modules/bmm/docs/faq.md +6 -39
  262. package/src/modules/bmm/docs/glossary.md +12 -25
  263. package/src/modules/bmm/docs/images/README.md +37 -0
  264. package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +960 -1845
  265. package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +4 -2
  266. package/src/modules/bmm/docs/quick-flow-solo-dev.md +337 -0
  267. package/src/modules/bmm/docs/quick-spec-flow.md +5 -5
  268. package/src/modules/bmm/docs/quick-start.md +9 -25
  269. package/src/modules/bmm/docs/scale-adaptive-system.md +5 -5
  270. package/src/modules/bmm/docs/test-architecture.md +90 -24
  271. package/src/modules/bmm/docs/troubleshooting.md +680 -0
  272. package/src/modules/bmm/docs/workflow-document-project-reference.md +1 -1
  273. package/src/modules/bmm/docs/workflows-analysis.md +36 -140
  274. package/src/modules/bmm/docs/workflows-implementation.md +175 -160
  275. package/src/modules/bmm/docs/workflows-planning.md +51 -212
  276. package/src/modules/bmm/docs/workflows-solutioning.md +26 -71
  277. package/src/modules/bmm/tasks/daily-standup.xml +85 -0
  278. package/src/modules/bmm/teams/default-party.csv +15 -14
  279. package/src/modules/bmm/teams/team-fullstack.yaml +0 -1
  280. package/src/modules/bmm/testarch/knowledge/api-request.md +303 -0
  281. package/src/modules/bmm/testarch/knowledge/auth-session.md +356 -0
  282. package/src/modules/bmm/testarch/knowledge/burn-in.md +273 -0
  283. package/src/modules/bmm/testarch/knowledge/ci-burn-in.md +1 -1
  284. package/src/modules/bmm/testarch/knowledge/file-utils.md +260 -0
  285. package/src/modules/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  286. package/src/modules/bmm/testarch/knowledge/intercept-network-call.md +280 -0
  287. package/src/modules/bmm/testarch/knowledge/log.md +294 -0
  288. package/src/modules/bmm/testarch/knowledge/network-error-monitor.md +272 -0
  289. package/src/modules/bmm/testarch/knowledge/network-recorder.md +265 -0
  290. package/src/modules/bmm/testarch/knowledge/overview.md +284 -0
  291. package/src/modules/bmm/testarch/knowledge/recurse.md +296 -0
  292. package/src/modules/bmm/testarch/tea-index.csv +11 -0
  293. package/src/modules/bmm/workflows/1-analysis/product-brief/product-brief.template.md +8 -0
  294. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01-init.md +192 -0
  295. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01b-continue.md +167 -0
  296. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-02-vision.md +203 -0
  297. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-03-users.md +206 -0
  298. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-04-metrics.md +209 -0
  299. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-05-scope.md +223 -0
  300. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-06-complete.md +199 -0
  301. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.md +58 -0
  302. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +136 -0
  303. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +228 -0
  304. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +237 -0
  305. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +205 -0
  306. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +233 -0
  307. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +442 -0
  308. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +181 -0
  309. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +236 -0
  310. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +199 -0
  311. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +248 -0
  312. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +258 -0
  313. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +176 -0
  314. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +474 -0
  315. package/src/modules/bmm/workflows/1-analysis/research/research.template.md +15 -0
  316. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +136 -0
  317. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +238 -0
  318. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +247 -0
  319. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +201 -0
  320. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +238 -0
  321. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +485 -0
  322. package/src/modules/bmm/workflows/1-analysis/research/workflow.md +204 -0
  323. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +159 -0
  324. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +126 -0
  325. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +209 -0
  326. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +215 -0
  327. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +218 -0
  328. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +233 -0
  329. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +251 -0
  330. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +253 -0
  331. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +223 -0
  332. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +223 -0
  333. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +240 -0
  334. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +247 -0
  335. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +236 -0
  336. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +263 -0
  337. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +226 -0
  338. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +6 -138
  339. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +59 -0
  340. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +12 -200
  341. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +243 -0
  342. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +165 -0
  343. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +420 -0
  344. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +289 -0
  345. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +290 -0
  346. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +270 -0
  347. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +261 -0
  348. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +257 -0
  349. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +298 -0
  350. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +269 -0
  351. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +293 -0
  352. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +223 -0
  353. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +61 -0
  354. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-decision-template.md +13 -0
  355. package/src/modules/bmm/workflows/3-solutioning/architecture/data/domain-complexity.csv +11 -0
  356. package/src/modules/bmm/workflows/3-solutioning/architecture/data/project-types.csv +7 -0
  357. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01-init.md +194 -0
  358. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01b-continue.md +163 -0
  359. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-02-context.md +223 -0
  360. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-03-starter.md +330 -0
  361. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-04-decisions.md +317 -0
  362. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-05-patterns.md +358 -0
  363. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-06-structure.md +378 -0
  364. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-07-validation.md +358 -0
  365. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-08-complete.md +351 -0
  366. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.md +49 -0
  367. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +258 -0
  368. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +232 -0
  369. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +271 -0
  370. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +144 -0
  371. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  372. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -0
  373. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-01-document-discovery.md +189 -0
  374. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-02-prd-analysis.md +177 -0
  375. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-03-epic-coverage-validation.md +178 -0
  376. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-04-ux-alignment.md +138 -0
  377. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-05-epic-quality-review.md +251 -0
  378. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-06-final-assessment.md +132 -0
  379. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/templates/readiness-report-template.md +4 -0
  380. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.md +54 -0
  381. package/src/modules/bmm/workflows/4-implementation/code-review/checklist.md +2 -1
  382. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +224 -0
  383. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +4 -11
  384. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +332 -214
  385. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +354 -0
  386. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +21 -34
  387. package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +65 -23
  388. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +406 -0
  389. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +6 -37
  390. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +3 -3
  391. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +19 -21
  392. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +11 -10
  393. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +2 -0
  394. package/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md +174 -0
  395. package/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
  396. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md +115 -0
  397. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +26 -0
  398. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/checklist.md +25 -0
  399. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md +202 -0
  400. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +33 -0
  401. package/src/modules/bmm/workflows/document-project/instructions.md +1 -1
  402. package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +2 -2
  403. package/src/modules/bmm/workflows/generate-project-context/project-context-template.md +20 -0
  404. package/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md +193 -0
  405. package/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +317 -0
  406. package/src/modules/bmm/workflows/generate-project-context/steps/step-03-complete.md +277 -0
  407. package/src/modules/bmm/workflows/generate-project-context/workflow.md +48 -0
  408. package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +1 -1
  409. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +23 -3
  410. package/src/modules/bmm/workflows/testarch/automate/instructions.md +23 -2
  411. package/src/modules/bmm/workflows/testarch/ci/checklist.md +1 -1
  412. package/src/modules/bmm/workflows/testarch/ci/github-actions-template.yaml +36 -3
  413. package/src/modules/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +25 -4
  414. package/src/modules/bmm/workflows/testarch/ci/instructions.md +20 -3
  415. package/src/modules/bmm/workflows/testarch/framework/instructions.md +27 -1
  416. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +8 -2
  417. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +29 -9
  418. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +66 -54
  419. package/src/modules/bmm/workflows/workflow-status/instructions.md +11 -4
  420. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +4 -8
  421. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +4 -8
  422. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +4 -8
  423. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +4 -9
  424. package/src/modules/cis/agents/README.md +1 -1
  425. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +3 -2
  426. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +2 -1
  427. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +2 -1
  428. package/src/modules/cis/agents/innovation-strategist.agent.yaml +2 -1
  429. package/src/modules/cis/agents/presentation-master.agent.yaml +3 -2
  430. package/src/modules/cis/agents/storyteller.agent.yaml +2 -1
  431. package/src/modules/cis/teams/default-party.csv +6 -5
  432. package/src/utility/models/agent-activation-ide.xml +4 -4
  433. package/src/utility/models/agent-activation-web.xml +1 -11
  434. package/src/utility/models/fragments/activation-rules.xml +5 -6
  435. package/src/utility/models/fragments/handler-exec.xml +6 -5
  436. package/src/utility/models/fragments/handler-multi.xml +14 -0
  437. package/test/README.md +1 -1
  438. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -3
  439. package/tools/cli/README.md +4 -3
  440. package/tools/cli/bundlers/web-bundler.js +3 -14
  441. package/tools/cli/commands/build.js +9 -184
  442. package/tools/cli/commands/install.js +42 -2
  443. package/tools/cli/installers/lib/core/config-collector.js +94 -10
  444. package/tools/cli/installers/lib/core/installer.js +389 -55
  445. package/tools/cli/installers/lib/core/manifest-generator.js +91 -30
  446. package/tools/cli/installers/lib/core/post-install-sidecar-replacement.js +79 -0
  447. package/tools/cli/installers/lib/custom/handler.js +266 -0
  448. package/tools/cli/installers/lib/ide/_base-ide.js +10 -0
  449. package/tools/cli/installers/lib/ide/antigravity.js +51 -7
  450. package/tools/cli/installers/lib/ide/auggie.js +72 -7
  451. package/tools/cli/installers/lib/ide/claude-code.js +1 -6
  452. package/tools/cli/installers/lib/ide/cline.js +49 -0
  453. package/tools/cli/installers/lib/ide/codex.js +2 -2
  454. package/tools/cli/installers/lib/ide/crush.js +66 -6
  455. package/tools/cli/installers/lib/ide/cursor.js +29 -13
  456. package/tools/cli/installers/lib/ide/gemini.js +96 -1
  457. package/tools/cli/installers/lib/ide/github-copilot.js +59 -48
  458. package/tools/cli/installers/lib/ide/iflow.js +67 -1
  459. package/tools/cli/installers/lib/ide/kilo.js +74 -0
  460. package/tools/cli/installers/lib/ide/kiro-cli.js +327 -0
  461. package/tools/cli/installers/lib/ide/opencode.js +3 -3
  462. package/tools/cli/installers/lib/ide/qwen.js +54 -0
  463. package/tools/cli/installers/lib/ide/roo.js +145 -138
  464. package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
  465. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +8 -2
  466. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +34 -19
  467. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +18 -14
  468. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
  469. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
  470. package/tools/cli/installers/lib/ide/trae.js +47 -0
  471. package/tools/cli/installers/lib/modules/manager.js +486 -53
  472. package/tools/cli/lib/agent/compiler.js +210 -27
  473. package/tools/cli/lib/agent/installer.js +140 -30
  474. package/tools/cli/lib/agent-analyzer.js +46 -18
  475. package/tools/cli/lib/config.js +2 -1
  476. package/tools/cli/lib/ui.js +269 -13
  477. package/tools/cli/lib/yaml-xml-builder.js +123 -39
  478. package/tools/platform-codes.yaml +12 -0
  479. package/tools/schema/agent.js +229 -20
  480. package/tools/validate-svg-changes.sh +356 -0
  481. package/src/core/tasks/adv-elicit-methods.csv +0 -39
  482. package/src/core/workflows/brainstorming/README.md +0 -261
  483. package/src/core/workflows/brainstorming/instructions.md +0 -315
  484. package/src/core/workflows/brainstorming/workflow.yaml +0 -38
  485. package/src/core/workflows/party-mode/instructions.md +0 -183
  486. package/src/core/workflows/party-mode/workflow.yaml +0 -28
  487. package/src/modules/bmb/workflows/audit-workflow/checklist.md +0 -142
  488. package/src/modules/bmb/workflows/audit-workflow/instructions.md +0 -341
  489. package/src/modules/bmb/workflows/audit-workflow/template.md +0 -118
  490. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +0 -25
  491. package/src/modules/bmb/workflows/convert-legacy/README.md +0 -262
  492. package/src/modules/bmb/workflows/convert-legacy/checklist.md +0 -205
  493. package/src/modules/bmb/workflows/convert-legacy/instructions.md +0 -377
  494. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +0 -30
  495. package/src/modules/bmb/workflows/create-agent/instructions.md +0 -519
  496. package/src/modules/bmb/workflows/create-agent/workflow.yaml +0 -55
  497. package/src/modules/bmb/workflows/create-module/README.md +0 -229
  498. package/src/modules/bmb/workflows/create-module/brainstorm-context.md +0 -137
  499. package/src/modules/bmb/workflows/create-module/checklist.md +0 -235
  500. package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +0 -92
  501. package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +0 -231
  502. package/src/modules/bmb/workflows/create-module/instructions.md +0 -577
  503. package/src/modules/bmb/workflows/create-module/module-structure.md +0 -400
  504. package/src/modules/bmb/workflows/create-module/workflow.yaml +0 -52
  505. package/src/modules/bmb/workflows/create-workflow/README.md +0 -277
  506. package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
  507. package/src/modules/bmb/workflows/create-workflow/checklist.md +0 -94
  508. package/src/modules/bmb/workflows/create-workflow/instructions.md +0 -725
  509. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1327
  510. package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
  511. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -15
  512. package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
  513. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -61
  514. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +0 -41
  515. package/src/modules/bmb/workflows/edit-agent/README.md +0 -239
  516. package/src/modules/bmb/workflows/edit-agent/instructions.md +0 -654
  517. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +0 -49
  518. package/src/modules/bmb/workflows/edit-workflow/README.md +0 -119
  519. package/src/modules/bmb/workflows/edit-workflow/checklist.md +0 -70
  520. package/src/modules/bmb/workflows/edit-workflow/instructions.md +0 -342
  521. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +0 -27
  522. package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +0 -22
  523. package/src/modules/bmm/_module-installer/assets/bmm-kb.md +0 -1
  524. package/src/modules/bmm/_module-installer/assets/technical-decisions.md +0 -30
  525. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +0 -112
  526. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +0 -25
  527. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +0 -39
  528. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +0 -425
  529. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +0 -180
  530. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +0 -56
  531. package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +0 -115
  532. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +0 -524
  533. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +0 -181
  534. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +0 -61
  535. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +0 -144
  536. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +0 -249
  537. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +0 -299
  538. package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +0 -114
  539. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +0 -438
  540. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +0 -675
  541. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +0 -134
  542. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +0 -534
  543. package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +0 -94
  544. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +0 -347
  545. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +0 -245
  546. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +0 -62
  547. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +0 -310
  548. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +0 -1308
  549. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +0 -93
  550. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +0 -346
  551. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +0 -703
  552. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +0 -78
  553. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +0 -217
  554. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -74
  555. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +0 -436
  556. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +0 -980
  557. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +0 -181
  558. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +0 -90
  559. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +0 -60
  560. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -321
  561. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +0 -103
  562. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +0 -240
  563. package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +0 -222
  564. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +0 -768
  565. package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +0 -13
  566. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +0 -100
  567. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/epics-template.md +0 -80
  568. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/instructions.md +0 -616
  569. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.yaml +0 -63
  570. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/checklist.md +0 -169
  571. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +0 -332
  572. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/template.md +0 -146
  573. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +0 -64
  574. package/src/modules/bmm/workflows/4-implementation/code-review/backlog_template.md +0 -12
  575. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +0 -398
  576. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +0 -256
  577. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +0 -267
  578. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +0 -17
  579. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +0 -164
  580. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/template.md +0 -76
  581. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +0 -58
  582. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +0 -16
  583. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +0 -34
  584. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +0 -209
  585. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +0 -63
  586. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +0 -111
  587. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +0 -28
  588. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +0 -117
  589. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +0 -25
  590. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +0 -58
  591. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +0 -47
  592. package/tools/cli/commands/agent-install.js +0 -409
  593. /package/src/modules/bmb/docs/{agent-compilation.md → agents/agent-compilation.md} +0 -0
  594. /package/src/modules/bmb/docs/{index.md → agents/index.md} +0 -0
  595. /package/src/modules/bmb/docs/{understanding-agent-types.md → agents/understanding-agent-types.md} +0 -0
  596. /package/src/modules/bmb/reference/{readme.md → README.md} +0 -0
  597. /package/src/modules/bmb/workflows/create-agent/{agent-validation-checklist.md → data/agent-validation-checklist.md} +0 -0
  598. /package/src/modules/bmb/workflows/create-agent/{brainstorm-context.md → data/brainstorm-context.md} +0 -0
  599. /package/src/modules/bmb/workflows/create-agent/{communication-presets.csv → data/communication-presets.csv} +0 -0
  600. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/README.md +0 -0
  601. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/instructions.md +0 -0
  602. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/workflow.yaml +0 -0
  603. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/README.md +0 -0
  604. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/checklist.md +0 -0
  605. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/instructions.md +0 -0
  606. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/template.md +0 -0
  607. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/workflow.yaml +0 -0
  608. /package/src/modules/bmm/{workflows/techdoc → data}/documentation-standards.md +0 -0
@@ -0,0 +1,260 @@
1
+ # File Utilities
2
+
3
+ ## Principle
4
+
5
+ Read and validate files (CSV, XLSX, PDF, ZIP) with automatic parsing, type-safe results, and download handling. Simplify file operations in Playwright tests with built-in format support and validation helpers.
6
+
7
+ ## Rationale
8
+
9
+ Testing file operations in Playwright requires boilerplate:
10
+
11
+ - Manual download handling
12
+ - External parsing libraries for each format
13
+ - No validation helpers
14
+ - Type-unsafe results
15
+ - Repetitive path handling
16
+
17
+ The `file-utils` module provides:
18
+
19
+ - **Auto-parsing**: CSV, XLSX, PDF, ZIP automatically parsed
20
+ - **Download handling**: Single function for UI or API-triggered downloads
21
+ - **Type-safe**: TypeScript interfaces for parsed results
22
+ - **Validation helpers**: Row count, header checks, content validation
23
+ - **Format support**: Multiple sheet support (XLSX), text extraction (PDF), archive extraction (ZIP)
24
+
25
+ ## Pattern Examples
26
+
27
+ ### Example 1: UI-Triggered CSV Download
28
+
29
+ **Context**: User clicks button, CSV downloads, validate contents.
30
+
31
+ **Implementation**:
32
+
33
+ ```typescript
34
+ import { handleDownload, readCSV } from '@seontechnologies/playwright-utils/file-utils';
35
+ import path from 'node:path';
36
+
37
+ const DOWNLOAD_DIR = path.join(__dirname, '../downloads');
38
+
39
+ test('should download and validate CSV', async ({ page }) => {
40
+ const downloadPath = await handleDownload({
41
+ page,
42
+ downloadDir: DOWNLOAD_DIR,
43
+ trigger: () => page.click('[data-testid="export-csv"]'),
44
+ });
45
+
46
+ const { content } = await readCSV({ filePath: downloadPath });
47
+
48
+ // Validate headers
49
+ expect(content.headers).toEqual(['ID', 'Name', 'Email', 'Role']);
50
+
51
+ // Validate data
52
+ expect(content.data).toHaveLength(10);
53
+ expect(content.data[0]).toMatchObject({
54
+ ID: expect.any(String),
55
+ Name: expect.any(String),
56
+ Email: expect.stringMatching(/@/),
57
+ });
58
+ });
59
+ ```
60
+
61
+ **Key Points**:
62
+
63
+ - `handleDownload` waits for download, returns file path
64
+ - `readCSV` auto-parses to `{ headers, data }`
65
+ - Type-safe access to parsed content
66
+ - Clean up downloads in `afterEach`
67
+
68
+ ### Example 2: XLSX with Multiple Sheets
69
+
70
+ **Context**: Excel file with multiple sheets (e.g., Summary, Details, Errors).
71
+
72
+ **Implementation**:
73
+
74
+ ```typescript
75
+ import { readXLSX } from '@seontechnologies/playwright-utils/file-utils';
76
+
77
+ test('should read multi-sheet XLSX', async () => {
78
+ const downloadPath = await handleDownload({
79
+ page,
80
+ downloadDir: DOWNLOAD_DIR,
81
+ trigger: () => page.click('[data-testid="export-xlsx"]'),
82
+ });
83
+
84
+ const { content } = await readXLSX({ filePath: downloadPath });
85
+
86
+ // Access specific sheets
87
+ const summarySheet = content.sheets.find((s) => s.name === 'Summary');
88
+ const detailsSheet = content.sheets.find((s) => s.name === 'Details');
89
+
90
+ // Validate summary
91
+ expect(summarySheet.data).toHaveLength(1);
92
+ expect(summarySheet.data[0].TotalRecords).toBe('150');
93
+
94
+ // Validate details
95
+ expect(detailsSheet.data).toHaveLength(150);
96
+ expect(detailsSheet.headers).toContain('TransactionID');
97
+ });
98
+ ```
99
+
100
+ **Key Points**:
101
+
102
+ - `sheets` array with `name` and `data` properties
103
+ - Access sheets by name
104
+ - Each sheet has its own headers and data
105
+ - Type-safe sheet iteration
106
+
107
+ ### Example 3: PDF Text Extraction
108
+
109
+ **Context**: Validate PDF report contains expected content.
110
+
111
+ **Implementation**:
112
+
113
+ ```typescript
114
+ import { readPDF } from '@seontechnologies/playwright-utils/file-utils';
115
+
116
+ test('should validate PDF report', async () => {
117
+ const downloadPath = await handleDownload({
118
+ page,
119
+ downloadDir: DOWNLOAD_DIR,
120
+ trigger: () => page.click('[data-testid="download-report"]'),
121
+ });
122
+
123
+ const { content } = await readPDF({ filePath: downloadPath });
124
+
125
+ // content.text is extracted text from all pages
126
+ expect(content.text).toContain('Financial Report Q4 2024');
127
+ expect(content.text).toContain('Total Revenue:');
128
+
129
+ // Validate page count
130
+ expect(content.numpages).toBeGreaterThan(10);
131
+ });
132
+ ```
133
+
134
+ **Key Points**:
135
+
136
+ - `content.text` contains all extracted text
137
+ - `content.numpages` for page count
138
+ - PDF parsing handles multi-page documents
139
+ - Search for specific phrases
140
+
141
+ ### Example 4: ZIP Archive Validation
142
+
143
+ **Context**: Validate ZIP contains expected files and extract specific file.
144
+
145
+ **Implementation**:
146
+
147
+ ```typescript
148
+ import { readZIP } from '@seontechnologies/playwright-utils/file-utils';
149
+
150
+ test('should validate ZIP archive', async () => {
151
+ const downloadPath = await handleDownload({
152
+ page,
153
+ downloadDir: DOWNLOAD_DIR,
154
+ trigger: () => page.click('[data-testid="download-backup"]'),
155
+ });
156
+
157
+ const { content } = await readZIP({ filePath: downloadPath });
158
+
159
+ // Check file list
160
+ expect(content.files).toContain('data.csv');
161
+ expect(content.files).toContain('config.json');
162
+ expect(content.files).toContain('readme.txt');
163
+
164
+ // Read specific file from archive
165
+ const configContent = content.zip.readAsText('config.json');
166
+ const config = JSON.parse(configContent);
167
+
168
+ expect(config.version).toBe('2.0');
169
+ });
170
+ ```
171
+
172
+ **Key Points**:
173
+
174
+ - `content.files` lists all files in archive
175
+ - `content.zip.readAsText()` extracts specific files
176
+ - Validate archive structure
177
+ - Read and parse individual files from ZIP
178
+
179
+ ### Example 5: API-Triggered Download
180
+
181
+ **Context**: API endpoint returns file download (not UI click).
182
+
183
+ **Implementation**:
184
+
185
+ ```typescript
186
+ test('should download via API', async ({ page, request }) => {
187
+ const downloadPath = await handleDownload({
188
+ page,
189
+ downloadDir: DOWNLOAD_DIR,
190
+ trigger: async () => {
191
+ const response = await request.get('/api/export/csv', {
192
+ headers: { Authorization: 'Bearer token' },
193
+ });
194
+
195
+ if (!response.ok()) {
196
+ throw new Error(`Export failed: ${response.status()}`);
197
+ }
198
+ },
199
+ });
200
+
201
+ const { content } = await readCSV({ filePath: downloadPath });
202
+
203
+ expect(content.data).toHaveLength(100);
204
+ });
205
+ ```
206
+
207
+ **Key Points**:
208
+
209
+ - `trigger` can be async API call
210
+ - API must return `Content-Disposition` header
211
+ - Still need `page` for download events
212
+ - Works with authenticated endpoints
213
+
214
+ ## Validation Helpers
215
+
216
+ ```typescript
217
+ // CSV validation
218
+ const { isValid, errors } = await validateCSV({
219
+ filePath: downloadPath,
220
+ expectedRowCount: 10,
221
+ requiredHeaders: ['ID', 'Name', 'Email'],
222
+ });
223
+
224
+ expect(isValid).toBe(true);
225
+ expect(errors).toHaveLength(0);
226
+ ```
227
+
228
+ ## Download Cleanup Pattern
229
+
230
+ ```typescript
231
+ test.afterEach(async () => {
232
+ // Clean up downloaded files
233
+ await fs.remove(DOWNLOAD_DIR);
234
+ });
235
+ ```
236
+
237
+ ## Related Fragments
238
+
239
+ - `overview.md` - Installation and imports
240
+ - `api-request.md` - API-triggered downloads
241
+ - `recurse.md` - Poll for file generation completion
242
+
243
+ ## Anti-Patterns
244
+
245
+ **❌ Not cleaning up downloads:**
246
+
247
+ ```typescript
248
+ test('creates file', async () => {
249
+ await handleDownload({ ... })
250
+ // File left in downloads folder
251
+ })
252
+ ```
253
+
254
+ **✅ Clean up after tests:**
255
+
256
+ ```typescript
257
+ test.afterEach(async () => {
258
+ await fs.remove(DOWNLOAD_DIR);
259
+ });
260
+ ```
@@ -0,0 +1,382 @@
1
+ # Fixtures Composition with mergeTests
2
+
3
+ ## Principle
4
+
5
+ Combine multiple Playwright fixtures using `mergeTests` to create a unified test object with all capabilities. Build composable test infrastructure by merging playwright-utils fixtures with custom project fixtures.
6
+
7
+ ## Rationale
8
+
9
+ Using fixtures from multiple sources requires combining them:
10
+
11
+ - Importing from multiple fixture files is verbose
12
+ - Name conflicts between fixtures
13
+ - Duplicate fixture definitions
14
+ - No clear single test object
15
+
16
+ Playwright's `mergeTests` provides:
17
+
18
+ - **Single test object**: All fixtures in one import
19
+ - **Conflict resolution**: Handles name collisions automatically
20
+ - **Composition pattern**: Mix utilities, custom fixtures, third-party fixtures
21
+ - **Type safety**: Full TypeScript support for merged fixtures
22
+ - **Maintainability**: One place to manage all fixtures
23
+
24
+ ## Pattern Examples
25
+
26
+ ### Example 1: Basic Fixture Merging
27
+
28
+ **Context**: Combine multiple playwright-utils fixtures into single test object.
29
+
30
+ **Implementation**:
31
+
32
+ ```typescript
33
+ // playwright/support/merged-fixtures.ts
34
+ import { mergeTests } from '@playwright/test';
35
+ import { test as apiRequestFixture } from '@seontechnologies/playwright-utils/api-request/fixtures';
36
+ import { test as authFixture } from '@seontechnologies/playwright-utils/auth-session/fixtures';
37
+ import { test as recurseFixture } from '@seontechnologies/playwright-utils/recurse/fixtures';
38
+
39
+ // Merge all fixtures
40
+ export const test = mergeTests(apiRequestFixture, authFixture, recurseFixture);
41
+
42
+ export { expect } from '@playwright/test';
43
+ ```
44
+
45
+ ```typescript
46
+ // In your tests - import from merged fixtures
47
+ import { test, expect } from '../support/merged-fixtures';
48
+
49
+ test('all utilities available', async ({
50
+ apiRequest, // From api-request fixture
51
+ authToken, // From auth fixture
52
+ recurse, // From recurse fixture
53
+ }) => {
54
+ // All fixtures available in single test signature
55
+ const { body } = await apiRequest({
56
+ method: 'GET',
57
+ path: '/api/protected',
58
+ headers: { Authorization: `Bearer ${authToken}` },
59
+ });
60
+
61
+ await recurse(
62
+ () => apiRequest({ method: 'GET', path: `/status/${body.id}` }),
63
+ (res) => res.body.ready === true,
64
+ );
65
+ });
66
+ ```
67
+
68
+ **Key Points**:
69
+
70
+ - Create one `merged-fixtures.ts` per project
71
+ - Import test object from merged fixtures in all test files
72
+ - All utilities available without multiple imports
73
+ - Type-safe access to all fixtures
74
+
75
+ ### Example 2: Combining with Custom Fixtures
76
+
77
+ **Context**: Add project-specific fixtures alongside playwright-utils.
78
+
79
+ **Implementation**:
80
+
81
+ ```typescript
82
+ // playwright/support/custom-fixtures.ts - Your project fixtures
83
+ import { test as base } from '@playwright/test';
84
+ import { createUser } from './factories/user-factory';
85
+ import { seedDatabase } from './helpers/db-seeder';
86
+
87
+ export const test = base.extend({
88
+ // Custom fixture 1: Auto-seeded user
89
+ testUser: async ({ request }, use) => {
90
+ const user = await createUser({ role: 'admin' });
91
+ await seedDatabase('users', [user]);
92
+ await use(user);
93
+ // Cleanup happens automatically
94
+ },
95
+
96
+ // Custom fixture 2: Database helpers
97
+ db: async ({}, use) => {
98
+ await use({
99
+ seed: seedDatabase,
100
+ clear: () => seedDatabase.truncate(),
101
+ });
102
+ },
103
+ });
104
+
105
+ // playwright/support/merged-fixtures.ts - Combine everything
106
+ import { mergeTests } from '@playwright/test';
107
+ import { test as apiRequestFixture } from '@seontechnologies/playwright-utils/api-request/fixtures';
108
+ import { test as authFixture } from '@seontechnologies/playwright-utils/auth-session/fixtures';
109
+ import { test as customFixtures } from './custom-fixtures';
110
+
111
+ export const test = mergeTests(
112
+ apiRequestFixture,
113
+ authFixture,
114
+ customFixtures, // Your project fixtures
115
+ );
116
+
117
+ export { expect } from '@playwright/test';
118
+ ```
119
+
120
+ ```typescript
121
+ // In tests - all fixtures available
122
+ import { test, expect } from '../support/merged-fixtures';
123
+
124
+ test('using mixed fixtures', async ({
125
+ apiRequest, // playwright-utils
126
+ authToken, // playwright-utils
127
+ testUser, // custom
128
+ db, // custom
129
+ }) => {
130
+ // Use playwright-utils
131
+ const { body } = await apiRequest({
132
+ method: 'GET',
133
+ path: `/api/users/${testUser.id}`,
134
+ headers: { Authorization: `Bearer ${authToken}` },
135
+ });
136
+
137
+ // Use custom fixture
138
+ await db.clear();
139
+ });
140
+ ```
141
+
142
+ **Key Points**:
143
+
144
+ - Custom fixtures extend `base` test
145
+ - Merge custom with playwright-utils fixtures
146
+ - All available in one test signature
147
+ - Maintainable separation of concerns
148
+
149
+ ### Example 3: Full Utility Suite Integration
150
+
151
+ **Context**: Production setup with all core playwright-utils and custom fixtures.
152
+
153
+ **Implementation**:
154
+
155
+ ```typescript
156
+ // playwright/support/merged-fixtures.ts
157
+ import { mergeTests } from '@playwright/test';
158
+
159
+ // Playwright utils fixtures
160
+ import { test as apiRequestFixture } from '@seontechnologies/playwright-utils/api-request/fixtures';
161
+ import { test as authFixture } from '@seontechnologies/playwright-utils/auth-session/fixtures';
162
+ import { test as interceptFixture } from '@seontechnologies/playwright-utils/intercept-network-call/fixtures';
163
+ import { test as recurseFixture } from '@seontechnologies/playwright-utils/recurse/fixtures';
164
+ import { test as networkRecorderFixture } from '@seontechnologies/playwright-utils/network-recorder/fixtures';
165
+
166
+ // Custom project fixtures
167
+ import { test as customFixtures } from './custom-fixtures';
168
+
169
+ // Merge everything
170
+ export const test = mergeTests(apiRequestFixture, authFixture, interceptFixture, recurseFixture, networkRecorderFixture, customFixtures);
171
+
172
+ export { expect } from '@playwright/test';
173
+ ```
174
+
175
+ ```typescript
176
+ // In tests
177
+ import { test, expect } from '../support/merged-fixtures';
178
+
179
+ test('full integration', async ({
180
+ page,
181
+ context,
182
+ apiRequest,
183
+ authToken,
184
+ interceptNetworkCall,
185
+ recurse,
186
+ networkRecorder,
187
+ testUser, // custom
188
+ }) => {
189
+ // All utilities + custom fixtures available
190
+ await networkRecorder.setup(context);
191
+
192
+ const usersCall = interceptNetworkCall({ url: '**/api/users' });
193
+
194
+ await page.goto('/users');
195
+ const { responseJson } = await usersCall;
196
+
197
+ expect(responseJson).toContainEqual(expect.objectContaining({ id: testUser.id }));
198
+ });
199
+ ```
200
+
201
+ **Key Points**:
202
+
203
+ - One merged-fixtures.ts for entire project
204
+ - Combine all playwright-utils you use
205
+ - Add custom project fixtures
206
+ - Single import in all test files
207
+
208
+ ### Example 4: Fixture Override Pattern
209
+
210
+ **Context**: Override default options for specific test files or describes.
211
+
212
+ **Implementation**:
213
+
214
+ ```typescript
215
+ import { test, expect } from '../support/merged-fixtures';
216
+
217
+ // Override auth options for entire file
218
+ test.use({
219
+ authOptions: {
220
+ userIdentifier: 'admin',
221
+ environment: 'staging',
222
+ },
223
+ });
224
+
225
+ test('uses admin on staging', async ({ authToken }) => {
226
+ // Token is for admin user on staging environment
227
+ });
228
+
229
+ // Override for specific describe block
230
+ test.describe('manager tests', () => {
231
+ test.use({
232
+ authOptions: {
233
+ userIdentifier: 'manager',
234
+ },
235
+ });
236
+
237
+ test('manager can access reports', async ({ page }) => {
238
+ // Uses manager token
239
+ await page.goto('/reports');
240
+ });
241
+ });
242
+ ```
243
+
244
+ **Key Points**:
245
+
246
+ - `test.use()` overrides fixture options
247
+ - Can override at file or describe level
248
+ - Options merge with defaults
249
+ - Type-safe overrides
250
+
251
+ ### Example 5: Avoiding Fixture Conflicts
252
+
253
+ **Context**: Handle name collisions when merging fixtures with same names.
254
+
255
+ **Implementation**:
256
+
257
+ ```typescript
258
+ // If two fixtures have same name, last one wins
259
+ import { test as fixture1 } from './fixture1'; // has 'user' fixture
260
+ import { test as fixture2 } from './fixture2'; // also has 'user' fixture
261
+
262
+ const test = mergeTests(fixture1, fixture2);
263
+ // fixture2's 'user' overrides fixture1's 'user'
264
+
265
+ // Better: Rename fixtures before merging
266
+ import { test as base } from '@playwright/test';
267
+ import { test as fixture1 } from './fixture1';
268
+
269
+ const fixture1Renamed = base.extend({
270
+ user1: fixture1._extend.user, // Rename to avoid conflict
271
+ });
272
+
273
+ const test = mergeTests(fixture1Renamed, fixture2);
274
+ // Now both 'user1' and 'user' available
275
+
276
+ // Best: Design fixtures without conflicts
277
+ // - Prefix custom fixtures: 'myAppUser', 'myAppDb'
278
+ // - Playwright-utils uses descriptive names: 'apiRequest', 'authToken'
279
+ ```
280
+
281
+ **Key Points**:
282
+
283
+ - Last fixture wins in conflicts
284
+ - Rename fixtures to avoid collisions
285
+ - Design fixtures with unique names
286
+ - Playwright-utils uses descriptive names (no conflicts)
287
+
288
+ ## Recommended Project Structure
289
+
290
+ ```
291
+ playwright/
292
+ ├── support/
293
+ │ ├── merged-fixtures.ts # ⭐ Single test object for project
294
+ │ ├── custom-fixtures.ts # Your project-specific fixtures
295
+ │ ├── auth/
296
+ │ │ ├── auth-fixture.ts # Auth wrapper (if needed)
297
+ │ │ └── custom-auth-provider.ts
298
+ │ ├── fixtures/
299
+ │ │ ├── user-fixture.ts
300
+ │ │ ├── db-fixture.ts
301
+ │ │ └── api-fixture.ts
302
+ │ └── utils/
303
+ │ └── factories/
304
+ └── tests/
305
+ ├── api/
306
+ │ └── users.spec.ts # import { test } from '../../support/merged-fixtures'
307
+ ├── e2e/
308
+ │ └── login.spec.ts # import { test } from '../../support/merged-fixtures'
309
+ └── component/
310
+ └── button.spec.ts # import { test } from '../../support/merged-fixtures'
311
+ ```
312
+
313
+ ## Benefits of Fixture Composition
314
+
315
+ **Compared to direct imports:**
316
+
317
+ ```typescript
318
+ // ❌ Without mergeTests (verbose)
319
+ import { test as base } from '@playwright/test';
320
+ import { apiRequest } from '@seontechnologies/playwright-utils/api-request';
321
+ import { getAuthToken } from './auth';
322
+ import { createUser } from './factories';
323
+
324
+ test('verbose', async ({ request }) => {
325
+ const token = await getAuthToken();
326
+ const user = await createUser();
327
+ const response = await apiRequest({ request, method: 'GET', path: '/api/users' });
328
+ // Manual wiring everywhere
329
+ });
330
+
331
+ // ✅ With mergeTests (clean)
332
+ import { test } from '../support/merged-fixtures';
333
+
334
+ test('clean', async ({ apiRequest, authToken, testUser }) => {
335
+ const { body } = await apiRequest({ method: 'GET', path: '/api/users' });
336
+ // All fixtures auto-wired
337
+ });
338
+ ```
339
+
340
+ **Reduction:** ~10 lines per test → ~2 lines
341
+
342
+ ## Related Fragments
343
+
344
+ - `overview.md` - Installation and design principles
345
+ - `api-request.md`, `auth-session.md`, `recurse.md` - Utilities to merge
346
+ - `network-recorder.md`, `intercept-network-call.md`, `log.md` - Additional utilities
347
+
348
+ ## Anti-Patterns
349
+
350
+ **❌ Importing test from multiple fixture files:**
351
+
352
+ ```typescript
353
+ import { test } from '@seontechnologies/playwright-utils/api-request/fixtures';
354
+ // Also need auth...
355
+ import { test as authTest } from '@seontechnologies/playwright-utils/auth-session/fixtures';
356
+ // Name conflict! Which test to use?
357
+ ```
358
+
359
+ **✅ Use merged fixtures:**
360
+
361
+ ```typescript
362
+ import { test } from '../support/merged-fixtures';
363
+ // All utilities available, no conflicts
364
+ ```
365
+
366
+ **❌ Merging too many fixtures (kitchen sink):**
367
+
368
+ ```typescript
369
+ // Merging 20+ fixtures makes test signature huge
370
+ const test = mergeTests(...20 different fixtures)
371
+
372
+ test('my test', async ({ fixture1, fixture2, ..., fixture20 }) => {
373
+ // Cognitive overload
374
+ })
375
+ ```
376
+
377
+ **✅ Merge only what you actually use:**
378
+
379
+ ```typescript
380
+ // Merge the 4-6 fixtures your project actually needs
381
+ const test = mergeTests(apiRequestFixture, authFixture, recurseFixture, customFixtures);
382
+ ```