bmad-fh 6.0.0-alpha.052779ef

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 (626) hide show
  1. package/.coderabbit.yaml +40 -0
  2. package/.githooks/post-checkout +129 -0
  3. package/.githooks/pre-commit +63 -0
  4. package/.githooks/pre-push +135 -0
  5. package/.github/CODE_OF_CONDUCT.md +128 -0
  6. package/.github/FUNDING.yaml +15 -0
  7. package/.github/ISSUE_TEMPLATE/config.yaml +8 -0
  8. package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
  9. package/.github/ISSUE_TEMPLATE/issue.md +32 -0
  10. package/.github/scripts/discord-helpers.sh +34 -0
  11. package/.github/workflows/bundle-latest.yaml +330 -0
  12. package/.github/workflows/discord.yaml +90 -0
  13. package/.github/workflows/docs.yaml +63 -0
  14. package/.github/workflows/manual-release.yaml +190 -0
  15. package/.github/workflows/publish-multi-artifact.yaml +54 -0
  16. package/.github/workflows/quality.yaml +115 -0
  17. package/.husky/pre-commit +20 -0
  18. package/.markdownlint-cli2.yaml +41 -0
  19. package/.nvmrc +1 -0
  20. package/.prettierignore +9 -0
  21. package/.vscode/settings.json +97 -0
  22. package/CHANGELOG.md +1394 -0
  23. package/CNAME +1 -0
  24. package/CONTRIBUTING.md +306 -0
  25. package/CONTRIBUTORS.md +32 -0
  26. package/LICENSE +30 -0
  27. package/README.md +126 -0
  28. package/SECURITY.md +85 -0
  29. package/TRADEMARK.md +55 -0
  30. package/Wordmark.png +0 -0
  31. package/banner-bmad-method.png +0 -0
  32. package/docs/404.md +9 -0
  33. package/docs/_README_WORKFLOW_DIAGRAMS.md +40 -0
  34. package/docs/_STYLE_GUIDE.md +367 -0
  35. package/docs/_archive/customize-workflows.md +30 -0
  36. package/docs/_archive/getting-started-bmadv4.md +247 -0
  37. package/docs/_archive/vendor-workflows.md +52 -0
  38. package/docs/downloads.md +72 -0
  39. package/docs/explanation/agents/barry-quick-flow.md +328 -0
  40. package/docs/explanation/agents/index.md +19 -0
  41. package/docs/explanation/architecture/four-phases.md +107 -0
  42. package/docs/explanation/architecture/preventing-agent-conflicts.md +111 -0
  43. package/docs/explanation/architecture/why-solutioning-matters.md +75 -0
  44. package/docs/explanation/bmm/index.md +131 -0
  45. package/docs/explanation/core/index.md +18 -0
  46. package/docs/explanation/core-concepts/agent-roles.md +179 -0
  47. package/docs/explanation/core-concepts/index.md +35 -0
  48. package/docs/explanation/core-concepts/what-are-agents.md +97 -0
  49. package/docs/explanation/core-concepts/what-are-modules.md +85 -0
  50. package/docs/explanation/core-concepts/what-are-workflows.md +204 -0
  51. package/docs/explanation/faq/brownfield-faq.md +73 -0
  52. package/docs/explanation/faq/getting-started-faq.md +67 -0
  53. package/docs/explanation/faq/implementation-faq.md +52 -0
  54. package/docs/explanation/faq/index.md +16 -0
  55. package/docs/explanation/faq/levels-and-tracks-faq.md +52 -0
  56. package/docs/explanation/faq/planning-faq.md +41 -0
  57. package/docs/explanation/faq/tools-faq.md +277 -0
  58. package/docs/explanation/faq/workflows-faq.md +61 -0
  59. package/docs/explanation/features/advanced-elicitation.md +95 -0
  60. package/docs/explanation/features/brainstorming-techniques.md +92 -0
  61. package/docs/explanation/features/party-mode.md +95 -0
  62. package/docs/explanation/features/quick-flow.md +149 -0
  63. package/docs/explanation/features/tea-overview.md +410 -0
  64. package/docs/explanation/features/web-bundles.md +34 -0
  65. package/docs/explanation/philosophy/facilitation-over-generation.md +333 -0
  66. package/docs/explanation/philosophy/testing-as-engineering.md +112 -0
  67. package/docs/explanation/tea/engagement-models.md +710 -0
  68. package/docs/explanation/tea/fixture-architecture.md +457 -0
  69. package/docs/explanation/tea/knowledge-base-system.md +554 -0
  70. package/docs/explanation/tea/network-first-patterns.md +853 -0
  71. package/docs/explanation/tea/risk-based-testing.md +586 -0
  72. package/docs/explanation/tea/test-quality-standards.md +907 -0
  73. package/docs/how-to/brownfield/add-feature-to-existing.md +74 -0
  74. package/docs/how-to/brownfield/document-existing-project.md +66 -0
  75. package/docs/how-to/brownfield/index.md +84 -0
  76. package/docs/how-to/brownfield/quick-fix-in-brownfield.md +77 -0
  77. package/docs/how-to/brownfield/use-tea-for-enterprise.md +526 -0
  78. package/docs/how-to/brownfield/use-tea-with-existing-tests.md +577 -0
  79. package/docs/how-to/customization/customize-agents.md +212 -0
  80. package/docs/how-to/customization/enable-tea-mcp-enhancements.md +424 -0
  81. package/docs/how-to/customization/index.md +23 -0
  82. package/docs/how-to/customization/integrate-playwright-utils.md +813 -0
  83. package/docs/how-to/customization/shard-large-documents.md +101 -0
  84. package/docs/how-to/get-answers-about-bmad.md +102 -0
  85. package/docs/how-to/installation/index.md +12 -0
  86. package/docs/how-to/installation/install-bmad.md +111 -0
  87. package/docs/how-to/installation/install-custom-modules.md +118 -0
  88. package/docs/how-to/installation/upgrade-to-v6.md +131 -0
  89. package/docs/how-to/workflows/bmgd-quick-flow.md +156 -0
  90. package/docs/how-to/workflows/conduct-research.md +97 -0
  91. package/docs/how-to/workflows/create-architecture.md +119 -0
  92. package/docs/how-to/workflows/create-epics-and-stories.md +109 -0
  93. package/docs/how-to/workflows/create-prd.md +91 -0
  94. package/docs/how-to/workflows/create-product-brief.md +94 -0
  95. package/docs/how-to/workflows/create-story.md +102 -0
  96. package/docs/how-to/workflows/create-ux-design.md +100 -0
  97. package/docs/how-to/workflows/implement-story.md +97 -0
  98. package/docs/how-to/workflows/quick-spec.md +122 -0
  99. package/docs/how-to/workflows/run-atdd.md +436 -0
  100. package/docs/how-to/workflows/run-automate.md +653 -0
  101. package/docs/how-to/workflows/run-brainstorming-session.md +73 -0
  102. package/docs/how-to/workflows/run-code-review.md +89 -0
  103. package/docs/how-to/workflows/run-implementation-readiness.md +125 -0
  104. package/docs/how-to/workflows/run-nfr-assess.md +679 -0
  105. package/docs/how-to/workflows/run-sprint-planning.md +94 -0
  106. package/docs/how-to/workflows/run-test-design.md +98 -0
  107. package/docs/how-to/workflows/run-test-review.md +605 -0
  108. package/docs/how-to/workflows/run-trace.md +883 -0
  109. package/docs/how-to/workflows/setup-ci.md +712 -0
  110. package/docs/how-to/workflows/setup-party-mode.md +89 -0
  111. package/docs/how-to/workflows/setup-test-framework.md +98 -0
  112. package/docs/index.md +63 -0
  113. package/docs/migration-guide.md +365 -0
  114. package/docs/multi-scope-guide.md +379 -0
  115. package/docs/plans/multi-scope-parallel-artifacts-plan.md +695 -0
  116. package/docs/reference/agents/index.md +109 -0
  117. package/docs/reference/configuration/core-tasks.md +67 -0
  118. package/docs/reference/configuration/global-config.md +28 -0
  119. package/docs/reference/glossary/index.md +159 -0
  120. package/docs/reference/tea/commands.md +254 -0
  121. package/docs/reference/tea/configuration.md +678 -0
  122. package/docs/reference/tea/knowledge-base.md +340 -0
  123. package/docs/reference/workflows/core-workflows.md +32 -0
  124. package/docs/reference/workflows/document-project.md +73 -0
  125. package/docs/reference/workflows/index.md +12 -0
  126. package/docs/tutorials/getting-started/getting-started-bmadv6.md +246 -0
  127. package/docs/tutorials/getting-started/images/workflow-method-greenfield.excalidraw +5034 -0
  128. package/docs/tutorials/getting-started/images/workflow-method-greenfield.svg +4 -0
  129. package/docs/tutorials/getting-started/images/workflow-overview.jpg +0 -0
  130. package/docs/tutorials/getting-started/tea-lite-quickstart.md +444 -0
  131. package/docs/tutorials/getting-started/workflow-overview.jpg +0 -0
  132. package/eslint.config.mjs +152 -0
  133. package/package.json +117 -0
  134. package/prettier.config.mjs +32 -0
  135. package/src/bmm/_module-installer/installer.js +48 -0
  136. package/src/bmm/_module-installer/platform-specifics/claude-code.js +35 -0
  137. package/src/bmm/_module-installer/platform-specifics/windsurf.js +32 -0
  138. package/src/bmm/agents/analyst.agent.yaml +41 -0
  139. package/src/bmm/agents/architect.agent.yaml +33 -0
  140. package/src/bmm/agents/dev.agent.yaml +38 -0
  141. package/src/bmm/agents/pm.agent.yaml +51 -0
  142. package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -0
  143. package/src/bmm/agents/sm.agent.yaml +47 -0
  144. package/src/bmm/agents/tea.agent.yaml +68 -0
  145. package/src/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
  146. package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +49 -0
  147. package/src/bmm/agents/ux-designer.agent.yaml +30 -0
  148. package/src/bmm/data/README.md +29 -0
  149. package/src/bmm/data/project-context-template.md +40 -0
  150. package/src/bmm/module.yaml +64 -0
  151. package/src/bmm/sub-modules/claude-code/config.yaml +4 -0
  152. package/src/bmm/sub-modules/claude-code/injections.yaml +242 -0
  153. package/src/bmm/sub-modules/claude-code/readme.md +87 -0
  154. package/src/bmm/teams/default-party.csv +21 -0
  155. package/src/bmm/teams/team-fullstack.yaml +12 -0
  156. package/src/bmm/testarch/knowledge/api-request.md +442 -0
  157. package/src/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
  158. package/src/bmm/testarch/knowledge/auth-session.md +552 -0
  159. package/src/bmm/testarch/knowledge/burn-in.md +273 -0
  160. package/src/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  161. package/src/bmm/testarch/knowledge/component-tdd.md +486 -0
  162. package/src/bmm/testarch/knowledge/contract-testing.md +957 -0
  163. package/src/bmm/testarch/knowledge/data-factories.md +500 -0
  164. package/src/bmm/testarch/knowledge/email-auth.md +721 -0
  165. package/src/bmm/testarch/knowledge/error-handling.md +725 -0
  166. package/src/bmm/testarch/knowledge/feature-flags.md +750 -0
  167. package/src/bmm/testarch/knowledge/file-utils.md +463 -0
  168. package/src/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  169. package/src/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  170. package/src/bmm/testarch/knowledge/intercept-network-call.md +430 -0
  171. package/src/bmm/testarch/knowledge/log.md +429 -0
  172. package/src/bmm/testarch/knowledge/network-error-monitor.md +405 -0
  173. package/src/bmm/testarch/knowledge/network-first.md +486 -0
  174. package/src/bmm/testarch/knowledge/network-recorder.md +527 -0
  175. package/src/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  176. package/src/bmm/testarch/knowledge/overview.md +286 -0
  177. package/src/bmm/testarch/knowledge/playwright-config.md +730 -0
  178. package/src/bmm/testarch/knowledge/probability-impact.md +601 -0
  179. package/src/bmm/testarch/knowledge/recurse.md +421 -0
  180. package/src/bmm/testarch/knowledge/risk-governance.md +615 -0
  181. package/src/bmm/testarch/knowledge/selective-testing.md +732 -0
  182. package/src/bmm/testarch/knowledge/selector-resilience.md +527 -0
  183. package/src/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  184. package/src/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  185. package/src/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  186. package/src/bmm/testarch/knowledge/test-quality.md +664 -0
  187. package/src/bmm/testarch/knowledge/timing-debugging.md +372 -0
  188. package/src/bmm/testarch/knowledge/visual-debugging.md +524 -0
  189. package/src/bmm/testarch/tea-index.csv +34 -0
  190. package/src/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  191. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
  192. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
  193. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
  194. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
  195. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
  196. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
  197. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +194 -0
  198. package/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
  199. package/src/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  200. package/src/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  201. package/src/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  202. package/src/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  203. package/src/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  204. package/src/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  205. package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  206. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  207. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
  208. package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  209. package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  210. package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  211. package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  212. package/src/bmm/workflows/1-analysis/research/research.template.md +29 -0
  213. package/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  214. package/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  215. package/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  216. package/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  217. package/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  218. package/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  219. package/src/bmm/workflows/1-analysis/research/workflow.md +173 -0
  220. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  221. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  222. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  223. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  224. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  225. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  226. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  227. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  228. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  229. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  230. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  231. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  232. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  233. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  234. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -0
  235. package/src/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  236. package/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
  237. package/src/bmm/workflows/2-plan-workflows/prd/data/domain-complexity.csv +13 -0
  238. package/src/bmm/workflows/2-plan-workflows/prd/data/prd-purpose.md +197 -0
  239. package/src/bmm/workflows/2-plan-workflows/prd/data/project-types.csv +11 -0
  240. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01-init.md +191 -0
  241. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01b-continue.md +153 -0
  242. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md +224 -0
  243. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-03-success.md +226 -0
  244. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md +213 -0
  245. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md +207 -0
  246. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-06-innovation.md +226 -0
  247. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-07-project-type.md +237 -0
  248. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-08-scoping.md +228 -0
  249. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-09-functional.md +231 -0
  250. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
  251. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md +217 -0
  252. package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md +180 -0
  253. package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md +247 -0
  254. package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  255. package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md +249 -0
  256. package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md +253 -0
  257. package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md +168 -0
  258. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md +218 -0
  259. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
  260. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
  261. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
  262. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  263. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
  264. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
  265. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  266. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  267. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
  268. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
  269. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  270. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
  271. package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
  272. package/src/bmm/workflows/2-plan-workflows/prd/templates/prd-template.md +10 -0
  273. package/src/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +433 -0
  274. package/src/bmm/workflows/2-plan-workflows/prd/workflow.md +150 -0
  275. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  276. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  277. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  278. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  279. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  280. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -0
  281. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  282. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
  283. package/src/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  284. package/src/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
  285. package/src/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  286. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  287. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  288. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  289. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
  290. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  291. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  292. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  293. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  294. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -0
  295. package/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
  296. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  297. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  298. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  299. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -0
  300. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  301. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
  302. package/src/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  303. package/src/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
  304. package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +51 -0
  305. package/src/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
  306. package/src/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  307. package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +60 -0
  308. package/src/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
  309. package/src/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
  310. package/src/bmm/workflows/4-implementation/create-story/template.md +49 -0
  311. package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +61 -0
  312. package/src/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
  313. package/src/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
  314. package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +27 -0
  315. package/src/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  316. package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +58 -0
  317. package/src/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  318. package/src/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
  319. package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  320. package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +54 -0
  321. package/src/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  322. package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +36 -0
  323. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
  324. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  325. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
  326. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  327. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  328. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
  329. package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -0
  330. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -0
  331. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +144 -0
  332. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
  333. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +191 -0
  334. package/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
  335. package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
  336. package/src/bmm/workflows/document-project/checklist.md +245 -0
  337. package/src/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  338. package/src/bmm/workflows/document-project/instructions.md +221 -0
  339. package/src/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  340. package/src/bmm/workflows/document-project/templates/index-template.md +169 -0
  341. package/src/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  342. package/src/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  343. package/src/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  344. package/src/bmm/workflows/document-project/workflow.yaml +30 -0
  345. package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  346. package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  347. package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  348. package/src/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  349. package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
  350. package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
  351. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
  352. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
  353. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +27 -0
  354. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
  355. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
  356. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +27 -0
  357. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
  358. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
  359. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +27 -0
  360. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
  361. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
  362. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +27 -0
  363. package/src/bmm/workflows/generate-project-context/project-context-template.md +21 -0
  364. package/src/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
  365. package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
  366. package/src/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
  367. package/src/bmm/workflows/generate-project-context/workflow.md +49 -0
  368. package/src/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -0
  369. package/src/bmm/workflows/testarch/atdd/checklist.md +374 -0
  370. package/src/bmm/workflows/testarch/atdd/instructions.md +806 -0
  371. package/src/bmm/workflows/testarch/atdd/workflow.yaml +47 -0
  372. package/src/bmm/workflows/testarch/automate/checklist.md +582 -0
  373. package/src/bmm/workflows/testarch/automate/instructions.md +1324 -0
  374. package/src/bmm/workflows/testarch/automate/workflow.yaml +54 -0
  375. package/src/bmm/workflows/testarch/ci/checklist.md +248 -0
  376. package/src/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
  377. package/src/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  378. package/src/bmm/workflows/testarch/ci/instructions.md +536 -0
  379. package/src/bmm/workflows/testarch/ci/workflow.yaml +47 -0
  380. package/src/bmm/workflows/testarch/framework/checklist.md +321 -0
  381. package/src/bmm/workflows/testarch/framework/instructions.md +481 -0
  382. package/src/bmm/workflows/testarch/framework/workflow.yaml +49 -0
  383. package/src/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
  384. package/src/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  385. package/src/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -0
  386. package/src/bmm/workflows/testarch/nfr-assess/workflow.yaml +49 -0
  387. package/src/bmm/workflows/testarch/test-design/checklist.md +235 -0
  388. package/src/bmm/workflows/testarch/test-design/instructions.md +788 -0
  389. package/src/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
  390. package/src/bmm/workflows/testarch/test-design/workflow.yaml +56 -0
  391. package/src/bmm/workflows/testarch/test-review/checklist.md +472 -0
  392. package/src/bmm/workflows/testarch/test-review/instructions.md +628 -0
  393. package/src/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
  394. package/src/bmm/workflows/testarch/test-review/workflow.yaml +48 -0
  395. package/src/bmm/workflows/testarch/trace/checklist.md +655 -0
  396. package/src/bmm/workflows/testarch/trace/instructions.md +1047 -0
  397. package/src/bmm/workflows/testarch/trace/trace-template.md +675 -0
  398. package/src/bmm/workflows/testarch/trace/workflow.yaml +57 -0
  399. package/src/bmm/workflows/workflow-status/init/instructions.md +346 -0
  400. package/src/bmm/workflows/workflow-status/init/workflow.yaml +30 -0
  401. package/src/bmm/workflows/workflow-status/instructions.md +397 -0
  402. package/src/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -0
  403. package/src/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -0
  404. package/src/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -0
  405. package/src/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -0
  406. package/src/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  407. package/src/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  408. package/src/bmm/workflows/workflow-status/workflow.yaml +32 -0
  409. package/src/core/_module-installer/installer.js +60 -0
  410. package/src/core/agents/bmad-master.agent.yaml +30 -0
  411. package/src/core/lib/scope/artifact-resolver.js +298 -0
  412. package/src/core/lib/scope/event-logger.js +400 -0
  413. package/src/core/lib/scope/index.js +30 -0
  414. package/src/core/lib/scope/scope-context.js +301 -0
  415. package/src/core/lib/scope/scope-initializer.js +456 -0
  416. package/src/core/lib/scope/scope-manager.js +512 -0
  417. package/src/core/lib/scope/scope-migrator.js +434 -0
  418. package/src/core/lib/scope/scope-sync.js +483 -0
  419. package/src/core/lib/scope/scope-validator.js +294 -0
  420. package/src/core/lib/scope/state-lock.js +336 -0
  421. package/src/core/module.yaml +53 -0
  422. package/src/core/resources/excalidraw/README.md +160 -0
  423. package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
  424. package/src/core/resources/excalidraw/library-loader.md +50 -0
  425. package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
  426. package/src/core/tasks/editorial-review-prose.xml +91 -0
  427. package/src/core/tasks/editorial-review-structure.xml +198 -0
  428. package/src/core/tasks/index-docs.xml +65 -0
  429. package/src/core/tasks/review-adversarial-general.xml +46 -0
  430. package/src/core/tasks/shard-doc.xml +109 -0
  431. package/src/core/tasks/workflow.xml +277 -0
  432. package/src/core/workflows/advanced-elicitation/methods.csv +51 -0
  433. package/src/core/workflows/advanced-elicitation/workflow.xml +117 -0
  434. package/src/core/workflows/brainstorming/brain-methods.csv +62 -0
  435. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
  436. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
  437. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
  438. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  439. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
  440. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  441. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
  442. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
  443. package/src/core/workflows/brainstorming/template.md +15 -0
  444. package/src/core/workflows/brainstorming/workflow.md +58 -0
  445. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  446. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
  447. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +157 -0
  448. package/src/core/workflows/party-mode/workflow.md +194 -0
  449. package/src/utility/agent-components/activation-rules.txt +6 -0
  450. package/src/utility/agent-components/activation-steps.txt +28 -0
  451. package/src/utility/agent-components/agent-command-header.md +1 -0
  452. package/src/utility/agent-components/agent.customize.template.yaml +41 -0
  453. package/src/utility/agent-components/handler-action.txt +4 -0
  454. package/src/utility/agent-components/handler-data.txt +5 -0
  455. package/src/utility/agent-components/handler-exec.txt +19 -0
  456. package/src/utility/agent-components/handler-multi.txt +14 -0
  457. package/src/utility/agent-components/handler-tmpl.txt +5 -0
  458. package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
  459. package/src/utility/agent-components/handler-workflow.txt +10 -0
  460. package/src/utility/agent-components/menu-handlers.txt +6 -0
  461. package/test/README.md +295 -0
  462. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
  463. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
  464. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
  465. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
  466. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
  467. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
  468. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
  469. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
  470. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
  471. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
  472. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
  473. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
  474. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
  475. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
  476. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  477. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  478. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
  479. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  480. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
  481. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
  482. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
  483. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
  484. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
  485. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
  486. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
  487. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
  488. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  489. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
  490. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  491. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  492. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  493. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
  494. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
  495. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
  496. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
  497. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
  498. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
  499. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
  500. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
  501. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
  502. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
  503. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
  504. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
  505. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
  506. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
  507. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
  508. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
  509. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
  510. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
  511. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
  512. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
  513. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
  514. package/test/test-agent-schema.js +387 -0
  515. package/test/test-cli-integration.sh +159 -0
  516. package/test/test-installation-components.js +214 -0
  517. package/test/test-scope-e2e.js +439 -0
  518. package/test/test-scope-system.js +781 -0
  519. package/test/unit-test-schema.js +133 -0
  520. package/tools/bmad-npx-wrapper.js +38 -0
  521. package/tools/build-docs.js +577 -0
  522. package/tools/cli/README.md +7 -0
  523. package/tools/cli/bmad-cli.js +58 -0
  524. package/tools/cli/commands/install.js +87 -0
  525. package/tools/cli/commands/scope.js +474 -0
  526. package/tools/cli/external-official-modules.yaml +41 -0
  527. package/tools/cli/installers/install-messages.yaml +58 -0
  528. package/tools/cli/installers/lib/core/config-collector.js +1079 -0
  529. package/tools/cli/installers/lib/core/custom-module-cache.js +259 -0
  530. package/tools/cli/installers/lib/core/dependency-resolver.js +739 -0
  531. package/tools/cli/installers/lib/core/detector.js +223 -0
  532. package/tools/cli/installers/lib/core/ide-config-manager.js +156 -0
  533. package/tools/cli/installers/lib/core/installer.js +2585 -0
  534. package/tools/cli/installers/lib/core/manifest-generator.js +963 -0
  535. package/tools/cli/installers/lib/core/manifest.js +590 -0
  536. package/tools/cli/installers/lib/custom/handler.js +363 -0
  537. package/tools/cli/installers/lib/ide/_base-ide.js +654 -0
  538. package/tools/cli/installers/lib/ide/antigravity.js +486 -0
  539. package/tools/cli/installers/lib/ide/auggie.js +244 -0
  540. package/tools/cli/installers/lib/ide/claude-code.js +487 -0
  541. package/tools/cli/installers/lib/ide/cline.js +269 -0
  542. package/tools/cli/installers/lib/ide/codex.js +375 -0
  543. package/tools/cli/installers/lib/ide/crush.js +300 -0
  544. package/tools/cli/installers/lib/ide/cursor.js +169 -0
  545. package/tools/cli/installers/lib/ide/gemini.js +301 -0
  546. package/tools/cli/installers/lib/ide/github-copilot.js +383 -0
  547. package/tools/cli/installers/lib/ide/iflow.js +191 -0
  548. package/tools/cli/installers/lib/ide/kilo.js +250 -0
  549. package/tools/cli/installers/lib/ide/kiro-cli.js +326 -0
  550. package/tools/cli/installers/lib/ide/manager.js +244 -0
  551. package/tools/cli/installers/lib/ide/opencode.js +257 -0
  552. package/tools/cli/installers/lib/ide/qwen.js +372 -0
  553. package/tools/cli/installers/lib/ide/roo.js +270 -0
  554. package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
  555. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +96 -0
  556. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +158 -0
  557. package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
  558. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +119 -0
  559. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +242 -0
  560. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +29 -0
  561. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
  562. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
  563. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +30 -0
  564. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +45 -0
  565. package/tools/cli/installers/lib/ide/trae.js +313 -0
  566. package/tools/cli/installers/lib/ide/windsurf.js +258 -0
  567. package/tools/cli/installers/lib/message-loader.js +85 -0
  568. package/tools/cli/installers/lib/modules/external-manager.js +133 -0
  569. package/tools/cli/installers/lib/modules/manager.js +1362 -0
  570. package/tools/cli/lib/activation-builder.js +163 -0
  571. package/tools/cli/lib/agent/compiler.js +522 -0
  572. package/tools/cli/lib/agent/installer.js +716 -0
  573. package/tools/cli/lib/agent/template-engine.js +152 -0
  574. package/tools/cli/lib/agent-analyzer.js +109 -0
  575. package/tools/cli/lib/agent-party-generator.js +194 -0
  576. package/tools/cli/lib/cli-utils.js +227 -0
  577. package/tools/cli/lib/config.js +213 -0
  578. package/tools/cli/lib/file-ops.js +204 -0
  579. package/tools/cli/lib/platform-codes.js +116 -0
  580. package/tools/cli/lib/project-root.js +77 -0
  581. package/tools/cli/lib/prompts.js +433 -0
  582. package/tools/cli/lib/ui.js +1591 -0
  583. package/tools/cli/lib/xml-handler.js +177 -0
  584. package/tools/cli/lib/xml-to-markdown.js +82 -0
  585. package/tools/cli/lib/yaml-format.js +245 -0
  586. package/tools/cli/lib/yaml-xml-builder.js +587 -0
  587. package/tools/cli/scripts/migrate-workflows.js +273 -0
  588. package/tools/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
  589. package/tools/docs/index.md +2 -0
  590. package/tools/fix-doc-links.js +288 -0
  591. package/tools/flattener/aggregate.js +76 -0
  592. package/tools/flattener/binary.js +80 -0
  593. package/tools/flattener/discovery.js +71 -0
  594. package/tools/flattener/files.js +35 -0
  595. package/tools/flattener/ignoreRules.js +172 -0
  596. package/tools/flattener/main.js +483 -0
  597. package/tools/flattener/projectRoot.js +201 -0
  598. package/tools/flattener/prompts.js +44 -0
  599. package/tools/flattener/stats.helpers.js +368 -0
  600. package/tools/flattener/stats.js +75 -0
  601. package/tools/flattener/test-matrix.js +409 -0
  602. package/tools/flattener/xml.js +82 -0
  603. package/tools/format-workflow-md.js +263 -0
  604. package/tools/lib/xml-utils.js +13 -0
  605. package/tools/maintainer/review-pr-README.md +55 -0
  606. package/tools/maintainer/review-pr.md +242 -0
  607. package/tools/migrate-custom-module-paths.js +124 -0
  608. package/tools/platform-codes.yaml +157 -0
  609. package/tools/schema/agent.js +493 -0
  610. package/tools/validate-agent-schema.js +110 -0
  611. package/tools/validate-doc-links.js +363 -0
  612. package/tools/validate-svg-changes.sh +356 -0
  613. package/website/README.md +76 -0
  614. package/website/astro.config.mjs +228 -0
  615. package/website/public/favicon.ico +0 -0
  616. package/website/public/img/bmad-dark.png +0 -0
  617. package/website/public/img/bmad-light.png +0 -0
  618. package/website/public/img/logo.svg +4 -0
  619. package/website/public/robots.txt +37 -0
  620. package/website/src/components/Banner.astro +59 -0
  621. package/website/src/components/Header.astro +121 -0
  622. package/website/src/components/MobileMenuFooter.astro +53 -0
  623. package/website/src/content/config.ts +6 -0
  624. package/website/src/lib/site-url.js +25 -0
  625. package/website/src/rehype-markdown-links.js +102 -0
  626. package/website/src/styles/custom.css +485 -0
@@ -0,0 +1,695 @@
1
+ # Multi-Scope Parallel Artifacts System - Implementation Plan
2
+
3
+ > **Status:** Planning Complete
4
+ > **Created:** 2026-01-21
5
+ > **Last Updated:** 2026-01-21
6
+ > **Estimated Effort:** 17-22 days
7
+
8
+ ## Executive Summary
9
+
10
+ This plan outlines the implementation of a **multi-scope parallel artifact system** for BMAD that enables:
11
+
12
+ - Running multiple workflows in parallel across different terminal sessions
13
+ - Each session works on a different sub-product (scope) with isolated artifacts
14
+ - Shared knowledge layer with bidirectional synchronization
15
+ - Event-based updates when dependencies change
16
+ - Strict write isolation with liberal read access
17
+
18
+ ---
19
+
20
+ ## Table of Contents
21
+
22
+ 1. [Key Design Decisions](#key-design-decisions)
23
+ 2. [Architecture Overview](#architecture-overview)
24
+ 3. [Phase 0: Git Hooks (This Repo)](#phase-0-git-hooks-this-repo)
25
+ 4. [Phase 1: Scope Foundation](#phase-1-scope-foundation)
26
+ 5. [Phase 2: Variable Resolution](#phase-2-variable-resolution)
27
+ 6. [Phase 3: Isolation & Locking](#phase-3-isolation--locking)
28
+ 7. [Phase 4: Sync System](#phase-4-sync-system)
29
+ 8. [Phase 5: Event System](#phase-5-event-system)
30
+ 9. [Phase 6: IDE Integration & Documentation](#phase-6-ide-integration--documentation)
31
+ 10. [Risk Mitigation](#risk-mitigation)
32
+ 11. [Success Criteria](#success-criteria)
33
+
34
+ ---
35
+
36
+ ## Key Design Decisions
37
+
38
+ | Decision | Choice | Rationale |
39
+ |----------|--------|-----------|
40
+ | **Sprint-status handling** | Per-scope | Each scope has independent sprint planning, no parallel conflicts |
41
+ | **Project-context location** | Both (global + per-scope) | Global "bible" in `_shared/`, optional scope-specific that extends |
42
+ | **Scope vs Module** | Different concepts | Module = code organization (bmm/core), Scope = artifact isolation (auth/payments) |
43
+ | **Cross-scope access** | Read any, write own | Liberal reads for dependency awareness, strict writes for isolation |
44
+ | **Test directories** | Scoped | `{output_folder}/{scope}/tests` for full isolation |
45
+ | **Workflow updates** | Automated script | Handle 22+ workflow.yaml files programmatically |
46
+ | **File locking** | proper-lockfile npm | Battle-tested, cross-platform locking |
47
+ | **Git hooks** | This repo only | For contributor workflow, NOT installed with bmad |
48
+ | **Migration strategy** | Auto-migrate to 'default' | Existing artifacts move to default scope automatically |
49
+ | **Scope ID format** | Strict | Lowercase alphanumeric + hyphens only |
50
+
51
+ ---
52
+
53
+ ## Architecture Overview
54
+
55
+ ```
56
+ ┌──────────────────────────────────────────────────────────────────────────────┐
57
+ │ BMAD MULTI-SCOPE ARCHITECTURE │
58
+ │ │
59
+ │ MODULE (code organization) SCOPE (artifact isolation) │
60
+ │ ───────────────────────── ──────────────────────── │
61
+ │ src/core/ _bmad-output/auth/ │
62
+ │ src/bmm/ _bmad-output/payments/ │
63
+ │ (installed to _bmad/) _bmad-output/catalog/ │
64
+ │ │
65
+ ├──────────────────────────────────────────────────────────────────────────────┤
66
+ │ │
67
+ │ DIRECTORY STRUCTURE (After Implementation): │
68
+ │ │
69
+ │ project-root/ │
70
+ │ ├── _bmad/ # BMAD installation │
71
+ │ │ ├── _config/ │
72
+ │ │ │ ├── scopes.yaml # NEW: Scope registry │
73
+ │ │ │ ├── manifest.yaml │
74
+ │ │ │ └── ides/ │
75
+ │ │ ├── _events/ # NEW: Event system │
76
+ │ │ │ ├── event-log.yaml │
77
+ │ │ │ └── subscriptions.yaml │
78
+ │ │ ├── core/ │
79
+ │ │ │ └── scope/ # NEW: Scope management │
80
+ │ │ │ ├── scope-manager.js │
81
+ │ │ │ ├── scope-context.js │
82
+ │ │ │ ├── artifact-resolver.js │
83
+ │ │ │ └── state-lock.js │
84
+ │ │ └── bmm/ │
85
+ │ │ │
86
+ │ └── _bmad-output/ # Scoped artifacts │
87
+ │ ├── _shared/ # Shared knowledge layer │
88
+ │ │ ├── project-context.md # Global "bible" │
89
+ │ │ ├── contracts/ # Integration contracts │
90
+ │ │ └── principles/ # Architecture principles │
91
+ │ ├── auth/ # Auth scope │
92
+ │ │ ├── planning-artifacts/ │
93
+ │ │ ├── implementation-artifacts/ │
94
+ │ │ │ └── sprint-status.yaml # PER-SCOPE sprint status │
95
+ │ │ ├── tests/ # Scoped tests │
96
+ │ │ └── project-context.md # Optional: extends global │
97
+ │ ├── payments/ # Payments scope │
98
+ │ │ └── ... │
99
+ │ └── default/ # Migrated existing artifacts │
100
+ │ └── ... │
101
+ │ │
102
+ ├──────────────────────────────────────────────────────────────────────────────┤
103
+ │ │
104
+ │ CROSS-SCOPE ACCESS MODEL: │
105
+ │ │
106
+ │ Scope: payments │
107
+ │ ├── CAN READ: auth/*, catalog/*, _shared/*, default/* │
108
+ │ ├── CAN WRITE: payments/* ONLY │
109
+ │ └── TO SHARE: bmad scope sync-up payments │
110
+ │ │
111
+ └──────────────────────────────────────────────────────────────────────────────┘
112
+ ```
113
+
114
+ ---
115
+
116
+ ## Phase 0: Git Hooks (This Repo)
117
+
118
+ > **Estimate:** 0.5 day
119
+ > **Purpose:** Contributor workflow for BMAD-METHOD repository only
120
+
121
+ ### Objectives
122
+
123
+ - Ensure main branch always synced with upstream (bmad-code-org)
124
+ - Enforce single-commit-per-branch workflow
125
+ - Require rebase on main before push
126
+ - Use amend + force-with-lease pattern
127
+
128
+ ### Files to Create
129
+
130
+ ```
131
+ BMAD-METHOD/
132
+ ├── .githooks/
133
+ │ ├── pre-push # Main enforcement hook
134
+ │ ├── pre-commit # Block main commits, amend warnings
135
+ │ └── post-checkout # Sync reminders
136
+ └── docs/
137
+ └── CONTRIBUTING.md # Git workflow documentation
138
+ ```
139
+
140
+ ### Pre-Push Hook Logic
141
+
142
+ ```bash
143
+ #!/bin/bash
144
+ # .githooks/pre-push
145
+
146
+ 1. Ensure upstream remote exists (git@github.com:bmad-code-org/BMAD-METHOD.git)
147
+ 2. Fetch upstream
148
+ 3. Block direct push to main
149
+ 4. Sync local main with upstream (if needed)
150
+ 5. Check branch is rebased on main
151
+ 6. Enforce single commit rule (max 1 commit ahead of main)
152
+ ```
153
+
154
+ ### Setup Instructions
155
+
156
+ ```bash
157
+ # One-time setup for contributors
158
+ git config core.hooksPath .githooks
159
+ git remote add upstream git@github.com:bmad-code-org/BMAD-METHOD.git
160
+ ```
161
+
162
+ ---
163
+
164
+ ## Phase 1: Scope Foundation
165
+
166
+ > **Estimate:** 3-4 days
167
+
168
+ ### 1.1 Scopes.yaml Schema
169
+
170
+ **File:** `_bmad/_config/scopes.yaml`
171
+
172
+ ```yaml
173
+ version: 1
174
+
175
+ settings:
176
+ allow_adhoc_scopes: true # Allow on-demand scope creation
177
+ isolation_mode: strict # strict | warn | permissive
178
+ default_output_base: "_bmad-output"
179
+ default_shared_path: "_bmad-output/_shared"
180
+
181
+ scopes:
182
+ auth:
183
+ id: "auth"
184
+ name: "Authentication Service"
185
+ description: "User authentication, SSO, authorization"
186
+ status: active # active | archived
187
+ dependencies: [] # Scopes this depends on
188
+ created: "2026-01-21T10:00:00Z"
189
+ _meta:
190
+ last_activity: "2026-01-21T15:30:00Z"
191
+ artifact_count: 12
192
+ ```
193
+
194
+ **Validation Rules:**
195
+ - Scope ID: `^[a-z][a-z0-9-]*[a-z0-9]$` (2-50 chars)
196
+ - Reserved IDs: `_shared`, `_events`, `_config`, `global`
197
+ - Circular dependency detection required
198
+
199
+ ### 1.2 ScopeManager Class
200
+
201
+ **File:** `src/core/scope/scope-manager.js`
202
+
203
+ ```javascript
204
+ class ScopeManager {
205
+ // CRUD Operations
206
+ async listScopes(filters)
207
+ async getScope(scopeId)
208
+ async createScope(scopeId, options)
209
+ async updateScope(scopeId, updates)
210
+ async removeScope(scopeId, options)
211
+
212
+ // Path Resolution
213
+ async getScopePaths(scopeId)
214
+ resolvePath(template, scopeId)
215
+
216
+ // Validation
217
+ validateScopeId(scopeId)
218
+ validateDependencies(scopeId, dependencies, allScopes)
219
+
220
+ // Dependencies
221
+ async getDependencyTree(scopeId)
222
+ findDependentScopes(scopeId, allScopes)
223
+ }
224
+ ```
225
+
226
+ ### 1.3 CLI Commands
227
+
228
+ **File:** `tools/cli/commands/scope.js`
229
+
230
+ | Command | Description |
231
+ |---------|-------------|
232
+ | `bmad scope list` | List all scopes |
233
+ | `bmad scope create <id>` | Create new scope interactively |
234
+ | `bmad scope info <id>` | Show scope details |
235
+ | `bmad scope remove <id>` | Remove scope |
236
+ | `bmad scope migrate` | Migrate existing to scoped structure |
237
+
238
+ ### 1.4 Directory Structure Generator
239
+
240
+ **File:** `src/core/scope/scope-initializer.js`
241
+
242
+ Creates on scope creation:
243
+ ```
244
+ _bmad-output/{scope}/
245
+ ├── planning-artifacts/
246
+ ├── implementation-artifacts/
247
+ ├── tests/
248
+ └── .scope-meta.yaml
249
+ ```
250
+
251
+ Creates on first scope (one-time):
252
+ ```
253
+ _bmad-output/_shared/
254
+ ├── project-context.md # Global project context template
255
+ ├── contracts/
256
+ └── principles/
257
+
258
+ _bmad/_events/
259
+ ├── event-log.yaml
260
+ └── subscriptions.yaml
261
+ ```
262
+
263
+ ### 1.5 Migration Logic
264
+
265
+ **File:** `src/core/scope/scope-migrator.js`
266
+
267
+ Steps:
268
+ 1. Create backup of `_bmad-output/`
269
+ 2. Initialize scope system
270
+ 3. Create `default` scope
271
+ 4. Move existing artifacts to `_bmad-output/default/`
272
+ 5. Update references in state files
273
+ 6. Mark migration complete
274
+
275
+ ---
276
+
277
+ ## Phase 2: Variable Resolution
278
+
279
+ > **Estimate:** 4-5 days
280
+
281
+ ### 2.1 workflow.xml Scope Initialization
282
+
283
+ **File:** `src/core/tasks/workflow.xml` (modify)
284
+
285
+ Add Step 0 before existing Step 1:
286
+
287
+ ```xml
288
+ <step n="0" title="Initialize Scope Context" critical="true">
289
+ <substep n="0a" title="Check for Scope Requirement">
290
+ <action>Scan workflow.yaml for {scope} variable</action>
291
+ <action>If found → workflow requires scope</action>
292
+ </substep>
293
+
294
+ <substep n="0b" title="Resolve Scope">
295
+ <!-- Priority order: -->
296
+ <!-- 1. --scope argument from command -->
297
+ <!-- 2. Session context (if set) -->
298
+ <!-- 3. Prompt user to select/create -->
299
+ </substep>
300
+
301
+ <substep n="0c" title="Load Scope Context">
302
+ <action>Load scope config from scopes.yaml</action>
303
+ <action>Resolve scope paths</action>
304
+ <action>Load global project-context.md</action>
305
+ <action>Load scope project-context.md (if exists, merge)</action>
306
+ <action>Check for dependency updates (notify if pending)</action>
307
+ </substep>
308
+ </step>
309
+ ```
310
+
311
+ ### 2.2 Module.yaml Updates
312
+
313
+ **File:** `src/bmm/module.yaml` (modify)
314
+
315
+ ```yaml
316
+ # BEFORE
317
+ planning_artifacts:
318
+ default: "{output_folder}/planning-artifacts"
319
+ result: "{project-root}/{value}"
320
+
321
+ # AFTER
322
+ planning_artifacts:
323
+ default: "{output_folder}/{scope}/planning-artifacts"
324
+ result: "{project-root}/{value}"
325
+
326
+ implementation_artifacts:
327
+ default: "{output_folder}/{scope}/implementation-artifacts"
328
+ result: "{project-root}/{value}"
329
+ ```
330
+
331
+ ### 2.3 Workflow.yaml Update Script
332
+
333
+ **File:** `tools/cli/scripts/migrate-workflows.js`
334
+
335
+ Updates for 22+ workflow files:
336
+ 1. Update `test_dir` variables to use `{output_folder}/{scope}/tests`
337
+ 2. Handle variations in path definitions
338
+ 3. Preserve `{config_source}:` references (they'll work via updated module.yaml)
339
+
340
+ ### 2.4 Agent Activation Updates
341
+
342
+ **File:** `src/utility/agent-components/activation-steps.txt` (modify)
343
+
344
+ ```xml
345
+ <step n="2">🚨 IMMEDIATE ACTION REQUIRED:
346
+ - Load {project-root}/_bmad/{{module}}/config.yaml
347
+ - Store: {user_name}, {communication_language}, {output_folder}
348
+ - NEW: Check if scope is set for session
349
+ - NEW: Load global project-context: {output_folder}/_shared/project-context.md
350
+ - NEW: Load scope project-context (if exists): {output_folder}/{scope}/project-context.md
351
+ - NEW: Merge contexts (scope extends global)
352
+ </step>
353
+ ```
354
+
355
+ ### 2.5 invoke-workflow Scope Propagation
356
+
357
+ **Modification to workflow.xml:**
358
+
359
+ When `<invoke-workflow>` is encountered:
360
+ 1. Pass current `{scope}` as implicit parameter
361
+ 2. Child workflow inherits scope from parent
362
+ 3. Can be overridden with explicit `<param>scope: other</param>`
363
+
364
+ ---
365
+
366
+ ## Phase 3: Isolation & Locking
367
+
368
+ > **Estimate:** 2-3 days
369
+
370
+ ### 3.1 ArtifactResolver
371
+
372
+ **File:** `src/core/scope/artifact-resolver.js`
373
+
374
+ ```javascript
375
+ class ArtifactResolver {
376
+ constructor(currentScope, basePath) {
377
+ this.currentScope = currentScope;
378
+ this.basePath = basePath;
379
+ }
380
+
381
+ // Read-any: Allow reading from any scope
382
+ canRead(path) {
383
+ return true; // All reads allowed
384
+ }
385
+
386
+ // Write-own: Only allow writing to current scope
387
+ canWrite(path) {
388
+ const targetScope = this.extractScopeFromPath(path);
389
+
390
+ if (targetScope === '_shared') {
391
+ throw new Error('Cannot write directly to _shared. Use: bmad scope sync-up');
392
+ }
393
+
394
+ if (targetScope !== this.currentScope) {
395
+ throw new Error(`Cannot write to scope '${targetScope}' while in scope '${this.currentScope}'`);
396
+ }
397
+
398
+ return true;
399
+ }
400
+
401
+ extractScopeFromPath(path) {
402
+ // Extract scope from path like _bmad-output/auth/...
403
+ }
404
+ }
405
+ ```
406
+
407
+ ### 3.2 File Locking
408
+
409
+ **File:** `src/core/scope/state-lock.js`
410
+
411
+ ```javascript
412
+ const lockfile = require('proper-lockfile');
413
+
414
+ class StateLock {
415
+ async withLock(filePath, operation) {
416
+ const release = await lockfile.lock(filePath, {
417
+ stale: 30000, // 30s stale timeout
418
+ retries: { retries: 10, minTimeout: 100, maxTimeout: 1000 }
419
+ });
420
+
421
+ try {
422
+ return await operation();
423
+ } finally {
424
+ await release();
425
+ }
426
+ }
427
+
428
+ // Optimistic locking with version field
429
+ async updateYamlWithVersion(filePath, modifier) {
430
+ return this.withLock(filePath, async () => {
431
+ const data = await this.readYaml(filePath);
432
+ const currentVersion = data._version || 0;
433
+
434
+ const modified = await modifier(data);
435
+ modified._version = currentVersion + 1;
436
+ modified._lastModified = new Date().toISOString();
437
+
438
+ await this.writeYaml(filePath, modified);
439
+ return modified;
440
+ });
441
+ }
442
+ }
443
+ ```
444
+
445
+ **Files requiring locking:**
446
+ - `{scope}/implementation-artifacts/sprint-status.yaml`
447
+ - `{scope}/planning-artifacts/bmm-workflow-status.yaml`
448
+ - `_shared/` files during sync operations
449
+ - `scopes.yaml` during scope CRUD
450
+
451
+ ### 3.3 Package.json Update
452
+
453
+ Add dependency:
454
+ ```json
455
+ {
456
+ "dependencies": {
457
+ "proper-lockfile": "^4.1.2"
458
+ }
459
+ }
460
+ ```
461
+
462
+ ---
463
+
464
+ ## Phase 4: Sync System
465
+
466
+ > **Estimate:** 3-4 days
467
+
468
+ ### 4.1 Sync-Up (Promote to Shared)
469
+
470
+ **Command:** `bmad scope sync-up <scope>`
471
+
472
+ **Logic:**
473
+ 1. Identify promotable artifacts (configurable patterns)
474
+ 2. Check for conflicts with existing shared files
475
+ 3. Copy to `_shared/` with attribution metadata
476
+ 4. Log event for dependent scope notification
477
+
478
+ **Metadata added to promoted files:**
479
+ ```yaml
480
+ # _shared/architecture/auth-api.md.meta
481
+ source_scope: auth
482
+ promoted_at: "2026-01-21T10:00:00Z"
483
+ original_hash: abc123
484
+ version: 1
485
+ ```
486
+
487
+ ### 4.2 Sync-Down (Pull from Shared)
488
+
489
+ **Command:** `bmad scope sync-down <scope>`
490
+
491
+ **Logic:**
492
+ 1. Find shared updates since last sync
493
+ 2. Compare with local copies (if any)
494
+ 3. Handle conflicts (prompt user for resolution)
495
+ 4. Copy to scope directory
496
+ 5. Update last-sync timestamp
497
+
498
+ ### 4.3 Conflict Resolution
499
+
500
+ **Options when conflict detected:**
501
+ 1. Keep local (overwrite shared)
502
+ 2. Keep shared (discard local)
503
+ 3. Merge (3-way diff if possible)
504
+ 4. Skip this file
505
+
506
+ ---
507
+
508
+ ## Phase 5: Event System
509
+
510
+ > **Estimate:** 2 days
511
+
512
+ ### 5.1 Event Log Structure
513
+
514
+ **File:** `_bmad/_events/event-log.yaml`
515
+
516
+ ```yaml
517
+ version: 1
518
+ events:
519
+ - id: evt_001
520
+ type: artifact_created
521
+ scope: auth
522
+ artifact: planning-artifacts/prd.md
523
+ timestamp: "2026-01-21T10:30:00Z"
524
+
525
+ - id: evt_002
526
+ type: artifact_promoted
527
+ scope: auth
528
+ artifact: architecture.md
529
+ shared_path: _shared/auth/architecture.md
530
+ timestamp: "2026-01-21T11:00:00Z"
531
+ ```
532
+
533
+ ### 5.2 Subscriptions
534
+
535
+ **File:** `_bmad/_events/subscriptions.yaml`
536
+
537
+ ```yaml
538
+ subscriptions:
539
+ payments:
540
+ watch:
541
+ - scope: auth
542
+ patterns: ["contracts/*", "architecture.md"]
543
+ notify: true
544
+ ```
545
+
546
+ ### 5.3 Notification on Activation
547
+
548
+ When agent/workflow activates with scope:
549
+ 1. Check subscriptions for this scope
550
+ 2. Find events since last activity
551
+ 3. Display pending updates (if any)
552
+ 4. Suggest `bmad scope sync-down` if updates available
553
+
554
+ ---
555
+
556
+ ## Phase 6: IDE Integration & Documentation
557
+
558
+ > **Estimate:** 2-3 days
559
+
560
+ ### 6.1 IDE Command Generators
561
+
562
+ **File:** `tools/cli/installers/lib/ide/shared/scope-aware-command.js`
563
+
564
+ Updates to workflow-command-template.md:
565
+ ```markdown
566
+ ### Scope Resolution
567
+
568
+ This workflow requires a scope. Before proceeding:
569
+
570
+ 1. Check for --scope argument (e.g., `/create-story --scope auth`)
571
+ 2. Check session context for active scope
572
+ 3. If none, prompt user to select/create scope
573
+
574
+ Store selected scope for session.
575
+ ```
576
+
577
+ ### 6.2 Session-Sticky Scope
578
+
579
+ **Mechanism:** File-based `.bmad-scope` in project root
580
+
581
+ ```yaml
582
+ # .bmad-scope (gitignored)
583
+ active_scope: auth
584
+ set_at: "2026-01-21T10:00:00Z"
585
+ ```
586
+
587
+ ### 6.3 Agent Menu Updates
588
+
589
+ Add `scope_required` attribute:
590
+ ```yaml
591
+ menu:
592
+ - trigger: "prd"
593
+ workflow: "..."
594
+ scope_required: true # Enforce scope for this menu item
595
+ ```
596
+
597
+ ### 6.4 Documentation
598
+
599
+ Files to create:
600
+ 1. `docs/multi-scope-guide.md` - User guide
601
+ 2. `docs/migration-guide.md` - Upgrading existing installations
602
+ 3. Update README with multi-scope overview
603
+
604
+ ---
605
+
606
+ ## Risk Mitigation
607
+
608
+ | Risk | Mitigation |
609
+ |------|------------|
610
+ | Breaking existing installations | Auto-migration with backup, rollback capability |
611
+ | Parallel write conflicts | File locking + optimistic versioning |
612
+ | Cross-scope data corruption | Write isolation enforcement in ArtifactResolver |
613
+ | Complex merge conflicts | Clear conflict resolution UI + skip option |
614
+ | IDE compatibility | Test with all supported IDEs, graceful fallbacks |
615
+ | Performance with many scopes | Lazy loading, scope caching |
616
+
617
+ ---
618
+
619
+ ## Success Criteria
620
+
621
+ ### Functional Requirements
622
+
623
+ - [ ] Can create/list/remove scopes via CLI
624
+ - [ ] Workflows produce artifacts in correct scope directory
625
+ - [ ] Parallel workflows in different scopes don't conflict
626
+ - [ ] Cross-scope reads work (for dependencies)
627
+ - [ ] Cross-scope writes are blocked with clear error
628
+ - [ ] Sync-up promotes artifacts to shared
629
+ - [ ] Sync-down pulls shared updates
630
+ - [ ] Events logged and notifications shown
631
+ - [ ] Migration works for existing installations
632
+ - [ ] All IDEs support --scope flag
633
+
634
+ ### Non-Functional Requirements
635
+
636
+ - [ ] No noticeable performance degradation
637
+ - [ ] Clear error messages for all failure modes
638
+ - [ ] Documentation complete
639
+ - [ ] Git hooks working for this repo
640
+
641
+ ---
642
+
643
+ ## Implementation Order
644
+
645
+ ```
646
+ Phase 0 ─────► Phase 1 ─────► Phase 2 ─────► Phase 3 ─────► Phase 4 ─────► Phase 5 ─────► Phase 6
647
+ (Git hooks) (Foundation) (Variables) (Isolation) (Sync) (Events) (IDE/Docs)
648
+ │ │ │ │ │ │ │
649
+ │ │ │ │ │ │ │
650
+ 0.5 day 3-4 days 4-5 days 2-3 days 3-4 days 2 days 2-3 days
651
+ ```
652
+
653
+ **Critical Path:** Phase 0 → Phase 1 → Phase 2.1 → Phase 2.2 → Phase 3.1
654
+
655
+ MVP can be achieved with Phases 0-3 (isolation working, no sync/events yet).
656
+
657
+ ---
658
+
659
+ ## Appendix: Files to Create/Modify
660
+
661
+ ### New Files
662
+
663
+ | Path | Purpose |
664
+ |------|---------|
665
+ | `.githooks/pre-push` | Git hook for single-commit workflow |
666
+ | `.githooks/pre-commit` | Git hook to block main commits |
667
+ | `.githooks/post-checkout` | Git hook for sync reminders |
668
+ | `src/core/scope/scope-manager.js` | Scope CRUD operations |
669
+ | `src/core/scope/scope-initializer.js` | Directory creation |
670
+ | `src/core/scope/scope-migrator.js` | Migration logic |
671
+ | `src/core/scope/scope-context.js` | Session context |
672
+ | `src/core/scope/artifact-resolver.js` | Read/write enforcement |
673
+ | `src/core/scope/state-lock.js` | File locking utilities |
674
+ | `src/core/scope/scope-sync.js` | Sync-up/down logic |
675
+ | `src/core/scope/event-logger.js` | Event logging |
676
+ | `tools/cli/commands/scope.js` | CLI scope commands |
677
+ | `tools/cli/scripts/migrate-workflows.js` | Workflow update script |
678
+ | `docs/plans/multi-scope-parallel-artifacts-plan.md` | This file |
679
+
680
+ ### Modified Files
681
+
682
+ | Path | Changes |
683
+ |------|---------|
684
+ | `src/core/tasks/workflow.xml` | Add Step 0 for scope init |
685
+ | `src/core/module.yaml` | Add scope settings |
686
+ | `src/bmm/module.yaml` | Add {scope} to paths |
687
+ | `src/utility/agent-components/activation-steps.txt` | Add scope loading |
688
+ | `tools/cli/bmad-cli.js` | Register scope command |
689
+ | `tools/cli/installers/lib/ide/templates/*` | Scope-aware templates |
690
+ | `package.json` | Add proper-lockfile dependency |
691
+ | `22+ workflow.yaml files` | Update test_dir paths (via script) |
692
+
693
+ ---
694
+
695
+ *End of Plan*