bmad-method 6.0.0-alpha.22 → 6.0.0-alpha.23

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 (668) hide show
  1. package/.coderabbit.yaml +2 -2
  2. package/.github/workflows/docs.yaml +3 -12
  3. package/CHANGELOG.md +153 -0
  4. package/CNAME +1 -0
  5. package/CONTRIBUTING.md +9 -7
  6. package/README.md +40 -198
  7. package/docs/404.md +9 -0
  8. package/docs/{modules/bmm-bmad-method/images/README.md → _README_WORKFLOW_DIAGRAMS.md} +4 -1
  9. package/docs/_STYLE_GUIDE.md +347 -0
  10. package/docs/_archive/getting-started-bmadv4.md +247 -0
  11. package/{website/src/pages → docs}/downloads.md +17 -11
  12. package/docs/{modules/bmm-bmad-method/quick-flow-solo-dev.md → explanation/agents/barry-quick-flow.md} +18 -15
  13. package/docs/explanation/agents/index.md +28 -0
  14. package/docs/explanation/architecture/four-phases.md +126 -0
  15. package/docs/explanation/architecture/preventing-agent-conflicts.md +138 -0
  16. package/docs/explanation/architecture/why-solutioning-matters.md +91 -0
  17. package/docs/{modules/bmb-bmad-builder/custom-content.md → explanation/bmad-builder/custom-content-types.md} +17 -18
  18. package/docs/explanation/bmad-builder/index.md +66 -0
  19. package/docs/{modules/bmm-bmad-method → explanation/bmm}/index.md +27 -22
  20. package/docs/explanation/core/index.md +18 -0
  21. package/docs/explanation/core-concepts/agent-roles.md +204 -0
  22. package/docs/explanation/core-concepts/index.md +40 -0
  23. package/docs/{bmad-core-concepts/agents.md → explanation/core-concepts/what-are-agents.md} +8 -5
  24. package/docs/{bmad-core-concepts/modules.md → explanation/core-concepts/what-are-modules.md} +12 -9
  25. package/docs/explanation/core-concepts/what-are-workflows.md +217 -0
  26. package/docs/{modules/cis-creative-intelligence-suite → explanation/creative-intelligence}/index.md +26 -54
  27. package/docs/explanation/faq/brownfield-faq.md +73 -0
  28. package/docs/explanation/faq/getting-started-faq.md +62 -0
  29. package/docs/explanation/faq/implementation-faq.md +52 -0
  30. package/docs/explanation/faq/index.md +16 -0
  31. package/docs/explanation/faq/levels-and-tracks-faq.md +52 -0
  32. package/docs/explanation/faq/planning-faq.md +41 -0
  33. package/docs/explanation/faq/tools-faq.md +253 -0
  34. package/docs/explanation/faq/workflows-faq.md +61 -0
  35. package/docs/{modules/core → explanation/features}/advanced-elicitation.md +5 -2
  36. package/docs/{modules/core/brainstorming.md → explanation/features/brainstorming-techniques.md} +4 -1
  37. package/docs/{modules/bmm-bmad-method → explanation/features}/party-mode.md +7 -9
  38. package/docs/explanation/features/quick-flow.md +169 -0
  39. package/docs/{modules/bmm-bmad-method/test-architecture.md → explanation/features/tea-overview.md} +144 -98
  40. package/docs/{bmad-core-concepts/web-bundles/index.md → explanation/features/web-bundles.md} +6 -5
  41. package/docs/{modules/bmgd-bmad-game-dev/agents-guide.md → explanation/game-dev/agents.md} +8 -5
  42. package/docs/explanation/game-dev/bmgd-vs-bmm.md +150 -0
  43. package/docs/{modules/bmgd-bmad-game-dev/game-types-guide.md → explanation/game-dev/game-types.md} +7 -4
  44. package/docs/explanation/game-dev/index.md +85 -0
  45. package/docs/explanation/philosophy/facilitation-over-generation.md +121 -0
  46. package/docs/explanation/philosophy/testing-as-engineering.md +119 -0
  47. package/docs/how-to/brownfield/add-feature-to-existing.md +91 -0
  48. package/docs/how-to/brownfield/document-existing-project.md +84 -0
  49. package/docs/how-to/brownfield/index.md +102 -0
  50. package/docs/how-to/brownfield/quick-fix-in-brownfield.md +94 -0
  51. package/docs/{bmad-core-concepts/bmad-customization/agents.md → how-to/customization/customize-agents.md} +8 -10
  52. package/docs/{bmad-core-concepts/bmad-customization/workflows.md → how-to/customization/customize-workflows.md} +8 -5
  53. package/docs/how-to/customization/index.md +27 -0
  54. package/docs/{modules/core/document-sharding-guide.md → how-to/customization/shard-large-documents.md} +9 -17
  55. package/docs/{modules/bmb-bmad-builder/workflow-vendoring-customization-inheritance.md → how-to/customization/vendor-workflows.md} +4 -1
  56. package/docs/how-to/get-answers-about-bmad.md +98 -0
  57. package/docs/how-to/installation/index.md +15 -0
  58. package/docs/how-to/installation/install-bmad.md +138 -0
  59. package/docs/{modules/bmb-bmad-builder/custom-content-installation.md → how-to/installation/install-custom-modules.md} +12 -9
  60. package/docs/{bmad-core-concepts/installing/upgrading.md → how-to/installation/upgrade-to-v6.md} +6 -3
  61. package/docs/{modules/bmgd-bmad-game-dev/troubleshooting.md → how-to/troubleshooting/bmgd-troubleshooting.md} +7 -5
  62. package/docs/{modules/bmgd-bmad-game-dev/quick-flow-guide.md → how-to/workflows/bmgd-quick-flow.md} +8 -5
  63. package/docs/how-to/workflows/conduct-research.md +130 -0
  64. package/docs/how-to/workflows/create-architecture.md +147 -0
  65. package/docs/how-to/workflows/create-epics-and-stories.md +136 -0
  66. package/docs/how-to/workflows/create-prd.md +130 -0
  67. package/docs/how-to/workflows/create-product-brief.md +117 -0
  68. package/docs/how-to/workflows/create-story.md +119 -0
  69. package/docs/how-to/workflows/create-ux-design.md +117 -0
  70. package/docs/how-to/workflows/implement-story.md +127 -0
  71. package/docs/how-to/workflows/quick-spec.md +159 -0
  72. package/docs/how-to/workflows/run-brainstorming-session.md +94 -0
  73. package/docs/how-to/workflows/run-code-review.md +141 -0
  74. package/docs/how-to/workflows/run-implementation-readiness.md +162 -0
  75. package/docs/how-to/workflows/run-sprint-planning.md +111 -0
  76. package/docs/how-to/workflows/run-test-design.md +128 -0
  77. package/docs/how-to/workflows/setup-party-mode.md +117 -0
  78. package/docs/how-to/workflows/setup-test-framework.md +113 -0
  79. package/docs/index.md +35 -83
  80. package/docs/{modules/bmm-bmad-method/agents-guide.md → reference/agents/index.md} +36 -39
  81. package/docs/{modules/core → reference/configuration}/core-tasks.md +5 -2
  82. package/docs/{modules/core/global-core-config.md → reference/configuration/global-config.md} +4 -1
  83. package/docs/{modules/bmm-bmad-method/glossary.md → reference/glossary/index.md} +90 -24
  84. package/docs/{modules/bmgd-bmad-game-dev/workflows-guide.md → reference/workflows/bmgd-workflows.md} +11 -8
  85. package/docs/{modules/core → reference/workflows}/core-workflows.md +9 -6
  86. package/docs/{modules/bmm-bmad-method/workflow-document-project-reference.md → reference/workflows/document-project.md} +7 -4
  87. package/docs/reference/workflows/index.md +16 -0
  88. package/docs/tutorials/advanced/create-custom-agent.md +171 -0
  89. package/docs/tutorials/getting-started/getting-started-bmadv6.md +246 -0
  90. package/docs/tutorials/getting-started/quick-start-bmgd.md +260 -0
  91. package/docs/tutorials/getting-started/workflow-overview.jpg +0 -0
  92. package/eslint.config.mjs +2 -2
  93. package/package.json +10 -10
  94. package/samples/sample-custom-modules/sample-unitary-module/agents/commit-poet/commit-poet.agent.yaml +1 -0
  95. package/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +1 -1
  96. package/samples/sample-custom-modules/sample-unitary-module/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +1 -1
  97. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-01-init.md +3 -3
  98. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-02-q1.md +3 -3
  99. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-03-q2.md +3 -3
  100. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-04-q3.md +3 -3
  101. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-05-q4.md +3 -3
  102. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-06-q5.md +3 -3
  103. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-07-q6.md +3 -3
  104. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-08-q7.md +3 -3
  105. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-09-q8.md +3 -3
  106. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-10-q9.md +3 -3
  107. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-11-q10.md +3 -3
  108. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/steps/step-12-results.md +2 -2
  109. package/samples/sample-custom-modules/sample-unitary-module/workflows/quiz-master/workflow.md +1 -1
  110. package/samples/sample-custom-modules/sample-wellness-module/agents/meditation-guide.agent.yaml +1 -0
  111. package/src/core/agents/bmad-master.agent.yaml +1 -0
  112. package/src/core/tasks/shard-doc.xml +2 -2
  113. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +68 -9
  114. package/src/core/workflows/brainstorming/workflow.md +7 -0
  115. package/src/modules/bmb/agents/agent-builder.agent.yaml +5 -0
  116. package/src/modules/bmb/agents/module-builder.agent.yaml +5 -8
  117. package/src/modules/bmb/agents/workflow-builder.agent.yaml +16 -7
  118. package/src/modules/bmb/workflows/agent/data/agent-menu-patterns.md +5 -5
  119. package/src/modules/bmb/workflows/agent/data/critical-actions.md +2 -2
  120. package/src/modules/bmb/workflows/agent/data/expert-agent-architecture.md +1 -1
  121. package/src/modules/bmb/workflows/agent/data/expert-agent-validation.md +2 -1
  122. package/src/modules/bmb/workflows/agent/data/module-agent-validation.md +2 -0
  123. package/src/modules/bmb/workflows/agent/data/reference/expert-examples/journal-keeper/journal-keeper.agent.yaml +1 -0
  124. package/src/modules/bmb/workflows/agent/data/reference/module-examples/architect.agent.yaml +1 -0
  125. package/src/modules/bmb/workflows/agent/data/reference/module-examples/security-engineer.agent.yaml +1 -0
  126. package/src/modules/bmb/workflows/agent/data/reference/module-examples/trend-analyst.agent.yaml +1 -0
  127. package/src/modules/bmb/workflows/agent/data/reference/simple-examples/commit-poet.agent.yaml +1 -0
  128. package/src/modules/bmb/workflows/agent/data/simple-agent-validation.md +2 -1
  129. package/src/modules/bmb/workflows/agent/steps-c/step-01-brainstorm.md +3 -1
  130. package/src/modules/bmb/workflows/agent/steps-c/step-02-discovery.md +3 -1
  131. package/src/modules/bmb/workflows/agent/steps-c/step-03-type-metadata.md +6 -4
  132. package/src/modules/bmb/workflows/agent/steps-c/step-04-persona.md +4 -2
  133. package/src/modules/bmb/workflows/agent/steps-c/step-05-commands-menu.md +4 -2
  134. package/src/modules/bmb/workflows/agent/steps-c/step-06-activation.md +11 -7
  135. package/src/modules/bmb/workflows/agent/steps-c/step-07a-build-simple.md +7 -5
  136. package/src/modules/bmb/workflows/agent/steps-c/step-07b-build-expert.md +16 -16
  137. package/src/modules/bmb/workflows/agent/steps-c/step-07c-build-module.md +2 -2
  138. package/src/modules/bmb/workflows/agent/steps-c/{step-09-celebrate.md → step-08-celebrate.md} +14 -9
  139. package/src/modules/bmb/workflows/agent/steps-e/e-01-load-existing.md +12 -5
  140. package/src/modules/bmb/workflows/agent/steps-e/e-02-discover-edits.md +5 -3
  141. package/src/modules/bmb/workflows/agent/steps-e/e-03-placeholder.md +1 -0
  142. package/src/modules/bmb/workflows/agent/steps-e/e-04-type-metadata.md +3 -1
  143. package/src/modules/bmb/workflows/agent/steps-e/e-05-persona.md +3 -1
  144. package/src/modules/bmb/workflows/agent/steps-e/e-06-commands-menu.md +3 -1
  145. package/src/modules/bmb/workflows/agent/steps-e/e-07-activation.md +13 -10
  146. package/src/modules/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +8 -5
  147. package/src/modules/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +7 -5
  148. package/src/modules/bmb/workflows/agent/steps-e/e-08c-edit-module.md +8 -5
  149. package/src/modules/bmb/workflows/agent/steps-e/{e-10-celebrate.md → e-09-celebrate.md} +13 -8
  150. package/src/modules/bmb/workflows/agent/steps-v/v-01-load-review.md +14 -6
  151. package/src/modules/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +54 -11
  152. package/src/modules/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +62 -10
  153. package/src/modules/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +84 -10
  154. package/src/modules/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +75 -10
  155. package/src/modules/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +76 -16
  156. package/src/modules/bmb/workflows/agent/steps-v/v-03-summary.md +5 -1
  157. package/src/modules/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +1 -0
  158. package/src/modules/bmb/workflows/agent/templates/simple-agent.template.md +1 -0
  159. package/src/modules/bmb/workflows/module/data/agent-architecture.md +179 -0
  160. package/src/modules/bmb/workflows/module/data/agent-spec-template.md +79 -0
  161. package/src/modules/bmb/workflows/module/data/module-installer-standards.md +348 -0
  162. package/src/modules/bmb/workflows/module/data/module-standards.md +280 -0
  163. package/src/modules/bmb/workflows/module/data/module-yaml-conventions.md +392 -0
  164. package/src/modules/bmb/workflows/module/steps-b/step-01-welcome.md +147 -0
  165. package/src/modules/bmb/workflows/module/steps-b/step-02-spark.md +140 -0
  166. package/src/modules/bmb/workflows/module/steps-b/step-03-module-type.md +148 -0
  167. package/src/modules/bmb/workflows/module/steps-b/step-04-vision.md +82 -0
  168. package/src/modules/bmb/workflows/module/steps-b/step-05-identity.md +96 -0
  169. package/src/modules/bmb/workflows/module/steps-b/step-06-users.md +85 -0
  170. package/src/modules/bmb/workflows/module/steps-b/step-07-value.md +75 -0
  171. package/src/modules/bmb/workflows/module/steps-b/step-08-agents.md +96 -0
  172. package/src/modules/bmb/workflows/module/steps-b/step-09-workflows.md +82 -0
  173. package/src/modules/bmb/workflows/module/steps-b/step-10-tools.md +90 -0
  174. package/src/modules/bmb/workflows/module/steps-b/step-11-scenarios.md +83 -0
  175. package/src/modules/bmb/workflows/module/steps-b/step-12-creative.md +94 -0
  176. package/src/modules/bmb/workflows/module/steps-b/step-13-review.md +104 -0
  177. package/src/modules/bmb/workflows/module/steps-b/step-14-finalize.md +117 -0
  178. package/src/modules/bmb/workflows/module/steps-c/step-01-load-brief.md +178 -0
  179. package/src/modules/bmb/workflows/module/steps-c/step-01b-continue.md +83 -0
  180. package/src/modules/bmb/workflows/module/steps-c/step-02-structure.md +109 -0
  181. package/src/modules/bmb/workflows/module/steps-c/step-03-config.md +118 -0
  182. package/src/modules/bmb/workflows/module/steps-c/step-04-installer.md +160 -0
  183. package/src/modules/bmb/workflows/module/steps-c/step-05-agents.md +167 -0
  184. package/src/modules/bmb/workflows/module/steps-c/step-06-workflows.md +183 -0
  185. package/src/modules/bmb/workflows/module/steps-c/step-07-docs.md +402 -0
  186. package/src/modules/bmb/workflows/module/steps-c/step-08-complete.md +123 -0
  187. package/src/modules/bmb/workflows/module/steps-e/step-01-load-target.md +81 -0
  188. package/src/modules/bmb/workflows/module/steps-e/step-02-select-edit.md +77 -0
  189. package/src/modules/bmb/workflows/module/steps-e/step-03-apply-edit.md +77 -0
  190. package/src/modules/bmb/workflows/module/steps-e/step-04-review.md +80 -0
  191. package/src/modules/bmb/workflows/module/steps-e/step-05-confirm.md +75 -0
  192. package/src/modules/bmb/workflows/module/steps-v/step-01-load-target.md +96 -0
  193. package/src/modules/bmb/workflows/module/steps-v/step-02-file-structure.md +94 -0
  194. package/src/modules/bmb/workflows/module/steps-v/step-03-module-yaml.md +99 -0
  195. package/src/modules/bmb/workflows/module/steps-v/step-04-agent-specs.md +152 -0
  196. package/src/modules/bmb/workflows/module/steps-v/step-05-workflow-specs.md +152 -0
  197. package/src/modules/bmb/workflows/module/steps-v/step-06-documentation.md +143 -0
  198. package/src/modules/bmb/workflows/module/steps-v/step-07-installation.md +113 -0
  199. package/src/modules/bmb/workflows/module/steps-v/step-08-report.md +197 -0
  200. package/src/modules/bmb/workflows/module/templates/brief-template.md +154 -0
  201. package/src/modules/bmb/workflows/module/templates/workflow-spec-template.md +96 -0
  202. package/src/modules/bmb/workflows/module/workflow.md +100 -0
  203. package/src/modules/bmb/workflows/workflow/data/architecture.md +152 -0
  204. package/src/modules/bmb/workflows/workflow/data/csv-data-file-standards.md +81 -0
  205. package/src/modules/bmb/workflows/workflow/data/frontmatter-standards.md +225 -0
  206. package/src/modules/bmb/workflows/workflow/data/input-discovery-standards.md +269 -0
  207. package/src/modules/bmb/workflows/workflow/data/intent-vs-prescriptive-spectrum.md +50 -0
  208. package/src/modules/bmb/workflows/workflow/data/menu-handling-standards.md +167 -0
  209. package/src/modules/bmb/workflows/workflow/data/output-format-standards.md +188 -0
  210. package/src/modules/bmb/workflows/workflow/data/step-file-rules.md +235 -0
  211. package/src/modules/bmb/workflows/workflow/data/step-type-patterns.md +311 -0
  212. package/src/modules/bmb/workflows/workflow/data/subprocess-optimization-patterns.md +386 -0
  213. package/src/modules/bmb/workflows/workflow/data/trimodal-workflow-structure.md +209 -0
  214. package/src/modules/bmb/workflows/workflow/data/workflow-chaining-standards.md +271 -0
  215. package/src/modules/bmb/workflows/workflow/data/workflow-examples.md +276 -0
  216. package/src/modules/bmb/workflows/workflow/data/workflow-type-criteria.md +172 -0
  217. package/src/modules/bmb/workflows/workflow/steps-c/step-00-conversion.md +262 -0
  218. package/src/modules/bmb/workflows/workflow/steps-c/step-01-discovery.md +194 -0
  219. package/src/modules/bmb/workflows/workflow/steps-c/step-01b-continuation.md +3 -0
  220. package/src/modules/bmb/workflows/workflow/steps-c/step-02-classification.md +269 -0
  221. package/src/modules/bmb/workflows/workflow/steps-c/step-03-requirements.md +282 -0
  222. package/src/modules/bmb/workflows/workflow/steps-c/step-04-tools.md +281 -0
  223. package/src/modules/bmb/workflows/workflow/steps-c/step-05-plan-review.md +242 -0
  224. package/src/modules/bmb/workflows/{create-workflow/steps → workflow/steps-c}/step-06-design.md +92 -35
  225. package/src/modules/bmb/workflows/workflow/steps-c/step-07-foundation.md +238 -0
  226. package/src/modules/bmb/workflows/workflow/steps-c/step-08-build-step-01.md +377 -0
  227. package/src/modules/bmb/workflows/workflow/steps-c/step-09-build-next-step.md +350 -0
  228. package/src/modules/bmb/workflows/workflow/steps-c/step-10-confirmation.md +320 -0
  229. package/src/modules/bmb/workflows/workflow/steps-c/step-11-completion.md +191 -0
  230. package/src/modules/bmb/workflows/workflow/steps-e/step-e-01-assess-workflow.md +237 -0
  231. package/src/modules/bmb/workflows/workflow/steps-e/step-e-02-discover-edits.md +248 -0
  232. package/src/modules/bmb/workflows/workflow/steps-e/step-e-03-fix-validation.md +252 -0
  233. package/src/modules/bmb/workflows/workflow/steps-e/step-e-04-direct-edit.md +275 -0
  234. package/src/modules/bmb/workflows/workflow/steps-e/step-e-05-apply-edit.md +154 -0
  235. package/src/modules/bmb/workflows/workflow/steps-e/step-e-06-validate-after.md +190 -0
  236. package/src/modules/bmb/workflows/workflow/steps-e/step-e-07-complete.md +206 -0
  237. package/src/modules/bmb/workflows/workflow/steps-v/step-01-validate-max-mode.md +109 -0
  238. package/src/modules/bmb/workflows/workflow/steps-v/step-01-validate.md +221 -0
  239. package/src/modules/bmb/workflows/workflow/steps-v/step-01b-structure.md +152 -0
  240. package/src/modules/bmb/workflows/workflow/steps-v/step-02-frontmatter-validation.md +199 -0
  241. package/src/modules/bmb/workflows/workflow/steps-v/step-02b-path-violations.md +265 -0
  242. package/src/modules/bmb/workflows/workflow/steps-v/step-03-menu-validation.md +164 -0
  243. package/src/modules/bmb/workflows/workflow/steps-v/step-04-step-type-validation.md +211 -0
  244. package/src/modules/bmb/workflows/workflow/steps-v/step-05-output-format-validation.md +200 -0
  245. package/src/modules/bmb/workflows/workflow/steps-v/step-06-validation-design-check.md +195 -0
  246. package/src/modules/bmb/workflows/workflow/steps-v/step-07-instruction-style-check.md +209 -0
  247. package/src/modules/bmb/workflows/workflow/steps-v/step-08-collaborative-experience-check.md +199 -0
  248. package/src/modules/bmb/workflows/workflow/steps-v/step-08b-subprocess-optimization.md +179 -0
  249. package/src/modules/bmb/workflows/workflow/steps-v/step-09-cohesive-review.md +186 -0
  250. package/src/modules/bmb/workflows/workflow/steps-v/step-10-report-complete.md +154 -0
  251. package/src/modules/bmb/workflows/workflow/steps-v/step-11-plan-validation.md +237 -0
  252. package/src/modules/bmb/workflows/workflow/templates/minimal-output-template.md +11 -0
  253. package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/step-01-init-continuable-template.md +3 -3
  254. package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/step-1b-template.md +1 -1
  255. package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/step-template.md +14 -14
  256. package/src/modules/bmb/{docs/workflows → workflows/workflow}/templates/workflow-template.md +2 -4
  257. package/src/modules/bmb/workflows/workflow/workflow.md +109 -0
  258. package/src/modules/bmgd/agents/game-architect.agent.yaml +1 -0
  259. package/src/modules/bmgd/agents/game-designer.agent.yaml +1 -0
  260. package/src/modules/bmgd/agents/game-dev.agent.yaml +1 -0
  261. package/src/modules/bmgd/agents/game-qa.agent.yaml +1 -0
  262. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +1 -0
  263. package/src/modules/bmgd/agents/game-solo-dev.agent.yaml +2 -1
  264. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +1 -1
  265. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-01-init.md +4 -3
  266. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-02-context.md +3 -3
  267. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-03-ideation.md +50 -45
  268. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-04-complete.md +1 -1
  269. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md +4 -1
  270. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +3 -3
  271. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01-init.md +3 -3
  272. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01b-continue.md +1 -1
  273. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-02-vision.md +2 -2
  274. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-03-market.md +2 -2
  275. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-04-fundamentals.md +2 -2
  276. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-05-scope.md +2 -2
  277. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-06-references.md +2 -2
  278. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-07-content.md +2 -2
  279. package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-08-complete.md +1 -1
  280. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01-init.md +3 -3
  281. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01b-continue.md +1 -1
  282. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-02-context.md +2 -2
  283. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-03-platforms.md +2 -2
  284. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-04-vision.md +2 -2
  285. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-05-core-gameplay.md +2 -2
  286. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-06-mechanics.md +2 -2
  287. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-07-game-type.md +2 -2
  288. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-08-progression.md +2 -2
  289. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-09-levels.md +2 -2
  290. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-10-art-audio.md +2 -2
  291. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-11-technical.md +2 -2
  292. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-12-epics.md +2 -2
  293. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-13-metrics.md +2 -2
  294. package/src/modules/bmgd/workflows/2-design/gdd/steps/step-14-complete.md +1 -1
  295. package/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +1 -1
  296. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01-init.md +3 -3
  297. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01b-continue.md +11 -11
  298. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-02-foundation.md +2 -2
  299. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-03-story.md +2 -2
  300. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-04-characters.md +2 -2
  301. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-05-world.md +2 -2
  302. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-06-dialogue.md +2 -2
  303. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-07-environmental.md +2 -2
  304. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-08-delivery.md +2 -2
  305. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-09-integration.md +2 -2
  306. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-10-production.md +2 -2
  307. package/src/modules/bmgd/workflows/2-design/narrative/steps/step-11-complete.md +1 -1
  308. package/src/modules/bmgd/workflows/2-design/narrative/workflow.md +1 -1
  309. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01-init.md +3 -3
  310. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01b-continue.md +9 -9
  311. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-02-context.md +2 -2
  312. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-03-starter.md +2 -2
  313. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-04-decisions.md +2 -2
  314. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-05-crosscutting.md +2 -2
  315. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-06-structure.md +2 -2
  316. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-07-patterns.md +2 -2
  317. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-08-validation.md +2 -2
  318. package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-09-complete.md +1 -1
  319. package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.md +1 -1
  320. package/src/modules/bmgd/workflows/4-production/code-review/instructions.xml +1 -0
  321. package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +1 -1
  322. package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +1 -1
  323. package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +2 -2
  324. package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +1 -1
  325. package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +1 -1
  326. package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +1 -1
  327. package/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml +2 -2
  328. package/src/modules/bmgd/workflows/bmgd-quick-flow/{create-tech-spec → quick-spec}/workflow.yaml +2 -2
  329. package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-brownfield.yaml +2 -2
  330. package/src/modules/bmm/agents/analyst.agent.yaml +3 -2
  331. package/src/modules/bmm/agents/architect.agent.yaml +3 -1
  332. package/src/modules/bmm/agents/dev.agent.yaml +4 -3
  333. package/src/modules/bmm/agents/pm.agent.yaml +11 -2
  334. package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +3 -2
  335. package/src/modules/bmm/agents/sm.agent.yaml +1 -0
  336. package/src/modules/bmm/agents/tea.agent.yaml +6 -3
  337. package/src/modules/bmm/agents/tech-writer.agent.yaml +1 -0
  338. package/src/modules/bmm/agents/ux-designer.agent.yaml +1 -0
  339. package/src/modules/bmm/module.yaml +1 -1
  340. package/src/modules/bmm/testarch/knowledge/api-request.md +155 -16
  341. package/src/modules/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
  342. package/src/modules/bmm/testarch/knowledge/auth-session.md +197 -1
  343. package/src/modules/bmm/testarch/knowledge/file-utils.md +257 -54
  344. package/src/modules/bmm/testarch/knowledge/intercept-network-call.md +159 -9
  345. package/src/modules/bmm/testarch/knowledge/log.md +170 -35
  346. package/src/modules/bmm/testarch/knowledge/network-error-monitor.md +228 -95
  347. package/src/modules/bmm/testarch/knowledge/network-recorder.md +314 -52
  348. package/src/modules/bmm/testarch/knowledge/overview.md +15 -12
  349. package/src/modules/bmm/testarch/knowledge/recurse.md +173 -48
  350. package/src/modules/bmm/testarch/tea-index.csv +19 -18
  351. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +3 -8
  352. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +0 -5
  353. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +1 -6
  354. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +1 -6
  355. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +1 -6
  356. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +1 -6
  357. package/src/modules/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +0 -5
  358. package/src/modules/bmm/workflows/2-plan-workflows/prd/data/prd-purpose.md +197 -0
  359. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-01-init.md +7 -13
  360. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-01b-continue.md +36 -49
  361. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md +224 -0
  362. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-03-success.md +50 -114
  363. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md +213 -0
  364. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md +207 -0
  365. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-06-innovation.md +43 -79
  366. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-07-project-type.md +37 -58
  367. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-08-scoping.md +43 -114
  368. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-09-functional.md +21 -60
  369. package/src/modules/bmm/workflows/2-plan-workflows/prd/{steps → steps-c}/step-10-nonfunctional.md +32 -84
  370. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md +217 -0
  371. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md +180 -0
  372. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md +247 -0
  373. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  374. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md +249 -0
  375. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md +253 -0
  376. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md +168 -0
  377. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md +218 -0
  378. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
  379. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
  380. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
  381. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  382. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
  383. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
  384. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  385. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  386. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
  387. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
  388. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  389. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
  390. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
  391. package/src/modules/bmm/workflows/2-plan-workflows/prd/{prd-template.md → templates/prd-template.md} +0 -1
  392. package/src/modules/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +433 -0
  393. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +96 -9
  394. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +2 -2
  395. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +2 -2
  396. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +2 -2
  397. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +2 -2
  398. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +2 -2
  399. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +1 -1
  400. package/src/modules/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +1 -1
  401. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +2 -2
  402. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +2 -2
  403. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +2 -2
  404. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +1 -1
  405. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +2 -0
  406. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +1 -1
  407. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +2 -2
  408. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +2 -1
  409. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +1 -1
  410. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +2 -1
  411. package/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +2 -2
  412. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +6 -6
  413. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +2 -2
  414. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +2 -2
  415. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +2 -2
  416. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +2 -2
  417. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +1 -1
  418. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +1 -1
  419. package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/steps/step-01-understand.md +3 -3
  420. package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/steps/step-02-investigate.md +1 -1
  421. package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/steps/step-03-generate.md +1 -1
  422. package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/steps/step-04-review.md +1 -1
  423. package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/workflow.md +2 -2
  424. package/src/modules/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +1 -1
  425. package/src/modules/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +1 -1
  426. package/src/modules/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +1 -1
  427. package/src/modules/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +1 -1
  428. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +2 -2
  429. package/src/modules/bmm/workflows/workflow-status/instructions.md +4 -4
  430. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +2 -1
  431. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +1 -0
  432. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +1 -0
  433. package/src/modules/cis/agents/innovation-strategist.agent.yaml +1 -0
  434. package/src/modules/cis/agents/presentation-master.agent.yaml +1 -0
  435. package/src/modules/cis/module.yaml +1 -0
  436. package/src/modules/cis/workflows/design-thinking/instructions.md +2 -2
  437. package/src/modules/cis/workflows/innovation-strategy/instructions.md +2 -2
  438. package/src/modules/cis/workflows/problem-solving/instructions.md +2 -2
  439. package/src/modules/cis/workflows/storytelling/instructions.md +2 -2
  440. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +1 -0
  441. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +1 -0
  442. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +1 -0
  443. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +1 -0
  444. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +1 -0
  445. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +1 -0
  446. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +1 -0
  447. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +1 -0
  448. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +1 -0
  449. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +1 -0
  450. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +1 -0
  451. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +1 -0
  452. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +1 -0
  453. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +1 -0
  454. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +1 -0
  455. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +1 -0
  456. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +1 -0
  457. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +1 -0
  458. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +1 -0
  459. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +1 -0
  460. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +1 -0
  461. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +1 -0
  462. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +1 -0
  463. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +1 -0
  464. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +1 -0
  465. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +1 -0
  466. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +1 -0
  467. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +1 -0
  468. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +1 -0
  469. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -0
  470. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +1 -0
  471. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +1 -0
  472. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +1 -0
  473. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +1 -0
  474. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +1 -0
  475. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +1 -0
  476. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +1 -0
  477. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +1 -0
  478. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +1 -0
  479. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +1 -0
  480. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +1 -0
  481. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +1 -0
  482. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +1 -0
  483. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +1 -0
  484. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +1 -0
  485. package/tools/build-docs.js +200 -271
  486. package/tools/cli/commands/install.js +8 -2
  487. package/tools/cli/installers/install-messages.yaml +36 -36
  488. package/tools/cli/installers/lib/core/config-collector.js +11 -1
  489. package/tools/cli/installers/lib/core/installer.js +3 -4
  490. package/tools/cli/installers/lib/core/manifest-generator.js +46 -2
  491. package/tools/cli/installers/lib/ide/antigravity.js +3 -3
  492. package/tools/cli/installers/lib/ide/claude-code.js +3 -3
  493. package/tools/cli/installers/lib/ide/codex.js +1 -1
  494. package/tools/cli/installers/lib/ide/cursor.js +57 -304
  495. package/tools/cli/installers/lib/ide/github-copilot.js +1 -1
  496. package/tools/cli/lib/ui.js +22 -1
  497. package/tools/fix-doc-links.js +288 -0
  498. package/tools/schema/agent.js +1 -0
  499. package/tools/validate-doc-links.js +363 -0
  500. package/website/README.md +76 -0
  501. package/website/astro.config.mjs +218 -0
  502. package/website/src/components/Banner.astro +59 -0
  503. package/website/src/components/Header.astro +121 -0
  504. package/website/src/components/MobileMenuFooter.astro +53 -0
  505. package/website/src/content/config.ts +6 -0
  506. package/website/src/lib/site-url.js +25 -0
  507. package/website/src/rehype-markdown-links.js +102 -0
  508. package/website/src/styles/custom.css +483 -0
  509. package/docs/bmad-core-concepts/bmad-customization/index.md +0 -26
  510. package/docs/bmad-core-concepts/index.md +0 -37
  511. package/docs/bmad-core-concepts/installing/index.md +0 -77
  512. package/docs/bmad-core-concepts/workflows.md +0 -89
  513. package/docs/modules/bmb-bmad-builder/agent-creation-guide.md +0 -166
  514. package/docs/modules/bmb-bmad-builder/index.md +0 -60
  515. package/docs/modules/bmgd-bmad-game-dev/glossary.md +0 -293
  516. package/docs/modules/bmgd-bmad-game-dev/index.md +0 -175
  517. package/docs/modules/bmgd-bmad-game-dev/quick-start.md +0 -250
  518. package/docs/modules/bmm-bmad-method/bmad-quick-flow.md +0 -506
  519. package/docs/modules/bmm-bmad-method/brownfield-guide.md +0 -747
  520. package/docs/modules/bmm-bmad-method/faq.md +0 -540
  521. package/docs/modules/bmm-bmad-method/quick-spec-flow.md +0 -622
  522. package/docs/modules/bmm-bmad-method/quick-start.md +0 -363
  523. package/docs/modules/bmm-bmad-method/troubleshooting.md +0 -3
  524. package/docs/modules/bmm-bmad-method/workflows-analysis.md +0 -199
  525. package/docs/modules/bmm-bmad-method/workflows-implementation.md +0 -210
  526. package/docs/modules/bmm-bmad-method/workflows-planning.md +0 -89
  527. package/docs/modules/bmm-bmad-method/workflows-solutioning.md +0 -509
  528. package/docs/modules/core/index.md +0 -15
  529. package/docs/modules/core/party-mode.md +0 -50
  530. package/src/core/tasks/validate-workflow.xml +0 -89
  531. package/src/modules/bmb/docs/workflows/architecture.md +0 -220
  532. package/src/modules/bmb/docs/workflows/csv-data-file-standards.md +0 -206
  533. package/src/modules/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +0 -220
  534. package/src/modules/bmb/docs/workflows/step-file-rules.md +0 -469
  535. package/src/modules/bmb/docs/workflows/templates/step-file.md +0 -139
  536. package/src/modules/bmb/docs/workflows/templates/workflow.md +0 -58
  537. package/src/modules/bmb/docs/workflows/terms.md +0 -97
  538. package/src/modules/bmb/reference/agents/simple-examples/README.md +0 -223
  539. package/src/modules/bmb/reference/readme.md +0 -3
  540. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +0 -18
  541. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +0 -16
  542. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +0 -28
  543. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +0 -177
  544. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +0 -121
  545. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +0 -165
  546. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +0 -154
  547. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +0 -183
  548. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +0 -168
  549. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +0 -195
  550. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +0 -25
  551. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +0 -68
  552. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +0 -29
  553. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +0 -47
  554. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +0 -37
  555. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +0 -18
  556. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +0 -59
  557. package/src/modules/bmb/workflows/agent/steps-c/step-08a-plan-traceability.md +0 -203
  558. package/src/modules/bmb/workflows/agent/steps-c/step-08b-metadata-validation.md +0 -135
  559. package/src/modules/bmb/workflows/agent/steps-c/step-08c-persona-validation.md +0 -161
  560. package/src/modules/bmb/workflows/agent/steps-c/step-08d-menu-validation.md +0 -158
  561. package/src/modules/bmb/workflows/agent/steps-c/step-08e-structure-validation.md +0 -306
  562. package/src/modules/bmb/workflows/agent/steps-c/step-08f-sidecar-validation.md +0 -462
  563. package/src/modules/bmb/workflows/agent/steps-e/e-03a-validate-metadata.md +0 -78
  564. package/src/modules/bmb/workflows/agent/steps-e/e-03b-validate-persona.md +0 -76
  565. package/src/modules/bmb/workflows/agent/steps-e/e-03c-validate-menu.md +0 -75
  566. package/src/modules/bmb/workflows/agent/steps-e/e-03d-validate-structure.md +0 -75
  567. package/src/modules/bmb/workflows/agent/steps-e/e-03e-validate-sidecar.md +0 -78
  568. package/src/modules/bmb/workflows/agent/steps-e/e-03f-validation-summary.md +0 -119
  569. package/src/modules/bmb/workflows/agent/steps-e/e-09a-validate-metadata.md +0 -70
  570. package/src/modules/bmb/workflows/agent/steps-e/e-09b-validate-persona.md +0 -70
  571. package/src/modules/bmb/workflows/agent/steps-e/e-09c-validate-menu.md +0 -69
  572. package/src/modules/bmb/workflows/agent/steps-e/e-09d-validate-structure.md +0 -69
  573. package/src/modules/bmb/workflows/agent/steps-e/e-09e-validate-sidecar.md +0 -70
  574. package/src/modules/bmb/workflows/agent/steps-e/e-09f-validation-summary.md +0 -111
  575. package/src/modules/bmb/workflows/create-module/steps/step-01-init.md +0 -156
  576. package/src/modules/bmb/workflows/create-module/steps/step-01b-continue.md +0 -170
  577. package/src/modules/bmb/workflows/create-module/steps/step-02-concept.md +0 -218
  578. package/src/modules/bmb/workflows/create-module/steps/step-03-components.md +0 -268
  579. package/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +0 -229
  580. package/src/modules/bmb/workflows/create-module/steps/step-05-config.md +0 -234
  581. package/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +0 -297
  582. package/src/modules/bmb/workflows/create-module/steps/step-07-workflows.md +0 -229
  583. package/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +0 -187
  584. package/src/modules/bmb/workflows/create-module/steps/step-09-documentation.md +0 -310
  585. package/src/modules/bmb/workflows/create-module/steps/step-10-roadmap.md +0 -338
  586. package/src/modules/bmb/workflows/create-module/steps/step-11-validate.md +0 -336
  587. package/src/modules/bmb/workflows/create-module/templates/agent.template.md +0 -313
  588. package/src/modules/bmb/workflows/create-module/templates/installer.template.js +0 -47
  589. package/src/modules/bmb/workflows/create-module/templates/module-plan.template.md +0 -5
  590. package/src/modules/bmb/workflows/create-module/templates/module.template.yaml +0 -53
  591. package/src/modules/bmb/workflows/create-module/templates/workflow-plan-template.md +0 -23
  592. package/src/modules/bmb/workflows/create-module/validation.md +0 -126
  593. package/src/modules/bmb/workflows/create-module/workflow.md +0 -56
  594. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/dietary-restrictions.csv +0 -18
  595. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/macro-calculator.csv +0 -16
  596. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/recipe-database.csv +0 -28
  597. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01-init.md +0 -177
  598. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01b-continue.md +0 -150
  599. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-02-profile.md +0 -164
  600. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-03-assessment.md +0 -152
  601. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-04-strategy.md +0 -182
  602. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-05-shopping.md +0 -167
  603. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-06-prep-schedule.md +0 -194
  604. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/assessment-section.md +0 -25
  605. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/nutrition-plan.md +0 -68
  606. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/prep-schedule-section.md +0 -29
  607. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/profile-section.md +0 -47
  608. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/shopping-section.md +0 -37
  609. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/strategy-section.md +0 -18
  610. package/src/modules/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/workflow.md +0 -58
  611. package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +0 -158
  612. package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +0 -212
  613. package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +0 -251
  614. package/src/modules/bmb/workflows/create-workflow/steps/step-04-plan-review.md +0 -217
  615. package/src/modules/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +0 -290
  616. package/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md +0 -323
  617. package/src/modules/bmb/workflows/create-workflow/steps/step-08-review.md +0 -285
  618. package/src/modules/bmb/workflows/create-workflow/steps/step-09-complete.md +0 -188
  619. package/src/modules/bmb/workflows/create-workflow/workflow.md +0 -59
  620. package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +0 -217
  621. package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +0 -254
  622. package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +0 -218
  623. package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +0 -194
  624. package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +0 -246
  625. package/src/modules/bmb/workflows/edit-workflow/templates/completion-summary.md +0 -75
  626. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-goals.md +0 -68
  627. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-log.md +0 -40
  628. package/src/modules/bmb/workflows/edit-workflow/templates/validation-results.md +0 -51
  629. package/src/modules/bmb/workflows/edit-workflow/templates/workflow-analysis.md +0 -56
  630. package/src/modules/bmb/workflows/edit-workflow/workflow.md +0 -59
  631. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +0 -153
  632. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +0 -244
  633. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +0 -275
  634. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +0 -296
  635. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +0 -265
  636. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +0 -361
  637. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +0 -259
  638. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +0 -302
  639. package/src/modules/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +0 -140
  640. package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +0 -59
  641. package/src/modules/bmb/workflows-legacy/edit-module/README.md +0 -171
  642. package/src/modules/bmb/workflows-legacy/edit-module/checklist.md +0 -163
  643. package/src/modules/bmb/workflows-legacy/edit-module/instructions.md +0 -340
  644. package/src/modules/bmb/workflows-legacy/edit-module/workflow.yaml +0 -34
  645. package/src/modules/bmb/workflows-legacy/module-brief/README.md +0 -264
  646. package/src/modules/bmb/workflows-legacy/module-brief/checklist.md +0 -116
  647. package/src/modules/bmb/workflows-legacy/module-brief/instructions.md +0 -268
  648. package/src/modules/bmb/workflows-legacy/module-brief/template.md +0 -275
  649. package/src/modules/bmb/workflows-legacy/module-brief/workflow.yaml +0 -36
  650. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +0 -421
  651. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +0 -291
  652. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +0 -271
  653. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +0 -186
  654. package/website/css/custom.css +0 -52
  655. package/website/docusaurus.config.js +0 -179
  656. package/website/sidebars.js +0 -139
  657. package/website/src/pages/index.js +0 -50
  658. /package/docs/{modules/bmm-bmad-method → tutorials/getting-started}/images/workflow-method-greenfield.excalidraw +0 -0
  659. /package/docs/{modules/bmm-bmad-method → tutorials/getting-started}/images/workflow-method-greenfield.svg +0 -0
  660. /package/docs/{modules/bmgd-bmad-game-dev → tutorials/getting-started/images}/workflow-overview.jpg +0 -0
  661. /package/src/modules/bmb/{docs/workflows → workflows/workflow/data}/common-workflow-tools.csv +0 -0
  662. /package/src/modules/bmgd/workflows/bmgd-quick-flow/{create-tech-spec → quick-spec}/instructions.md +0 -0
  663. /package/src/modules/bmm/workflows/2-plan-workflows/prd/{domain-complexity.csv → data/domain-complexity.csv} +0 -0
  664. /package/src/modules/bmm/workflows/2-plan-workflows/prd/{project-types.csv → data/project-types.csv} +0 -0
  665. /package/src/modules/bmm/workflows/bmad-quick-flow/{create-tech-spec → quick-spec}/tech-spec-template.md +0 -0
  666. /package/website/{static → public}/favicon.ico +0 -0
  667. /package/website/{static → public}/img/logo.svg +0 -0
  668. /package/website/{static → public}/robots.txt +0 -0
@@ -183,7 +183,31 @@ test('should handle timeout', async ({ page, interceptNetworkCall }) => {
183
183
  - Validate error UI states
184
184
  - No real failures needed
185
185
 
186
- ### Example 5: Multiple Intercepts (Order Matters!)
186
+ ### Example 5: Order Matters - Intercept Before Navigate
187
+
188
+ **Context**: The interceptor must be set up before the network request occurs.
189
+
190
+ **Implementation**:
191
+
192
+ ```typescript
193
+ // INCORRECT - interceptor set up too late
194
+ await page.goto('https://example.com'); // Request already happened
195
+ const networkCall = interceptNetworkCall({ url: '**/api/data' });
196
+ await networkCall; // Will hang indefinitely!
197
+
198
+ // CORRECT - Set up interception first
199
+ const networkCall = interceptNetworkCall({ url: '**/api/data' });
200
+ await page.goto('https://example.com');
201
+ const result = await networkCall;
202
+ ```
203
+
204
+ This pattern follows the classic test spy/stub pattern:
205
+
206
+ 1. Define the spy/stub (set up interception)
207
+ 2. Perform the action (trigger the network request)
208
+ 3. Assert on the spy/stub (await and verify the response)
209
+
210
+ ### Example 6: Multiple Intercepts
187
211
 
188
212
  **Context**: Intercepting different endpoints in same test - setup order is critical.
189
213
 
@@ -191,7 +215,7 @@ test('should handle timeout', async ({ page, interceptNetworkCall }) => {
191
215
 
192
216
  ```typescript
193
217
  test('multiple intercepts', async ({ page, interceptNetworkCall }) => {
194
- // ✅ CORRECT: Setup all intercepts BEFORE navigation
218
+ // Setup all intercepts BEFORE navigation
195
219
  const usersCall = interceptNetworkCall({ url: '**/api/users' });
196
220
  const productsCall = interceptNetworkCall({ url: '**/api/products' });
197
221
  const ordersCall = interceptNetworkCall({ url: '**/api/orders' });
@@ -211,11 +235,85 @@ test('multiple intercepts', async ({ page, interceptNetworkCall }) => {
211
235
 
212
236
  - Setup all intercepts before triggering actions
213
237
  - Use `Promise.all()` to wait for multiple calls
214
- - Order: intercept navigate await
238
+ - Order: intercept -> navigate -> await
215
239
  - Prevents race conditions
216
240
 
241
+ ### Example 7: Capturing Multiple Requests to the Same Endpoint
242
+
243
+ **Context**: Each `interceptNetworkCall` captures only the first matching request.
244
+
245
+ **Implementation**:
246
+
247
+ ```typescript
248
+ // Capturing a known number of requests
249
+ const firstRequest = interceptNetworkCall({ url: '/api/data' });
250
+ const secondRequest = interceptNetworkCall({ url: '/api/data' });
251
+
252
+ await page.click('#load-data-button');
253
+
254
+ const firstResponse = await firstRequest;
255
+ const secondResponse = await secondRequest;
256
+
257
+ expect(firstResponse.status).toBe(200);
258
+ expect(secondResponse.status).toBe(200);
259
+
260
+ // Handling an unknown number of requests
261
+ const getDataRequestInterceptor = () =>
262
+ interceptNetworkCall({
263
+ url: '/api/data',
264
+ timeout: 1000, // Short timeout to detect when no more requests are coming
265
+ });
266
+
267
+ let currentInterceptor = getDataRequestInterceptor();
268
+ const allResponses = [];
269
+
270
+ await page.click('#load-multiple-data-button');
271
+
272
+ while (true) {
273
+ try {
274
+ const response = await currentInterceptor;
275
+ allResponses.push(response);
276
+ currentInterceptor = getDataRequestInterceptor();
277
+ } catch (error) {
278
+ // No more requests (timeout)
279
+ break;
280
+ }
281
+ }
282
+
283
+ console.log(`Captured ${allResponses.length} requests to /api/data`);
284
+ ```
285
+
286
+ ### Example 8: Using Timeout
287
+
288
+ **Context**: Set a timeout for waiting on a network request.
289
+
290
+ **Implementation**:
291
+
292
+ ```typescript
293
+ const dataCall = interceptNetworkCall({
294
+ method: 'GET',
295
+ url: '/api/data-that-might-be-slow',
296
+ timeout: 5000, // 5 seconds timeout
297
+ });
298
+
299
+ await page.goto('/data-page');
300
+
301
+ try {
302
+ const { responseJson } = await dataCall;
303
+ console.log('Data loaded successfully:', responseJson);
304
+ } catch (error) {
305
+ if (error.message.includes('timeout')) {
306
+ console.log('Request timed out as expected');
307
+ } else {
308
+ throw error;
309
+ }
310
+ }
311
+ ```
312
+
217
313
  ## URL Pattern Matching
218
314
 
315
+ The utility uses [picomatch](https://github.com/micromatch/picomatch) for powerful glob pattern matching, dramatically simplifying URL targeting:
316
+
219
317
  **Supported glob patterns:**
220
318
 
221
319
  ```typescript
@@ -226,7 +324,59 @@ test('multiple intercepts', async ({ page, interceptNetworkCall }) => {
226
324
  '**/api/users?id=*'; // With query params
227
325
  ```
228
326
 
229
- **Uses picomatch library** - same pattern syntax as Playwright's `page.route()` but cleaner API.
327
+ **Comparison with vanilla Playwright:**
328
+
329
+ ```typescript
330
+ // Vanilla Playwright - complex predicate
331
+ const predicate = (response) => {
332
+ const url = response.url();
333
+ return (
334
+ url.endsWith('/api/users') ||
335
+ url.match(/\/api\/users\/\d+/) ||
336
+ (url.includes('/api/users/') && url.includes('/profile'))
337
+ );
338
+ };
339
+ page.waitForResponse(predicate);
340
+
341
+ // With interceptNetworkCall - simple glob patterns
342
+ interceptNetworkCall({ url: '/api/users' }); // Exact endpoint
343
+ interceptNetworkCall({ url: '/api/users/*' }); // User by ID pattern
344
+ interceptNetworkCall({ url: '/api/users/*/profile' }); // Specific sub-paths
345
+ interceptNetworkCall({ url: '/api/users/**' }); // Match all
346
+ ```
347
+
348
+ ## API Reference
349
+
350
+ ### `interceptNetworkCall(options)`
351
+
352
+ | Parameter | Type | Description |
353
+ | ----------------- | ---------- | --------------------------------------------------------------------- |
354
+ | `page` | `Page` | Required when using direct import (not needed with fixture) |
355
+ | `method` | `string` | Optional: HTTP method to match (e.g., 'GET', 'POST') |
356
+ | `url` | `string` | Optional: URL pattern to match (supports glob patterns via picomatch) |
357
+ | `fulfillResponse` | `object` | Optional: Response to use when mocking |
358
+ | `handler` | `function` | Optional: Custom handler function for the route |
359
+ | `timeout` | `number` | Optional: Timeout in milliseconds for the network request |
360
+
361
+ ### `fulfillResponse` Object
362
+
363
+ | Property | Type | Description |
364
+ | --------- | ------------------------ | ----------------------------------------------------- |
365
+ | `status` | `number` | HTTP status code (default: 200) |
366
+ | `headers` | `Record<string, string>` | Response headers |
367
+ | `body` | `any` | Response body (will be JSON.stringified if an object) |
368
+
369
+ ### Return Value
370
+
371
+ Returns a `Promise<NetworkCallResult>` with:
372
+
373
+ | Property | Type | Description |
374
+ | -------------- | ---------- | --------------------------------------- |
375
+ | `request` | `Request` | The intercepted request |
376
+ | `response` | `Response` | The response (null if mocked) |
377
+ | `responseJson` | `any` | Parsed JSON response (if available) |
378
+ | `status` | `number` | HTTP status code |
379
+ | `requestJson` | `any` | Parsed JSON request body (if available) |
230
380
 
231
381
  ## Comparison with Vanilla Playwright
232
382
 
@@ -238,7 +388,7 @@ test('multiple intercepts', async ({ page, interceptNetworkCall }) => {
238
388
  | `const status = resp.status()` | `const { status } = await call` |
239
389
  | Complex filter predicates | Simple glob patterns |
240
390
 
241
- **Reduction:** ~5-7 lines ~2-3 lines per interception
391
+ **Reduction:** ~5-7 lines -> ~2-3 lines per interception
242
392
 
243
393
  ## Related Fragments
244
394
 
@@ -248,14 +398,14 @@ test('multiple intercepts', async ({ page, interceptNetworkCall }) => {
248
398
 
249
399
  ## Anti-Patterns
250
400
 
251
- **❌ Intercepting after navigation:**
401
+ **DON'T intercept after navigation:**
252
402
 
253
403
  ```typescript
254
404
  await page.goto('/dashboard'); // Navigation starts
255
405
  const usersCall = interceptNetworkCall({ url: '**/api/users' }); // Too late!
256
406
  ```
257
407
 
258
- **✅ Intercept before navigate:**
408
+ **DO intercept before navigate:**
259
409
 
260
410
  ```typescript
261
411
  const usersCall = interceptNetworkCall({ url: '**/api/users' }); // First
@@ -263,7 +413,7 @@ await page.goto('/dashboard'); // Then navigate
263
413
  const { responseJson } = await usersCall; // Then await
264
414
  ```
265
415
 
266
- **❌ Ignoring the returned Promise:**
416
+ **DON'T ignore the returned Promise:**
267
417
 
268
418
  ```typescript
269
419
  interceptNetworkCall({ url: '**/api/users' }); // Not awaited!
@@ -271,7 +421,7 @@ await page.goto('/dashboard');
271
421
  // No deterministic wait - race condition
272
422
  ```
273
423
 
274
- **✅ Always await the intercept:**
424
+ **DO always await the intercept:**
275
425
 
276
426
  ```typescript
277
427
  const usersCall = interceptNetworkCall({ url: '**/api/users' });
@@ -21,6 +21,20 @@ The `log` utility provides:
21
21
  - **Multiple levels**: info, step, success, warning, error, debug
22
22
  - **Optional console**: Can disable console output but keep report logs
23
23
 
24
+ ## Quick Start
25
+
26
+ ```typescript
27
+ import { log } from '@seontechnologies/playwright-utils';
28
+
29
+ // Basic logging
30
+ await log.info('Starting test');
31
+ await log.step('Test step shown in Playwright UI');
32
+ await log.success('Operation completed');
33
+ await log.warning('Something to note');
34
+ await log.error('Something went wrong');
35
+ await log.debug('Debug information');
36
+ ```
37
+
24
38
  ## Pattern Examples
25
39
 
26
40
  ### Example 1: Basic Logging Levels
@@ -143,41 +157,105 @@ test('organized with steps', async ({ page, apiRequest }) => {
143
157
  - Steps visible in Playwright trace viewer
144
158
  - Better debugging when tests fail
145
159
 
146
- ### Example 4: Conditional Logging
160
+ ### Example 4: Test Step Decorators
147
161
 
148
- **Context**: Log different messages based on environment or test conditions.
162
+ **Context**: Create collapsible test steps in Playwright UI using decorators.
149
163
 
150
- **Implementation**:
164
+ **Page Object Methods with @methodTestStep:**
151
165
 
152
166
  ```typescript
153
- test('conditional logging', async ({ page }) => {
154
- const isCI = process.env.CI === 'true';
167
+ import { methodTestStep } from '@seontechnologies/playwright-utils';
155
168
 
156
- if (isCI) {
157
- await log.info('Running in CI environment');
158
- } else {
159
- await log.debug('Running locally');
169
+ class TodoPage {
170
+ constructor(private page: Page) {
171
+ this.name = 'TodoPage';
160
172
  }
161
173
 
162
- const isKafkaWorking = await checkKafkaHealth();
174
+ readonly name: string;
163
175
 
164
- if (!isKafkaWorking) {
165
- await log.warning('Kafka unavailable - skipping event checks');
166
- } else {
167
- await log.step('Verifying Kafka events');
168
- // ... event verification
176
+ @methodTestStep('Add todo item')
177
+ async addTodo(text: string) {
178
+ await log.info(`Adding todo: ${text}`);
179
+ const newTodo = this.page.getByPlaceholder('What needs to be done?');
180
+ await newTodo.fill(text);
181
+ await newTodo.press('Enter');
182
+ await log.step('step within a decorator');
183
+ await log.success(`Added todo: ${text}`);
169
184
  }
185
+
186
+ @methodTestStep('Get all todos')
187
+ async getTodos() {
188
+ await log.info('Getting all todos');
189
+ return this.page.getByTestId('todo-title');
190
+ }
191
+ }
192
+ ```
193
+
194
+ **Function Helpers with functionTestStep:**
195
+
196
+ ```typescript
197
+ import { functionTestStep } from '@seontechnologies/playwright-utils';
198
+
199
+ // Define todo items for the test
200
+ const TODO_ITEMS = ['buy groceries', 'pay bills', 'schedule meeting'];
201
+
202
+ const createDefaultTodos = functionTestStep('Create default todos', async (page: Page) => {
203
+ await log.info('Creating default todos');
204
+ await log.step('step within a functionWrapper');
205
+ const todoPage = new TodoPage(page);
206
+
207
+ for (const item of TODO_ITEMS) {
208
+ await todoPage.addTodo(item);
209
+ }
210
+
211
+ await log.success('Created all default todos');
170
212
  });
213
+
214
+ const checkNumberOfTodosInLocalStorage = functionTestStep(
215
+ 'Check total todos count fn-step',
216
+ async (page: Page, expected: number) => {
217
+ await log.info(`Verifying todo count: ${expected}`);
218
+ const result = await page.waitForFunction(
219
+ (e) => JSON.parse(localStorage['react-todos']).length === e,
220
+ expected
221
+ );
222
+ await log.success(`Verified todo count: ${expected}`);
223
+ return result;
224
+ }
225
+ );
171
226
  ```
172
227
 
173
- **Key Points**:
228
+ ### Example 5: File Logging
229
+
230
+ **Context**: Enable file logging for persistent logs.
231
+
232
+ **Implementation**:
233
+
234
+ ```typescript
235
+ // playwright/support/fixtures.ts
236
+ import { test as base } from '@playwright/test';
237
+ import { log, captureTestContext } from '@seontechnologies/playwright-utils';
238
+
239
+ // Configure file logging globally
240
+ log.configure({
241
+ fileLogging: {
242
+ enabled: true,
243
+ outputDir: 'playwright-logs/organized-logs',
244
+ forceConsolidated: false, // One file per test
245
+ },
246
+ });
174
247
 
175
- - Log based on environment
176
- - Skip logging with conditionals
177
- - Use appropriate log levels
178
- - Debug info for local, minimal for CI
248
+ // Extend base test with file logging context capture
249
+ export const test = base.extend({
250
+ // Auto-capture test context for file logging
251
+ autoTestContext: [async ({}, use, testInfo) => {
252
+ captureTestContext(testInfo);
253
+ await use(undefined);
254
+ }, { auto: true }],
255
+ });
256
+ ```
179
257
 
180
- ### Example 5: Integration with Auth and API
258
+ ### Example 6: Integration with Auth and API
181
259
 
182
260
  **Context**: Log authenticated API requests with tokens (safely).
183
261
 
@@ -221,16 +299,73 @@ test('should log auth flow', async ({ authToken, apiRequest }) => {
221
299
  - Combine with auth and API utilities
222
300
  - Log at appropriate detail level
223
301
 
302
+ ## Configuration
303
+
304
+ **Defaults:** console logging enabled, file logging disabled.
305
+
306
+ ```typescript
307
+ // Enable file logging in config
308
+ log.configure({
309
+ console: true, // default
310
+ fileLogging: {
311
+ enabled: true,
312
+ outputDir: 'playwright-logs',
313
+ forceConsolidated: false, // One file per test
314
+ },
315
+ });
316
+
317
+ // Per-test override
318
+ await log.info('Message', {
319
+ console: { enabled: false },
320
+ fileLogging: { enabled: true },
321
+ });
322
+ ```
323
+
324
+ ### Environment Variables
325
+
326
+ ```bash
327
+ # Disable all logging
328
+ SILENT=true
329
+
330
+ # Disable only file logging
331
+ DISABLE_FILE_LOGS=true
332
+
333
+ # Disable only console logging
334
+ DISABLE_CONSOLE_LOGS=true
335
+ ```
336
+
337
+ ### Level Filtering
338
+
339
+ ```typescript
340
+ log.configure({
341
+ level: 'warning', // Only warning, error levels will show
342
+ });
343
+
344
+ // Available levels (in priority order):
345
+ // debug < info < step < success < warning < error
346
+ ```
347
+
348
+ ### Sync Methods
349
+
350
+ For non-test contexts (global setup, utility functions):
351
+
352
+ ```typescript
353
+ // Use sync methods when async/await isn't available
354
+ log.infoSync('Initializing configuration');
355
+ log.successSync('Environment configured');
356
+ log.errorSync('Setup failed');
357
+ ```
358
+
224
359
  ## Log Levels Guide
225
360
 
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 |
361
+ | Level | When to Use | Shows in Report | Shows in Console |
362
+ | --------- | ----------------------------------- | ----------------- | ---------------- |
363
+ | `step` | Test organization, major actions | Collapsible steps | Yes |
364
+ | `info` | General information, state changes | Yes | Yes |
365
+ | `success` | Successful operations | Yes | Yes |
366
+ | `warning` | Non-critical issues, skipped checks | Yes | Yes |
367
+ | `error` | Failures, exceptions | Yes | Configurable |
368
+ | `debug` | Detailed data, objects | Yes (attached) | Configurable |
234
369
 
235
370
  ## Comparison with console.log
236
371
 
@@ -251,34 +386,34 @@ test('should log auth flow', async ({ authToken, apiRequest }) => {
251
386
 
252
387
  ## Anti-Patterns
253
388
 
254
- **❌ Logging objects in steps:**
389
+ **DON'T log objects in steps:**
255
390
 
256
391
  ```typescript
257
392
  await log.step({ user: 'test', action: 'create' }); // Shows empty in UI
258
393
  ```
259
394
 
260
- **✅ Use strings for steps, objects for debug:**
395
+ **DO use strings for steps, objects for debug:**
261
396
 
262
397
  ```typescript
263
398
  await log.step('Creating user: test'); // Readable in UI
264
399
  await log.debug({ user: 'test', action: 'create' }); // Detailed data
265
400
  ```
266
401
 
267
- **❌ Logging sensitive data:**
402
+ **DON'T log sensitive data:**
268
403
 
269
404
  ```typescript
270
405
  await log.info(`Password: ${password}`); // Security risk!
271
406
  await log.info(`Token: ${authToken}`); // Full token exposed!
272
407
  ```
273
408
 
274
- **✅ Use previews or omit sensitive data:**
409
+ **DO use previews or omit sensitive data:**
275
410
 
276
411
  ```typescript
277
412
  await log.info('User authenticated successfully'); // No sensitive data
278
413
  await log.debug({ tokenPreview: token.slice(0, 6) + '...' });
279
414
  ```
280
415
 
281
- **❌ Excessive logging in loops:**
416
+ **DON'T log excessively in loops:**
282
417
 
283
418
  ```typescript
284
419
  for (const item of items) {
@@ -286,7 +421,7 @@ for (const item of items) {
286
421
  }
287
422
  ```
288
423
 
289
- **✅ Log summary or use debug level:**
424
+ **DO log summary or use debug level:**
290
425
 
291
426
  ```typescript
292
427
  await log.step(`Processing ${items.length} items`);