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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/.github/workflows/bundle-latest.yaml +79 -27
  2. package/CHANGELOG.md +167 -1
  3. package/README.md +3 -1
  4. package/custom/src/agents/commit-poet/commit-poet.agent.yaml +129 -0
  5. package/custom/src/agents/commit-poet/installation-guide.md +36 -0
  6. package/custom/src/agents/toolsmith/installation-guide.md +36 -0
  7. package/custom/src/agents/toolsmith/toolsmith-sidecar/instructions.md +70 -0
  8. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +111 -0
  9. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +70 -0
  10. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +114 -0
  11. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +134 -0
  12. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +161 -0
  13. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +103 -0
  14. package/custom/src/agents/toolsmith/toolsmith-sidecar/memories.md +17 -0
  15. package/custom/src/agents/toolsmith/toolsmith.agent.yaml +108 -0
  16. package/docs/custom-agent-installation.md +31 -17
  17. package/docs/ide-info/rovo-dev.md +388 -0
  18. package/docs/index.md +6 -81
  19. package/docs/installers-bundlers/installers-modules-platforms-reference.md +1 -1
  20. package/package.json +3 -2
  21. package/src/core/agents/bmad-master.agent.yaml +1 -1
  22. package/src/core/agents/bmad-web-orchestrator.agent.xml +1 -1
  23. package/src/core/tasks/advanced-elicitation-methods.csv +51 -21
  24. package/src/core/tasks/advanced-elicitation.xml +18 -8
  25. package/src/core/tasks/workflow.xml +36 -71
  26. package/src/core/workflows/brainstorming/brain-methods.csv +62 -36
  27. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +196 -0
  28. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +121 -0
  29. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +224 -0
  30. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +236 -0
  31. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +208 -0
  32. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +263 -0
  33. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +339 -0
  34. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +302 -0
  35. package/src/core/workflows/brainstorming/template.md +13 -104
  36. package/src/core/workflows/brainstorming/workflow.md +51 -0
  37. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  38. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +203 -0
  39. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +159 -0
  40. package/src/core/workflows/party-mode/workflow.md +207 -0
  41. package/src/modules/bmb/README.md +153 -86
  42. package/src/modules/bmb/_module-installer/install-config.yaml +3 -3
  43. package/src/modules/bmb/agents/bmad-builder.agent.yaml +45 -31
  44. package/src/modules/bmb/docs/{agent-menu-patterns.md → agents/agent-menu-patterns.md} +1 -1
  45. package/src/modules/bmb/docs/agents/kb.csv +0 -0
  46. package/src/modules/bmb/docs/{module-agent-architecture.md → agents/module-agent-architecture.md} +1 -1
  47. package/src/modules/bmb/docs/{simple-agent-architecture.md → agents/simple-agent-architecture.md} +1 -1
  48. package/src/modules/bmb/docs/workflows/architecture.md +220 -0
  49. package/src/modules/bmb/docs/workflows/common-workflow-tools.csv +19 -0
  50. package/src/modules/bmb/docs/workflows/csv-data-file-standards.md +206 -0
  51. package/src/modules/bmb/docs/workflows/index.md +45 -0
  52. package/src/modules/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -0
  53. package/src/modules/bmb/docs/workflows/kb.csv +0 -0
  54. package/src/modules/bmb/docs/workflows/step-template.md +283 -0
  55. package/src/modules/bmb/docs/workflows/terms.md +97 -0
  56. package/src/modules/bmb/docs/workflows/workflow-template.md +152 -0
  57. package/src/modules/bmb/reference/agents/module-examples/README.md +1 -1
  58. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +2 -2
  59. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +1 -1
  60. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  61. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  62. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  63. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  64. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  65. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  66. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  67. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  68. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  69. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  70. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  71. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  72. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  73. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  74. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  75. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  76. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  77. package/src/modules/bmb/workflows/create-agent/data/info-and-installation-guide.md +17 -0
  78. package/src/modules/bmb/workflows/create-agent/data/reference/README.md +3 -0
  79. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md +242 -0
  80. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
  81. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
  82. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
  83. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
  84. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
  85. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/README.md +50 -0
  86. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
  87. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
  88. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/README.md +223 -0
  89. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
  90. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  91. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  92. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  93. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  94. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  95. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  96. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  97. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  98. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  99. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  100. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  101. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  102. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  103. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  104. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  105. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  106. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  107. package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +305 -0
  108. package/src/modules/bmb/workflows/create-agent/steps/step-01-brainstorm.md +145 -0
  109. package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +210 -0
  110. package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +260 -0
  111. package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +237 -0
  112. package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +231 -0
  113. package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +224 -0
  114. package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +234 -0
  115. package/src/modules/bmb/workflows/create-agent/steps/step-08-setup.md +179 -0
  116. package/src/modules/bmb/workflows/create-agent/steps/step-09-customize.md +197 -0
  117. package/src/modules/bmb/workflows/create-agent/steps/step-10-build-tools.md +180 -0
  118. package/src/modules/bmb/workflows/create-agent/steps/step-11-celebrate.md +222 -0
  119. package/src/modules/bmb/workflows/create-agent/templates/agent_commands.md +21 -0
  120. package/src/modules/bmb/workflows/create-agent/templates/agent_persona.md +25 -0
  121. package/src/modules/bmb/workflows/create-agent/templates/agent_purpose_and_type.md +23 -0
  122. package/src/modules/bmb/workflows/create-agent/workflow.md +91 -0
  123. package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +168 -0
  124. package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +233 -0
  125. package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-overview.md +127 -0
  126. package/src/modules/bmb/workflows/create-workflow/steps/step-04-core-tools.md +145 -0
  127. package/src/modules/bmb/workflows/create-workflow/steps/step-05-memory-requirements.md +136 -0
  128. package/src/modules/bmb/workflows/create-workflow/steps/step-06-external-tools.md +154 -0
  129. package/src/modules/bmb/workflows/create-workflow/steps/step-07-installation-guidance.md +159 -0
  130. package/src/modules/bmb/workflows/create-workflow/steps/step-08-tools-summary.md +167 -0
  131. package/src/modules/bmb/workflows/create-workflow/steps/step-09-design.md +239 -0
  132. package/src/modules/bmb/workflows/create-workflow/steps/step-10-plan-review.md +215 -0
  133. package/src/modules/bmb/workflows/create-workflow/steps/step-11-build.md +262 -0
  134. package/src/modules/bmb/workflows/create-workflow/steps/step-12-review.md +270 -0
  135. package/src/modules/bmb/workflows/create-workflow/templates/build-summary.md +36 -0
  136. package/src/modules/bmb/workflows/create-workflow/templates/completion-section.md +39 -0
  137. package/src/modules/bmb/workflows/create-workflow/templates/content-template.md +21 -0
  138. package/src/modules/bmb/workflows/create-workflow/templates/design-section.md +53 -0
  139. package/src/modules/bmb/workflows/create-workflow/templates/project-info.md +18 -0
  140. package/src/modules/bmb/workflows/create-workflow/templates/requirements-section.md +47 -0
  141. package/src/modules/bmb/workflows/create-workflow/templates/review-section.md +56 -0
  142. package/src/modules/bmb/workflows/create-workflow/templates/step-file.md +139 -0
  143. package/src/modules/bmb/workflows/create-workflow/templates/workflow-plan.md +54 -0
  144. package/src/modules/bmb/workflows/create-workflow/templates/workflow.md +58 -0
  145. package/src/modules/bmb/workflows/create-workflow/workflow.md +58 -0
  146. package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +134 -0
  147. package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +202 -0
  148. package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +157 -0
  149. package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +150 -0
  150. package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +150 -0
  151. package/src/modules/bmb/workflows/edit-agent/workflow.md +58 -0
  152. package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +221 -0
  153. package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +253 -0
  154. package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +217 -0
  155. package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +193 -0
  156. package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +245 -0
  157. package/src/modules/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -0
  158. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -0
  159. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -0
  160. package/src/modules/bmb/workflows/edit-workflow/templates/validation-results.md +51 -0
  161. package/src/modules/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -0
  162. package/src/modules/bmb/workflows/edit-workflow/workflow.md +58 -0
  163. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +152 -0
  164. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +243 -0
  165. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +274 -0
  166. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +295 -0
  167. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +264 -0
  168. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +360 -0
  169. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +258 -0
  170. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +301 -0
  171. package/src/modules/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -0
  172. package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +58 -0
  173. package/src/modules/bmgd/agents/game-architect.agent.yaml +1 -1
  174. package/src/modules/bmgd/agents/game-designer.agent.yaml +1 -1
  175. package/src/modules/bmgd/agents/game-dev.agent.yaml +1 -1
  176. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +1 -1
  177. package/src/modules/bmm/_module-installer/install-config.yaml +9 -15
  178. package/src/modules/bmm/agents/analyst.agent.yaml +14 -14
  179. package/src/modules/bmm/agents/architect.agent.yaml +12 -10
  180. package/src/modules/bmm/agents/dev.agent.yaml +20 -16
  181. package/src/modules/bmm/agents/pm.agent.yaml +13 -31
  182. package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +36 -0
  183. package/src/modules/bmm/agents/sm.agent.yaml +13 -31
  184. package/src/modules/bmm/agents/tea.agent.yaml +10 -7
  185. package/src/modules/bmm/agents/tech-writer.agent.yaml +7 -20
  186. package/src/modules/bmm/agents/ux-designer.agent.yaml +12 -10
  187. package/src/modules/bmm/data/README.md +29 -0
  188. package/src/modules/bmm/data/project-context-template.md +40 -0
  189. package/src/modules/bmm/docs/README.md +21 -9
  190. package/src/modules/bmm/docs/agents-guide.md +69 -23
  191. package/src/modules/bmm/docs/bmad-quick-flow.md +528 -0
  192. package/src/modules/bmm/docs/brownfield-guide.md +9 -10
  193. package/src/modules/bmm/docs/enterprise-agentic-development.md +1 -1
  194. package/src/modules/bmm/docs/glossary.md +5 -5
  195. package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +909 -1654
  196. package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +2 -2
  197. package/src/modules/bmm/docs/quick-flow-solo-dev.md +337 -0
  198. package/src/modules/bmm/docs/scale-adaptive-system.md +5 -5
  199. package/src/modules/bmm/docs/test-architecture.md +84 -18
  200. package/src/modules/bmm/docs/workflows-analysis.md +36 -140
  201. package/src/modules/bmm/docs/workflows-implementation.md +32 -157
  202. package/src/modules/bmm/docs/workflows-planning.md +51 -212
  203. package/src/modules/bmm/docs/workflows-solutioning.md +24 -69
  204. package/src/modules/bmm/teams/default-party.csv +15 -14
  205. package/src/modules/bmm/teams/team-fullstack.yaml +0 -1
  206. package/src/modules/bmm/testarch/knowledge/api-request.md +303 -0
  207. package/src/modules/bmm/testarch/knowledge/auth-session.md +356 -0
  208. package/src/modules/bmm/testarch/knowledge/burn-in.md +273 -0
  209. package/src/modules/bmm/testarch/knowledge/file-utils.md +260 -0
  210. package/src/modules/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  211. package/src/modules/bmm/testarch/knowledge/intercept-network-call.md +280 -0
  212. package/src/modules/bmm/testarch/knowledge/log.md +294 -0
  213. package/src/modules/bmm/testarch/knowledge/network-error-monitor.md +272 -0
  214. package/src/modules/bmm/testarch/knowledge/network-recorder.md +265 -0
  215. package/src/modules/bmm/testarch/knowledge/overview.md +284 -0
  216. package/src/modules/bmm/testarch/knowledge/recurse.md +296 -0
  217. package/src/modules/bmm/testarch/tea-index.csv +11 -0
  218. package/src/modules/bmm/workflows/1-analysis/product-brief/product-brief.template.md +8 -0
  219. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01-init.md +192 -0
  220. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01b-continue.md +167 -0
  221. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-02-vision.md +203 -0
  222. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-03-users.md +206 -0
  223. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-04-metrics.md +209 -0
  224. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-05-scope.md +223 -0
  225. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-06-complete.md +199 -0
  226. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.md +58 -0
  227. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +136 -0
  228. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +228 -0
  229. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +237 -0
  230. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +205 -0
  231. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +233 -0
  232. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  233. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  234. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +235 -0
  235. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +198 -0
  236. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +247 -0
  237. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +257 -0
  238. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +175 -0
  239. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  240. package/src/modules/bmm/workflows/1-analysis/research/research.template.md +16 -0
  241. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +136 -0
  242. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +237 -0
  243. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +246 -0
  244. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +200 -0
  245. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +237 -0
  246. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  247. package/src/modules/bmm/workflows/1-analysis/research/workflow.md +198 -0
  248. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +159 -0
  249. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +126 -0
  250. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +209 -0
  251. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +215 -0
  252. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +218 -0
  253. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +233 -0
  254. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +251 -0
  255. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +253 -0
  256. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +223 -0
  257. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +223 -0
  258. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +240 -0
  259. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +247 -0
  260. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +236 -0
  261. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +263 -0
  262. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +226 -0
  263. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +6 -138
  264. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +53 -0
  265. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +5 -200
  266. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +161 -0
  267. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +123 -0
  268. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +275 -0
  269. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +271 -0
  270. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +272 -0
  271. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +249 -0
  272. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +240 -0
  273. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +236 -0
  274. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +280 -0
  275. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +251 -0
  276. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +275 -0
  277. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +210 -0
  278. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +61 -0
  279. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-decision-template.md +13 -0
  280. package/src/modules/bmm/workflows/3-solutioning/architecture/data/domain-complexity.csv +11 -0
  281. package/src/modules/bmm/workflows/3-solutioning/architecture/data/project-types.csv +7 -0
  282. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01-init.md +194 -0
  283. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01b-continue.md +163 -0
  284. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-02-context.md +223 -0
  285. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-03-starter.md +330 -0
  286. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-04-decisions.md +317 -0
  287. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-05-patterns.md +358 -0
  288. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-06-structure.md +378 -0
  289. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-07-validation.md +358 -0
  290. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-08-complete.md +351 -0
  291. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.md +48 -0
  292. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/instructions.md +247 -476
  293. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.yaml +8 -18
  294. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +176 -0
  295. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +4 -11
  296. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +332 -214
  297. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +324 -0
  298. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +21 -34
  299. package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +65 -23
  300. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +406 -0
  301. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +6 -37
  302. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +4 -3
  303. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +2 -0
  304. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md +115 -0
  305. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +26 -0
  306. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/checklist.md +25 -0
  307. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md +105 -0
  308. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +29 -0
  309. package/src/modules/bmm/workflows/generate-project-context/project-context-template.md +20 -0
  310. package/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md +193 -0
  311. package/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +317 -0
  312. package/src/modules/bmm/workflows/generate-project-context/steps/step-03-complete.md +277 -0
  313. package/src/modules/bmm/workflows/generate-project-context/workflow.md +48 -0
  314. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +23 -3
  315. package/src/modules/bmm/workflows/testarch/automate/instructions.md +23 -2
  316. package/src/modules/bmm/workflows/testarch/ci/instructions.md +18 -1
  317. package/src/modules/bmm/workflows/testarch/framework/instructions.md +27 -1
  318. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +8 -2
  319. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +28 -8
  320. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +66 -54
  321. package/src/modules/bmm/workflows/workflow-status/instructions.md +11 -4
  322. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +3 -2
  323. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +3 -2
  324. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +3 -2
  325. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +3 -2
  326. package/src/modules/cis/agents/README.md +1 -1
  327. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +3 -2
  328. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +2 -1
  329. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +2 -1
  330. package/src/modules/cis/agents/innovation-strategist.agent.yaml +2 -1
  331. package/src/modules/cis/agents/presentation-master.agent.yaml +3 -2
  332. package/src/modules/cis/agents/storyteller.agent.yaml +2 -1
  333. package/src/modules/cis/teams/default-party.csv +6 -5
  334. package/src/utility/models/agent-activation-ide.xml +4 -4
  335. package/src/utility/models/agent-activation-web.xml +1 -11
  336. package/src/utility/models/fragments/activation-rules.xml +5 -6
  337. package/src/utility/models/fragments/handler-exec.xml +6 -5
  338. package/src/utility/models/fragments/handler-multi.xml +14 -0
  339. package/test/README.md +1 -1
  340. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -3
  341. package/tools/cli/README.md +1 -0
  342. package/tools/cli/bundlers/web-bundler.js +3 -14
  343. package/tools/cli/commands/agent-install.js +8 -8
  344. package/tools/cli/commands/cleanup.js +141 -0
  345. package/tools/cli/commands/install.js +48 -3
  346. package/tools/cli/installers/lib/core/config-collector.js +24 -0
  347. package/tools/cli/installers/lib/core/installer.js +612 -43
  348. package/tools/cli/installers/lib/ide/antigravity.js +51 -7
  349. package/tools/cli/installers/lib/ide/auggie.js +53 -0
  350. package/tools/cli/installers/lib/ide/claude-code.js +1 -6
  351. package/tools/cli/installers/lib/ide/cline.js +49 -0
  352. package/tools/cli/installers/lib/ide/codex.js +2 -2
  353. package/tools/cli/installers/lib/ide/crush.js +47 -0
  354. package/tools/cli/installers/lib/ide/gemini.js +47 -0
  355. package/tools/cli/installers/lib/ide/github-copilot.js +59 -48
  356. package/tools/cli/installers/lib/ide/iflow.js +47 -0
  357. package/tools/cli/installers/lib/ide/kilo.js +74 -0
  358. package/tools/cli/installers/lib/ide/qwen.js +54 -0
  359. package/tools/cli/installers/lib/ide/roo.js +71 -0
  360. package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
  361. package/tools/cli/installers/lib/ide/trae.js +47 -0
  362. package/tools/cli/lib/agent/compiler.js +156 -22
  363. package/tools/cli/lib/agent/installer.js +13 -3
  364. package/tools/cli/lib/agent-analyzer.js +46 -18
  365. package/tools/cli/lib/ui.js +204 -9
  366. package/tools/cli/lib/yaml-xml-builder.js +123 -24
  367. package/tools/platform-codes.yaml +12 -0
  368. package/tools/schema/agent.js +169 -20
  369. package/src/core/tasks/adv-elicit-methods.csv +0 -39
  370. package/src/core/workflows/brainstorming/README.md +0 -261
  371. package/src/core/workflows/brainstorming/instructions.md +0 -315
  372. package/src/core/workflows/brainstorming/workflow.yaml +0 -38
  373. package/src/core/workflows/party-mode/instructions.md +0 -183
  374. package/src/core/workflows/party-mode/workflow.yaml +0 -28
  375. package/src/modules/bmb/workflows/audit-workflow/checklist.md +0 -142
  376. package/src/modules/bmb/workflows/audit-workflow/instructions.md +0 -341
  377. package/src/modules/bmb/workflows/audit-workflow/template.md +0 -118
  378. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +0 -25
  379. package/src/modules/bmb/workflows/convert-legacy/README.md +0 -262
  380. package/src/modules/bmb/workflows/convert-legacy/checklist.md +0 -205
  381. package/src/modules/bmb/workflows/convert-legacy/instructions.md +0 -377
  382. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +0 -30
  383. package/src/modules/bmb/workflows/create-agent/instructions.md +0 -519
  384. package/src/modules/bmb/workflows/create-agent/workflow.yaml +0 -55
  385. package/src/modules/bmb/workflows/create-workflow/README.md +0 -277
  386. package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
  387. package/src/modules/bmb/workflows/create-workflow/checklist.md +0 -94
  388. package/src/modules/bmb/workflows/create-workflow/instructions.md +0 -725
  389. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1327
  390. package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
  391. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -15
  392. package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
  393. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -61
  394. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +0 -41
  395. package/src/modules/bmb/workflows/edit-agent/README.md +0 -239
  396. package/src/modules/bmb/workflows/edit-agent/instructions.md +0 -654
  397. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +0 -49
  398. package/src/modules/bmb/workflows/edit-workflow/README.md +0 -119
  399. package/src/modules/bmb/workflows/edit-workflow/checklist.md +0 -70
  400. package/src/modules/bmb/workflows/edit-workflow/instructions.md +0 -342
  401. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +0 -27
  402. package/src/modules/bmm/_module-installer/assets/bmm-kb.md +0 -1
  403. package/src/modules/bmm/_module-installer/assets/technical-decisions.md +0 -30
  404. package/src/modules/bmm/docs/quick-spec-flow.md +0 -652
  405. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +0 -112
  406. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +0 -25
  407. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +0 -39
  408. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +0 -425
  409. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +0 -180
  410. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +0 -56
  411. package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +0 -115
  412. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +0 -524
  413. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +0 -181
  414. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +0 -61
  415. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +0 -144
  416. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +0 -249
  417. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +0 -299
  418. package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +0 -114
  419. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +0 -438
  420. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +0 -675
  421. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +0 -134
  422. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +0 -534
  423. package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +0 -94
  424. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +0 -347
  425. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +0 -245
  426. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +0 -62
  427. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +0 -310
  428. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +0 -1308
  429. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +0 -93
  430. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +0 -346
  431. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +0 -703
  432. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +0 -78
  433. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +0 -217
  434. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -74
  435. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +0 -436
  436. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +0 -980
  437. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +0 -181
  438. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +0 -90
  439. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +0 -60
  440. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -321
  441. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +0 -103
  442. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +0 -240
  443. package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +0 -222
  444. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +0 -768
  445. package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +0 -13
  446. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +0 -100
  447. package/src/modules/bmm/workflows/4-implementation/code-review/backlog_template.md +0 -12
  448. package/src/modules/bmm/workflows/4-implementation/code-review/checklist.md +0 -22
  449. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +0 -398
  450. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +0 -256
  451. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +0 -267
  452. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +0 -17
  453. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +0 -164
  454. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/template.md +0 -76
  455. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +0 -58
  456. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +0 -16
  457. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +0 -34
  458. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +0 -209
  459. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +0 -63
  460. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +0 -111
  461. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +0 -28
  462. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +0 -117
  463. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +0 -25
  464. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +0 -58
  465. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +0 -47
  466. /package/src/modules/bmb/docs/{agent-compilation.md → agents/agent-compilation.md} +0 -0
  467. /package/src/modules/bmb/docs/{expert-agent-architecture.md → agents/expert-agent-architecture.md} +0 -0
  468. /package/src/modules/bmb/docs/{index.md → agents/index.md} +0 -0
  469. /package/src/modules/bmb/docs/{understanding-agent-types.md → agents/understanding-agent-types.md} +0 -0
  470. /package/src/modules/bmb/reference/{readme.md → README.md} +0 -0
  471. /package/src/modules/bmb/workflows/create-agent/{agent-validation-checklist.md → data/agent-validation-checklist.md} +0 -0
  472. /package/src/modules/bmb/workflows/create-agent/{brainstorm-context.md → data/brainstorm-context.md} +0 -0
  473. /package/src/modules/bmb/workflows/create-agent/{communication-presets.csv → data/communication-presets.csv} +0 -0
  474. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/README.md +0 -0
  475. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/brainstorm-context.md +0 -0
  476. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/checklist.md +0 -0
  477. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/installer-templates/install-config.yaml +0 -0
  478. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/installer-templates/installer.js +0 -0
  479. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/instructions.md +0 -0
  480. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/module-structure.md +0 -0
  481. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/workflow.yaml +0 -0
  482. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/README.md +0 -0
  483. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/checklist.md +0 -0
  484. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/instructions.md +0 -0
  485. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/workflow.yaml +0 -0
  486. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/README.md +0 -0
  487. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/checklist.md +0 -0
  488. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/instructions.md +0 -0
  489. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/template.md +0 -0
  490. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/workflow.yaml +0 -0
  491. /package/src/modules/bmm/{workflows/techdoc → data}/documentation-standards.md +0 -0
@@ -0,0 +1,296 @@
1
+ # Recurse (Polling) Utility
2
+
3
+ ## Principle
4
+
5
+ Use Cypress-style polling with Playwright's `expect.poll` to wait for asynchronous conditions. Provides configurable timeout, interval, logging, and post-polling callbacks with enhanced error categorization.
6
+
7
+ ## Rationale
8
+
9
+ Testing async operations (background jobs, eventual consistency, webhook processing) requires polling:
10
+
11
+ - Vanilla `expect.poll` is verbose
12
+ - No built-in logging for debugging
13
+ - Generic timeout errors
14
+ - No post-poll hooks
15
+
16
+ The `recurse` utility provides:
17
+
18
+ - **Clean syntax**: Inspired by cypress-recurse
19
+ - **Enhanced errors**: Timeout vs command failure vs predicate errors
20
+ - **Built-in logging**: Track polling progress
21
+ - **Post-poll callbacks**: Process results after success
22
+ - **Type-safe**: Full TypeScript generic support
23
+
24
+ ## Pattern Examples
25
+
26
+ ### Example 1: Basic Polling
27
+
28
+ **Context**: Wait for async operation to complete with custom timeout and interval.
29
+
30
+ **Implementation**:
31
+
32
+ ```typescript
33
+ import { test } from '@seontechnologies/playwright-utils/recurse/fixtures';
34
+
35
+ test('should wait for job completion', async ({ recurse, apiRequest }) => {
36
+ // Start job
37
+ const { body } = await apiRequest({
38
+ method: 'POST',
39
+ path: '/api/jobs',
40
+ body: { type: 'export' },
41
+ });
42
+
43
+ // Poll until ready
44
+ const result = await recurse(
45
+ () => apiRequest({ method: 'GET', path: `/api/jobs/${body.id}` }),
46
+ (response) => response.body.status === 'completed',
47
+ {
48
+ timeout: 60000, // 60 seconds max
49
+ interval: 2000, // Check every 2 seconds
50
+ log: 'Waiting for export job to complete',
51
+ },
52
+ );
53
+
54
+ expect(result.body.downloadUrl).toBeDefined();
55
+ });
56
+ ```
57
+
58
+ **Key Points**:
59
+
60
+ - First arg: command function (what to execute)
61
+ - Second arg: predicate function (when to stop)
62
+ - Options: timeout, interval, log message
63
+ - Returns the value when predicate returns true
64
+
65
+ ### Example 2: Polling with Assertions
66
+
67
+ **Context**: Use assertions directly in predicate for more expressive tests.
68
+
69
+ **Implementation**:
70
+
71
+ ```typescript
72
+ test('should poll with assertions', async ({ recurse, apiRequest }) => {
73
+ await apiRequest({
74
+ method: 'POST',
75
+ path: '/api/events',
76
+ body: { type: 'user-created', userId: '123' },
77
+ });
78
+
79
+ // Poll with assertions in predicate
80
+ await recurse(
81
+ async () => {
82
+ const { body } = await apiRequest({ method: 'GET', path: '/api/events/123' });
83
+ return body;
84
+ },
85
+ (event) => {
86
+ // Use assertions instead of boolean returns
87
+ expect(event.processed).toBe(true);
88
+ expect(event.timestamp).toBeDefined();
89
+ // If assertions pass, predicate succeeds
90
+ },
91
+ { timeout: 30000 },
92
+ );
93
+ });
94
+ ```
95
+
96
+ **Key Points**:
97
+
98
+ - Predicate can use `expect()` assertions
99
+ - If assertions throw, polling continues
100
+ - If assertions pass, polling succeeds
101
+ - More expressive than boolean returns
102
+
103
+ ### Example 3: Custom Error Messages
104
+
105
+ **Context**: Provide context-specific error messages for timeout failures.
106
+
107
+ **Implementation**:
108
+
109
+ ```typescript
110
+ test('custom error on timeout', async ({ recurse, apiRequest }) => {
111
+ try {
112
+ await recurse(
113
+ () => apiRequest({ method: 'GET', path: '/api/status' }),
114
+ (res) => res.body.ready === true,
115
+ {
116
+ timeout: 10000,
117
+ error: 'System failed to become ready within 10 seconds - check background workers',
118
+ },
119
+ );
120
+ } catch (error) {
121
+ // Error message includes custom context
122
+ expect(error.message).toContain('check background workers');
123
+ throw error;
124
+ }
125
+ });
126
+ ```
127
+
128
+ **Key Points**:
129
+
130
+ - `error` option provides custom message
131
+ - Replaces default "Timed out after X ms"
132
+ - Include debugging hints in error message
133
+ - Helps diagnose failures faster
134
+
135
+ ### Example 4: Post-Polling Callback
136
+
137
+ **Context**: Process or log results after successful polling.
138
+
139
+ **Implementation**:
140
+
141
+ ```typescript
142
+ test('post-poll processing', async ({ recurse, apiRequest }) => {
143
+ const finalResult = await recurse(
144
+ () => apiRequest({ method: 'GET', path: '/api/batch-job/123' }),
145
+ (res) => res.body.status === 'completed',
146
+ {
147
+ timeout: 60000,
148
+ post: (result) => {
149
+ // Runs after successful polling
150
+ console.log(`Job completed in ${result.body.duration}ms`);
151
+ console.log(`Processed ${result.body.itemsProcessed} items`);
152
+ return result.body;
153
+ },
154
+ },
155
+ );
156
+
157
+ expect(finalResult.itemsProcessed).toBeGreaterThan(0);
158
+ });
159
+ ```
160
+
161
+ **Key Points**:
162
+
163
+ - `post` callback runs after predicate succeeds
164
+ - Receives the final result
165
+ - Can transform or log results
166
+ - Return value becomes final `recurse` result
167
+
168
+ ### Example 5: Integration with API Request (Common Pattern)
169
+
170
+ **Context**: Most common use case - polling API endpoints for state changes.
171
+
172
+ **Implementation**:
173
+
174
+ ```typescript
175
+ import { test } from '@seontechnologies/playwright-utils/fixtures';
176
+
177
+ test('end-to-end polling', async ({ apiRequest, recurse }) => {
178
+ // Trigger async operation
179
+ const { body: createResp } = await apiRequest({
180
+ method: 'POST',
181
+ path: '/api/data-import',
182
+ body: { source: 's3://bucket/data.csv' },
183
+ });
184
+
185
+ // Poll until import completes
186
+ const importResult = await recurse(
187
+ () => apiRequest({ method: 'GET', path: `/api/data-import/${createResp.importId}` }),
188
+ (response) => {
189
+ const { status, rowsImported } = response.body;
190
+ return status === 'completed' && rowsImported > 0;
191
+ },
192
+ {
193
+ timeout: 120000, // 2 minutes for large imports
194
+ interval: 5000, // Check every 5 seconds
195
+ log: `Polling import ${createResp.importId}`,
196
+ },
197
+ );
198
+
199
+ expect(importResult.body.rowsImported).toBeGreaterThan(1000);
200
+ expect(importResult.body.errors).toHaveLength(0);
201
+ });
202
+ ```
203
+
204
+ **Key Points**:
205
+
206
+ - Combine `apiRequest` + `recurse` for API polling
207
+ - Both from `@seontechnologies/playwright-utils/fixtures`
208
+ - Complex predicates with multiple conditions
209
+ - Logging shows polling progress in test reports
210
+
211
+ ## Enhanced Error Types
212
+
213
+ The utility categorizes errors for easier debugging:
214
+
215
+ ```typescript
216
+ // TimeoutError - Predicate never returned true
217
+ Error: Polling timed out after 30000ms: Job never completed
218
+
219
+ // CommandError - Command function threw
220
+ Error: Command failed: Request failed with status 500
221
+
222
+ // PredicateError - Predicate function threw (not from assertions)
223
+ Error: Predicate failed: Cannot read property 'status' of undefined
224
+ ```
225
+
226
+ ## Comparison with Vanilla Playwright
227
+
228
+ | Vanilla Playwright | recurse Utility |
229
+ | ----------------------------------------------------------------- | ------------------------------------------------------------------------- |
230
+ | `await expect.poll(() => { ... }, { timeout: 30000 }).toBe(true)` | `await recurse(() => { ... }, (val) => val === true, { timeout: 30000 })` |
231
+ | No logging | Built-in log option |
232
+ | Generic timeout errors | Categorized errors (timeout/command/predicate) |
233
+ | No post-poll hooks | `post` callback support |
234
+
235
+ ## When to Use
236
+
237
+ **Use recurse for:**
238
+
239
+ - ✅ Background job completion
240
+ - ✅ Webhook/event processing
241
+ - ✅ Database eventual consistency
242
+ - ✅ Cache propagation
243
+ - ✅ State machine transitions
244
+
245
+ **Stick with vanilla expect.poll for:**
246
+
247
+ - Simple UI element visibility (use `expect(locator).toBeVisible()`)
248
+ - Single-property checks
249
+ - Cases where logging isn't needed
250
+
251
+ ## Related Fragments
252
+
253
+ - `api-request.md` - Combine for API endpoint polling
254
+ - `overview.md` - Fixture composition patterns
255
+ - `fixtures-composition.md` - Using with mergeTests
256
+
257
+ ## Anti-Patterns
258
+
259
+ **❌ Using hard waits instead of polling:**
260
+
261
+ ```typescript
262
+ await page.click('#export');
263
+ await page.waitForTimeout(5000); // Arbitrary wait
264
+ expect(await page.textContent('#status')).toBe('Ready');
265
+ ```
266
+
267
+ **✅ Poll for actual condition:**
268
+
269
+ ```typescript
270
+ await page.click('#export');
271
+ await recurse(
272
+ () => page.textContent('#status'),
273
+ (status) => status === 'Ready',
274
+ { timeout: 10000 },
275
+ );
276
+ ```
277
+
278
+ **❌ Polling too frequently:**
279
+
280
+ ```typescript
281
+ await recurse(
282
+ () => apiRequest({ method: 'GET', path: '/status' }),
283
+ (res) => res.body.ready,
284
+ { interval: 100 }, // Hammers API every 100ms!
285
+ );
286
+ ```
287
+
288
+ **✅ Reasonable interval for API calls:**
289
+
290
+ ```typescript
291
+ await recurse(
292
+ () => apiRequest({ method: 'GET', path: '/status' }),
293
+ (res) => res.body.ready,
294
+ { interval: 2000 }, // Check every 2 seconds (reasonable)
295
+ );
296
+ ```
@@ -20,3 +20,14 @@ test-priorities,Test Priorities Matrix,"P0–P3 criteria, coverage targets, exec
20
20
  test-healing-patterns,Test Healing Patterns,"Common failure patterns and automated fixes","healing,debugging,patterns",knowledge/test-healing-patterns.md
21
21
  selector-resilience,Selector Resilience,"Robust selector strategies and debugging techniques","selectors,locators,debugging",knowledge/selector-resilience.md
22
22
  timing-debugging,Timing Debugging,"Race condition identification and deterministic wait fixes","timing,async,debugging",knowledge/timing-debugging.md
23
+ overview,Playwright Utils Overview,"Installation, design principles, fixture patterns","playwright-utils,fixtures",knowledge/overview.md
24
+ api-request,API Request,"Typed HTTP client, schema validation","api,playwright-utils",knowledge/api-request.md
25
+ network-recorder,Network Recorder,"HAR record/playback, CRUD detection","network,playwright-utils",knowledge/network-recorder.md
26
+ auth-session,Auth Session,"Token persistence, multi-user","auth,playwright-utils",knowledge/auth-session.md
27
+ intercept-network-call,Intercept Network Call,"Network spy/stub, JSON parsing","network,playwright-utils",knowledge/intercept-network-call.md
28
+ recurse,Recurse Polling,"Async polling, condition waiting","polling,playwright-utils",knowledge/recurse.md
29
+ log,Log Utility,"Report logging, structured output","logging,playwright-utils",knowledge/log.md
30
+ file-utils,File Utilities,"CSV/XLSX/PDF/ZIP validation","files,playwright-utils",knowledge/file-utils.md
31
+ burn-in,Burn-in Runner,"Smart test selection, git diff","ci,playwright-utils",knowledge/burn-in.md
32
+ network-error-monitor,Network Error Monitor,"HTTP 4xx/5xx detection","monitoring,playwright-utils",knowledge/network-error-monitor.md
33
+ fixtures-composition,Fixtures Composition,"mergeTests composition patterns","fixtures,playwright-utils",knowledge/fixtures-composition.md
@@ -0,0 +1,8 @@
1
+ # Product Brief: {{project_name}}
2
+
3
+ **Date:** {{date}}
4
+ **Author:** {{user_name}}
5
+
6
+ ---
7
+
8
+ <!-- Content will be appended sequentially through collaborative workflow steps -->
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: 'step-01-init'
3
+ description: 'Initialize the product brief workflow by detecting continuation state and setting up the document'
4
+
5
+ # Path Definitions
6
+ workflow_path: '{project-root}/{bmad_folder}/bmm/workflows/1-analysis/product-brief'
7
+
8
+ # File References
9
+ thisStepFile: '{workflow_path}/steps/step-01-init.md'
10
+ nextStepFile: '{workflow_path}/steps/step-02-vision.md'
11
+ workflowFile: '{workflow_path}/workflow.md'
12
+ outputFile: '{output_folder}/analysis/product-brief-{{project_name}}-{{date}}.md'
13
+
14
+ # Template References
15
+ productBriefTemplate: '{workflow_path}/product-brief.template.md'
16
+ ---
17
+
18
+ # Step 1: Product Brief Initialization
19
+
20
+ ## STEP GOAL:
21
+
22
+ Initialize the product brief workflow by detecting continuation state and setting up the document structure for collaborative product discovery.
23
+
24
+ ## MANDATORY EXECUTION RULES (READ FIRST):
25
+
26
+ ### Universal Rules:
27
+
28
+ - 🛑 NEVER generate content without user input
29
+ - 📖 CRITICAL: Read the complete step file before taking any action
30
+ - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
31
+ - 📋 YOU ARE A FACILITATOR, not a content generator
32
+
33
+ ### Role Reinforcement:
34
+
35
+ - ✅ You are a product-focused Business Analyst facilitator
36
+ - ✅ If you already have been given a name, communication_style and persona, continue to use those while playing this new role
37
+ - ✅ We engage in collaborative dialogue, not command-response
38
+ - ✅ You bring structured thinking and facilitation skills, while the user brings domain expertise and product vision
39
+ - ✅ Maintain collaborative discovery tone throughout
40
+
41
+ ### Step-Specific Rules:
42
+
43
+ - 🎯 Focus only on initialization and setup - no content generation yet
44
+ - 🚫 FORBIDDEN to look ahead to future steps or assume knowledge from them
45
+ - 💬 Approach: Systematic setup with clear reporting to user
46
+ - 📋 Detect existing workflow state and handle continuation properly
47
+
48
+ ## EXECUTION PROTOCOLS:
49
+
50
+ - 🎯 Show your analysis of current state before taking any action
51
+ - 💾 Initialize document structure and update frontmatter appropriately
52
+ - 📖 Set up frontmatter `stepsCompleted: [1]` before loading next step
53
+ - 🚫 FORBIDDEN to load next step until user selects 'C' (Continue)
54
+
55
+ ## CONTEXT BOUNDARIES:
56
+
57
+ - Available context: Variables from workflow.md are available in memory
58
+ - Focus: Workflow initialization and document setup only
59
+ - Limits: Don't assume knowledge from other steps or create content yet
60
+ - Dependencies: Configuration loaded from workflow.md initialization
61
+
62
+ ## Sequence of Instructions (Do not deviate, skip, or optimize)
63
+
64
+ ### 1. Check for Existing Workflow State
65
+
66
+ First, check if the output document already exists:
67
+
68
+ **Workflow State Detection:**
69
+
70
+ - Look for file at `{output_folder}/analysis/*product-brief*.md`
71
+ - If exists, read the complete file including frontmatter
72
+ - If not exists, this is a fresh workflow
73
+
74
+ ### 2. Handle Continuation (If Document Exists)
75
+
76
+ If the document exists and has frontmatter with `stepsCompleted`:
77
+
78
+ **Continuation Protocol:**
79
+
80
+ - **STOP immediately** and load `{workflow_path}/steps/step-01b-continue.md`
81
+ - Do not proceed with any initialization tasks
82
+ - Let step-01b handle all continuation logic
83
+ - This is an auto-proceed situation - no user choice needed
84
+
85
+ ### 3. Fresh Workflow Setup (If No Document)
86
+
87
+ If no document exists or no `stepsCompleted` in frontmatter:
88
+
89
+ #### A. Input Document Discovery
90
+
91
+ Discover and load context documents using smart discovery:
92
+
93
+ **Research Documents (Priority: Sharded → Whole):**
94
+
95
+ 1. Check for sharded research folder: `{output_folder}/analysis/research/**/*.md`
96
+ 2. If folder exists: Load EVERY file in that folder completely
97
+ 3. If no folder exists: Try whole file: `{output_folder}/analysis/research/*research*.md`
98
+ 4. Add discovered files to `inputDocuments` frontmatter
99
+
100
+ **Brainstorming Documents (Priority: Sharded → Whole):**
101
+
102
+ 1. Check for sharded brainstorming folder: `{output_folder}/analysis/*brainstorm*/**/*.md`
103
+ 2. If folder exists: Load useful brainstorming files completely
104
+ 3. If no folder exists: Try whole file: `{output_folder}/analysis/*brainstorm*.md`
105
+ 4. Add discovered files to `inputDocuments` frontmatter
106
+
107
+ **Project Documentation (Existing Projects):**
108
+
109
+ 1. Look for index file: `{output_folder}/**/index.md`
110
+ 2. Load index.md to understand what project files are available
111
+ 3. Read available files from index to understand existing project context
112
+ 4. Add discovered files to `inputDocuments` frontmatter
113
+
114
+ #### B. Create Initial Document
115
+
116
+ **Document Setup:**
117
+
118
+ - Copy the template from `{productBriefTemplate}` to `{outputFile}`
119
+ - Initialize frontmatter with proper structure:
120
+
121
+ ```yaml
122
+ ---
123
+ stepsCompleted: []
124
+ inputDocuments: []
125
+ workflowType: 'product-brief'
126
+ lastStep: 0
127
+ project_name: '{{project_name}}'
128
+ user_name: '{{user_name}}'
129
+ date: '{{date}}'
130
+ ---
131
+ ```
132
+
133
+ #### C. Present Initialization Results
134
+
135
+ **Setup Report to User:**
136
+ "Welcome {{user_name}}! I've set up your product brief workspace for {{project_name}}.
137
+
138
+ **Document Setup:**
139
+
140
+ - Created: `{outputFile}` from template
141
+ - Initialized frontmatter with workflow state
142
+
143
+ **Input Documents Discovered:**
144
+
145
+ - Research: {number of research files loaded or "None found"}
146
+ - Brainstorming: {number of brainstorming files loaded or "None found"}
147
+ - Project docs: {number of project files loaded or "None found"}
148
+
149
+ **Files loaded:** {list of specific file names or "No additional documents found"}
150
+
151
+ Do you have any other documents you'd like me to include, or shall we continue to the next step?"
152
+
153
+ ### 4. Present MENU OPTIONS
154
+
155
+ Display: "**Proceeding to product vision discovery...**"
156
+
157
+ #### Menu Handling Logic:
158
+
159
+ - After setup report is presented, immediately load, read entire file, then execute {nextStepFile}
160
+
161
+ #### EXECUTION RULES:
162
+
163
+ - This is an initialization step with auto-proceed after setup completion
164
+ - Proceed directly to next step after document setup and reporting
165
+
166
+ ## CRITICAL STEP COMPLETION NOTE
167
+
168
+ ONLY WHEN [setup completion is achieved and frontmatter properly updated], will you then load and read fully `{nextStepFile}` to execute and begin product vision discovery.
169
+
170
+ ---
171
+
172
+ ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
173
+
174
+ ### ✅ SUCCESS:
175
+
176
+ - Existing workflow detected and properly handed off to step-01b
177
+ - Fresh workflow initialized with template and proper frontmatter
178
+ - Input documents discovered and loaded using sharded-first logic
179
+ - All discovered files tracked in frontmatter `inputDocuments`
180
+ - Menu presented and user input handled correctly
181
+ - Frontmatter updated with `stepsCompleted: [1]` before proceeding
182
+
183
+ ### ❌ SYSTEM FAILURE:
184
+
185
+ - Proceeding with fresh initialization when existing workflow exists
186
+ - Not updating frontmatter with discovered input documents
187
+ - Creating document without proper template structure
188
+ - Not checking sharded folders first before whole files
189
+ - Not reporting discovered documents to user clearly
190
+ - Proceeding without user selecting 'C' (Continue)
191
+
192
+ **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: 'step-01b-continue'
3
+ description: 'Resume the product brief workflow from where it was left off, ensuring smooth continuation'
4
+
5
+ # Path Definitions
6
+ workflow_path: '{project-root}/{bmad_folder}/bmm/workflows/1-analysis/product-brief'
7
+
8
+ # File References
9
+ thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
10
+ workflowFile: '{workflow_path}/workflow.md'
11
+ outputFile: '{output_folder}/analysis/product-brief-{{project_name}}-{{date}}.md'
12
+ # Task References
13
+ # (No task references used in this continuation step)
14
+ ---
15
+
16
+ # Step 1B: Product Brief Continuation
17
+
18
+ ## STEP GOAL:
19
+
20
+ Resume the product brief workflow from where it was left off, ensuring smooth continuation with full context restoration.
21
+
22
+ ## MANDATORY EXECUTION RULES (READ FIRST):
23
+
24
+ ### Universal Rules:
25
+
26
+ - 🛑 NEVER generate content without user input
27
+ - 📖 CRITICAL: Read the complete step file before taking any action
28
+ - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
29
+ - 📋 YOU ARE A FACILITATOR, not a content generator
30
+
31
+ ### Role Reinforcement:
32
+
33
+ - ✅ You are a product-focused Business Analyst facilitator
34
+ - ✅ If you already have been given a name, communication_style and persona, continue to use those while playing this new role
35
+ - ✅ We engage in collaborative dialogue, not command-response
36
+ - ✅ You bring structured thinking and facilitation skills, while the user brings domain expertise and product vision
37
+ - ✅ Maintain collaborative continuation tone throughout
38
+
39
+ ### Step-Specific Rules:
40
+
41
+ - 🎯 Focus only on understanding where we left off and continuing appropriately
42
+ - 🚫 FORBIDDEN to modify content completed in previous steps
43
+ - 💬 Approach: Systematic state analysis with clear progress reporting
44
+ - 📋 Resume workflow from exact point where it was interrupted
45
+
46
+ ## EXECUTION PROTOCOLS:
47
+
48
+ - 🎯 Show your analysis of current state before taking any action
49
+ - 💾 Keep existing frontmatter `stepsCompleted` values
50
+ - 📖 Only load documents that were already tracked in `inputDocuments`
51
+ - 🚫 FORBIDDEN to discover new input documents during continuation
52
+
53
+ ## CONTEXT BOUNDARIES:
54
+
55
+ - Available context: Current document and frontmatter are already loaded
56
+ - Focus: Workflow state analysis and continuation logic only
57
+ - Limits: Don't assume knowledge beyond what's in the document
58
+ - Dependencies: Existing workflow state from previous session
59
+
60
+ ## Sequence of Instructions (Do not deviate, skip, or optimize)
61
+
62
+ ### 1. Analyze Current State
63
+
64
+ **State Assessment:**
65
+ Review the frontmatter to understand:
66
+
67
+ - `stepsCompleted`: Which steps are already done
68
+ - `lastStep`: The most recently completed step number
69
+ - `inputDocuments`: What context was already loaded
70
+ - All other frontmatter variables
71
+
72
+ ### 2. Restore Context Documents
73
+
74
+ **Context Reloading:**
75
+
76
+ - For each document in `inputDocuments`, load the complete file
77
+ - This ensures you have full context for continuation
78
+ - Don't discover new documents - only reload what was previously processed
79
+ - Maintain the same context as when workflow was interrupted
80
+
81
+ ### 3. Present Current Progress
82
+
83
+ **Progress Report to User:**
84
+ "Welcome back {{user_name}}! I'm resuming our product brief collaboration for {{project_name}}.
85
+
86
+ **Current Progress:**
87
+
88
+ - Steps completed: {stepsCompleted}
89
+ - Last worked on: Step {lastStep}
90
+ - Context documents available: {len(inputDocuments)} files
91
+
92
+ **Document Status:**
93
+
94
+ - Current product brief is ready with all completed sections
95
+ - Ready to continue from where we left off
96
+
97
+ Does this look right, or do you want to make any adjustments before we proceed?"
98
+
99
+ ### 4. Determine Continuation Path
100
+
101
+ **Next Step Logic:**
102
+ Based on `lastStep` value, determine which step to load next:
103
+
104
+ - If `lastStep = 1` → Load `./step-02-vision.md`
105
+ - If `lastStep = 2` → Load `./step-03-users.md`
106
+ - If `lastStep = 3` → Load `./step-04-metrics.md`
107
+ - Continue this pattern for all steps
108
+ - If `lastStep = 6` → Workflow already complete
109
+
110
+ ### 5. Handle Workflow Completion
111
+
112
+ **If workflow already complete (`lastStep = 6`):**
113
+ "Great news! It looks like we've already completed the product brief workflow for {{project_name}}.
114
+
115
+ The final document is ready at `{outputFile}` with all sections completed through step 6.
116
+
117
+ Would you like me to:
118
+
119
+ - Review the completed product brief with you
120
+ - Suggest next workflow steps (like PRD creation)
121
+ - Start a new product brief revision
122
+
123
+ What would be most helpful?"
124
+
125
+ ### 6. Present MENU OPTIONS
126
+
127
+ **If workflow not complete:**
128
+ Display: "Ready to continue with Step {nextStepNumber}: {nextStepTitle}?
129
+
130
+ **Select an Option:** [C] Continue to Step {nextStepNumber}"
131
+
132
+ #### Menu Handling Logic:
133
+
134
+ - IF C: Load, read entire file, then execute the appropriate next step file based on `lastStep`
135
+ - IF Any other comments or queries: respond and redisplay menu
136
+
137
+ #### EXECUTION RULES:
138
+
139
+ - ALWAYS halt and wait for user input after presenting menu
140
+ - ONLY proceed to next step when user selects 'C'
141
+ - User can chat or ask questions about current progress
142
+
143
+ ## CRITICAL STEP COMPLETION NOTE
144
+
145
+ ONLY WHEN [C continue option] is selected and [current state confirmed], will you then load and read fully the appropriate next step file to resume the workflow.
146
+
147
+ ---
148
+
149
+ ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
150
+
151
+ ### ✅ SUCCESS:
152
+
153
+ - All previous input documents successfully reloaded
154
+ - Current workflow state accurately analyzed and presented
155
+ - User confirms understanding of progress before continuation
156
+ - Correct next step identified and prepared for loading
157
+ - Proper continuation path determined based on `lastStep`
158
+
159
+ ### ❌ SYSTEM FAILURE:
160
+
161
+ - Discovering new input documents instead of reloading existing ones
162
+ - Modifying content from already completed steps
163
+ - Loading wrong next step based on `lastStep` value
164
+ - Proceeding without user confirmation of current state
165
+ - Not maintaining context consistency from previous session
166
+
167
+ **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.