siesa-agents 2.1.39 → 2.1.41

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 (1072) hide show
  1. package/README.md +147 -147
  2. package/bin/install.js +534 -534
  3. package/bin/prepare-publish.js +26 -26
  4. package/bin/restore-folders.js +26 -26
  5. package/bmad/_config/agent-manifest.csv +20 -0
  6. package/bmad/_config/agents/cis-presentation-master.customize.yaml +41 -0
  7. package/bmad/_config/agents/cis-storyteller.customize.yaml +41 -0
  8. package/bmad/_config/agents/core-bmad-master.customize.yaml +41 -0
  9. package/bmad/_config/files-manifest.csv +469 -0
  10. package/bmad/_config/ides/claude-code.yaml +6 -0
  11. package/bmad/_config/manifest.yaml +14 -0
  12. package/bmad/_config/task-manifest.csv +6 -0
  13. package/bmad/_config/tool-manifest.csv +1 -0
  14. package/bmad/_config/workflow-manifest.csv +45 -0
  15. package/bmad/_memory/config.yaml +11 -0
  16. package/bmad/bmb/README.md +25 -0
  17. package/bmad/bmb/agents/agent-builder.md +57 -0
  18. package/bmad/bmb/agents/module-builder.md +60 -0
  19. package/bmad/bmb/agents/workflow-builder.md +56 -0
  20. package/bmad/bmb/config.yaml +12 -0
  21. package/bmad/bmb/docs/workflows/architecture.md +220 -0
  22. package/bmad/bmb/docs/workflows/common-workflow-tools.csv +19 -0
  23. package/bmad/bmb/docs/workflows/csv-data-file-standards.md +206 -0
  24. package/bmad/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -0
  25. package/bmad/bmb/docs/workflows/step-file-rules.md +469 -0
  26. package/bmad/bmb/docs/workflows/templates/step-01-init-continuable-template.md +241 -0
  27. package/bmad/bmb/docs/workflows/templates/step-1b-template.md +223 -0
  28. package/bmad/bmb/docs/workflows/templates/step-file.md +139 -0
  29. package/bmad/bmb/docs/workflows/templates/step-template.md +290 -0
  30. package/bmad/bmb/docs/workflows/templates/workflow-template.md +104 -0
  31. package/bmad/bmb/docs/workflows/templates/workflow.md +58 -0
  32. package/bmad/bmb/docs/workflows/terms.md +97 -0
  33. package/bmad/bmb/reference/agents/simple-examples/README.md +223 -0
  34. package/bmad/bmb/reference/readme.md +3 -0
  35. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  36. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  37. package/bmad/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  38. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  39. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +121 -0
  40. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +165 -0
  41. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +154 -0
  42. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +183 -0
  43. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +168 -0
  44. package/bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +195 -0
  45. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  46. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  47. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  48. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  49. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  50. package/bmad/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  51. package/bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md +59 -0
  52. package/bmad/bmb/workflows/agent/data/agent-compilation.md +273 -0
  53. package/bmad/bmb/workflows/agent/data/agent-menu-patterns.md +233 -0
  54. package/bmad/bmb/workflows/agent/data/agent-metadata.md +208 -0
  55. package/bmad/bmb/workflows/agent/data/brainstorm-context.md +146 -0
  56. package/bmad/bmb/workflows/agent/data/communication-presets.csv +61 -0
  57. package/bmad/bmb/workflows/agent/data/critical-actions.md +120 -0
  58. package/bmad/bmb/workflows/agent/data/expert-agent-architecture.md +236 -0
  59. package/bmad/bmb/workflows/agent/data/expert-agent-validation.md +173 -0
  60. package/bmad/bmb/workflows/agent/data/module-agent-validation.md +124 -0
  61. package/bmad/bmb/workflows/agent/data/persona-properties.md +266 -0
  62. package/bmad/bmb/workflows/agent/data/principles-crafting.md +292 -0
  63. package/bmad/bmb/workflows/agent/data/reference/expert-examples/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md +17 -0
  64. package/bmad/bmb/workflows/agent/data/reference/module-examples/architect.md +68 -0
  65. package/bmad/bmb/workflows/agent/data/simple-agent-architecture.md +204 -0
  66. package/bmad/bmb/workflows/agent/data/simple-agent-validation.md +132 -0
  67. package/bmad/bmb/workflows/agent/data/understanding-agent-types.md +222 -0
  68. package/bmad/bmb/workflows/agent/steps-c/step-01-brainstorm.md +126 -0
  69. package/bmad/bmb/workflows/agent/steps-c/step-02-discovery.md +168 -0
  70. package/bmad/bmb/workflows/agent/steps-c/step-03-type-metadata.md +294 -0
  71. package/bmad/bmb/workflows/agent/steps-c/step-04-persona.md +210 -0
  72. package/bmad/bmb/workflows/agent/steps-c/step-05-commands-menu.md +176 -0
  73. package/bmad/bmb/workflows/agent/steps-c/step-06-activation.md +275 -0
  74. package/bmad/bmb/workflows/agent/steps-c/step-07a-build-simple.md +185 -0
  75. package/bmad/bmb/workflows/agent/steps-c/step-07b-build-expert.md +201 -0
  76. package/bmad/bmb/workflows/agent/steps-c/step-07c-build-module.md +258 -0
  77. package/bmad/bmb/workflows/agent/steps-c/step-08a-plan-traceability.md +203 -0
  78. package/bmad/bmb/workflows/agent/steps-c/step-08b-metadata-validation.md +135 -0
  79. package/bmad/bmb/workflows/agent/steps-c/step-08c-persona-validation.md +161 -0
  80. package/bmad/bmb/workflows/agent/steps-c/step-08d-menu-validation.md +158 -0
  81. package/bmad/bmb/workflows/agent/steps-c/step-08e-structure-validation.md +306 -0
  82. package/bmad/bmb/workflows/agent/steps-c/step-08f-sidecar-validation.md +462 -0
  83. package/bmad/bmb/workflows/agent/steps-c/step-09-celebrate.md +244 -0
  84. package/bmad/bmb/workflows/agent/steps-e/e-01-load-existing.md +214 -0
  85. package/bmad/bmb/workflows/agent/steps-e/e-02-discover-edits.md +191 -0
  86. package/bmad/bmb/workflows/agent/steps-e/e-03a-validate-metadata.md +78 -0
  87. package/bmad/bmb/workflows/agent/steps-e/e-03b-validate-persona.md +76 -0
  88. package/bmad/bmb/workflows/agent/steps-e/e-03c-validate-menu.md +75 -0
  89. package/bmad/bmb/workflows/agent/steps-e/e-03d-validate-structure.md +75 -0
  90. package/bmad/bmb/workflows/agent/steps-e/e-03e-validate-sidecar.md +78 -0
  91. package/bmad/bmb/workflows/agent/steps-e/e-03f-validation-summary.md +119 -0
  92. package/bmad/bmb/workflows/agent/steps-e/e-04-type-metadata.md +122 -0
  93. package/bmad/bmb/workflows/agent/steps-e/e-05-persona.md +132 -0
  94. package/bmad/bmb/workflows/agent/steps-e/e-06-commands-menu.md +120 -0
  95. package/bmad/bmb/workflows/agent/steps-e/e-07-activation.md +122 -0
  96. package/bmad/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +134 -0
  97. package/bmad/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +117 -0
  98. package/bmad/bmb/workflows/agent/steps-e/e-08c-edit-module.md +120 -0
  99. package/bmad/bmb/workflows/agent/steps-e/e-09a-validate-metadata.md +70 -0
  100. package/bmad/bmb/workflows/agent/steps-e/e-09b-validate-persona.md +70 -0
  101. package/bmad/bmb/workflows/agent/steps-e/e-09c-validate-menu.md +69 -0
  102. package/bmad/bmb/workflows/agent/steps-e/e-09d-validate-structure.md +69 -0
  103. package/bmad/bmb/workflows/agent/steps-e/e-09e-validate-sidecar.md +70 -0
  104. package/bmad/bmb/workflows/agent/steps-e/e-09f-validation-summary.md +111 -0
  105. package/bmad/bmb/workflows/agent/steps-e/e-10-celebrate.md +150 -0
  106. package/bmad/bmb/workflows/agent/steps-v/v-01-load-review.md +128 -0
  107. package/bmad/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +73 -0
  108. package/bmad/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +72 -0
  109. package/bmad/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +71 -0
  110. package/bmad/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +71 -0
  111. package/bmad/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +76 -0
  112. package/bmad/bmb/workflows/agent/steps-v/v-03-summary.md +100 -0
  113. package/bmad/bmb/workflows/agent/templates/agent-plan.template.md +5 -0
  114. package/bmad/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +76 -0
  115. package/bmad/bmb/workflows/agent/templates/simple-agent.template.md +71 -0
  116. package/bmad/bmb/workflows/agent/workflow.md +123 -0
  117. package/bmad/bmb/workflows/create-module/steps/step-01-init.md +156 -0
  118. package/bmad/bmb/workflows/create-module/steps/step-01b-continue.md +170 -0
  119. package/bmad/bmb/workflows/create-module/steps/step-02-concept.md +218 -0
  120. package/bmad/bmb/workflows/create-module/steps/step-03-components.md +268 -0
  121. package/bmad/bmb/workflows/create-module/steps/step-04-structure.md +229 -0
  122. package/bmad/bmb/workflows/create-module/steps/step-05-config.md +234 -0
  123. package/bmad/bmb/workflows/create-module/steps/step-06-agents.md +297 -0
  124. package/bmad/bmb/workflows/create-module/steps/step-07-workflows.md +229 -0
  125. package/bmad/bmb/workflows/create-module/steps/step-08-installer.md +187 -0
  126. package/bmad/bmb/workflows/create-module/steps/step-09-documentation.md +310 -0
  127. package/bmad/bmb/workflows/create-module/steps/step-10-roadmap.md +338 -0
  128. package/bmad/bmb/workflows/create-module/steps/step-11-validate.md +336 -0
  129. package/bmad/bmb/workflows/create-module/templates/agent.template.md +313 -0
  130. package/bmad/bmb/workflows/create-module/templates/installer.template.js +47 -0
  131. package/bmad/bmb/workflows/create-module/templates/module-plan.template.md +5 -0
  132. package/bmad/bmb/workflows/create-module/templates/module.template.yaml +53 -0
  133. package/bmad/bmb/workflows/create-module/templates/workflow-plan-template.md +23 -0
  134. package/bmad/bmb/workflows/create-module/validation.md +126 -0
  135. package/bmad/bmb/workflows/create-module/workflow.md +56 -0
  136. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  137. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  138. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/recipe-database.csv +28 -0
  139. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01-init.md +177 -0
  140. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  141. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  142. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  143. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  144. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  145. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  146. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/assessment-section.md +25 -0
  147. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  148. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  149. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/profile-section.md +47 -0
  150. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/shopping-section.md +37 -0
  151. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/strategy-section.md +18 -0
  152. package/bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/workflow.md +58 -0
  153. package/bmad/bmb/workflows/create-workflow/steps/step-01-init.md +158 -0
  154. package/bmad/bmb/workflows/create-workflow/steps/step-02-gather.md +212 -0
  155. package/bmad/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +251 -0
  156. package/bmad/bmb/workflows/create-workflow/steps/step-04-plan-review.md +217 -0
  157. package/bmad/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +290 -0
  158. package/bmad/bmb/workflows/create-workflow/steps/step-06-design.md +272 -0
  159. package/bmad/bmb/workflows/create-workflow/steps/step-07-build.md +323 -0
  160. package/bmad/bmb/workflows/create-workflow/steps/step-08-review.md +285 -0
  161. package/bmad/bmb/workflows/create-workflow/steps/step-09-complete.md +188 -0
  162. package/bmad/bmb/workflows/create-workflow/workflow.md +59 -0
  163. package/bmad/bmb/workflows/edit-workflow/steps/step-01-analyze.md +217 -0
  164. package/bmad/bmb/workflows/edit-workflow/steps/step-02-discover.md +254 -0
  165. package/bmad/bmb/workflows/edit-workflow/steps/step-03-improve.md +218 -0
  166. package/bmad/bmb/workflows/edit-workflow/steps/step-04-validate.md +194 -0
  167. package/bmad/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +246 -0
  168. package/bmad/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -0
  169. package/bmad/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -0
  170. package/bmad/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -0
  171. package/bmad/bmb/workflows/edit-workflow/templates/validation-results.md +51 -0
  172. package/bmad/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -0
  173. package/bmad/bmb/workflows/edit-workflow/workflow.md +59 -0
  174. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +153 -0
  175. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +244 -0
  176. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +275 -0
  177. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +296 -0
  178. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +265 -0
  179. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +361 -0
  180. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +259 -0
  181. package/bmad/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +302 -0
  182. package/bmad/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -0
  183. package/bmad/bmb/workflows/workflow-compliance-check/workflow.md +59 -0
  184. package/bmad/bmb/workflows-legacy/edit-module/README.md +171 -0
  185. package/bmad/bmb/workflows-legacy/edit-module/checklist.md +163 -0
  186. package/bmad/bmb/workflows-legacy/edit-module/instructions.md +340 -0
  187. package/bmad/bmb/workflows-legacy/edit-module/workflow.yaml +33 -0
  188. package/bmad/bmb/workflows-legacy/module-brief/README.md +264 -0
  189. package/bmad/bmb/workflows-legacy/module-brief/checklist.md +116 -0
  190. package/bmad/bmb/workflows-legacy/module-brief/instructions.md +268 -0
  191. package/bmad/bmb/workflows-legacy/module-brief/template.md +275 -0
  192. package/bmad/bmb/workflows-legacy/module-brief/workflow.yaml +35 -0
  193. package/bmad/bmm/agents/analyst.md +76 -0
  194. package/bmad/bmm/agents/architect.md +68 -0
  195. package/bmad/bmm/agents/dev.md +70 -0
  196. package/bmad/bmm/agents/pm.md +70 -0
  197. package/bmad/bmm/agents/quick-flow-solo-dev.md +68 -0
  198. package/bmad/bmm/agents/sm.md +71 -0
  199. package/bmad/bmm/agents/tea.md +71 -0
  200. package/bmad/bmm/agents/tech-writer.md +72 -0
  201. package/bmad/bmm/agents/ux-designer.md +68 -0
  202. package/bmad/bmm/config.yaml +18 -0
  203. package/bmad/bmm/data/README.md +29 -0
  204. package/bmad/bmm/data/documentation-standards.md +262 -0
  205. package/bmad/bmm/data/project-context-template.md +40 -0
  206. package/bmad/bmm/teams/default-party.csv +21 -0
  207. package/bmad/bmm/teams/team-fullstack.yaml +12 -0
  208. package/bmad/bmm/testarch/knowledge/api-request.md +303 -0
  209. package/bmad/bmm/testarch/knowledge/auth-session.md +356 -0
  210. package/bmad/bmm/testarch/knowledge/burn-in.md +273 -0
  211. package/bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  212. package/bmad/bmm/testarch/knowledge/component-tdd.md +486 -0
  213. package/bmad/bmm/testarch/knowledge/contract-testing.md +957 -0
  214. package/bmad/bmm/testarch/knowledge/data-factories.md +500 -0
  215. package/bmad/bmm/testarch/knowledge/email-auth.md +721 -0
  216. package/bmad/bmm/testarch/knowledge/error-handling.md +725 -0
  217. package/bmad/bmm/testarch/knowledge/feature-flags.md +750 -0
  218. package/bmad/bmm/testarch/knowledge/file-utils.md +260 -0
  219. package/bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  220. package/bmad/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  221. package/bmad/bmm/testarch/knowledge/intercept-network-call.md +280 -0
  222. package/bmad/bmm/testarch/knowledge/log.md +294 -0
  223. package/bmad/bmm/testarch/knowledge/network-error-monitor.md +272 -0
  224. package/bmad/bmm/testarch/knowledge/network-first.md +486 -0
  225. package/bmad/bmm/testarch/knowledge/network-recorder.md +265 -0
  226. package/bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  227. package/bmad/bmm/testarch/knowledge/overview.md +283 -0
  228. package/bmad/bmm/testarch/knowledge/playwright-config.md +730 -0
  229. package/bmad/bmm/testarch/knowledge/probability-impact.md +601 -0
  230. package/bmad/bmm/testarch/knowledge/recurse.md +296 -0
  231. package/bmad/bmm/testarch/knowledge/risk-governance.md +615 -0
  232. package/bmad/bmm/testarch/knowledge/selective-testing.md +732 -0
  233. package/bmad/bmm/testarch/knowledge/selector-resilience.md +527 -0
  234. package/bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  235. package/bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  236. package/bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  237. package/bmad/bmm/testarch/knowledge/test-quality.md +664 -0
  238. package/bmad/bmm/testarch/knowledge/timing-debugging.md +372 -0
  239. package/bmad/bmm/testarch/knowledge/visual-debugging.md +524 -0
  240. package/bmad/bmm/testarch/tea-index.csv +33 -0
  241. package/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  242. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +182 -0
  243. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +166 -0
  244. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +204 -0
  245. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +207 -0
  246. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +210 -0
  247. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +224 -0
  248. package/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +199 -0
  249. package/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
  250. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  251. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  252. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  253. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  254. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  255. package/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  256. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  257. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  258. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
  259. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  260. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  261. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  262. package/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  263. package/bmad/bmm/workflows/1-analysis/research/research.template.md +29 -0
  264. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  265. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  266. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  267. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  268. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  269. package/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  270. package/bmad/bmm/workflows/1-analysis/research/workflow.md +173 -0
  271. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  272. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  273. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  274. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  275. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  276. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  277. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  278. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  279. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  280. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  281. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  282. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  283. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  284. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  285. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -0
  286. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  287. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
  288. package/bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  289. package/bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +11 -0
  290. package/bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  291. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +197 -0
  292. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +166 -0
  293. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +421 -0
  294. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +290 -0
  295. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +291 -0
  296. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +271 -0
  297. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +262 -0
  298. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +258 -0
  299. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +299 -0
  300. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +270 -0
  301. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +294 -0
  302. package/bmad/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +186 -0
  303. package/bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +63 -0
  304. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  305. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  306. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  307. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  308. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  309. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -0
  310. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  311. package/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
  312. package/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  313. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/architecture-patterns.md +415 -0
  314. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/backend-standards.md +812 -0
  315. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/frontend-standards.md +376 -0
  316. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technical-preferences-ux.md +423 -0
  317. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technology-stack.md +235 -0
  318. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
  319. package/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  320. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +166 -0
  321. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  322. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  323. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +342 -0
  324. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +328 -0
  325. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +368 -0
  326. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  327. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +366 -0
  328. package/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -0
  329. package/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +51 -0
  330. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  331. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  332. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  333. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -0
  334. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  335. package/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
  336. package/bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  337. package/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +225 -0
  338. package/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +50 -0
  339. package/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  340. package/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  341. package/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -0
  342. package/bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
  343. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-01-determine-story.md +85 -0
  344. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-02-analyze.md +67 -0
  345. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-03-architecture.md +71 -0
  346. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-04-web-research.md +58 -0
  347. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-05-create-file.md +76 -0
  348. package/bmad/bmm/workflows/4-implementation/create-story/steps/step-06-finalize.md +66 -0
  349. package/bmad/bmm/workflows/4-implementation/create-story/template.md +49 -0
  350. package/bmad/bmm/workflows/4-implementation/create-story/workflow.md +58 -0
  351. package/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml.bak +63 -0
  352. package/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +85 -0
  353. package/bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +471 -0
  354. package/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -0
  355. package/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  356. package/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +57 -0
  357. package/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  358. package/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
  359. package/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  360. package/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -0
  361. package/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  362. package/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
  363. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +189 -0
  364. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +144 -0
  365. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +128 -0
  366. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +173 -0
  367. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +74 -0
  368. package/bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +79 -0
  369. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
  370. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  371. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
  372. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  373. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  374. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
  375. package/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -0
  376. package/bmad/bmm/workflows/document-project/checklist.md +245 -0
  377. package/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  378. package/bmad/bmm/workflows/document-project/instructions.md +221 -0
  379. package/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  380. package/bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
  381. package/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  382. package/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  383. package/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  384. package/bmad/bmm/workflows/document-project/workflow.yaml +28 -0
  385. package/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  386. package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  387. package/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  388. package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  389. package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
  390. package/bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
  391. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
  392. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
  393. package/bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +26 -0
  394. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
  395. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
  396. package/bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +26 -0
  397. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
  398. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
  399. package/bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +26 -0
  400. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
  401. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
  402. package/bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +26 -0
  403. package/bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -0
  404. package/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +218 -0
  405. package/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
  406. package/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
  407. package/bmad/bmm/workflows/generate-project-context/workflow.md +50 -0
  408. package/bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -0
  409. package/bmad/bmm/workflows/testarch/atdd/checklist.md +374 -0
  410. package/bmad/bmm/workflows/testarch/atdd/instructions.md +806 -0
  411. package/bmad/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
  412. package/bmad/bmm/workflows/testarch/automate/checklist.md +582 -0
  413. package/bmad/bmm/workflows/testarch/automate/instructions.md +1324 -0
  414. package/bmad/bmm/workflows/testarch/automate/workflow.yaml +52 -0
  415. package/bmad/bmm/workflows/testarch/ci/checklist.md +248 -0
  416. package/bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
  417. package/bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  418. package/bmad/bmm/workflows/testarch/ci/instructions.md +536 -0
  419. package/bmad/bmm/workflows/testarch/ci/workflow.yaml +45 -0
  420. package/bmad/bmm/workflows/testarch/framework/checklist.md +321 -0
  421. package/bmad/bmm/workflows/testarch/framework/instructions.md +481 -0
  422. package/bmad/bmm/workflows/testarch/framework/workflow.yaml +47 -0
  423. package/bmad/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
  424. package/bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  425. package/bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -0
  426. package/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
  427. package/bmad/bmm/workflows/testarch/test-design/checklist.md +235 -0
  428. package/bmad/bmm/workflows/testarch/test-design/instructions.md +788 -0
  429. package/bmad/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
  430. package/bmad/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
  431. package/bmad/bmm/workflows/testarch/test-review/checklist.md +472 -0
  432. package/bmad/bmm/workflows/testarch/test-review/instructions.md +628 -0
  433. package/bmad/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
  434. package/bmad/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
  435. package/bmad/bmm/workflows/testarch/trace/checklist.md +655 -0
  436. package/bmad/bmm/workflows/testarch/trace/instructions.md +1047 -0
  437. package/bmad/bmm/workflows/testarch/trace/trace-template.md +675 -0
  438. package/bmad/bmm/workflows/testarch/trace/workflow.yaml +55 -0
  439. package/bmad/bmm/workflows/workflow-status/init/instructions.md +346 -0
  440. package/bmad/bmm/workflows/workflow-status/init/workflow.yaml +29 -0
  441. package/bmad/bmm/workflows/workflow-status/instructions.md +395 -0
  442. package/bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -0
  443. package/bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -0
  444. package/bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -0
  445. package/bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -0
  446. package/bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  447. package/bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  448. package/bmad/bmm/workflows/workflow-status/workflow.yaml +30 -0
  449. package/bmad/cis/agents/brainstorming-coach.md +60 -0
  450. package/bmad/cis/agents/creative-problem-solver.md +60 -0
  451. package/bmad/cis/agents/design-thinking-coach.md +60 -0
  452. package/bmad/cis/agents/innovation-strategist.md +60 -0
  453. package/bmad/cis/agents/presentation-master.md +66 -0
  454. package/bmad/cis/agents/storyteller/storyteller.md +57 -0
  455. package/bmad/cis/config.yaml +11 -0
  456. package/bmad/cis/teams/creative-squad.yaml +7 -0
  457. package/bmad/cis/teams/default-party.csv +12 -0
  458. package/bmad/cis/workflows/README.md +139 -0
  459. package/bmad/cis/workflows/design-thinking/README.md +56 -0
  460. package/bmad/cis/workflows/design-thinking/design-methods.csv +31 -0
  461. package/bmad/cis/workflows/design-thinking/instructions.md +202 -0
  462. package/bmad/cis/workflows/design-thinking/template.md +111 -0
  463. package/bmad/cis/workflows/design-thinking/workflow.yaml +27 -0
  464. package/bmad/cis/workflows/innovation-strategy/README.md +56 -0
  465. package/bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
  466. package/bmad/cis/workflows/innovation-strategy/instructions.md +276 -0
  467. package/bmad/cis/workflows/innovation-strategy/template.md +189 -0
  468. package/bmad/cis/workflows/innovation-strategy/workflow.yaml +27 -0
  469. package/bmad/cis/workflows/problem-solving/README.md +56 -0
  470. package/bmad/cis/workflows/problem-solving/instructions.md +252 -0
  471. package/bmad/cis/workflows/problem-solving/solving-methods.csv +31 -0
  472. package/bmad/cis/workflows/problem-solving/template.md +165 -0
  473. package/bmad/cis/workflows/problem-solving/workflow.yaml +27 -0
  474. package/bmad/cis/workflows/storytelling/README.md +58 -0
  475. package/bmad/cis/workflows/storytelling/instructions.md +293 -0
  476. package/bmad/cis/workflows/storytelling/story-types.csv +26 -0
  477. package/bmad/cis/workflows/storytelling/template.md +113 -0
  478. package/bmad/cis/workflows/storytelling/workflow.yaml +27 -0
  479. package/bmad/core/agents/bmad-master.md +57 -0
  480. package/bmad/core/config.yaml +9 -0
  481. package/bmad/core/resources/excalidraw/README.md +160 -0
  482. package/bmad/core/resources/excalidraw/excalidraw-helpers.md +127 -0
  483. package/bmad/core/resources/excalidraw/library-loader.md +50 -0
  484. package/bmad/core/resources/excalidraw/validate-json-instructions.md +79 -0
  485. package/bmad/core/tasks/index-docs.xml +65 -0
  486. package/bmad/core/tasks/review-adversarial-general.xml +41 -0
  487. package/bmad/core/tasks/shard-doc.xml +109 -0
  488. package/bmad/core/tasks/validate-workflow.xml +89 -0
  489. package/bmad/core/tasks/workflow.xml +235 -0
  490. package/bmad/core/workflows/advanced-elicitation/methods.csv +51 -0
  491. package/bmad/core/workflows/advanced-elicitation/workflow.xml +117 -0
  492. package/bmad/core/workflows/brainstorming/brain-methods.csv +62 -0
  493. package/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
  494. package/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
  495. package/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
  496. package/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  497. package/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
  498. package/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  499. package/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +340 -0
  500. package/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
  501. package/bmad/core/workflows/brainstorming/template.md +15 -0
  502. package/bmad/core/workflows/brainstorming/workflow.md +51 -0
  503. package/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +139 -0
  504. package/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +204 -0
  505. package/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +159 -0
  506. package/bmad/core/workflows/party-mode/workflow.md +206 -0
  507. package/claude/hooks/file-restriction-hook.py +51 -51
  508. package/claude/hooks/track-agent.py +67 -67
  509. package/claude/settings.local.json +76 -76
  510. package/gemini/commands/BMad/agents/analyst.toml +6 -0
  511. package/gemini/commands/BMad/agents/architect.toml +6 -0
  512. package/gemini/commands/BMad/agents/bmad-master.toml +6 -0
  513. package/gemini/commands/BMad/agents/bmad-orchestrator.toml +6 -0
  514. package/gemini/commands/BMad/agents/dev.toml +6 -0
  515. package/gemini/commands/BMad/agents/pm.toml +6 -0
  516. package/gemini/commands/BMad/agents/po.toml +6 -0
  517. package/gemini/commands/BMad/agents/qa.toml +6 -0
  518. package/gemini/commands/BMad/agents/sm.toml +6 -0
  519. package/gemini/commands/BMad/agents/ux-expert.toml +6 -0
  520. package/gemini/commands/BMad/tasks/advanced-elicitation.toml +6 -0
  521. package/gemini/commands/BMad/tasks/apply-qa-fixes.toml +6 -0
  522. package/gemini/commands/BMad/tasks/brownfield-create-epic.toml +6 -0
  523. package/gemini/commands/BMad/tasks/brownfield-create-story.toml +6 -0
  524. package/gemini/commands/BMad/tasks/correct-course.toml +6 -0
  525. package/gemini/commands/BMad/tasks/create-brownfield-story.toml +6 -0
  526. package/gemini/commands/BMad/tasks/create-deep-research-prompt.toml +6 -0
  527. package/gemini/commands/BMad/tasks/create-doc.toml +6 -0
  528. package/gemini/commands/BMad/tasks/create-next-story.toml +6 -0
  529. package/gemini/commands/BMad/tasks/document-project.toml +6 -0
  530. package/gemini/commands/BMad/tasks/execute-checklist.toml +6 -0
  531. package/gemini/commands/BMad/tasks/facilitate-brainstorming-session.toml +6 -0
  532. package/gemini/commands/BMad/tasks/generate-ai-frontend-prompt.toml +6 -0
  533. package/gemini/commands/BMad/tasks/index-docs.toml +6 -0
  534. package/gemini/commands/BMad/tasks/kb-mode-interaction.toml +6 -0
  535. package/gemini/commands/BMad/tasks/nfr-assess.toml +6 -0
  536. package/gemini/commands/BMad/tasks/qa-gate.toml +6 -0
  537. package/gemini/commands/BMad/tasks/review-story.toml +6 -0
  538. package/gemini/commands/BMad/tasks/risk-profile.toml +6 -0
  539. package/gemini/commands/BMad/tasks/shard-doc.toml +6 -0
  540. package/gemini/commands/BMad/tasks/test-design.toml +6 -0
  541. package/gemini/commands/BMad/tasks/trace-requirements.toml +6 -0
  542. package/gemini/commands/BMad/tasks/validate-next-story.toml +6 -0
  543. package/github/workflows/publish.yml +150 -150
  544. package/index.js +9 -9
  545. package/mcp.json +14 -14
  546. package/package.json +41 -40
  547. package/resources/images/Siesa_Logosimbolo_Azul.svg +24 -24
  548. package/resources/images/Siesa_Logosimbolo_Blanco.svg +24 -24
  549. package/resources/images/Siesa_Simbolo_Azul.svg +14 -14
  550. package/resources/images/Siesa_Simbolo_Blanco.svg +14 -14
  551. package/vscode/mcp.json +15 -15
  552. package/vscode/settings.json +12 -12
  553. package/_bmad/_config/agent-manifest.csv +0 -20
  554. package/_bmad/_config/agents/bmb-agent-builder.customize.yaml +0 -41
  555. package/_bmad/_config/agents/bmb-module-builder.customize.yaml +0 -41
  556. package/_bmad/_config/agents/bmb-workflow-builder.customize.yaml +0 -41
  557. package/_bmad/_config/files-manifest.csv +0 -469
  558. package/_bmad/_config/ides/claude-code.yaml +0 -6
  559. package/_bmad/_config/manifest.yaml +0 -14
  560. package/_bmad/_config/task-manifest.csv +0 -6
  561. package/_bmad/_config/tool-manifest.csv +0 -1
  562. package/_bmad/_config/workflow-manifest.csv +0 -45
  563. package/_bmad/_memory/config.yaml +0 -11
  564. package/_bmad/bmb/README.md +0 -25
  565. package/_bmad/bmb/agents/agent-builder.md +0 -57
  566. package/_bmad/bmb/agents/module-builder.md +0 -60
  567. package/_bmad/bmb/agents/workflow-builder.md +0 -56
  568. package/_bmad/bmb/config.yaml +0 -12
  569. package/_bmad/bmb/docs/workflows/architecture.md +0 -220
  570. package/_bmad/bmb/docs/workflows/common-workflow-tools.csv +0 -19
  571. package/_bmad/bmb/docs/workflows/csv-data-file-standards.md +0 -206
  572. package/_bmad/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +0 -220
  573. package/_bmad/bmb/docs/workflows/step-file-rules.md +0 -469
  574. package/_bmad/bmb/docs/workflows/templates/step-01-init-continuable-template.md +0 -241
  575. package/_bmad/bmb/docs/workflows/templates/step-1b-template.md +0 -223
  576. package/_bmad/bmb/docs/workflows/templates/step-file.md +0 -139
  577. package/_bmad/bmb/docs/workflows/templates/step-template.md +0 -290
  578. package/_bmad/bmb/docs/workflows/templates/workflow-template.md +0 -104
  579. package/_bmad/bmb/docs/workflows/templates/workflow.md +0 -58
  580. package/_bmad/bmb/docs/workflows/terms.md +0 -97
  581. package/_bmad/bmb/reference/agents/simple-examples/README.md +0 -223
  582. package/_bmad/bmb/reference/readme.md +0 -3
  583. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +0 -18
  584. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +0 -16
  585. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +0 -28
  586. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +0 -177
  587. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +0 -121
  588. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +0 -165
  589. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +0 -154
  590. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +0 -183
  591. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +0 -168
  592. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +0 -195
  593. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +0 -25
  594. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +0 -68
  595. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +0 -29
  596. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +0 -47
  597. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +0 -37
  598. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +0 -18
  599. package/_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md +0 -59
  600. package/_bmad/bmb/workflows/agent/data/agent-compilation.md +0 -273
  601. package/_bmad/bmb/workflows/agent/data/agent-menu-patterns.md +0 -233
  602. package/_bmad/bmb/workflows/agent/data/agent-metadata.md +0 -208
  603. package/_bmad/bmb/workflows/agent/data/brainstorm-context.md +0 -146
  604. package/_bmad/bmb/workflows/agent/data/communication-presets.csv +0 -61
  605. package/_bmad/bmb/workflows/agent/data/critical-actions.md +0 -120
  606. package/_bmad/bmb/workflows/agent/data/expert-agent-architecture.md +0 -236
  607. package/_bmad/bmb/workflows/agent/data/expert-agent-validation.md +0 -173
  608. package/_bmad/bmb/workflows/agent/data/module-agent-validation.md +0 -124
  609. package/_bmad/bmb/workflows/agent/data/persona-properties.md +0 -266
  610. package/_bmad/bmb/workflows/agent/data/principles-crafting.md +0 -292
  611. package/_bmad/bmb/workflows/agent/data/reference/expert-examples/journal-keeper/journal-keeper-sidecar/entries/yy-mm-dd-entry-template.md +0 -17
  612. package/_bmad/bmb/workflows/agent/data/reference/module-examples/architect.md +0 -68
  613. package/_bmad/bmb/workflows/agent/data/simple-agent-architecture.md +0 -204
  614. package/_bmad/bmb/workflows/agent/data/simple-agent-validation.md +0 -132
  615. package/_bmad/bmb/workflows/agent/data/understanding-agent-types.md +0 -222
  616. package/_bmad/bmb/workflows/agent/steps-c/step-01-brainstorm.md +0 -126
  617. package/_bmad/bmb/workflows/agent/steps-c/step-02-discovery.md +0 -168
  618. package/_bmad/bmb/workflows/agent/steps-c/step-03-type-metadata.md +0 -294
  619. package/_bmad/bmb/workflows/agent/steps-c/step-04-persona.md +0 -210
  620. package/_bmad/bmb/workflows/agent/steps-c/step-05-commands-menu.md +0 -176
  621. package/_bmad/bmb/workflows/agent/steps-c/step-06-activation.md +0 -275
  622. package/_bmad/bmb/workflows/agent/steps-c/step-07a-build-simple.md +0 -185
  623. package/_bmad/bmb/workflows/agent/steps-c/step-07b-build-expert.md +0 -201
  624. package/_bmad/bmb/workflows/agent/steps-c/step-07c-build-module.md +0 -258
  625. package/_bmad/bmb/workflows/agent/steps-c/step-08a-plan-traceability.md +0 -203
  626. package/_bmad/bmb/workflows/agent/steps-c/step-08b-metadata-validation.md +0 -135
  627. package/_bmad/bmb/workflows/agent/steps-c/step-08c-persona-validation.md +0 -161
  628. package/_bmad/bmb/workflows/agent/steps-c/step-08d-menu-validation.md +0 -158
  629. package/_bmad/bmb/workflows/agent/steps-c/step-08e-structure-validation.md +0 -306
  630. package/_bmad/bmb/workflows/agent/steps-c/step-08f-sidecar-validation.md +0 -462
  631. package/_bmad/bmb/workflows/agent/steps-c/step-09-celebrate.md +0 -244
  632. package/_bmad/bmb/workflows/agent/steps-e/e-01-load-existing.md +0 -214
  633. package/_bmad/bmb/workflows/agent/steps-e/e-02-discover-edits.md +0 -191
  634. package/_bmad/bmb/workflows/agent/steps-e/e-03a-validate-metadata.md +0 -78
  635. package/_bmad/bmb/workflows/agent/steps-e/e-03b-validate-persona.md +0 -76
  636. package/_bmad/bmb/workflows/agent/steps-e/e-03c-validate-menu.md +0 -75
  637. package/_bmad/bmb/workflows/agent/steps-e/e-03d-validate-structure.md +0 -75
  638. package/_bmad/bmb/workflows/agent/steps-e/e-03e-validate-sidecar.md +0 -78
  639. package/_bmad/bmb/workflows/agent/steps-e/e-03f-validation-summary.md +0 -119
  640. package/_bmad/bmb/workflows/agent/steps-e/e-04-type-metadata.md +0 -122
  641. package/_bmad/bmb/workflows/agent/steps-e/e-05-persona.md +0 -132
  642. package/_bmad/bmb/workflows/agent/steps-e/e-06-commands-menu.md +0 -120
  643. package/_bmad/bmb/workflows/agent/steps-e/e-07-activation.md +0 -122
  644. package/_bmad/bmb/workflows/agent/steps-e/e-08a-edit-simple.md +0 -134
  645. package/_bmad/bmb/workflows/agent/steps-e/e-08b-edit-expert.md +0 -117
  646. package/_bmad/bmb/workflows/agent/steps-e/e-08c-edit-module.md +0 -120
  647. package/_bmad/bmb/workflows/agent/steps-e/e-09a-validate-metadata.md +0 -70
  648. package/_bmad/bmb/workflows/agent/steps-e/e-09b-validate-persona.md +0 -70
  649. package/_bmad/bmb/workflows/agent/steps-e/e-09c-validate-menu.md +0 -69
  650. package/_bmad/bmb/workflows/agent/steps-e/e-09d-validate-structure.md +0 -69
  651. package/_bmad/bmb/workflows/agent/steps-e/e-09e-validate-sidecar.md +0 -70
  652. package/_bmad/bmb/workflows/agent/steps-e/e-09f-validation-summary.md +0 -111
  653. package/_bmad/bmb/workflows/agent/steps-e/e-10-celebrate.md +0 -150
  654. package/_bmad/bmb/workflows/agent/steps-v/v-01-load-review.md +0 -128
  655. package/_bmad/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md +0 -73
  656. package/_bmad/bmb/workflows/agent/steps-v/v-02b-validate-persona.md +0 -72
  657. package/_bmad/bmb/workflows/agent/steps-v/v-02c-validate-menu.md +0 -71
  658. package/_bmad/bmb/workflows/agent/steps-v/v-02d-validate-structure.md +0 -71
  659. package/_bmad/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md +0 -76
  660. package/_bmad/bmb/workflows/agent/steps-v/v-03-summary.md +0 -100
  661. package/_bmad/bmb/workflows/agent/templates/agent-plan.template.md +0 -5
  662. package/_bmad/bmb/workflows/agent/templates/expert-agent-template/expert-agent.template.md +0 -76
  663. package/_bmad/bmb/workflows/agent/templates/simple-agent.template.md +0 -71
  664. package/_bmad/bmb/workflows/agent/workflow.md +0 -123
  665. package/_bmad/bmb/workflows/create-module/steps/step-01-init.md +0 -156
  666. package/_bmad/bmb/workflows/create-module/steps/step-01b-continue.md +0 -170
  667. package/_bmad/bmb/workflows/create-module/steps/step-02-concept.md +0 -218
  668. package/_bmad/bmb/workflows/create-module/steps/step-03-components.md +0 -268
  669. package/_bmad/bmb/workflows/create-module/steps/step-04-structure.md +0 -229
  670. package/_bmad/bmb/workflows/create-module/steps/step-05-config.md +0 -234
  671. package/_bmad/bmb/workflows/create-module/steps/step-06-agents.md +0 -297
  672. package/_bmad/bmb/workflows/create-module/steps/step-07-workflows.md +0 -229
  673. package/_bmad/bmb/workflows/create-module/steps/step-08-installer.md +0 -187
  674. package/_bmad/bmb/workflows/create-module/steps/step-09-documentation.md +0 -310
  675. package/_bmad/bmb/workflows/create-module/steps/step-10-roadmap.md +0 -338
  676. package/_bmad/bmb/workflows/create-module/steps/step-11-validate.md +0 -336
  677. package/_bmad/bmb/workflows/create-module/templates/agent.template.md +0 -313
  678. package/_bmad/bmb/workflows/create-module/templates/installer.template.js +0 -47
  679. package/_bmad/bmb/workflows/create-module/templates/module-plan.template.md +0 -5
  680. package/_bmad/bmb/workflows/create-module/templates/module.template.yaml +0 -53
  681. package/_bmad/bmb/workflows/create-module/templates/workflow-plan-template.md +0 -23
  682. package/_bmad/bmb/workflows/create-module/validation.md +0 -126
  683. package/_bmad/bmb/workflows/create-module/workflow.md +0 -56
  684. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/dietary-restrictions.csv +0 -18
  685. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/macro-calculator.csv +0 -16
  686. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/data/recipe-database.csv +0 -28
  687. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01-init.md +0 -177
  688. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-01b-continue.md +0 -150
  689. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-02-profile.md +0 -164
  690. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-03-assessment.md +0 -152
  691. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-04-strategy.md +0 -182
  692. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-05-shopping.md +0 -167
  693. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/steps/step-06-prep-schedule.md +0 -194
  694. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/assessment-section.md +0 -25
  695. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/nutrition-plan.md +0 -68
  696. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/prep-schedule-section.md +0 -29
  697. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/profile-section.md +0 -47
  698. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/shopping-section.md +0 -37
  699. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/templates/strategy-section.md +0 -18
  700. package/_bmad/bmb/workflows/create-workflow/data/examples/meal-prep-nutrition/workflow.md +0 -58
  701. package/_bmad/bmb/workflows/create-workflow/steps/step-01-init.md +0 -158
  702. package/_bmad/bmb/workflows/create-workflow/steps/step-02-gather.md +0 -212
  703. package/_bmad/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +0 -251
  704. package/_bmad/bmb/workflows/create-workflow/steps/step-04-plan-review.md +0 -217
  705. package/_bmad/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +0 -290
  706. package/_bmad/bmb/workflows/create-workflow/steps/step-06-design.md +0 -272
  707. package/_bmad/bmb/workflows/create-workflow/steps/step-07-build.md +0 -323
  708. package/_bmad/bmb/workflows/create-workflow/steps/step-08-review.md +0 -285
  709. package/_bmad/bmb/workflows/create-workflow/steps/step-09-complete.md +0 -188
  710. package/_bmad/bmb/workflows/create-workflow/workflow.md +0 -59
  711. package/_bmad/bmb/workflows/edit-workflow/steps/step-01-analyze.md +0 -217
  712. package/_bmad/bmb/workflows/edit-workflow/steps/step-02-discover.md +0 -254
  713. package/_bmad/bmb/workflows/edit-workflow/steps/step-03-improve.md +0 -218
  714. package/_bmad/bmb/workflows/edit-workflow/steps/step-04-validate.md +0 -194
  715. package/_bmad/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +0 -246
  716. package/_bmad/bmb/workflows/edit-workflow/templates/completion-summary.md +0 -75
  717. package/_bmad/bmb/workflows/edit-workflow/templates/improvement-goals.md +0 -68
  718. package/_bmad/bmb/workflows/edit-workflow/templates/improvement-log.md +0 -40
  719. package/_bmad/bmb/workflows/edit-workflow/templates/validation-results.md +0 -51
  720. package/_bmad/bmb/workflows/edit-workflow/templates/workflow-analysis.md +0 -56
  721. package/_bmad/bmb/workflows/edit-workflow/workflow.md +0 -59
  722. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +0 -153
  723. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +0 -244
  724. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +0 -275
  725. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +0 -296
  726. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +0 -265
  727. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +0 -361
  728. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +0 -259
  729. package/_bmad/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +0 -302
  730. package/_bmad/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +0 -140
  731. package/_bmad/bmb/workflows/workflow-compliance-check/workflow.md +0 -59
  732. package/_bmad/bmb/workflows-legacy/edit-module/README.md +0 -171
  733. package/_bmad/bmb/workflows-legacy/edit-module/checklist.md +0 -163
  734. package/_bmad/bmb/workflows-legacy/edit-module/instructions.md +0 -340
  735. package/_bmad/bmb/workflows-legacy/edit-module/workflow.yaml +0 -33
  736. package/_bmad/bmb/workflows-legacy/module-brief/README.md +0 -264
  737. package/_bmad/bmb/workflows-legacy/module-brief/checklist.md +0 -116
  738. package/_bmad/bmb/workflows-legacy/module-brief/instructions.md +0 -268
  739. package/_bmad/bmb/workflows-legacy/module-brief/template.md +0 -275
  740. package/_bmad/bmb/workflows-legacy/module-brief/workflow.yaml +0 -35
  741. package/_bmad/bmm/agents/analyst.md +0 -76
  742. package/_bmad/bmm/agents/architect.md +0 -68
  743. package/_bmad/bmm/agents/dev.md +0 -70
  744. package/_bmad/bmm/agents/pm.md +0 -70
  745. package/_bmad/bmm/agents/quick-flow-solo-dev.md +0 -68
  746. package/_bmad/bmm/agents/sm.md +0 -71
  747. package/_bmad/bmm/agents/tea.md +0 -71
  748. package/_bmad/bmm/agents/tech-writer.md +0 -72
  749. package/_bmad/bmm/agents/ux-designer.md +0 -68
  750. package/_bmad/bmm/config.yaml +0 -18
  751. package/_bmad/bmm/data/README.md +0 -29
  752. package/_bmad/bmm/data/documentation-standards.md +0 -262
  753. package/_bmad/bmm/data/project-context-template.md +0 -40
  754. package/_bmad/bmm/teams/default-party.csv +0 -21
  755. package/_bmad/bmm/teams/team-fullstack.yaml +0 -12
  756. package/_bmad/bmm/testarch/knowledge/api-request.md +0 -303
  757. package/_bmad/bmm/testarch/knowledge/auth-session.md +0 -356
  758. package/_bmad/bmm/testarch/knowledge/burn-in.md +0 -273
  759. package/_bmad/bmm/testarch/knowledge/ci-burn-in.md +0 -675
  760. package/_bmad/bmm/testarch/knowledge/component-tdd.md +0 -486
  761. package/_bmad/bmm/testarch/knowledge/contract-testing.md +0 -957
  762. package/_bmad/bmm/testarch/knowledge/data-factories.md +0 -500
  763. package/_bmad/bmm/testarch/knowledge/email-auth.md +0 -721
  764. package/_bmad/bmm/testarch/knowledge/error-handling.md +0 -725
  765. package/_bmad/bmm/testarch/knowledge/feature-flags.md +0 -750
  766. package/_bmad/bmm/testarch/knowledge/file-utils.md +0 -260
  767. package/_bmad/bmm/testarch/knowledge/fixture-architecture.md +0 -401
  768. package/_bmad/bmm/testarch/knowledge/fixtures-composition.md +0 -382
  769. package/_bmad/bmm/testarch/knowledge/intercept-network-call.md +0 -280
  770. package/_bmad/bmm/testarch/knowledge/log.md +0 -294
  771. package/_bmad/bmm/testarch/knowledge/network-error-monitor.md +0 -272
  772. package/_bmad/bmm/testarch/knowledge/network-first.md +0 -486
  773. package/_bmad/bmm/testarch/knowledge/network-recorder.md +0 -265
  774. package/_bmad/bmm/testarch/knowledge/nfr-criteria.md +0 -670
  775. package/_bmad/bmm/testarch/knowledge/overview.md +0 -283
  776. package/_bmad/bmm/testarch/knowledge/playwright-config.md +0 -730
  777. package/_bmad/bmm/testarch/knowledge/probability-impact.md +0 -601
  778. package/_bmad/bmm/testarch/knowledge/recurse.md +0 -296
  779. package/_bmad/bmm/testarch/knowledge/risk-governance.md +0 -615
  780. package/_bmad/bmm/testarch/knowledge/selective-testing.md +0 -732
  781. package/_bmad/bmm/testarch/knowledge/selector-resilience.md +0 -527
  782. package/_bmad/bmm/testarch/knowledge/test-healing-patterns.md +0 -644
  783. package/_bmad/bmm/testarch/knowledge/test-levels-framework.md +0 -473
  784. package/_bmad/bmm/testarch/knowledge/test-priorities-matrix.md +0 -373
  785. package/_bmad/bmm/testarch/knowledge/test-quality.md +0 -664
  786. package/_bmad/bmm/testarch/knowledge/timing-debugging.md +0 -372
  787. package/_bmad/bmm/testarch/knowledge/visual-debugging.md +0 -524
  788. package/_bmad/bmm/testarch/tea-index.csv +0 -33
  789. package/_bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +0 -10
  790. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +0 -182
  791. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +0 -166
  792. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +0 -204
  793. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +0 -207
  794. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +0 -210
  795. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +0 -224
  796. package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +0 -199
  797. package/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +0 -58
  798. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +0 -137
  799. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +0 -229
  800. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +0 -238
  801. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +0 -206
  802. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +0 -234
  803. package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +0 -443
  804. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +0 -182
  805. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +0 -237
  806. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +0 -200
  807. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +0 -249
  808. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +0 -259
  809. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +0 -177
  810. package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +0 -475
  811. package/_bmad/bmm/workflows/1-analysis/research/research.template.md +0 -29
  812. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +0 -137
  813. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +0 -239
  814. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +0 -248
  815. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +0 -202
  816. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +0 -239
  817. package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +0 -486
  818. package/_bmad/bmm/workflows/1-analysis/research/workflow.md +0 -173
  819. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +0 -135
  820. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +0 -127
  821. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +0 -190
  822. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +0 -216
  823. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +0 -219
  824. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +0 -234
  825. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +0 -252
  826. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +0 -254
  827. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +0 -224
  828. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +0 -224
  829. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +0 -241
  830. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +0 -248
  831. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +0 -237
  832. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +0 -264
  833. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +0 -228
  834. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +0 -13
  835. package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +0 -43
  836. package/_bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +0 -13
  837. package/_bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +0 -11
  838. package/_bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +0 -11
  839. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +0 -197
  840. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +0 -166
  841. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +0 -421
  842. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +0 -290
  843. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +0 -291
  844. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +0 -271
  845. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +0 -262
  846. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +0 -258
  847. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +0 -299
  848. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +0 -270
  849. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +0 -294
  850. package/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +0 -186
  851. package/_bmad/bmm/workflows/2-plan-workflows/prd/workflow.md +0 -63
  852. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +0 -190
  853. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +0 -178
  854. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -179
  855. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +0 -139
  856. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -252
  857. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +0 -133
  858. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +0 -4
  859. package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +0 -55
  860. package/_bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +0 -12
  861. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/architecture-patterns.md +0 -415
  862. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/backend-standards.md +0 -812
  863. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/frontend-standards.md +0 -376
  864. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technical-preferences-ux.md +0 -423
  865. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/company-standards/technology-stack.md +0 -235
  866. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +0 -11
  867. package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +0 -7
  868. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +0 -166
  869. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +0 -164
  870. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +0 -224
  871. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +0 -342
  872. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +0 -328
  873. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +0 -368
  874. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +0 -379
  875. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +0 -366
  876. package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +0 -352
  877. package/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +0 -51
  878. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -259
  879. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +0 -233
  880. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +0 -272
  881. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +0 -145
  882. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +0 -57
  883. package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +0 -59
  884. package/_bmad/bmm/workflows/4-implementation/code-review/checklist.md +0 -23
  885. package/_bmad/bmm/workflows/4-implementation/code-review/instructions.xml +0 -225
  886. package/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +0 -50
  887. package/_bmad/bmm/workflows/4-implementation/correct-course/checklist.md +0 -279
  888. package/_bmad/bmm/workflows/4-implementation/correct-course/instructions.md +0 -206
  889. package/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +0 -58
  890. package/_bmad/bmm/workflows/4-implementation/create-story/checklist.md +0 -358
  891. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-01-determine-story.md +0 -85
  892. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-02-analyze.md +0 -67
  893. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-03-architecture.md +0 -71
  894. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-04-web-research.md +0 -58
  895. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-05-create-file.md +0 -76
  896. package/_bmad/bmm/workflows/4-implementation/create-story/steps/step-06-finalize.md +0 -66
  897. package/_bmad/bmm/workflows/4-implementation/create-story/template.md +0 -49
  898. package/_bmad/bmm/workflows/4-implementation/create-story/workflow.md +0 -58
  899. package/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml.bak +0 -63
  900. package/_bmad/bmm/workflows/4-implementation/dev-story/checklist.md +0 -85
  901. package/_bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +0 -471
  902. package/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +0 -25
  903. package/_bmad/bmm/workflows/4-implementation/retrospective/instructions.md +0 -1443
  904. package/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +0 -57
  905. package/_bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +0 -33
  906. package/_bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +0 -225
  907. package/_bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +0 -55
  908. package/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +0 -52
  909. package/_bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +0 -229
  910. package/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +0 -35
  911. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +0 -189
  912. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +0 -144
  913. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +0 -128
  914. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +0 -173
  915. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +0 -74
  916. package/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +0 -79
  917. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +0 -156
  918. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +0 -120
  919. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +0 -113
  920. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +0 -113
  921. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +0 -106
  922. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +0 -140
  923. package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +0 -52
  924. package/_bmad/bmm/workflows/document-project/checklist.md +0 -245
  925. package/_bmad/bmm/workflows/document-project/documentation-requirements.csv +0 -12
  926. package/_bmad/bmm/workflows/document-project/instructions.md +0 -221
  927. package/_bmad/bmm/workflows/document-project/templates/deep-dive-template.md +0 -345
  928. package/_bmad/bmm/workflows/document-project/templates/index-template.md +0 -169
  929. package/_bmad/bmm/workflows/document-project/templates/project-overview-template.md +0 -103
  930. package/_bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +0 -160
  931. package/_bmad/bmm/workflows/document-project/templates/source-tree-template.md +0 -135
  932. package/_bmad/bmm/workflows/document-project/workflow.yaml +0 -28
  933. package/_bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -298
  934. package/_bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
  935. package/_bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -1106
  936. package/_bmad/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
  937. package/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +0 -90
  938. package/_bmad/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +0 -127
  939. package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +0 -39
  940. package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +0 -130
  941. package/_bmad/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +0 -26
  942. package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +0 -43
  943. package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +0 -141
  944. package/_bmad/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +0 -26
  945. package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +0 -49
  946. package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +0 -241
  947. package/_bmad/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +0 -26
  948. package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +0 -38
  949. package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +0 -133
  950. package/_bmad/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +0 -26
  951. package/_bmad/bmm/workflows/generate-project-context/project-context-template.md +0 -21
  952. package/_bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +0 -218
  953. package/_bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +0 -318
  954. package/_bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +0 -278
  955. package/_bmad/bmm/workflows/generate-project-context/workflow.md +0 -50
  956. package/_bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +0 -364
  957. package/_bmad/bmm/workflows/testarch/atdd/checklist.md +0 -374
  958. package/_bmad/bmm/workflows/testarch/atdd/instructions.md +0 -806
  959. package/_bmad/bmm/workflows/testarch/atdd/workflow.yaml +0 -45
  960. package/_bmad/bmm/workflows/testarch/automate/checklist.md +0 -582
  961. package/_bmad/bmm/workflows/testarch/automate/instructions.md +0 -1324
  962. package/_bmad/bmm/workflows/testarch/automate/workflow.yaml +0 -52
  963. package/_bmad/bmm/workflows/testarch/ci/checklist.md +0 -248
  964. package/_bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +0 -198
  965. package/_bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +0 -149
  966. package/_bmad/bmm/workflows/testarch/ci/instructions.md +0 -536
  967. package/_bmad/bmm/workflows/testarch/ci/workflow.yaml +0 -45
  968. package/_bmad/bmm/workflows/testarch/framework/checklist.md +0 -321
  969. package/_bmad/bmm/workflows/testarch/framework/instructions.md +0 -481
  970. package/_bmad/bmm/workflows/testarch/framework/workflow.yaml +0 -47
  971. package/_bmad/bmm/workflows/testarch/nfr-assess/checklist.md +0 -407
  972. package/_bmad/bmm/workflows/testarch/nfr-assess/instructions.md +0 -722
  973. package/_bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +0 -445
  974. package/_bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +0 -47
  975. package/_bmad/bmm/workflows/testarch/test-design/checklist.md +0 -235
  976. package/_bmad/bmm/workflows/testarch/test-design/instructions.md +0 -788
  977. package/_bmad/bmm/workflows/testarch/test-design/test-design-template.md +0 -294
  978. package/_bmad/bmm/workflows/testarch/test-design/workflow.yaml +0 -54
  979. package/_bmad/bmm/workflows/testarch/test-review/checklist.md +0 -472
  980. package/_bmad/bmm/workflows/testarch/test-review/instructions.md +0 -628
  981. package/_bmad/bmm/workflows/testarch/test-review/test-review-template.md +0 -390
  982. package/_bmad/bmm/workflows/testarch/test-review/workflow.yaml +0 -46
  983. package/_bmad/bmm/workflows/testarch/trace/checklist.md +0 -655
  984. package/_bmad/bmm/workflows/testarch/trace/instructions.md +0 -1047
  985. package/_bmad/bmm/workflows/testarch/trace/trace-template.md +0 -675
  986. package/_bmad/bmm/workflows/testarch/trace/workflow.yaml +0 -55
  987. package/_bmad/bmm/workflows/workflow-status/init/instructions.md +0 -346
  988. package/_bmad/bmm/workflows/workflow-status/init/workflow.yaml +0 -29
  989. package/_bmad/bmm/workflows/workflow-status/instructions.md +0 -395
  990. package/_bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +0 -103
  991. package/_bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +0 -100
  992. package/_bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +0 -103
  993. package/_bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +0 -100
  994. package/_bmad/bmm/workflows/workflow-status/project-levels.yaml +0 -59
  995. package/_bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +0 -24
  996. package/_bmad/bmm/workflows/workflow-status/workflow.yaml +0 -30
  997. package/_bmad/cis/agents/brainstorming-coach.md +0 -60
  998. package/_bmad/cis/agents/creative-problem-solver.md +0 -60
  999. package/_bmad/cis/agents/design-thinking-coach.md +0 -60
  1000. package/_bmad/cis/agents/innovation-strategist.md +0 -60
  1001. package/_bmad/cis/agents/presentation-master.md +0 -66
  1002. package/_bmad/cis/agents/storyteller/storyteller.md +0 -57
  1003. package/_bmad/cis/config.yaml +0 -11
  1004. package/_bmad/cis/teams/creative-squad.yaml +0 -7
  1005. package/_bmad/cis/teams/default-party.csv +0 -12
  1006. package/_bmad/cis/workflows/README.md +0 -139
  1007. package/_bmad/cis/workflows/design-thinking/README.md +0 -56
  1008. package/_bmad/cis/workflows/design-thinking/design-methods.csv +0 -31
  1009. package/_bmad/cis/workflows/design-thinking/instructions.md +0 -202
  1010. package/_bmad/cis/workflows/design-thinking/template.md +0 -111
  1011. package/_bmad/cis/workflows/design-thinking/workflow.yaml +0 -27
  1012. package/_bmad/cis/workflows/innovation-strategy/README.md +0 -56
  1013. package/_bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +0 -31
  1014. package/_bmad/cis/workflows/innovation-strategy/instructions.md +0 -276
  1015. package/_bmad/cis/workflows/innovation-strategy/template.md +0 -189
  1016. package/_bmad/cis/workflows/innovation-strategy/workflow.yaml +0 -27
  1017. package/_bmad/cis/workflows/problem-solving/README.md +0 -56
  1018. package/_bmad/cis/workflows/problem-solving/instructions.md +0 -252
  1019. package/_bmad/cis/workflows/problem-solving/solving-methods.csv +0 -31
  1020. package/_bmad/cis/workflows/problem-solving/template.md +0 -165
  1021. package/_bmad/cis/workflows/problem-solving/workflow.yaml +0 -27
  1022. package/_bmad/cis/workflows/storytelling/README.md +0 -58
  1023. package/_bmad/cis/workflows/storytelling/instructions.md +0 -293
  1024. package/_bmad/cis/workflows/storytelling/story-types.csv +0 -26
  1025. package/_bmad/cis/workflows/storytelling/template.md +0 -113
  1026. package/_bmad/cis/workflows/storytelling/workflow.yaml +0 -27
  1027. package/_bmad/core/agents/bmad-master.md +0 -57
  1028. package/_bmad/core/config.yaml +0 -9
  1029. package/_bmad/core/resources/excalidraw/README.md +0 -160
  1030. package/_bmad/core/resources/excalidraw/excalidraw-helpers.md +0 -127
  1031. package/_bmad/core/resources/excalidraw/library-loader.md +0 -50
  1032. package/_bmad/core/resources/excalidraw/validate-json-instructions.md +0 -79
  1033. package/_bmad/core/tasks/index-docs.xml +0 -65
  1034. package/_bmad/core/tasks/review-adversarial-general.xml +0 -41
  1035. package/_bmad/core/tasks/shard-doc.xml +0 -109
  1036. package/_bmad/core/tasks/validate-workflow.xml +0 -89
  1037. package/_bmad/core/tasks/workflow.xml +0 -235
  1038. package/_bmad/core/workflows/advanced-elicitation/methods.csv +0 -51
  1039. package/_bmad/core/workflows/advanced-elicitation/workflow.xml +0 -117
  1040. package/_bmad/core/workflows/brainstorming/brain-methods.csv +0 -62
  1041. package/_bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +0 -197
  1042. package/_bmad/core/workflows/brainstorming/steps/step-01b-continue.md +0 -122
  1043. package/_bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +0 -225
  1044. package/_bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +0 -237
  1045. package/_bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +0 -209
  1046. package/_bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +0 -264
  1047. package/_bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +0 -340
  1048. package/_bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +0 -303
  1049. package/_bmad/core/workflows/brainstorming/template.md +0 -15
  1050. package/_bmad/core/workflows/brainstorming/workflow.md +0 -51
  1051. package/_bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +0 -139
  1052. package/_bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +0 -204
  1053. package/_bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +0 -159
  1054. package/_bmad/core/workflows/party-mode/workflow.md +0 -206
  1055. /package/{_bmad/_config/agents/bmm-analyst.customize.yaml → bmad/_config/agents/bmb-agent-builder.customize.yaml} +0 -0
  1056. /package/{_bmad/_config/agents/bmm-architect.customize.yaml → bmad/_config/agents/bmb-module-builder.customize.yaml} +0 -0
  1057. /package/{_bmad/_config/agents/bmm-dev.customize.yaml → bmad/_config/agents/bmb-workflow-builder.customize.yaml} +0 -0
  1058. /package/{_bmad/_config/agents/bmm-pm.customize.yaml → bmad/_config/agents/bmm-analyst.customize.yaml} +0 -0
  1059. /package/{_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml → bmad/_config/agents/bmm-architect.customize.yaml} +0 -0
  1060. /package/{_bmad/_config/agents/bmm-sm.customize.yaml → bmad/_config/agents/bmm-dev.customize.yaml} +0 -0
  1061. /package/{_bmad/_config/agents/bmm-tea.customize.yaml → bmad/_config/agents/bmm-pm.customize.yaml} +0 -0
  1062. /package/{_bmad/_config/agents/bmm-tech-writer.customize.yaml → bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml} +0 -0
  1063. /package/{_bmad/_config/agents/bmm-ux-designer.customize.yaml → bmad/_config/agents/bmm-sm.customize.yaml} +0 -0
  1064. /package/{_bmad/_config/agents/cis-brainstorming-coach.customize.yaml → bmad/_config/agents/bmm-tea.customize.yaml} +0 -0
  1065. /package/{_bmad/_config/agents/cis-creative-problem-solver.customize.yaml → bmad/_config/agents/bmm-tech-writer.customize.yaml} +0 -0
  1066. /package/{_bmad/_config/agents/cis-design-thinking-coach.customize.yaml → bmad/_config/agents/bmm-ux-designer.customize.yaml} +0 -0
  1067. /package/{_bmad/_config/agents/cis-innovation-strategist.customize.yaml → bmad/_config/agents/cis-brainstorming-coach.customize.yaml} +0 -0
  1068. /package/{_bmad/_config/agents/cis-presentation-master.customize.yaml → bmad/_config/agents/cis-creative-problem-solver.customize.yaml} +0 -0
  1069. /package/{_bmad/_config/agents/cis-storyteller.customize.yaml → bmad/_config/agents/cis-design-thinking-coach.customize.yaml} +0 -0
  1070. /package/{_bmad/_config/agents/core-bmad-master.customize.yaml → bmad/_config/agents/cis-innovation-strategist.customize.yaml} +0 -0
  1071. /package/{_bmad → bmad}/_memory/storyteller-sidecar/stories-told.md +0 -0
  1072. /package/{_bmad → bmad}/_memory/storyteller-sidecar/story-preferences.md +0 -0
@@ -1,721 +0,0 @@
1
- # Email-Based Authentication Testing
2
-
3
- ## Principle
4
-
5
- Email-based authentication (magic links, one-time codes, passwordless login) requires specialized testing with email capture services like Mailosaur or Ethereal. Extract magic links via HTML parsing or use built-in link extraction, preserve browser storage (local/session/cookies) when processing links, cache email payloads to avoid exhausting inbox quotas, and cover negative cases (expired links, reused links, multiple rapid requests). Log email IDs and links for troubleshooting, but scrub PII before committing artifacts.
6
-
7
- ## Rationale
8
-
9
- Email authentication introduces unique challenges: asynchronous email delivery, quota limits (AWS Cognito: 50/day), cost per email, and complex state management (session preservation across link clicks). Without proper patterns, tests become slow (wait for email each time), expensive (quota exhaustion), and brittle (timing issues, missing state). Using email capture services + session caching + state preservation patterns makes email auth tests fast, reliable, and cost-effective.
10
-
11
- ## Pattern Examples
12
-
13
- ### Example 1: Magic Link Extraction with Mailosaur
14
-
15
- **Context**: Passwordless login flow where user receives magic link via email, clicks it, and is authenticated.
16
-
17
- **Implementation**:
18
-
19
- ```typescript
20
- // tests/e2e/magic-link-auth.spec.ts
21
- import { test, expect } from '@playwright/test';
22
-
23
- /**
24
- * Magic Link Authentication Flow
25
- * 1. User enters email
26
- * 2. Backend sends magic link
27
- * 3. Test retrieves email via Mailosaur
28
- * 4. Extract and visit magic link
29
- * 5. Verify user is authenticated
30
- */
31
-
32
- // Mailosaur configuration
33
- const MAILOSAUR_API_KEY = process.env.MAILOSAUR_API_KEY!;
34
- const MAILOSAUR_SERVER_ID = process.env.MAILOSAUR_SERVER_ID!;
35
-
36
- /**
37
- * Extract href from HTML email body
38
- * DOMParser provides XML/HTML parsing in Node.js
39
- */
40
- function extractMagicLink(htmlString: string): string | null {
41
- const { JSDOM } = require('jsdom');
42
- const dom = new JSDOM(htmlString);
43
- const link = dom.window.document.querySelector('#magic-link-button');
44
- return link ? (link as HTMLAnchorElement).href : null;
45
- }
46
-
47
- /**
48
- * Alternative: Use Mailosaur's built-in link extraction
49
- * Mailosaur automatically parses links - no regex needed!
50
- */
51
- async function getMagicLinkFromEmail(email: string): Promise<string> {
52
- const MailosaurClient = require('mailosaur');
53
- const mailosaur = new MailosaurClient(MAILOSAUR_API_KEY);
54
-
55
- // Wait for email (timeout: 30 seconds)
56
- const message = await mailosaur.messages.get(
57
- MAILOSAUR_SERVER_ID,
58
- {
59
- sentTo: email,
60
- },
61
- {
62
- timeout: 30000, // 30 seconds
63
- },
64
- );
65
-
66
- // Mailosaur extracts links automatically - no parsing needed!
67
- const magicLink = message.html?.links?.[0]?.href;
68
-
69
- if (!magicLink) {
70
- throw new Error(`Magic link not found in email to ${email}`);
71
- }
72
-
73
- console.log(`📧 Email received. Magic link extracted: ${magicLink}`);
74
- return magicLink;
75
- }
76
-
77
- test.describe('Magic Link Authentication', () => {
78
- test('should authenticate user via magic link', async ({ page, context }) => {
79
- // Arrange: Generate unique test email
80
- const randomId = Math.floor(Math.random() * 1000000);
81
- const testEmail = `user-${randomId}@${MAILOSAUR_SERVER_ID}.mailosaur.net`;
82
-
83
- // Act: Request magic link
84
- await page.goto('/login');
85
- await page.getByTestId('email-input').fill(testEmail);
86
- await page.getByTestId('send-magic-link').click();
87
-
88
- // Assert: Success message
89
- await expect(page.getByTestId('check-email-message')).toBeVisible();
90
- await expect(page.getByTestId('check-email-message')).toContainText('Check your email');
91
-
92
- // Retrieve magic link from email
93
- const magicLink = await getMagicLinkFromEmail(testEmail);
94
-
95
- // Visit magic link
96
- await page.goto(magicLink);
97
-
98
- // Assert: User is authenticated
99
- await expect(page.getByTestId('user-menu')).toBeVisible();
100
- await expect(page.getByTestId('user-email')).toContainText(testEmail);
101
-
102
- // Verify session storage preserved
103
- const localStorage = await page.evaluate(() => JSON.stringify(window.localStorage));
104
- expect(localStorage).toContain('authToken');
105
- });
106
-
107
- test('should handle expired magic link', async ({ page }) => {
108
- // Use pre-expired link (older than 15 minutes)
109
- const expiredLink = 'http://localhost:3000/auth/verify?token=expired-token-123';
110
-
111
- await page.goto(expiredLink);
112
-
113
- // Assert: Error message displayed
114
- await expect(page.getByTestId('error-message')).toBeVisible();
115
- await expect(page.getByTestId('error-message')).toContainText('link has expired');
116
-
117
- // Assert: User NOT authenticated
118
- await expect(page.getByTestId('user-menu')).not.toBeVisible();
119
- });
120
-
121
- test('should prevent reusing magic link', async ({ page }) => {
122
- const randomId = Math.floor(Math.random() * 1000000);
123
- const testEmail = `user-${randomId}@${MAILOSAUR_SERVER_ID}.mailosaur.net`;
124
-
125
- // Request magic link
126
- await page.goto('/login');
127
- await page.getByTestId('email-input').fill(testEmail);
128
- await page.getByTestId('send-magic-link').click();
129
-
130
- const magicLink = await getMagicLinkFromEmail(testEmail);
131
-
132
- // Visit link first time (success)
133
- await page.goto(magicLink);
134
- await expect(page.getByTestId('user-menu')).toBeVisible();
135
-
136
- // Sign out
137
- await page.getByTestId('sign-out').click();
138
-
139
- // Try to reuse same link (should fail)
140
- await page.goto(magicLink);
141
- await expect(page.getByTestId('error-message')).toBeVisible();
142
- await expect(page.getByTestId('error-message')).toContainText('link has already been used');
143
- });
144
- });
145
- ```
146
-
147
- **Cypress equivalent with Mailosaur plugin**:
148
-
149
- ```javascript
150
- // cypress/e2e/magic-link-auth.cy.ts
151
- describe('Magic Link Authentication', () => {
152
- it('should authenticate user via magic link', () => {
153
- const serverId = Cypress.env('MAILOSAUR_SERVERID');
154
- const randomId = Cypress._.random(1e6);
155
- const testEmail = `user-${randomId}@${serverId}.mailosaur.net`;
156
-
157
- // Request magic link
158
- cy.visit('/login');
159
- cy.get('[data-cy="email-input"]').type(testEmail);
160
- cy.get('[data-cy="send-magic-link"]').click();
161
- cy.get('[data-cy="check-email-message"]').should('be.visible');
162
-
163
- // Retrieve and visit magic link
164
- cy.mailosaurGetMessage(serverId, { sentTo: testEmail })
165
- .its('html.links.0.href') // Mailosaur extracts links automatically!
166
- .should('exist')
167
- .then((magicLink) => {
168
- cy.log(`Magic link: ${magicLink}`);
169
- cy.visit(magicLink);
170
- });
171
-
172
- // Verify authenticated
173
- cy.get('[data-cy="user-menu"]').should('be.visible');
174
- cy.get('[data-cy="user-email"]').should('contain', testEmail);
175
- });
176
- });
177
- ```
178
-
179
- **Key Points**:
180
-
181
- - **Mailosaur auto-extraction**: `html.links[0].href` or `html.codes[0].value`
182
- - **Unique emails**: Random ID prevents collisions
183
- - **Negative testing**: Expired and reused links tested
184
- - **State verification**: localStorage/session checked
185
- - **Fast email retrieval**: 30 second timeout typical
186
-
187
- ---
188
-
189
- ### Example 2: State Preservation Pattern with cy.session / Playwright storageState
190
-
191
- **Context**: Cache authenticated session to avoid requesting magic link on every test.
192
-
193
- **Implementation**:
194
-
195
- ```typescript
196
- // playwright/fixtures/email-auth-fixture.ts
197
- import { test as base } from '@playwright/test';
198
- import { getMagicLinkFromEmail } from '../support/mailosaur-helpers';
199
-
200
- type EmailAuthFixture = {
201
- authenticatedUser: { email: string; token: string };
202
- };
203
-
204
- export const test = base.extend<EmailAuthFixture>({
205
- authenticatedUser: async ({ page, context }, use) => {
206
- const randomId = Math.floor(Math.random() * 1000000);
207
- const testEmail = `user-${randomId}@${process.env.MAILOSAUR_SERVER_ID}.mailosaur.net`;
208
-
209
- // Check if we have cached auth state for this email
210
- const storageStatePath = `./test-results/auth-state-${testEmail}.json`;
211
-
212
- try {
213
- // Try to reuse existing session
214
- await context.storageState({ path: storageStatePath });
215
- await page.goto('/dashboard');
216
-
217
- // Validate session is still valid
218
- const isAuthenticated = await page.getByTestId('user-menu').isVisible({ timeout: 2000 });
219
-
220
- if (isAuthenticated) {
221
- console.log(`✅ Reusing cached session for ${testEmail}`);
222
- await use({ email: testEmail, token: 'cached' });
223
- return;
224
- }
225
- } catch (error) {
226
- console.log(`📧 No cached session, requesting magic link for ${testEmail}`);
227
- }
228
-
229
- // Request new magic link
230
- await page.goto('/login');
231
- await page.getByTestId('email-input').fill(testEmail);
232
- await page.getByTestId('send-magic-link').click();
233
-
234
- // Get magic link from email
235
- const magicLink = await getMagicLinkFromEmail(testEmail);
236
-
237
- // Visit link and authenticate
238
- await page.goto(magicLink);
239
- await expect(page.getByTestId('user-menu')).toBeVisible();
240
-
241
- // Extract auth token from localStorage
242
- const authToken = await page.evaluate(() => localStorage.getItem('authToken'));
243
-
244
- // Save session state for reuse
245
- await context.storageState({ path: storageStatePath });
246
-
247
- console.log(`💾 Cached session for ${testEmail}`);
248
-
249
- await use({ email: testEmail, token: authToken || '' });
250
- },
251
- });
252
- ```
253
-
254
- **Cypress equivalent with cy.session + data-session**:
255
-
256
- ```javascript
257
- // cypress/support/commands/email-auth.js
258
- import { dataSession } from 'cypress-data-session';
259
-
260
- /**
261
- * Authenticate via magic link with session caching
262
- * - First run: Requests email, extracts link, authenticates
263
- * - Subsequent runs: Reuses cached session (no email)
264
- */
265
- Cypress.Commands.add('authViaMagicLink', (email) => {
266
- return dataSession({
267
- name: `magic-link-${email}`,
268
-
269
- // First-time setup: Request and process magic link
270
- setup: () => {
271
- cy.visit('/login');
272
- cy.get('[data-cy="email-input"]').type(email);
273
- cy.get('[data-cy="send-magic-link"]').click();
274
-
275
- // Get magic link from Mailosaur
276
- cy.mailosaurGetMessage(Cypress.env('MAILOSAUR_SERVERID'), {
277
- sentTo: email,
278
- })
279
- .its('html.links.0.href')
280
- .should('exist')
281
- .then((magicLink) => {
282
- cy.visit(magicLink);
283
- });
284
-
285
- // Wait for authentication
286
- cy.get('[data-cy="user-menu"]', { timeout: 10000 }).should('be.visible');
287
-
288
- // Preserve authentication state
289
- return cy.getAllLocalStorage().then((storage) => {
290
- return { storage, email };
291
- });
292
- },
293
-
294
- // Validate cached session is still valid
295
- validate: (cached) => {
296
- return cy.wrap(Boolean(cached?.storage));
297
- },
298
-
299
- // Recreate session from cache (no email needed)
300
- recreate: (cached) => {
301
- // Restore localStorage
302
- cy.setLocalStorage(cached.storage);
303
- cy.visit('/dashboard');
304
- cy.get('[data-cy="user-menu"]', { timeout: 5000 }).should('be.visible');
305
- },
306
-
307
- shareAcrossSpecs: true, // Share session across all tests
308
- });
309
- });
310
- ```
311
-
312
- **Usage in tests**:
313
-
314
- ```javascript
315
- // cypress/e2e/dashboard.cy.ts
316
- describe('Dashboard', () => {
317
- const serverId = Cypress.env('MAILOSAUR_SERVERID');
318
- const testEmail = `test-user@${serverId}.mailosaur.net`;
319
-
320
- beforeEach(() => {
321
- // First test: Requests magic link
322
- // Subsequent tests: Reuses cached session (no email!)
323
- cy.authViaMagicLink(testEmail);
324
- });
325
-
326
- it('should display user dashboard', () => {
327
- cy.get('[data-cy="dashboard-content"]').should('be.visible');
328
- });
329
-
330
- it('should show user profile', () => {
331
- cy.get('[data-cy="user-email"]').should('contain', testEmail);
332
- });
333
-
334
- // Both tests share same session - only 1 email consumed!
335
- });
336
- ```
337
-
338
- **Key Points**:
339
-
340
- - **Session caching**: First test requests email, rest reuse session
341
- - **State preservation**: localStorage/cookies saved and restored
342
- - **Validation**: Check cached session is still valid
343
- - **Quota optimization**: Massive reduction in email consumption
344
- - **Fast tests**: Cached auth takes seconds vs. minutes
345
-
346
- ---
347
-
348
- ### Example 3: Negative Flow Tests (Expired, Invalid, Reused Links)
349
-
350
- **Context**: Comprehensive negative testing for email authentication edge cases.
351
-
352
- **Implementation**:
353
-
354
- ```typescript
355
- // tests/e2e/email-auth-negative.spec.ts
356
- import { test, expect } from '@playwright/test';
357
- import { getMagicLinkFromEmail } from '../support/mailosaur-helpers';
358
-
359
- const MAILOSAUR_SERVER_ID = process.env.MAILOSAUR_SERVER_ID!;
360
-
361
- test.describe('Email Auth Negative Flows', () => {
362
- test('should reject expired magic link', async ({ page }) => {
363
- // Generate expired link (simulate 24 hours ago)
364
- const expiredToken = Buffer.from(
365
- JSON.stringify({
366
- email: 'test@example.com',
367
- exp: Date.now() - 24 * 60 * 60 * 1000, // 24 hours ago
368
- }),
369
- ).toString('base64');
370
-
371
- const expiredLink = `http://localhost:3000/auth/verify?token=${expiredToken}`;
372
-
373
- // Visit expired link
374
- await page.goto(expiredLink);
375
-
376
- // Assert: Error displayed
377
- await expect(page.getByTestId('error-message')).toBeVisible();
378
- await expect(page.getByTestId('error-message')).toContainText(/link.*expired|expired.*link/i);
379
-
380
- // Assert: Link to request new one
381
- await expect(page.getByTestId('request-new-link')).toBeVisible();
382
-
383
- // Assert: User NOT authenticated
384
- await expect(page.getByTestId('user-menu')).not.toBeVisible();
385
- });
386
-
387
- test('should reject invalid magic link token', async ({ page }) => {
388
- const invalidLink = 'http://localhost:3000/auth/verify?token=invalid-garbage';
389
-
390
- await page.goto(invalidLink);
391
-
392
- // Assert: Error displayed
393
- await expect(page.getByTestId('error-message')).toBeVisible();
394
- await expect(page.getByTestId('error-message')).toContainText(/invalid.*link|link.*invalid/i);
395
-
396
- // Assert: User not authenticated
397
- await expect(page.getByTestId('user-menu')).not.toBeVisible();
398
- });
399
-
400
- test('should reject already-used magic link', async ({ page, context }) => {
401
- const randomId = Math.floor(Math.random() * 1000000);
402
- const testEmail = `user-${randomId}@${MAILOSAUR_SERVER_ID}.mailosaur.net`;
403
-
404
- // Request magic link
405
- await page.goto('/login');
406
- await page.getByTestId('email-input').fill(testEmail);
407
- await page.getByTestId('send-magic-link').click();
408
-
409
- const magicLink = await getMagicLinkFromEmail(testEmail);
410
-
411
- // Visit link FIRST time (success)
412
- await page.goto(magicLink);
413
- await expect(page.getByTestId('user-menu')).toBeVisible();
414
-
415
- // Sign out
416
- await page.getByTestId('user-menu').click();
417
- await page.getByTestId('sign-out').click();
418
- await expect(page.getByTestId('user-menu')).not.toBeVisible();
419
-
420
- // Try to reuse SAME link (should fail)
421
- await page.goto(magicLink);
422
-
423
- // Assert: Link already used error
424
- await expect(page.getByTestId('error-message')).toBeVisible();
425
- await expect(page.getByTestId('error-message')).toContainText(/already.*used|link.*used/i);
426
-
427
- // Assert: User not authenticated
428
- await expect(page.getByTestId('user-menu')).not.toBeVisible();
429
- });
430
-
431
- test('should handle rapid successive link requests', async ({ page }) => {
432
- const randomId = Math.floor(Math.random() * 1000000);
433
- const testEmail = `user-${randomId}@${MAILOSAUR_SERVER_ID}.mailosaur.net`;
434
-
435
- // Request magic link 3 times rapidly
436
- for (let i = 0; i < 3; i++) {
437
- await page.goto('/login');
438
- await page.getByTestId('email-input').fill(testEmail);
439
- await page.getByTestId('send-magic-link').click();
440
- await expect(page.getByTestId('check-email-message')).toBeVisible();
441
- }
442
-
443
- // Only the LATEST link should work
444
- const MailosaurClient = require('mailosaur');
445
- const mailosaur = new MailosaurClient(process.env.MAILOSAUR_API_KEY);
446
-
447
- const messages = await mailosaur.messages.list(MAILOSAUR_SERVER_ID, {
448
- sentTo: testEmail,
449
- });
450
-
451
- // Should receive 3 emails
452
- expect(messages.items.length).toBeGreaterThanOrEqual(3);
453
-
454
- // Get the LATEST magic link
455
- const latestMessage = messages.items[0]; // Most recent first
456
- const latestLink = latestMessage.html.links[0].href;
457
-
458
- // Latest link works
459
- await page.goto(latestLink);
460
- await expect(page.getByTestId('user-menu')).toBeVisible();
461
-
462
- // Older links should NOT work (if backend invalidates previous)
463
- await page.getByTestId('sign-out').click();
464
- const olderLink = messages.items[1].html.links[0].href;
465
-
466
- await page.goto(olderLink);
467
- await expect(page.getByTestId('error-message')).toBeVisible();
468
- });
469
-
470
- test('should rate-limit excessive magic link requests', async ({ page }) => {
471
- const randomId = Math.floor(Math.random() * 1000000);
472
- const testEmail = `user-${randomId}@${MAILOSAUR_SERVER_ID}.mailosaur.net`;
473
-
474
- // Request magic link 10 times rapidly (should hit rate limit)
475
- for (let i = 0; i < 10; i++) {
476
- await page.goto('/login');
477
- await page.getByTestId('email-input').fill(testEmail);
478
- await page.getByTestId('send-magic-link').click();
479
-
480
- // After N requests, should show rate limit error
481
- const errorVisible = await page
482
- .getByTestId('rate-limit-error')
483
- .isVisible({ timeout: 1000 })
484
- .catch(() => false);
485
-
486
- if (errorVisible) {
487
- console.log(`Rate limit hit after ${i + 1} requests`);
488
- await expect(page.getByTestId('rate-limit-error')).toContainText(/too many.*requests|rate.*limit/i);
489
- return;
490
- }
491
- }
492
-
493
- // If no rate limit after 10 requests, log warning
494
- console.warn('⚠️ No rate limit detected after 10 requests');
495
- });
496
- });
497
- ```
498
-
499
- **Key Points**:
500
-
501
- - **Expired links**: Test 24+ hour old tokens
502
- - **Invalid tokens**: Malformed or garbage tokens rejected
503
- - **Reuse prevention**: Same link can't be used twice
504
- - **Rapid requests**: Multiple requests handled gracefully
505
- - **Rate limiting**: Excessive requests blocked
506
-
507
- ---
508
-
509
- ### Example 4: Caching Strategy with cypress-data-session / Playwright Projects
510
-
511
- **Context**: Minimize email consumption by sharing authentication state across tests and specs.
512
-
513
- **Implementation**:
514
-
515
- ```javascript
516
- // cypress/support/commands/register-and-sign-in.js
517
- import { dataSession } from 'cypress-data-session';
518
-
519
- /**
520
- * Email Authentication Caching Strategy
521
- * - One email per test run (not per spec, not per test)
522
- * - First spec: Full registration flow (form → email → code → sign in)
523
- * - Subsequent specs: Only sign in (reuse user)
524
- * - Subsequent tests in same spec: Session already active (no sign in)
525
- */
526
-
527
- // Helper: Fill registration form
528
- function fillRegistrationForm({ fullName, userName, email, password }) {
529
- cy.intercept('POST', 'https://cognito-idp*').as('cognito');
530
- cy.contains('Register').click();
531
- cy.get('#reg-dialog-form').should('be.visible');
532
- cy.get('#first-name').type(fullName, { delay: 0 });
533
- cy.get('#last-name').type(lastName, { delay: 0 });
534
- cy.get('#email').type(email, { delay: 0 });
535
- cy.get('#username').type(userName, { delay: 0 });
536
- cy.get('#password').type(password, { delay: 0 });
537
- cy.contains('button', 'Create an account').click();
538
- cy.wait('@cognito').its('response.statusCode').should('equal', 200);
539
- }
540
-
541
- // Helper: Confirm registration with email code
542
- function confirmRegistration(email) {
543
- return cy
544
- .mailosaurGetMessage(Cypress.env('MAILOSAUR_SERVERID'), { sentTo: email })
545
- .its('html.codes.0.value') // Mailosaur auto-extracts codes!
546
- .then((code) => {
547
- cy.intercept('POST', 'https://cognito-idp*').as('cognito');
548
- cy.get('#verification-code').type(code, { delay: 0 });
549
- cy.contains('button', 'Confirm registration').click();
550
- cy.wait('@cognito');
551
- cy.contains('You are now registered!').should('be.visible');
552
- cy.contains('button', /ok/i).click();
553
- return cy.wrap(code); // Return code for reference
554
- });
555
- }
556
-
557
- // Helper: Full registration (form + email)
558
- function register({ fullName, userName, email, password }) {
559
- fillRegistrationForm({ fullName, userName, email, password });
560
- return confirmRegistration(email);
561
- }
562
-
563
- // Helper: Sign in
564
- function signIn({ userName, password }) {
565
- cy.intercept('POST', 'https://cognito-idp*').as('cognito');
566
- cy.contains('Sign in').click();
567
- cy.get('#sign-in-username').type(userName, { delay: 0 });
568
- cy.get('#sign-in-password').type(password, { delay: 0 });
569
- cy.contains('button', 'Sign in').click();
570
- cy.wait('@cognito');
571
- cy.contains('Sign out').should('be.visible');
572
- }
573
-
574
- /**
575
- * Register and sign in with email caching
576
- * ONE EMAIL PER MACHINE (cypress run or cypress open)
577
- */
578
- Cypress.Commands.add('registerAndSignIn', ({ fullName, userName, email, password }) => {
579
- return dataSession({
580
- name: email, // Unique session per email
581
-
582
- // First time: Full registration (form → email → code)
583
- init: () => register({ fullName, userName, email, password }),
584
-
585
- // Subsequent specs: Just check email exists (code already used)
586
- setup: () => confirmRegistration(email),
587
-
588
- // Always runs after init/setup: Sign in
589
- recreate: () => signIn({ userName, password }),
590
-
591
- // Share across ALL specs (one email for entire test run)
592
- shareAcrossSpecs: true,
593
- });
594
- });
595
- ```
596
-
597
- **Usage across multiple specs**:
598
-
599
- ```javascript
600
- // cypress/e2e/place-order.cy.ts
601
- describe('Place Order', () => {
602
- beforeEach(() => {
603
- cy.visit('/');
604
- cy.registerAndSignIn({
605
- fullName: Cypress.env('fullName'), // From cypress.config
606
- userName: Cypress.env('userName'),
607
- email: Cypress.env('email'), // SAME email across all specs
608
- password: Cypress.env('password'),
609
- });
610
- });
611
-
612
- it('should place order', () => {
613
- /* ... */
614
- });
615
- it('should view order history', () => {
616
- /* ... */
617
- });
618
- });
619
-
620
- // cypress/e2e/profile.cy.ts
621
- describe('User Profile', () => {
622
- beforeEach(() => {
623
- cy.visit('/');
624
- cy.registerAndSignIn({
625
- fullName: Cypress.env('fullName'),
626
- userName: Cypress.env('userName'),
627
- email: Cypress.env('email'), // SAME email - no new email sent!
628
- password: Cypress.env('password'),
629
- });
630
- });
631
-
632
- it('should update profile', () => {
633
- /* ... */
634
- });
635
- });
636
- ```
637
-
638
- **Playwright equivalent with storageState**:
639
-
640
- ```typescript
641
- // playwright.config.ts
642
- import { defineConfig } from '@playwright/test';
643
-
644
- export default defineConfig({
645
- projects: [
646
- {
647
- name: 'setup',
648
- testMatch: /global-setup\.ts/,
649
- },
650
- {
651
- name: 'authenticated',
652
- testMatch: /.*\.spec\.ts/,
653
- dependencies: ['setup'],
654
- use: {
655
- storageState: '.auth/user-session.json', // Reuse auth state
656
- },
657
- },
658
- ],
659
- });
660
- ```
661
-
662
- ```typescript
663
- // tests/global-setup.ts (runs once)
664
- import { test as setup } from '@playwright/test';
665
- import { getMagicLinkFromEmail } from './support/mailosaur-helpers';
666
-
667
- const authFile = '.auth/user-session.json';
668
-
669
- setup('authenticate via magic link', async ({ page }) => {
670
- const testEmail = process.env.TEST_USER_EMAIL!;
671
-
672
- // Request magic link
673
- await page.goto('/login');
674
- await page.getByTestId('email-input').fill(testEmail);
675
- await page.getByTestId('send-magic-link').click();
676
-
677
- // Get and visit magic link
678
- const magicLink = await getMagicLinkFromEmail(testEmail);
679
- await page.goto(magicLink);
680
-
681
- // Verify authenticated
682
- await expect(page.getByTestId('user-menu')).toBeVisible();
683
-
684
- // Save authenticated state (ONE TIME for all tests)
685
- await page.context().storageState({ path: authFile });
686
-
687
- console.log('✅ Authentication state saved to', authFile);
688
- });
689
- ```
690
-
691
- **Key Points**:
692
-
693
- - **One email per run**: Global setup authenticates once
694
- - **State reuse**: All tests use cached storageState
695
- - **cypress-data-session**: Intelligently manages cache lifecycle
696
- - **shareAcrossSpecs**: Session shared across all spec files
697
- - **Massive savings**: 500 tests = 1 email (not 500!)
698
-
699
- ---
700
-
701
- ## Email Authentication Testing Checklist
702
-
703
- Before implementing email auth tests, verify:
704
-
705
- - [ ] **Email service**: Mailosaur/Ethereal/MailHog configured with API keys
706
- - [ ] **Link extraction**: Use built-in parsing (html.links[0].href) over regex
707
- - [ ] **State preservation**: localStorage/session/cookies saved and restored
708
- - [ ] **Session caching**: cypress-data-session or storageState prevents redundant emails
709
- - [ ] **Negative flows**: Expired, invalid, reused, rapid requests tested
710
- - [ ] **Quota awareness**: One email per run (not per test)
711
- - [ ] **PII scrubbing**: Email IDs logged for debug, but scrubbed from artifacts
712
- - [ ] **Timeout handling**: 30 second email retrieval timeout configured
713
-
714
- ## Integration Points
715
-
716
- - Used in workflows: `*framework` (email auth setup), `*automate` (email auth test generation)
717
- - Related fragments: `fixture-architecture.md`, `test-quality.md`
718
- - Email services: Mailosaur (recommended), Ethereal (free), MailHog (self-hosted)
719
- - Plugins: cypress-mailosaur, cypress-data-session
720
-
721
- _Source: Email authentication blog, Murat testing toolkit, Mailosaur documentation_