bmad-method 6.0.0-alpha.9 → 6.0.2

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 (933) hide show
  1. package/.augment/code_review_guidelines.yaml +271 -0
  2. package/.claude/skills/bmad-os-audit-file-refs/SKILL.md +6 -0
  3. package/.claude/skills/bmad-os-audit-file-refs/prompts/instructions.md +59 -0
  4. package/.claude/skills/bmad-os-changelog-social/SKILL.md +177 -0
  5. package/.claude/skills/bmad-os-changelog-social/examples/discord-example.md +53 -0
  6. package/.claude/skills/bmad-os-changelog-social/examples/linkedin-example.md +49 -0
  7. package/.claude/skills/bmad-os-changelog-social/examples/twitter-example.md +55 -0
  8. package/.claude/skills/bmad-os-diataxis-style-fix/SKILL.md +6 -0
  9. package/.claude/skills/bmad-os-diataxis-style-fix/prompts/instructions.md +229 -0
  10. package/.claude/skills/bmad-os-draft-changelog/SKILL.md +6 -0
  11. package/.claude/skills/bmad-os-draft-changelog/prompts/instructions.md +82 -0
  12. package/.claude/skills/bmad-os-gh-triage/SKILL.md +6 -0
  13. package/.claude/skills/bmad-os-gh-triage/prompts/agent-prompt.md +60 -0
  14. package/.claude/skills/bmad-os-gh-triage/prompts/instructions.md +74 -0
  15. package/.claude/skills/bmad-os-release-module/SKILL.md +6 -0
  16. package/.claude/skills/bmad-os-release-module/prompts/instructions.md +53 -0
  17. package/.claude/skills/bmad-os-review-pr/SKILL.md +6 -0
  18. package/.claude/skills/bmad-os-review-pr/prompts/instructions.md +231 -0
  19. package/.coderabbit.yaml +85 -0
  20. package/.github/CODE_OF_CONDUCT.md +128 -0
  21. package/.github/ISSUE_TEMPLATE/bug-report.yaml +124 -0
  22. package/.github/ISSUE_TEMPLATE/config.yaml +5 -2
  23. package/.github/ISSUE_TEMPLATE/documentation.yaml +55 -0
  24. package/.github/ISSUE_TEMPLATE/feature-request.md +22 -0
  25. package/.github/ISSUE_TEMPLATE/issue.md +32 -0
  26. package/.github/PULL_REQUEST_TEMPLATE.md +13 -0
  27. package/.github/scripts/discord-helpers.sh +34 -0
  28. package/.github/workflows/coderabbit-review.yaml +22 -0
  29. package/.github/workflows/discord.yaml +82 -8
  30. package/.github/workflows/docs.yaml +64 -0
  31. package/.github/workflows/quality.yaml +40 -2
  32. package/.husky/pre-commit +13 -0
  33. package/.markdownlint-cli2.yaml +41 -0
  34. package/.prettierignore +10 -0
  35. package/.vscode/settings.json +4 -3
  36. package/CHANGELOG.md +1110 -673
  37. package/CNAME +1 -0
  38. package/CONTRIBUTING.md +97 -189
  39. package/CONTRIBUTORS.md +32 -0
  40. package/LICENSE +7 -3
  41. package/README.md +55 -388
  42. package/SECURITY.md +85 -0
  43. package/TRADEMARK.md +55 -0
  44. package/Wordmark.png +0 -0
  45. package/banner-bmad-method.png +0 -0
  46. package/docs/404.md +9 -0
  47. package/docs/_STYLE_GUIDE.md +370 -0
  48. package/docs/explanation/advanced-elicitation.md +49 -0
  49. package/docs/explanation/adversarial-review.md +59 -0
  50. package/docs/explanation/brainstorming.md +33 -0
  51. package/docs/explanation/established-projects-faq.md +50 -0
  52. package/docs/explanation/party-mode.md +59 -0
  53. package/docs/explanation/preventing-agent-conflicts.md +112 -0
  54. package/docs/explanation/project-context.md +157 -0
  55. package/docs/explanation/quick-flow.md +73 -0
  56. package/docs/explanation/why-solutioning-matters.md +77 -0
  57. package/docs/how-to/customize-bmad.md +172 -0
  58. package/docs/how-to/established-projects.md +117 -0
  59. package/docs/how-to/get-answers-about-bmad.md +134 -0
  60. package/docs/how-to/install-bmad.md +97 -0
  61. package/docs/how-to/non-interactive-installation.md +171 -0
  62. package/docs/how-to/project-context.md +136 -0
  63. package/docs/how-to/quick-fixes.md +123 -0
  64. package/docs/how-to/shard-large-documents.md +78 -0
  65. package/docs/how-to/upgrade-to-v6.md +97 -0
  66. package/docs/index.md +37 -204
  67. package/docs/reference/agents.md +28 -0
  68. package/docs/reference/commands.md +151 -0
  69. package/docs/reference/modules.md +76 -0
  70. package/docs/reference/testing.md +106 -0
  71. package/docs/reference/workflow-map.md +89 -0
  72. package/docs/roadmap.mdx +136 -0
  73. package/docs/tutorials/getting-started.md +273 -0
  74. package/eslint.config.mjs +26 -16
  75. package/package.json +35 -28
  76. package/src/bmm/agents/analyst.agent.yaml +43 -0
  77. package/src/bmm/agents/architect.agent.yaml +29 -0
  78. package/src/bmm/agents/dev.agent.yaml +38 -0
  79. package/src/bmm/agents/pm.agent.yaml +44 -0
  80. package/src/bmm/agents/qa.agent.yaml +58 -0
  81. package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -0
  82. package/src/bmm/agents/sm.agent.yaml +37 -0
  83. package/src/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
  84. package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +46 -0
  85. package/src/bmm/agents/ux-designer.agent.yaml +27 -0
  86. package/src/bmm/data/project-context-template.md +26 -0
  87. package/src/bmm/module-help.csv +31 -0
  88. package/src/bmm/module.yaml +50 -0
  89. package/src/bmm/teams/default-party.csv +20 -0
  90. package/src/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  91. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
  92. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
  93. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
  94. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
  95. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
  96. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
  97. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
  98. package/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -0
  99. package/src/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  100. package/src/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  101. package/src/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  102. package/src/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  103. package/src/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  104. package/src/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +444 -0
  105. package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  106. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  107. package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  108. package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  109. package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  110. package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +476 -0
  111. package/src/bmm/workflows/1-analysis/research/research.template.md +29 -0
  112. package/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  113. package/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  114. package/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  115. package/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  116. package/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +233 -0
  117. package/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +487 -0
  118. package/src/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -0
  119. package/src/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -0
  120. package/src/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -0
  121. package/src/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +15 -0
  122. package/src/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
  123. package/src/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
  124. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
  125. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +152 -0
  126. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
  127. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +154 -0
  128. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +170 -0
  129. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
  130. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
  131. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
  132. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
  133. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
  134. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
  135. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
  136. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
  137. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
  138. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
  139. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
  140. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  141. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
  142. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
  143. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
  144. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +226 -0
  145. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
  146. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
  147. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
  148. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  149. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
  150. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
  151. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  152. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  153. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
  154. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
  155. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  156. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
  157. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
  158. package/src/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
  159. package/src/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -0
  160. package/src/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -0
  161. package/src/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +63 -0
  162. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  163. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  164. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  165. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  166. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  167. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  168. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  169. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  170. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  171. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  172. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  173. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  174. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  175. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  176. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
  177. package/src/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  178. package/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -0
  179. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +184 -0
  180. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +172 -0
  181. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +173 -0
  182. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +133 -0
  183. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +245 -0
  184. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +129 -0
  185. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  186. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -0
  187. package/src/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  188. package/src/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +13 -0
  189. package/src/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  190. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  191. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +173 -0
  192. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  193. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +329 -0
  194. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  195. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  196. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  197. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  198. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
  199. package/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -0
  200. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  201. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  202. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  203. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
  204. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  205. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -0
  206. package/src/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  207. package/src/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
  208. package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +43 -0
  209. package/src/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
  210. package/src/bmm/workflows/4-implementation/correct-course/instructions.md +207 -0
  211. package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +53 -0
  212. package/src/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
  213. package/src/bmm/workflows/4-implementation/create-story/instructions.xml +346 -0
  214. package/src/bmm/workflows/4-implementation/create-story/template.md +49 -0
  215. package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +52 -0
  216. package/src/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
  217. package/src/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
  218. package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +20 -0
  219. package/src/bmm/workflows/4-implementation/retrospective/instructions.md +1444 -0
  220. package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +52 -0
  221. package/src/bmm/workflows/4-implementation/sprint-planning/instructions.md +226 -0
  222. package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  223. package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -0
  224. package/src/bmm/workflows/4-implementation/sprint-status/instructions.md +230 -0
  225. package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +25 -0
  226. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +174 -0
  227. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +118 -0
  228. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +111 -0
  229. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +111 -0
  230. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +104 -0
  231. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +146 -0
  232. package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -0
  233. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -0
  234. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +143 -0
  235. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +126 -0
  236. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +200 -0
  237. package/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
  238. package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
  239. package/src/bmm/workflows/document-project/checklist.md +245 -0
  240. package/src/bmm/workflows/document-project/instructions.md +130 -0
  241. package/src/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  242. package/src/bmm/workflows/document-project/workflow.yaml +22 -0
  243. package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  244. package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  245. package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  246. package/src/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  247. package/src/bmm/workflows/generate-project-context/project-context-template.md +21 -0
  248. package/src/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
  249. package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
  250. package/src/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
  251. package/src/bmm/workflows/generate-project-context/workflow.md +49 -0
  252. package/src/bmm/workflows/qa-generate-e2e-tests/checklist.md +33 -0
  253. package/src/bmm/workflows/qa-generate-e2e-tests/instructions.md +110 -0
  254. package/src/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +42 -0
  255. package/src/core/agents/bmad-master.agent.yaml +12 -21
  256. package/src/core/module-help.csv +9 -0
  257. package/src/core/module.yaml +25 -0
  258. package/src/core/tasks/editorial-review-prose.xml +102 -0
  259. package/src/core/tasks/editorial-review-structure.xml +208 -0
  260. package/src/core/tasks/help.md +86 -0
  261. package/src/core/tasks/index-docs.xml +2 -2
  262. package/src/core/tasks/review-adversarial-general.xml +49 -0
  263. package/src/core/tasks/shard-doc.xml +108 -0
  264. package/src/core/tasks/workflow.xml +39 -74
  265. package/src/core/workflows/advanced-elicitation/methods.csv +51 -0
  266. package/src/core/workflows/advanced-elicitation/workflow.xml +118 -0
  267. package/src/core/workflows/brainstorming/brain-methods.csv +62 -36
  268. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
  269. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
  270. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
  271. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  272. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
  273. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  274. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
  275. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
  276. package/src/core/workflows/brainstorming/template.md +13 -104
  277. package/src/core/workflows/brainstorming/workflow.md +58 -0
  278. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  279. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
  280. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +168 -0
  281. package/src/core/workflows/party-mode/workflow.md +194 -0
  282. package/src/utility/agent-components/activation-rules.txt +6 -0
  283. package/src/utility/agent-components/activation-steps.txt +14 -0
  284. package/src/utility/agent-components/agent-command-header.md +1 -0
  285. package/src/utility/agent-components/agent.customize.template.yaml +41 -0
  286. package/src/utility/agent-components/handler-action.txt +4 -0
  287. package/src/utility/agent-components/handler-exec.txt +6 -0
  288. package/src/utility/agent-components/handler-multi.txt +14 -0
  289. package/src/utility/agent-components/handler-tmpl.txt +5 -0
  290. package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
  291. package/src/utility/agent-components/handler-workflow.txt +10 -0
  292. package/src/utility/agent-components/menu-handlers.txt +6 -0
  293. package/test/README.md +4 -4
  294. package/test/adversarial-review-tests/README.md +56 -0
  295. package/test/adversarial-review-tests/sample-content.md +46 -0
  296. package/test/adversarial-review-tests/test-cases.yaml +103 -0
  297. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +1 -0
  298. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +1 -0
  299. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +1 -0
  300. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +1 -0
  301. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +1 -0
  302. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +1 -0
  303. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +1 -0
  304. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
  305. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
  306. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +1 -0
  307. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +1 -0
  308. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +1 -0
  309. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +1 -0
  310. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +1 -0
  311. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +1 -1
  312. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +1 -0
  313. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +1 -0
  314. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +1 -0
  315. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +1 -0
  316. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +1 -0
  317. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +1 -0
  318. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +1 -0
  319. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +1 -0
  320. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +1 -0
  321. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +1 -0
  322. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +1 -0
  323. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +1 -0
  324. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +1 -0
  325. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +1 -0
  326. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +1 -0
  327. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +2 -3
  328. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +1 -0
  329. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
  330. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +2 -1
  331. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
  332. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +1 -0
  333. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +2 -1
  334. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +2 -1
  335. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
  336. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
  337. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +1 -0
  338. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +1 -0
  339. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +1 -0
  340. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +1 -0
  341. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +1 -0
  342. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +1 -0
  343. package/test/fixtures/file-refs-csv/invalid/all-empty-workflow.csv +3 -0
  344. package/test/fixtures/file-refs-csv/invalid/empty-data.csv +1 -0
  345. package/test/fixtures/file-refs-csv/invalid/no-workflow-column.csv +3 -0
  346. package/test/fixtures/file-refs-csv/invalid/unresolvable-vars.csv +3 -0
  347. package/test/fixtures/file-refs-csv/valid/bmm-style.csv +3 -0
  348. package/test/fixtures/file-refs-csv/valid/core-style.csv +3 -0
  349. package/test/fixtures/file-refs-csv/valid/minimal.csv +2 -0
  350. package/test/test-agent-schema.js +4 -4
  351. package/test/test-file-refs-csv.js +133 -0
  352. package/test/test-installation-components.js +10 -12
  353. package/test/test-rehype-plugins.mjs +1050 -0
  354. package/test/unit-test-schema.js +2 -2
  355. package/tools/build-docs.mjs +463 -0
  356. package/tools/cli/README.md +41 -589
  357. package/tools/cli/bmad-cli.js +67 -1
  358. package/tools/cli/commands/install.js +42 -34
  359. package/tools/cli/commands/status.js +44 -26
  360. package/tools/cli/commands/uninstall.js +146 -23
  361. package/tools/cli/external-official-modules.yaml +53 -0
  362. package/tools/cli/installers/install-messages.yaml +39 -0
  363. package/tools/cli/installers/lib/core/config-collector.js +589 -95
  364. package/tools/cli/installers/lib/core/custom-module-cache.js +260 -0
  365. package/tools/cli/installers/lib/core/dependency-resolver.js +57 -39
  366. package/tools/cli/installers/lib/core/detector.js +19 -125
  367. package/tools/cli/installers/lib/core/ide-config-manager.js +12 -9
  368. package/tools/cli/installers/lib/core/installer.js +2075 -1161
  369. package/tools/cli/installers/lib/core/manifest-generator.js +494 -103
  370. package/tools/cli/installers/lib/core/manifest.js +544 -46
  371. package/tools/cli/installers/lib/custom/handler.js +358 -0
  372. package/tools/cli/installers/lib/ide/_base-ide.js +83 -44
  373. package/tools/cli/installers/lib/ide/_config-driven.js +559 -0
  374. package/tools/cli/installers/lib/ide/codex.js +301 -64
  375. package/tools/cli/installers/lib/ide/github-copilot.js +606 -209
  376. package/tools/cli/installers/lib/ide/kilo.js +169 -75
  377. package/tools/cli/installers/lib/ide/manager.js +179 -48
  378. package/tools/cli/installers/lib/ide/platform-codes.js +100 -0
  379. package/tools/cli/installers/lib/ide/platform-codes.yaml +234 -0
  380. package/tools/cli/installers/lib/ide/rovodev.js +257 -0
  381. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +95 -5
  382. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +51 -20
  383. package/tools/cli/installers/lib/ide/shared/module-injections.js +6 -3
  384. package/tools/cli/installers/lib/ide/shared/path-utils.js +299 -0
  385. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +261 -14
  386. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +108 -27
  387. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
  388. package/tools/cli/installers/lib/ide/templates/combined/antigravity.md +8 -0
  389. package/tools/cli/installers/lib/ide/templates/combined/default-agent.md +15 -0
  390. package/tools/cli/installers/lib/ide/templates/combined/default-task.md +10 -0
  391. package/tools/cli/installers/lib/ide/templates/combined/default-tool.md +10 -0
  392. package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +14 -0
  393. package/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +6 -0
  394. package/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +14 -0
  395. package/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +11 -0
  396. package/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +11 -0
  397. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
  398. package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +14 -0
  399. package/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +16 -0
  400. package/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +9 -0
  401. package/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +9 -0
  402. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +15 -0
  403. package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +7 -0
  404. package/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +15 -0
  405. package/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +14 -0
  406. package/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +14 -0
  407. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +17 -0
  408. package/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +17 -0
  409. package/tools/cli/installers/lib/ide/templates/combined/rovodev.md +9 -0
  410. package/tools/cli/installers/lib/ide/templates/combined/trae.md +9 -0
  411. package/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +10 -0
  412. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +1 -1
  413. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
  414. package/tools/cli/installers/lib/message-loader.js +83 -0
  415. package/tools/cli/installers/lib/modules/external-manager.js +136 -0
  416. package/tools/cli/installers/lib/modules/manager.js +931 -207
  417. package/tools/cli/lib/activation-builder.js +13 -16
  418. package/tools/cli/lib/agent/compiler.js +525 -0
  419. package/tools/cli/lib/agent/installer.js +680 -0
  420. package/tools/cli/lib/agent/template-engine.js +152 -0
  421. package/tools/cli/lib/agent-analyzer.js +48 -20
  422. package/tools/cli/lib/agent-party-generator.js +5 -17
  423. package/tools/cli/lib/cli-utils.js +76 -104
  424. package/tools/cli/lib/config.js +4 -3
  425. package/tools/cli/lib/platform-codes.js +2 -2
  426. package/tools/cli/lib/project-root.js +6 -0
  427. package/tools/cli/lib/prompts.js +809 -0
  428. package/tools/cli/lib/ui.js +1600 -272
  429. package/tools/cli/lib/xml-handler.js +4 -55
  430. package/tools/cli/lib/yaml-format.js +4 -6
  431. package/tools/cli/lib/yaml-xml-builder.js +183 -61
  432. package/tools/docs/_prompt-external-modules-page.md +59 -0
  433. package/tools/docs/fix-refs.md +91 -0
  434. package/tools/fix-doc-links.js +285 -0
  435. package/tools/lib/xml-utils.js +13 -0
  436. package/tools/migrate-custom-module-paths.js +124 -0
  437. package/tools/platform-codes.yaml +30 -6
  438. package/tools/schema/agent.js +306 -53
  439. package/tools/validate-agent-schema.js +3 -3
  440. package/tools/validate-doc-links.js +407 -0
  441. package/tools/validate-file-refs.js +554 -0
  442. package/tools/validate-svg-changes.sh +356 -0
  443. package/website/README.md +75 -0
  444. package/website/astro.config.mjs +136 -0
  445. package/website/public/favicon.ico +0 -0
  446. package/website/public/img/bmad-dark.png +0 -0
  447. package/website/public/img/bmad-light.png +0 -0
  448. package/website/public/workflow-map-diagram.html +361 -0
  449. package/website/src/components/Banner.astro +62 -0
  450. package/website/src/components/Header.astro +96 -0
  451. package/website/src/components/MobileMenuFooter.astro +33 -0
  452. package/website/src/content/config.ts +6 -0
  453. package/website/src/lib/site-url.mjs +25 -0
  454. package/website/src/pages/404.astro +11 -0
  455. package/website/src/pages/robots.txt.ts +48 -0
  456. package/website/src/rehype-base-paths.js +112 -0
  457. package/website/src/rehype-markdown-links.js +119 -0
  458. package/website/src/styles/custom.css +805 -0
  459. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -32
  460. package/.github/ISSUE_TEMPLATE/idea_submission.md +0 -109
  461. package/.github/workflows/bundle-latest.yaml +0 -277
  462. package/.github/workflows/manual-release.yaml +0 -212
  463. package/docs/BUNDLE_DISTRIBUTION_SETUP.md +0 -95
  464. package/docs/agent-customization-guide.md +0 -208
  465. package/docs/document-sharding-guide.md +0 -447
  466. package/docs/ide-info/auggie.md +0 -31
  467. package/docs/ide-info/claude-code.md +0 -25
  468. package/docs/ide-info/cline.md +0 -31
  469. package/docs/ide-info/codex.md +0 -21
  470. package/docs/ide-info/crush.md +0 -30
  471. package/docs/ide-info/cursor.md +0 -25
  472. package/docs/ide-info/gemini.md +0 -25
  473. package/docs/ide-info/github-copilot.md +0 -26
  474. package/docs/ide-info/iflow.md +0 -33
  475. package/docs/ide-info/kilo.md +0 -24
  476. package/docs/ide-info/opencode.md +0 -24
  477. package/docs/ide-info/qwen.md +0 -25
  478. package/docs/ide-info/roo.md +0 -27
  479. package/docs/ide-info/trae.md +0 -25
  480. package/docs/ide-info/windsurf.md +0 -22
  481. package/docs/installers-bundlers/ide-injections.md +0 -186
  482. package/docs/installers-bundlers/installers-modules-platforms-reference.md +0 -388
  483. package/docs/installers-bundlers/web-bundler-usage.md +0 -54
  484. package/docs/v4-to-v6-upgrade.md +0 -227
  485. package/docs/web-bundles-gemini-gpt-guide.md +0 -473
  486. package/src/core/_module-installer/install-config.yaml +0 -35
  487. package/src/core/_module-installer/installer.js +0 -60
  488. package/src/core/agents/bmad-web-orchestrator.agent.xml +0 -113
  489. package/src/core/tasks/adv-elicit-methods.csv +0 -39
  490. package/src/core/tasks/advanced-elicitation.xml +0 -106
  491. package/src/core/tasks/validate-workflow.xml +0 -89
  492. package/src/core/tools/shard-doc.xml +0 -109
  493. package/src/core/workflows/brainstorming/README.md +0 -261
  494. package/src/core/workflows/brainstorming/instructions.md +0 -315
  495. package/src/core/workflows/brainstorming/workflow.yaml +0 -43
  496. package/src/core/workflows/party-mode/instructions.md +0 -183
  497. package/src/core/workflows/party-mode/workflow.yaml +0 -27
  498. package/src/modules/bmb/README.md +0 -194
  499. package/src/modules/bmb/_module-installer/install-config.yaml +0 -31
  500. package/src/modules/bmb/agents/bmad-builder.agent.yaml +0 -59
  501. package/src/modules/bmb/workflows/audit-workflow/checklist.md +0 -142
  502. package/src/modules/bmb/workflows/audit-workflow/instructions.md +0 -341
  503. package/src/modules/bmb/workflows/audit-workflow/template.md +0 -118
  504. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +0 -25
  505. package/src/modules/bmb/workflows/convert-legacy/README.md +0 -262
  506. package/src/modules/bmb/workflows/convert-legacy/checklist.md +0 -205
  507. package/src/modules/bmb/workflows/convert-legacy/instructions.md +0 -377
  508. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +0 -34
  509. package/src/modules/bmb/workflows/create-agent/README.md +0 -203
  510. package/src/modules/bmb/workflows/create-agent/agent-architecture.md +0 -415
  511. package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
  512. package/src/modules/bmb/workflows/create-agent/agent-types.md +0 -292
  513. package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +0 -174
  514. package/src/modules/bmb/workflows/create-agent/checklist.md +0 -62
  515. package/src/modules/bmb/workflows/create-agent/communication-styles.md +0 -202
  516. package/src/modules/bmb/workflows/create-agent/instructions.md +0 -456
  517. package/src/modules/bmb/workflows/create-agent/workflow.yaml +0 -49
  518. package/src/modules/bmb/workflows/create-module/README.md +0 -229
  519. package/src/modules/bmb/workflows/create-module/brainstorm-context.md +0 -137
  520. package/src/modules/bmb/workflows/create-module/checklist.md +0 -235
  521. package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +0 -92
  522. package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +0 -231
  523. package/src/modules/bmb/workflows/create-module/instructions.md +0 -576
  524. package/src/modules/bmb/workflows/create-module/module-structure.md +0 -400
  525. package/src/modules/bmb/workflows/create-module/workflow.yaml +0 -44
  526. package/src/modules/bmb/workflows/create-workflow/README.md +0 -277
  527. package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
  528. package/src/modules/bmb/workflows/create-workflow/checklist.md +0 -94
  529. package/src/modules/bmb/workflows/create-workflow/instructions.md +0 -724
  530. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1306
  531. package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
  532. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -13
  533. package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
  534. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -65
  535. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +0 -42
  536. package/src/modules/bmb/workflows/edit-agent/README.md +0 -112
  537. package/src/modules/bmb/workflows/edit-agent/checklist.md +0 -112
  538. package/src/modules/bmb/workflows/edit-agent/instructions.md +0 -290
  539. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +0 -35
  540. package/src/modules/bmb/workflows/edit-module/README.md +0 -187
  541. package/src/modules/bmb/workflows/edit-module/checklist.md +0 -165
  542. package/src/modules/bmb/workflows/edit-module/instructions.md +0 -339
  543. package/src/modules/bmb/workflows/edit-module/workflow.yaml +0 -36
  544. package/src/modules/bmb/workflows/edit-workflow/README.md +0 -119
  545. package/src/modules/bmb/workflows/edit-workflow/checklist.md +0 -70
  546. package/src/modules/bmb/workflows/edit-workflow/instructions.md +0 -342
  547. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +0 -29
  548. package/src/modules/bmb/workflows/module-brief/README.md +0 -264
  549. package/src/modules/bmb/workflows/module-brief/checklist.md +0 -116
  550. package/src/modules/bmb/workflows/module-brief/instructions.md +0 -267
  551. package/src/modules/bmb/workflows/module-brief/template.md +0 -275
  552. package/src/modules/bmb/workflows/module-brief/workflow.yaml +0 -31
  553. package/src/modules/bmb/workflows/redoc/README.md +0 -87
  554. package/src/modules/bmb/workflows/redoc/checklist.md +0 -99
  555. package/src/modules/bmb/workflows/redoc/instructions.md +0 -265
  556. package/src/modules/bmb/workflows/redoc/workflow.yaml +0 -34
  557. package/src/modules/bmgd/README.md +0 -208
  558. package/src/modules/bmgd/_module-installer/install-config.yaml +0 -54
  559. package/src/modules/bmgd/agents/game-architect.agent.yaml +0 -33
  560. package/src/modules/bmgd/agents/game-designer.agent.yaml +0 -40
  561. package/src/modules/bmgd/agents/game-dev.agent.yaml +0 -40
  562. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +0 -75
  563. package/src/modules/bmgd/teams/default-party.csv +0 -10
  564. package/src/modules/bmgd/teams/team-gamedev.yaml +0 -18
  565. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/game-brain-methods.csv +0 -26
  566. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/game-context.md +0 -115
  567. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +0 -128
  568. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +0 -41
  569. package/src/modules/bmgd/workflows/1-preproduction/game-brief/checklist.md +0 -128
  570. package/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md +0 -371
  571. package/src/modules/bmgd/workflows/1-preproduction/game-brief/template.md +0 -205
  572. package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +0 -44
  573. package/src/modules/bmgd/workflows/2-design/gdd/checklist.md +0 -148
  574. package/src/modules/bmgd/workflows/2-design/gdd/game-types/action-platformer.md +0 -45
  575. package/src/modules/bmgd/workflows/2-design/gdd/game-types/adventure.md +0 -84
  576. package/src/modules/bmgd/workflows/2-design/gdd/game-types/card-game.md +0 -76
  577. package/src/modules/bmgd/workflows/2-design/gdd/game-types/fighting.md +0 -89
  578. package/src/modules/bmgd/workflows/2-design/gdd/game-types/horror.md +0 -86
  579. package/src/modules/bmgd/workflows/2-design/gdd/game-types/idle-incremental.md +0 -78
  580. package/src/modules/bmgd/workflows/2-design/gdd/game-types/metroidvania.md +0 -87
  581. package/src/modules/bmgd/workflows/2-design/gdd/game-types/moba.md +0 -74
  582. package/src/modules/bmgd/workflows/2-design/gdd/game-types/party-game.md +0 -79
  583. package/src/modules/bmgd/workflows/2-design/gdd/game-types/puzzle.md +0 -58
  584. package/src/modules/bmgd/workflows/2-design/gdd/game-types/racing.md +0 -88
  585. package/src/modules/bmgd/workflows/2-design/gdd/game-types/rhythm.md +0 -79
  586. package/src/modules/bmgd/workflows/2-design/gdd/game-types/roguelike.md +0 -69
  587. package/src/modules/bmgd/workflows/2-design/gdd/game-types/rpg.md +0 -70
  588. package/src/modules/bmgd/workflows/2-design/gdd/game-types/sandbox.md +0 -79
  589. package/src/modules/bmgd/workflows/2-design/gdd/game-types/shooter.md +0 -62
  590. package/src/modules/bmgd/workflows/2-design/gdd/game-types/simulation.md +0 -73
  591. package/src/modules/bmgd/workflows/2-design/gdd/game-types/sports.md +0 -75
  592. package/src/modules/bmgd/workflows/2-design/gdd/game-types/strategy.md +0 -71
  593. package/src/modules/bmgd/workflows/2-design/gdd/game-types/survival.md +0 -79
  594. package/src/modules/bmgd/workflows/2-design/gdd/game-types/text-based.md +0 -91
  595. package/src/modules/bmgd/workflows/2-design/gdd/game-types/tower-defense.md +0 -79
  596. package/src/modules/bmgd/workflows/2-design/gdd/game-types/turn-based-tactics.md +0 -88
  597. package/src/modules/bmgd/workflows/2-design/gdd/game-types/visual-novel.md +0 -89
  598. package/src/modules/bmgd/workflows/2-design/gdd/game-types.csv +0 -25
  599. package/src/modules/bmgd/workflows/2-design/gdd/gdd-template.md +0 -153
  600. package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +0 -501
  601. package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +0 -81
  602. package/src/modules/bmgd/workflows/2-design/narrative/checklist.md +0 -139
  603. package/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +0 -603
  604. package/src/modules/bmgd/workflows/2-design/narrative/narrative-template.md +0 -195
  605. package/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +0 -38
  606. package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-patterns.yaml +0 -321
  607. package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-template.md +0 -103
  608. package/src/modules/bmgd/workflows/3-technical/game-architecture/checklist.md +0 -240
  609. package/src/modules/bmgd/workflows/3-technical/game-architecture/decision-catalog.yaml +0 -222
  610. package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +0 -699
  611. package/src/modules/bmgd/workflows/3-technical/game-architecture/pattern-categories.csv +0 -13
  612. package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +0 -67
  613. package/src/modules/bmgd/workflows/4-production/code-review/backlog_template.md +0 -12
  614. package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +0 -22
  615. package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +0 -398
  616. package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +0 -57
  617. package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +0 -279
  618. package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +0 -206
  619. package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +0 -52
  620. package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +0 -240
  621. package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +0 -256
  622. package/src/modules/bmgd/workflows/4-production/create-story/template.md +0 -51
  623. package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +0 -68
  624. package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +0 -38
  625. package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +0 -267
  626. package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +0 -53
  627. package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +0 -17
  628. package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +0 -164
  629. package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +0 -76
  630. package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +0 -52
  631. package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +0 -1442
  632. package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +0 -52
  633. package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +0 -234
  634. package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +0 -55
  635. package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +0 -50
  636. package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +0 -16
  637. package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +0 -34
  638. package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +0 -209
  639. package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +0 -57
  640. package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +0 -111
  641. package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +0 -28
  642. package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +0 -117
  643. package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +0 -25
  644. package/src/modules/bmm/README.md +0 -128
  645. package/src/modules/bmm/_module-installer/assets/bmm-kb.md +0 -1
  646. package/src/modules/bmm/_module-installer/assets/technical-decisions.md +0 -30
  647. package/src/modules/bmm/_module-installer/install-config.yaml +0 -60
  648. package/src/modules/bmm/_module-installer/installer.js +0 -131
  649. package/src/modules/bmm/_module-installer/platform-specifics/claude-code.js +0 -35
  650. package/src/modules/bmm/_module-installer/platform-specifics/windsurf.js +0 -32
  651. package/src/modules/bmm/agents/analyst.agent.yaml +0 -48
  652. package/src/modules/bmm/agents/architect.agent.yaml +0 -42
  653. package/src/modules/bmm/agents/dev.agent.yaml +0 -40
  654. package/src/modules/bmm/agents/pm.agent.yaml +0 -61
  655. package/src/modules/bmm/agents/sm.agent.yaml +0 -72
  656. package/src/modules/bmm/agents/tea.agent.yaml +0 -65
  657. package/src/modules/bmm/agents/tech-writer.agent.yaml +0 -73
  658. package/src/modules/bmm/agents/ux-designer.agent.yaml +0 -38
  659. package/src/modules/bmm/docs/README.md +0 -235
  660. package/src/modules/bmm/docs/agents-guide.md +0 -1056
  661. package/src/modules/bmm/docs/brownfield-guide.md +0 -754
  662. package/src/modules/bmm/docs/enterprise-agentic-development.md +0 -680
  663. package/src/modules/bmm/docs/faq.md +0 -587
  664. package/src/modules/bmm/docs/glossary.md +0 -320
  665. package/src/modules/bmm/docs/party-mode.md +0 -224
  666. package/src/modules/bmm/docs/quick-spec-flow.md +0 -652
  667. package/src/modules/bmm/docs/quick-start.md +0 -366
  668. package/src/modules/bmm/docs/scale-adaptive-system.md +0 -599
  669. package/src/modules/bmm/docs/test-architecture.md +0 -394
  670. package/src/modules/bmm/docs/workflow-architecture-reference.md +0 -371
  671. package/src/modules/bmm/docs/workflow-document-project-reference.md +0 -487
  672. package/src/modules/bmm/docs/workflows-analysis.md +0 -370
  673. package/src/modules/bmm/docs/workflows-implementation.md +0 -284
  674. package/src/modules/bmm/docs/workflows-planning.md +0 -601
  675. package/src/modules/bmm/docs/workflows-solutioning.md +0 -501
  676. package/src/modules/bmm/teams/default-party.csv +0 -19
  677. package/src/modules/bmm/testarch/knowledge/ci-burn-in.md +0 -675
  678. package/src/modules/bmm/testarch/knowledge/component-tdd.md +0 -486
  679. package/src/modules/bmm/testarch/knowledge/contract-testing.md +0 -957
  680. package/src/modules/bmm/testarch/knowledge/data-factories.md +0 -500
  681. package/src/modules/bmm/testarch/knowledge/email-auth.md +0 -721
  682. package/src/modules/bmm/testarch/knowledge/error-handling.md +0 -725
  683. package/src/modules/bmm/testarch/knowledge/feature-flags.md +0 -750
  684. package/src/modules/bmm/testarch/knowledge/fixture-architecture.md +0 -401
  685. package/src/modules/bmm/testarch/knowledge/network-first.md +0 -486
  686. package/src/modules/bmm/testarch/knowledge/nfr-criteria.md +0 -670
  687. package/src/modules/bmm/testarch/knowledge/playwright-config.md +0 -730
  688. package/src/modules/bmm/testarch/knowledge/probability-impact.md +0 -601
  689. package/src/modules/bmm/testarch/knowledge/risk-governance.md +0 -615
  690. package/src/modules/bmm/testarch/knowledge/selective-testing.md +0 -732
  691. package/src/modules/bmm/testarch/knowledge/selector-resilience.md +0 -527
  692. package/src/modules/bmm/testarch/knowledge/test-healing-patterns.md +0 -644
  693. package/src/modules/bmm/testarch/knowledge/test-levels-framework.md +0 -473
  694. package/src/modules/bmm/testarch/knowledge/test-priorities-matrix.md +0 -373
  695. package/src/modules/bmm/testarch/knowledge/test-quality.md +0 -664
  696. package/src/modules/bmm/testarch/knowledge/timing-debugging.md +0 -372
  697. package/src/modules/bmm/testarch/knowledge/visual-debugging.md +0 -524
  698. package/src/modules/bmm/testarch/tea-index.csv +0 -22
  699. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +0 -110
  700. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +0 -25
  701. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +0 -39
  702. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +0 -423
  703. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +0 -180
  704. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +0 -56
  705. package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +0 -115
  706. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +0 -522
  707. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +0 -181
  708. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +0 -65
  709. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +0 -144
  710. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +0 -249
  711. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +0 -299
  712. package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +0 -114
  713. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +0 -437
  714. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +0 -674
  715. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +0 -133
  716. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +0 -533
  717. package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +0 -94
  718. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +0 -347
  719. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +0 -245
  720. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +0 -62
  721. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +0 -310
  722. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +0 -1306
  723. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +0 -145
  724. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +0 -99
  725. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +0 -346
  726. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md +0 -80
  727. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +0 -292
  728. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +0 -53
  729. package/src/modules/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +0 -13
  730. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +0 -525
  731. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +0 -237
  732. package/src/modules/bmm/workflows/2-plan-workflows/prd/project-types.csv +0 -11
  733. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +0 -76
  734. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +0 -217
  735. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -74
  736. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +0 -434
  737. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +0 -978
  738. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +0 -181
  739. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +0 -90
  740. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +0 -57
  741. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -321
  742. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +0 -103
  743. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +0 -240
  744. package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +0 -222
  745. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +0 -696
  746. package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +0 -13
  747. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +0 -96
  748. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +0 -169
  749. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +0 -302
  750. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/template.md +0 -146
  751. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +0 -66
  752. package/src/modules/bmm/workflows/4-implementation/code-review/backlog_template.md +0 -12
  753. package/src/modules/bmm/workflows/4-implementation/code-review/checklist.md +0 -22
  754. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +0 -398
  755. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +0 -57
  756. package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +0 -279
  757. package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +0 -206
  758. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +0 -52
  759. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +0 -240
  760. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +0 -256
  761. package/src/modules/bmm/workflows/4-implementation/create-story/template.md +0 -51
  762. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +0 -68
  763. package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +0 -38
  764. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +0 -267
  765. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +0 -53
  766. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +0 -17
  767. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +0 -164
  768. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/template.md +0 -76
  769. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +0 -52
  770. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +0 -1442
  771. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +0 -52
  772. package/src/modules/bmm/workflows/4-implementation/sprint-planning/checklist.md +0 -33
  773. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +0 -234
  774. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +0 -55
  775. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +0 -50
  776. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +0 -16
  777. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +0 -34
  778. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +0 -209
  779. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +0 -57
  780. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +0 -111
  781. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +0 -28
  782. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +0 -117
  783. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +0 -25
  784. package/src/modules/bmm/workflows/document-project/checklist.md +0 -245
  785. package/src/modules/bmm/workflows/document-project/instructions.md +0 -222
  786. package/src/modules/bmm/workflows/document-project/templates/project-scan-report-schema.json +0 -160
  787. package/src/modules/bmm/workflows/document-project/workflow.yaml +0 -36
  788. package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +0 -298
  789. package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +0 -31
  790. package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +0 -1106
  791. package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +0 -31
  792. package/src/modules/bmm/workflows/techdoc/documentation-standards.md +0 -262
  793. package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +0 -363
  794. package/src/modules/bmm/workflows/testarch/atdd/checklist.md +0 -373
  795. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +0 -785
  796. package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +0 -54
  797. package/src/modules/bmm/workflows/testarch/automate/checklist.md +0 -580
  798. package/src/modules/bmm/workflows/testarch/automate/instructions.md +0 -1303
  799. package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +0 -63
  800. package/src/modules/bmm/workflows/testarch/ci/checklist.md +0 -246
  801. package/src/modules/bmm/workflows/testarch/ci/github-actions-template.yaml +0 -165
  802. package/src/modules/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +0 -128
  803. package/src/modules/bmm/workflows/testarch/ci/instructions.md +0 -517
  804. package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +0 -55
  805. package/src/modules/bmm/workflows/testarch/framework/checklist.md +0 -321
  806. package/src/modules/bmm/workflows/testarch/framework/instructions.md +0 -455
  807. package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +0 -55
  808. package/src/modules/bmm/workflows/testarch/nfr-assess/checklist.md +0 -405
  809. package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +0 -722
  810. package/src/modules/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +0 -443
  811. package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +0 -58
  812. package/src/modules/bmm/workflows/testarch/test-design/checklist.md +0 -234
  813. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +0 -782
  814. package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +0 -285
  815. package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +0 -58
  816. package/src/modules/bmm/workflows/testarch/test-review/checklist.md +0 -470
  817. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +0 -608
  818. package/src/modules/bmm/workflows/testarch/test-review/test-review-template.md +0 -388
  819. package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +0 -55
  820. package/src/modules/bmm/workflows/testarch/trace/checklist.md +0 -654
  821. package/src/modules/bmm/workflows/testarch/trace/instructions.md +0 -1045
  822. package/src/modules/bmm/workflows/testarch/trace/trace-template.md +0 -673
  823. package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +0 -68
  824. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +0 -823
  825. package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +0 -29
  826. package/src/modules/bmm/workflows/workflow-status/instructions.md +0 -387
  827. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +0 -120
  828. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +0 -108
  829. package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +0 -52
  830. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +0 -104
  831. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +0 -95
  832. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +0 -58
  833. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +0 -47
  834. package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +0 -59
  835. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.yaml +0 -24
  836. package/src/modules/bmm/workflows/workflow-status/workflow.yaml +0 -30
  837. package/src/modules/cis/README.md +0 -153
  838. package/src/modules/cis/_module-installer/install-config.yaml +0 -16
  839. package/src/modules/cis/_module-installer/installer.js +0 -92
  840. package/src/modules/cis/agents/README.md +0 -104
  841. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +0 -28
  842. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +0 -28
  843. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +0 -28
  844. package/src/modules/cis/agents/innovation-strategist.agent.yaml +0 -28
  845. package/src/modules/cis/agents/storyteller.agent.yaml +0 -28
  846. package/src/modules/cis/teams/creative-squad.yaml +0 -7
  847. package/src/modules/cis/teams/default-party.csv +0 -11
  848. package/src/modules/cis/workflows/README.md +0 -139
  849. package/src/modules/cis/workflows/design-thinking/README.md +0 -56
  850. package/src/modules/cis/workflows/design-thinking/design-methods.csv +0 -31
  851. package/src/modules/cis/workflows/design-thinking/instructions.md +0 -200
  852. package/src/modules/cis/workflows/design-thinking/template.md +0 -111
  853. package/src/modules/cis/workflows/design-thinking/workflow.yaml +0 -43
  854. package/src/modules/cis/workflows/innovation-strategy/README.md +0 -56
  855. package/src/modules/cis/workflows/innovation-strategy/innovation-frameworks.csv +0 -31
  856. package/src/modules/cis/workflows/innovation-strategy/instructions.md +0 -274
  857. package/src/modules/cis/workflows/innovation-strategy/template.md +0 -189
  858. package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +0 -43
  859. package/src/modules/cis/workflows/problem-solving/README.md +0 -56
  860. package/src/modules/cis/workflows/problem-solving/instructions.md +0 -250
  861. package/src/modules/cis/workflows/problem-solving/solving-methods.csv +0 -31
  862. package/src/modules/cis/workflows/problem-solving/template.md +0 -165
  863. package/src/modules/cis/workflows/problem-solving/workflow.yaml +0 -43
  864. package/src/modules/cis/workflows/storytelling/README.md +0 -58
  865. package/src/modules/cis/workflows/storytelling/instructions.md +0 -291
  866. package/src/modules/cis/workflows/storytelling/story-types.csv +0 -26
  867. package/src/modules/cis/workflows/storytelling/template.md +0 -113
  868. package/src/modules/cis/workflows/storytelling/workflow.yaml +0 -43
  869. package/src/utility/models/agent-activation-ide.xml +0 -51
  870. package/src/utility/models/agent-activation-web.xml +0 -60
  871. package/src/utility/models/agent-command-header.md +0 -1
  872. package/src/utility/models/agent-config-template.md +0 -23
  873. package/src/utility/models/agent-in-team-activation.xml +0 -3
  874. package/src/utility/models/fragments/activation-rules.xml +0 -8
  875. package/src/utility/models/fragments/activation-steps.xml +0 -16
  876. package/src/utility/models/fragments/handler-action.xml +0 -4
  877. package/src/utility/models/fragments/handler-exec.xml +0 -5
  878. package/src/utility/models/fragments/handler-tmpl.xml +0 -5
  879. package/src/utility/models/fragments/handler-validate-workflow.xml +0 -7
  880. package/src/utility/models/fragments/handler-workflow.xml +0 -9
  881. package/src/utility/models/fragments/menu-handlers.xml +0 -6
  882. package/src/utility/models/fragments/web-bundle-activation-steps.xml +0 -32
  883. package/src/utility/templates/agent.customize.template.yaml +0 -42
  884. package/test/fixtures/agent-schema/invalid/metadata/core-agent-with-module.agent.yaml +0 -26
  885. package/test/fixtures/agent-schema/invalid/metadata/module-agent-missing-module.agent.yaml +0 -25
  886. package/test/fixtures/agent-schema/invalid/metadata/wrong-module-value.agent.yaml +0 -26
  887. package/tools/cli/bundlers/bundle-web.js +0 -179
  888. package/tools/cli/bundlers/test-analyst.js +0 -28
  889. package/tools/cli/bundlers/test-bundler.js +0 -118
  890. package/tools/cli/bundlers/web-bundler.js +0 -1667
  891. package/tools/cli/commands/build.js +0 -458
  892. package/tools/cli/commands/list.js +0 -28
  893. package/tools/cli/commands/update.js +0 -28
  894. package/tools/cli/installers/lib/ide/auggie.js +0 -179
  895. package/tools/cli/installers/lib/ide/claude-code.js +0 -471
  896. package/tools/cli/installers/lib/ide/cline.js +0 -220
  897. package/tools/cli/installers/lib/ide/crush.js +0 -240
  898. package/tools/cli/installers/lib/ide/cursor.js +0 -352
  899. package/tools/cli/installers/lib/ide/gemini.js +0 -206
  900. package/tools/cli/installers/lib/ide/iflow.js +0 -125
  901. package/tools/cli/installers/lib/ide/opencode.js +0 -212
  902. package/tools/cli/installers/lib/ide/qwen.js +0 -318
  903. package/tools/cli/installers/lib/ide/roo.js +0 -253
  904. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +0 -14
  905. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +0 -12
  906. package/tools/cli/installers/lib/ide/trae.js +0 -266
  907. package/tools/cli/installers/lib/ide/windsurf.js +0 -211
  908. package/tools/cli/lib/replace-project-root.js +0 -239
  909. package/tools/cli/regenerate-manifests.js +0 -28
  910. package/tools/cli/test-yaml-builder.js +0 -43
  911. package/tools/flattener/aggregate.js +0 -76
  912. package/tools/flattener/binary.js +0 -80
  913. package/tools/flattener/discovery.js +0 -71
  914. package/tools/flattener/files.js +0 -35
  915. package/tools/flattener/ignoreRules.js +0 -172
  916. package/tools/flattener/main.js +0 -483
  917. package/tools/flattener/projectRoot.js +0 -201
  918. package/tools/flattener/prompts.js +0 -44
  919. package/tools/flattener/stats.helpers.js +0 -368
  920. package/tools/flattener/stats.js +0 -75
  921. package/tools/flattener/test-matrix.js +0 -409
  922. package/tools/flattener/xml.js +0 -88
  923. package/tools/validate-bundles.js +0 -87
  924. package/v6-open-items.md +0 -17
  925. /package/src/{modules/bmm → bmm}/teams/team-fullstack.yaml +0 -0
  926. /package/src/{modules/bmgd/workflows/4-production → bmm/workflows/4-implementation}/sprint-planning/checklist.md +0 -0
  927. /package/src/{modules/bmm → bmm}/workflows/document-project/documentation-requirements.csv +0 -0
  928. /package/src/{modules/bmm → bmm}/workflows/document-project/templates/deep-dive-template.md +0 -0
  929. /package/src/{modules/bmm → bmm}/workflows/document-project/templates/index-template.md +0 -0
  930. /package/src/{modules/bmm → bmm}/workflows/document-project/templates/project-overview-template.md +0 -0
  931. /package/src/{modules/bmm → bmm}/workflows/document-project/templates/source-tree-template.md +0 -0
  932. /package/src/utility/{models/fragments/handler-data.xml → agent-components/handler-data.txt} +0 -0
  933. /package/{src/utility/models/action-command-header.md → tools/cli/installers/lib/ide/templates/split/.gitkeep} +0 -0
@@ -0,0 +1,559 @@
1
+ const path = require('node:path');
2
+ const fs = require('fs-extra');
3
+ const { BaseIdeSetup } = require('./_base-ide');
4
+ const prompts = require('../../../lib/prompts');
5
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
6
+ const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator');
7
+ const { TaskToolCommandGenerator } = require('./shared/task-tool-command-generator');
8
+
9
+ /**
10
+ * Config-driven IDE setup handler
11
+ *
12
+ * This class provides a standardized way to install BMAD artifacts to IDEs
13
+ * based on configuration in platform-codes.yaml. It eliminates the need for
14
+ * individual installer files for each IDE.
15
+ *
16
+ * Features:
17
+ * - Config-driven from platform-codes.yaml
18
+ * - Template-based content generation
19
+ * - Multi-target installation support (e.g., GitHub Copilot)
20
+ * - Artifact type filtering (agents, workflows, tasks, tools)
21
+ */
22
+ class ConfigDrivenIdeSetup extends BaseIdeSetup {
23
+ constructor(platformCode, platformConfig) {
24
+ super(platformCode, platformConfig.name, platformConfig.preferred);
25
+ this.platformConfig = platformConfig;
26
+ this.installerConfig = platformConfig.installer || null;
27
+ }
28
+
29
+ /**
30
+ * Main setup method - called by IdeManager
31
+ * @param {string} projectDir - Project directory
32
+ * @param {string} bmadDir - BMAD installation directory
33
+ * @param {Object} options - Setup options
34
+ * @returns {Promise<Object>} Setup result
35
+ */
36
+ async setup(projectDir, bmadDir, options = {}) {
37
+ if (!options.silent) await prompts.log.info(`Setting up ${this.name}...`);
38
+
39
+ // Clean up any old BMAD installation first
40
+ await this.cleanup(projectDir, options);
41
+
42
+ if (!this.installerConfig) {
43
+ return { success: false, reason: 'no-config' };
44
+ }
45
+
46
+ // Handle multi-target installations (e.g., GitHub Copilot)
47
+ if (this.installerConfig.targets) {
48
+ return this.installToMultipleTargets(projectDir, bmadDir, this.installerConfig.targets, options);
49
+ }
50
+
51
+ // Handle single-target installations
52
+ if (this.installerConfig.target_dir) {
53
+ return this.installToTarget(projectDir, bmadDir, this.installerConfig, options);
54
+ }
55
+
56
+ return { success: false, reason: 'invalid-config' };
57
+ }
58
+
59
+ /**
60
+ * Install to a single target directory
61
+ * @param {string} projectDir - Project directory
62
+ * @param {string} bmadDir - BMAD installation directory
63
+ * @param {Object} config - Installation configuration
64
+ * @param {Object} options - Setup options
65
+ * @returns {Promise<Object>} Installation result
66
+ */
67
+ async installToTarget(projectDir, bmadDir, config, options) {
68
+ const { target_dir, template_type, artifact_types } = config;
69
+
70
+ // Skip targets with explicitly empty artifact_types array
71
+ // This prevents creating empty directories when no artifacts will be written
72
+ if (Array.isArray(artifact_types) && artifact_types.length === 0) {
73
+ return { success: true, results: { agents: 0, workflows: 0, tasks: 0, tools: 0 } };
74
+ }
75
+
76
+ const targetPath = path.join(projectDir, target_dir);
77
+ await this.ensureDir(targetPath);
78
+
79
+ const selectedModules = options.selectedModules || [];
80
+ const results = { agents: 0, workflows: 0, tasks: 0, tools: 0 };
81
+
82
+ // Install agents
83
+ if (!artifact_types || artifact_types.includes('agents')) {
84
+ const agentGen = new AgentCommandGenerator(this.bmadFolderName);
85
+ const { artifacts } = await agentGen.collectAgentArtifacts(bmadDir, selectedModules);
86
+ results.agents = await this.writeAgentArtifacts(targetPath, artifacts, template_type, config);
87
+ }
88
+
89
+ // Install workflows
90
+ if (!artifact_types || artifact_types.includes('workflows')) {
91
+ const workflowGen = new WorkflowCommandGenerator(this.bmadFolderName);
92
+ const { artifacts } = await workflowGen.collectWorkflowArtifacts(bmadDir);
93
+ results.workflows = await this.writeWorkflowArtifacts(targetPath, artifacts, template_type, config);
94
+ }
95
+
96
+ // Install tasks and tools using template system (supports TOML for Gemini, MD for others)
97
+ if (!artifact_types || artifact_types.includes('tasks') || artifact_types.includes('tools')) {
98
+ const taskToolGen = new TaskToolCommandGenerator(this.bmadFolderName);
99
+ const { artifacts } = await taskToolGen.collectTaskToolArtifacts(bmadDir);
100
+ const taskToolResult = await this.writeTaskToolArtifacts(targetPath, artifacts, template_type, config);
101
+ results.tasks = taskToolResult.tasks || 0;
102
+ results.tools = taskToolResult.tools || 0;
103
+ }
104
+
105
+ await this.printSummary(results, target_dir, options);
106
+ return { success: true, results };
107
+ }
108
+
109
+ /**
110
+ * Install to multiple target directories
111
+ * @param {string} projectDir - Project directory
112
+ * @param {string} bmadDir - BMAD installation directory
113
+ * @param {Array} targets - Array of target configurations
114
+ * @param {Object} options - Setup options
115
+ * @returns {Promise<Object>} Installation result
116
+ */
117
+ async installToMultipleTargets(projectDir, bmadDir, targets, options) {
118
+ const allResults = { agents: 0, workflows: 0, tasks: 0, tools: 0 };
119
+
120
+ for (const target of targets) {
121
+ const result = await this.installToTarget(projectDir, bmadDir, target, options);
122
+ if (result.success) {
123
+ allResults.agents += result.results.agents || 0;
124
+ allResults.workflows += result.results.workflows || 0;
125
+ allResults.tasks += result.results.tasks || 0;
126
+ allResults.tools += result.results.tools || 0;
127
+ }
128
+ }
129
+
130
+ return { success: true, results: allResults };
131
+ }
132
+
133
+ /**
134
+ * Write agent artifacts to target directory
135
+ * @param {string} targetPath - Target directory path
136
+ * @param {Array} artifacts - Agent artifacts
137
+ * @param {string} templateType - Template type to use
138
+ * @param {Object} config - Installation configuration
139
+ * @returns {Promise<number>} Count of artifacts written
140
+ */
141
+ async writeAgentArtifacts(targetPath, artifacts, templateType, config = {}) {
142
+ // Try to load platform-specific template, fall back to default-agent
143
+ const { content: template, extension } = await this.loadTemplate(templateType, 'agent', config, 'default-agent');
144
+ let count = 0;
145
+
146
+ for (const artifact of artifacts) {
147
+ const content = this.renderTemplate(template, artifact);
148
+ const filename = this.generateFilename(artifact, 'agent', extension);
149
+ const filePath = path.join(targetPath, filename);
150
+ await this.writeFile(filePath, content);
151
+ count++;
152
+ }
153
+
154
+ return count;
155
+ }
156
+
157
+ /**
158
+ * Write workflow artifacts to target directory
159
+ * @param {string} targetPath - Target directory path
160
+ * @param {Array} artifacts - Workflow artifacts
161
+ * @param {string} templateType - Template type to use
162
+ * @param {Object} config - Installation configuration
163
+ * @returns {Promise<number>} Count of artifacts written
164
+ */
165
+ async writeWorkflowArtifacts(targetPath, artifacts, templateType, config = {}) {
166
+ let count = 0;
167
+
168
+ for (const artifact of artifacts) {
169
+ if (artifact.type === 'workflow-command') {
170
+ // Use different template based on workflow type (YAML vs MD)
171
+ // Default to 'default' template type, but allow override via config
172
+ const workflowTemplateType = artifact.isYamlWorkflow
173
+ ? config.yaml_workflow_template || `${templateType}-workflow-yaml`
174
+ : config.md_workflow_template || `${templateType}-workflow`;
175
+
176
+ // Fall back to default templates if specific ones don't exist
177
+ const finalTemplateType = artifact.isYamlWorkflow ? 'default-workflow-yaml' : 'default-workflow';
178
+ // workflowTemplateType already contains full name (e.g., 'gemini-workflow-yaml'), so pass empty artifactType
179
+ const { content: template, extension } = await this.loadTemplate(workflowTemplateType, '', config, finalTemplateType);
180
+ const content = this.renderTemplate(template, artifact);
181
+ const filename = this.generateFilename(artifact, 'workflow', extension);
182
+ const filePath = path.join(targetPath, filename);
183
+ await this.writeFile(filePath, content);
184
+ count++;
185
+ }
186
+ }
187
+
188
+ return count;
189
+ }
190
+
191
+ /**
192
+ * Write task/tool artifacts to target directory using templates
193
+ * @param {string} targetPath - Target directory path
194
+ * @param {Array} artifacts - Task/tool artifacts
195
+ * @param {string} templateType - Template type to use
196
+ * @param {Object} config - Installation configuration
197
+ * @returns {Promise<Object>} Counts of tasks and tools written
198
+ */
199
+ async writeTaskToolArtifacts(targetPath, artifacts, templateType, config = {}) {
200
+ let taskCount = 0;
201
+ let toolCount = 0;
202
+
203
+ // Pre-load templates to avoid repeated file I/O in the loop
204
+ const taskTemplate = await this.loadTemplate(templateType, 'task', config, 'default-task');
205
+ const toolTemplate = await this.loadTemplate(templateType, 'tool', config, 'default-tool');
206
+
207
+ const { artifact_types } = config;
208
+
209
+ for (const artifact of artifacts) {
210
+ if (artifact.type !== 'task' && artifact.type !== 'tool') {
211
+ continue;
212
+ }
213
+
214
+ // Skip if the specific artifact type is not requested in config
215
+ if (artifact_types) {
216
+ if (artifact.type === 'task' && !artifact_types.includes('tasks')) continue;
217
+ if (artifact.type === 'tool' && !artifact_types.includes('tools')) continue;
218
+ }
219
+
220
+ // Use pre-loaded template based on artifact type
221
+ const { content: template, extension } = artifact.type === 'task' ? taskTemplate : toolTemplate;
222
+
223
+ const content = this.renderTemplate(template, artifact);
224
+ const filename = this.generateFilename(artifact, artifact.type, extension);
225
+ const filePath = path.join(targetPath, filename);
226
+ await this.writeFile(filePath, content);
227
+
228
+ if (artifact.type === 'task') {
229
+ taskCount++;
230
+ } else {
231
+ toolCount++;
232
+ }
233
+ }
234
+
235
+ return { tasks: taskCount, tools: toolCount };
236
+ }
237
+
238
+ /**
239
+ * Load template based on type and configuration
240
+ * @param {string} templateType - Template type (claude, windsurf, etc.)
241
+ * @param {string} artifactType - Artifact type (agent, workflow, task, tool)
242
+ * @param {Object} config - Installation configuration
243
+ * @param {string} fallbackTemplateType - Fallback template type if requested template not found
244
+ * @returns {Promise<{content: string, extension: string}>} Template content and extension
245
+ */
246
+ async loadTemplate(templateType, artifactType, config = {}, fallbackTemplateType = null) {
247
+ const { header_template, body_template } = config;
248
+
249
+ // Check for separate header/body templates
250
+ if (header_template || body_template) {
251
+ const content = await this.loadSplitTemplates(templateType, artifactType, header_template, body_template);
252
+ // Allow config to override extension, default to .md
253
+ const ext = config.extension || '.md';
254
+ const normalizedExt = ext.startsWith('.') ? ext : `.${ext}`;
255
+ return { content, extension: normalizedExt };
256
+ }
257
+
258
+ // Load combined template - try multiple extensions
259
+ // If artifactType is empty, templateType already contains full name (e.g., 'gemini-workflow-yaml')
260
+ const templateBaseName = artifactType ? `${templateType}-${artifactType}` : templateType;
261
+ const templateDir = path.join(__dirname, 'templates', 'combined');
262
+ const extensions = ['.md', '.toml', '.yaml', '.yml'];
263
+
264
+ for (const ext of extensions) {
265
+ const templatePath = path.join(templateDir, templateBaseName + ext);
266
+ if (await fs.pathExists(templatePath)) {
267
+ const content = await fs.readFile(templatePath, 'utf8');
268
+ return { content, extension: ext };
269
+ }
270
+ }
271
+
272
+ // Fall back to default template (if provided)
273
+ if (fallbackTemplateType) {
274
+ for (const ext of extensions) {
275
+ const fallbackPath = path.join(templateDir, `${fallbackTemplateType}${ext}`);
276
+ if (await fs.pathExists(fallbackPath)) {
277
+ const content = await fs.readFile(fallbackPath, 'utf8');
278
+ return { content, extension: ext };
279
+ }
280
+ }
281
+ }
282
+
283
+ // Ultimate fallback - minimal template
284
+ return { content: this.getDefaultTemplate(artifactType), extension: '.md' };
285
+ }
286
+
287
+ /**
288
+ * Load split templates (header + body)
289
+ * @param {string} templateType - Template type
290
+ * @param {string} artifactType - Artifact type
291
+ * @param {string} headerTpl - Header template name
292
+ * @param {string} bodyTpl - Body template name
293
+ * @returns {Promise<string>} Combined template content
294
+ */
295
+ async loadSplitTemplates(templateType, artifactType, headerTpl, bodyTpl) {
296
+ let header = '';
297
+ let body = '';
298
+
299
+ // Load header template
300
+ if (headerTpl) {
301
+ const headerPath = path.join(__dirname, 'templates', 'split', headerTpl);
302
+ if (await fs.pathExists(headerPath)) {
303
+ header = await fs.readFile(headerPath, 'utf8');
304
+ }
305
+ } else {
306
+ // Use default header for template type
307
+ const defaultHeaderPath = path.join(__dirname, 'templates', 'split', templateType, 'header.md');
308
+ if (await fs.pathExists(defaultHeaderPath)) {
309
+ header = await fs.readFile(defaultHeaderPath, 'utf8');
310
+ }
311
+ }
312
+
313
+ // Load body template
314
+ if (bodyTpl) {
315
+ const bodyPath = path.join(__dirname, 'templates', 'split', bodyTpl);
316
+ if (await fs.pathExists(bodyPath)) {
317
+ body = await fs.readFile(bodyPath, 'utf8');
318
+ }
319
+ } else {
320
+ // Use default body for template type
321
+ const defaultBodyPath = path.join(__dirname, 'templates', 'split', templateType, 'body.md');
322
+ if (await fs.pathExists(defaultBodyPath)) {
323
+ body = await fs.readFile(defaultBodyPath, 'utf8');
324
+ }
325
+ }
326
+
327
+ // Combine header and body
328
+ return `${header}\n${body}`;
329
+ }
330
+
331
+ /**
332
+ * Get default minimal template
333
+ * @param {string} artifactType - Artifact type
334
+ * @returns {string} Default template
335
+ */
336
+ getDefaultTemplate(artifactType) {
337
+ if (artifactType === 'agent') {
338
+ return `---
339
+ name: '{{name}}'
340
+ description: '{{description}}'
341
+ disable-model-invocation: true
342
+ ---
343
+
344
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified.
345
+
346
+ <agent-activation CRITICAL="TRUE">
347
+ 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}}
348
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
349
+ 3. FOLLOW every step in the <activation> section precisely
350
+ </agent-activation>
351
+ `;
352
+ }
353
+ return `---
354
+ name: '{{name}}'
355
+ description: '{{description}}'
356
+ ---
357
+
358
+ # {{name}}
359
+
360
+ LOAD and execute from: {project-root}/{{bmadFolderName}}/{{path}}
361
+ `;
362
+ }
363
+
364
+ /**
365
+ * Render template with artifact data
366
+ * @param {string} template - Template content
367
+ * @param {Object} artifact - Artifact data
368
+ * @returns {string} Rendered content
369
+ */
370
+ renderTemplate(template, artifact) {
371
+ // Use the appropriate path property based on artifact type
372
+ let pathToUse = artifact.relativePath || '';
373
+ switch (artifact.type) {
374
+ case 'agent-launcher': {
375
+ pathToUse = artifact.agentPath || artifact.relativePath || '';
376
+
377
+ break;
378
+ }
379
+ case 'workflow-command': {
380
+ pathToUse = artifact.workflowPath || artifact.relativePath || '';
381
+
382
+ break;
383
+ }
384
+ case 'task':
385
+ case 'tool': {
386
+ pathToUse = artifact.path || artifact.relativePath || '';
387
+
388
+ break;
389
+ }
390
+ // No default
391
+ }
392
+
393
+ let rendered = template
394
+ .replaceAll('{{name}}', artifact.name || '')
395
+ .replaceAll('{{module}}', artifact.module || 'core')
396
+ .replaceAll('{{path}}', pathToUse)
397
+ .replaceAll('{{description}}', artifact.description || `${artifact.name} ${artifact.type || ''}`)
398
+ .replaceAll('{{workflow_path}}', pathToUse);
399
+
400
+ // Replace _bmad placeholder with actual folder name
401
+ rendered = rendered.replaceAll('_bmad', this.bmadFolderName);
402
+
403
+ // Replace {{bmadFolderName}} placeholder if present
404
+ rendered = rendered.replaceAll('{{bmadFolderName}}', this.bmadFolderName);
405
+
406
+ return rendered;
407
+ }
408
+
409
+ /**
410
+ * Generate filename for artifact
411
+ * @param {Object} artifact - Artifact data
412
+ * @param {string} artifactType - Artifact type (agent, workflow, task, tool)
413
+ * @param {string} extension - File extension to use (e.g., '.md', '.toml')
414
+ * @returns {string} Generated filename
415
+ */
416
+ generateFilename(artifact, artifactType, extension = '.md') {
417
+ const { toDashPath } = require('./shared/path-utils');
418
+
419
+ // Reuse central logic to ensure consistent naming conventions
420
+ const standardName = toDashPath(artifact.relativePath);
421
+
422
+ // Clean up potential double extensions from source files (e.g. .yaml.md, .xml.md -> .md)
423
+ // This handles any extensions that might slip through toDashPath()
424
+ const baseName = standardName.replace(/\.(md|yaml|yml|json|xml|toml)\.md$/i, '.md');
425
+
426
+ // If using default markdown, preserve the bmad-agent- prefix for agents
427
+ if (extension === '.md') {
428
+ return baseName;
429
+ }
430
+
431
+ // For other extensions (e.g., .toml), replace .md extension
432
+ // Note: agent prefix is preserved even with non-markdown extensions
433
+ return baseName.replace(/\.md$/, extension);
434
+ }
435
+
436
+ /**
437
+ * Print installation summary
438
+ * @param {Object} results - Installation results
439
+ * @param {string} targetDir - Target directory (relative)
440
+ */
441
+ async printSummary(results, targetDir, options = {}) {
442
+ if (options.silent) return;
443
+ const parts = [];
444
+ if (results.agents > 0) parts.push(`${results.agents} agents`);
445
+ if (results.workflows > 0) parts.push(`${results.workflows} workflows`);
446
+ if (results.tasks > 0) parts.push(`${results.tasks} tasks`);
447
+ if (results.tools > 0) parts.push(`${results.tools} tools`);
448
+ await prompts.log.success(`${this.name} configured: ${parts.join(', ')} → ${targetDir}`);
449
+ }
450
+
451
+ /**
452
+ * Cleanup IDE configuration
453
+ * @param {string} projectDir - Project directory
454
+ */
455
+ async cleanup(projectDir, options = {}) {
456
+ // Clean all target directories
457
+ if (this.installerConfig?.targets) {
458
+ const parentDirs = new Set();
459
+ for (const target of this.installerConfig.targets) {
460
+ await this.cleanupTarget(projectDir, target.target_dir, options);
461
+ // Track parent directories for empty-dir cleanup
462
+ const parentDir = path.dirname(target.target_dir);
463
+ if (parentDir && parentDir !== '.') {
464
+ parentDirs.add(parentDir);
465
+ }
466
+ }
467
+ // After all targets cleaned, remove empty parent directories (recursive up to projectDir)
468
+ for (const parentDir of parentDirs) {
469
+ await this.removeEmptyParents(projectDir, parentDir);
470
+ }
471
+ } else if (this.installerConfig?.target_dir) {
472
+ await this.cleanupTarget(projectDir, this.installerConfig.target_dir, options);
473
+ }
474
+ }
475
+
476
+ /**
477
+ * Cleanup a specific target directory
478
+ * @param {string} projectDir - Project directory
479
+ * @param {string} targetDir - Target directory to clean
480
+ */
481
+ async cleanupTarget(projectDir, targetDir, options = {}) {
482
+ const targetPath = path.join(projectDir, targetDir);
483
+
484
+ if (!(await fs.pathExists(targetPath))) {
485
+ return;
486
+ }
487
+
488
+ // Remove all bmad* files
489
+ let entries;
490
+ try {
491
+ entries = await fs.readdir(targetPath);
492
+ } catch {
493
+ // Directory exists but can't be read - skip cleanup
494
+ return;
495
+ }
496
+
497
+ if (!entries || !Array.isArray(entries)) {
498
+ return;
499
+ }
500
+
501
+ let removedCount = 0;
502
+
503
+ for (const entry of entries) {
504
+ if (!entry || typeof entry !== 'string') {
505
+ continue;
506
+ }
507
+ if (entry.startsWith('bmad')) {
508
+ const entryPath = path.join(targetPath, entry);
509
+ try {
510
+ await fs.remove(entryPath);
511
+ removedCount++;
512
+ } catch {
513
+ // Skip entries that can't be removed (broken symlinks, permission errors)
514
+ }
515
+ }
516
+ }
517
+
518
+ if (removedCount > 0 && !options.silent) {
519
+ await prompts.log.message(` Cleaned ${removedCount} BMAD files from ${targetDir}`);
520
+ }
521
+
522
+ // Remove empty directory after cleanup
523
+ if (removedCount > 0) {
524
+ try {
525
+ const remaining = await fs.readdir(targetPath);
526
+ if (remaining.length === 0) {
527
+ await fs.remove(targetPath);
528
+ }
529
+ } catch {
530
+ // Directory may already be gone or in use — skip
531
+ }
532
+ }
533
+ }
534
+ /**
535
+ * Recursively remove empty directories walking up from dir toward projectDir
536
+ * Stops at projectDir boundary — never removes projectDir itself
537
+ * @param {string} projectDir - Project root (boundary)
538
+ * @param {string} relativeDir - Relative directory to start from
539
+ */
540
+ async removeEmptyParents(projectDir, relativeDir) {
541
+ let current = relativeDir;
542
+ let last = null;
543
+ while (current && current !== '.' && current !== last) {
544
+ last = current;
545
+ const fullPath = path.join(projectDir, current);
546
+ try {
547
+ if (!(await fs.pathExists(fullPath))) break;
548
+ const remaining = await fs.readdir(fullPath);
549
+ if (remaining.length > 0) break;
550
+ await fs.rmdir(fullPath);
551
+ } catch {
552
+ break;
553
+ }
554
+ current = path.dirname(current);
555
+ }
556
+ }
557
+ }
558
+
559
+ module.exports = { ConfigDrivenIdeSetup };