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
@@ -1,7 +1,10 @@
1
1
  const path = require('node:path');
2
2
  const { BaseIdeSetup } = require('./_base-ide');
3
- const chalk = require('chalk');
3
+ const yaml = require('yaml');
4
+ const prompts = require('../../../lib/prompts');
4
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');
5
8
 
6
9
  /**
7
10
  * KiloCode IDE setup handler
@@ -20,78 +23,93 @@ class KiloSetup extends BaseIdeSetup {
20
23
  * @param {Object} options - Setup options
21
24
  */
22
25
  async setup(projectDir, bmadDir, options = {}) {
23
- console.log(chalk.cyan(`Setting up ${this.name}...`));
26
+ if (!options.silent) await prompts.log.info(`Setting up ${this.name}...`);
24
27
 
25
- // Check for existing .kilocodemodes file
28
+ // Clean up any old BMAD installation first
29
+ await this.cleanup(projectDir, options);
30
+
31
+ // Load existing config (may contain non-BMAD modes and other settings)
26
32
  const kiloModesPath = path.join(projectDir, this.configFile);
27
- let existingModes = [];
28
- let existingContent = '';
33
+ let config = {};
29
34
 
30
35
  if (await this.pathExists(kiloModesPath)) {
31
- existingContent = await this.readFile(kiloModesPath);
32
- // Parse existing modes
33
- const modeMatches = existingContent.matchAll(/- slug: ([\w-]+)/g);
34
- for (const match of modeMatches) {
35
- existingModes.push(match[1]);
36
+ const existingContent = await this.readFile(kiloModesPath);
37
+ try {
38
+ config = yaml.parse(existingContent) || {};
39
+ } catch {
40
+ // If parsing fails, start fresh but warn user
41
+ await prompts.log.warn('Warning: Could not parse existing .kilocodemodes, starting fresh');
42
+ config = {};
36
43
  }
37
- console.log(chalk.yellow(`Found existing .kilocodemodes file with ${existingModes.length} modes`));
44
+ }
45
+
46
+ // Ensure customModes array exists
47
+ if (!Array.isArray(config.customModes)) {
48
+ config.customModes = [];
38
49
  }
39
50
 
40
51
  // Generate agent launchers
41
52
  const agentGen = new AgentCommandGenerator(this.bmadFolderName);
42
53
  const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
43
54
 
44
- // Create modes content
45
- let newModesContent = '';
55
+ // Create mode objects and add to config
46
56
  let addedCount = 0;
47
- let skippedCount = 0;
48
57
 
49
58
  for (const artifact of agentArtifacts) {
50
- const slug = `bmad-${artifact.module}-${artifact.name}`;
59
+ const modeObject = await this.createModeObject(artifact, projectDir);
60
+ config.customModes.push(modeObject);
61
+ addedCount++;
62
+ }
51
63
 
52
- // Skip if already exists
53
- if (existingModes.includes(slug)) {
54
- console.log(chalk.dim(` Skipping ${slug} - already exists`));
55
- skippedCount++;
56
- continue;
57
- }
64
+ // Write .kilocodemodes file with proper YAML structure
65
+ const finalContent = yaml.stringify(config, { lineWidth: 0 });
66
+ await this.writeFile(kiloModesPath, finalContent);
58
67
 
59
- const modeEntry = await this.createModeEntry(artifact, projectDir);
68
+ // Generate workflow commands
69
+ const workflowGenerator = new WorkflowCommandGenerator(this.bmadFolderName);
70
+ const { artifacts: workflowArtifacts } = await workflowGenerator.collectWorkflowArtifacts(bmadDir);
60
71
 
61
- newModesContent += modeEntry;
62
- addedCount++;
63
- }
72
+ // Write to .kilocode/workflows/ directory
73
+ const workflowsDir = path.join(projectDir, '.kilocode', 'workflows');
74
+ await this.ensureDir(workflowsDir);
64
75
 
65
- // Build final content
66
- let finalContent = '';
67
- if (existingContent) {
68
- finalContent = existingContent.trim() + '\n' + newModesContent;
69
- } else {
70
- finalContent = 'customModes:\n' + newModesContent;
71
- }
76
+ // Clear old BMAD workflows before writing new ones
77
+ await this.clearBmadWorkflows(workflowsDir);
72
78
 
73
- // Write .kilocodemodes file
74
- await this.writeFile(kiloModesPath, finalContent);
79
+ // Write workflow files
80
+ const workflowCount = await workflowGenerator.writeDashArtifacts(workflowsDir, workflowArtifacts);
75
81
 
76
- console.log(chalk.green(`✓ ${this.name} configured:`));
77
- console.log(chalk.dim(` - ${addedCount} modes added`));
78
- if (skippedCount > 0) {
79
- console.log(chalk.dim(` - ${skippedCount} modes skipped (already exist)`));
82
+ // Generate task and tool commands
83
+ const taskToolGen = new TaskToolCommandGenerator(this.bmadFolderName);
84
+ const { artifacts: taskToolArtifacts, counts: taskToolCounts } = await taskToolGen.collectTaskToolArtifacts(bmadDir);
85
+
86
+ // Write task/tool files to workflows directory (same location as workflows)
87
+ await taskToolGen.writeDashArtifacts(workflowsDir, taskToolArtifacts);
88
+ const taskCount = taskToolCounts.tasks || 0;
89
+ const toolCount = taskToolCounts.tools || 0;
90
+
91
+ if (!options.silent) {
92
+ await prompts.log.success(
93
+ `${this.name} configured: ${addedCount} modes, ${workflowCount} workflows, ${taskCount} tasks, ${toolCount} tools → ${this.configFile}`,
94
+ );
80
95
  }
81
- console.log(chalk.dim(` - Configuration file: ${this.configFile}`));
82
- console.log(chalk.dim('\n Modes will be available when you open this project in KiloCode'));
83
96
 
84
97
  return {
85
98
  success: true,
86
99
  modes: addedCount,
87
- skipped: skippedCount,
100
+ workflows: workflowCount,
101
+ tasks: taskCount,
102
+ tools: toolCount,
88
103
  };
89
104
  }
90
105
 
91
106
  /**
92
- * Create a mode entry for an agent
107
+ * Create a mode object for an agent
108
+ * @param {Object} artifact - Agent artifact
109
+ * @param {string} projectDir - Project directory
110
+ * @returns {Object} Mode object for YAML serialization
93
111
  */
94
- async createModeEntry(artifact, projectDir) {
112
+ async createModeObject(artifact, projectDir) {
95
113
  // Extract metadata from launcher content
96
114
  const titleMatch = artifact.content.match(/title="([^"]+)"/);
97
115
  const title = titleMatch ? titleMatch[1] : this.formatTitle(artifact.name);
@@ -102,8 +120,8 @@ class KiloSetup extends BaseIdeSetup {
102
120
  const whenToUseMatch = artifact.content.match(/whenToUse="([^"]+)"/);
103
121
  const whenToUse = whenToUseMatch ? whenToUseMatch[1] : `Use for ${title} tasks`;
104
122
 
105
- // Get the activation header from central template
106
- const activationHeader = await this.getAgentCommandHeader();
123
+ // Get the activation header from central template (trim to avoid YAML formatting issues)
124
+ const activationHeader = (await this.getAgentCommandHeader()).trim();
107
125
 
108
126
  const roleDefinitionMatch = artifact.content.match(/roleDefinition="([^"]+)"/);
109
127
  const roleDefinition = roleDefinitionMatch
@@ -113,18 +131,15 @@ class KiloSetup extends BaseIdeSetup {
113
131
  // Get relative path
114
132
  const relativePath = path.relative(projectDir, artifact.sourcePath).replaceAll('\\', '/');
115
133
 
116
- // Build mode entry (KiloCode uses same schema as Roo)
117
- const slug = `bmad-${artifact.module}-${artifact.name}`;
118
- let modeEntry = ` - slug: ${slug}\n`;
119
- modeEntry += ` name: '${icon} ${title}'\n`;
120
- modeEntry += ` roleDefinition: ${roleDefinition}\n`;
121
- modeEntry += ` whenToUse: ${whenToUse}\n`;
122
- modeEntry += ` customInstructions: ${activationHeader} Read the full YAML from ${relativePath} start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode\n`;
123
- modeEntry += ` groups:\n`;
124
- modeEntry += ` - read\n`;
125
- modeEntry += ` - edit\n`;
126
-
127
- return modeEntry;
134
+ // Build mode object (KiloCode uses same schema as Roo)
135
+ return {
136
+ slug: `bmad-${artifact.module}-${artifact.name}`,
137
+ name: `${icon} ${title}`,
138
+ roleDefinition: roleDefinition,
139
+ whenToUse: whenToUse,
140
+ customInstructions: `${activationHeader} Read the full YAML from ${relativePath} start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode\n`,
141
+ groups: ['read', 'edit', 'browser', 'command', 'mcp'],
142
+ };
128
143
  }
129
144
 
130
145
  /**
@@ -137,38 +152,117 @@ class KiloSetup extends BaseIdeSetup {
137
152
  .join(' ');
138
153
  }
139
154
 
155
+ /**
156
+ * Clear old BMAD workflow files from workflows directory
157
+ * @param {string} workflowsDir - Workflows directory path
158
+ */
159
+ async clearBmadWorkflows(workflowsDir) {
160
+ const fs = require('fs-extra');
161
+ if (!(await fs.pathExists(workflowsDir))) return;
162
+
163
+ const entries = await fs.readdir(workflowsDir);
164
+ for (const entry of entries) {
165
+ if (entry.startsWith('bmad-') && entry.endsWith('.md')) {
166
+ await fs.remove(path.join(workflowsDir, entry));
167
+ }
168
+ }
169
+ }
170
+
140
171
  /**
141
172
  * Cleanup KiloCode configuration
142
173
  */
143
- async cleanup(projectDir) {
174
+ async cleanup(projectDir, options = {}) {
144
175
  const fs = require('fs-extra');
145
176
  const kiloModesPath = path.join(projectDir, this.configFile);
146
177
 
147
178
  if (await fs.pathExists(kiloModesPath)) {
148
179
  const content = await fs.readFile(kiloModesPath, 'utf8');
149
180
 
150
- // Remove BMAD modes only
151
- const lines = content.split('\n');
152
- const filteredLines = [];
153
- let skipMode = false;
154
- let removedCount = 0;
155
-
156
- for (const line of lines) {
157
- if (/^\s*- slug: bmad-/.test(line)) {
158
- skipMode = true;
159
- removedCount++;
160
- } else if (skipMode && /^\s*- slug: /.test(line)) {
161
- skipMode = false;
162
- }
181
+ try {
182
+ const config = yaml.parse(content) || {};
163
183
 
164
- if (!skipMode) {
165
- filteredLines.push(line);
184
+ if (Array.isArray(config.customModes)) {
185
+ const originalCount = config.customModes.length;
186
+ // Remove BMAD modes only (keep non-BMAD modes)
187
+ config.customModes = config.customModes.filter((mode) => !mode.slug || !mode.slug.startsWith('bmad-'));
188
+ const removedCount = originalCount - config.customModes.length;
189
+
190
+ if (removedCount > 0) {
191
+ await fs.writeFile(kiloModesPath, yaml.stringify(config, { lineWidth: 0 }));
192
+ if (!options.silent) await prompts.log.message(`Removed ${removedCount} BMAD modes from .kilocodemodes`);
193
+ }
166
194
  }
195
+ } catch {
196
+ // If parsing fails, leave file as-is
197
+ if (!options.silent) await prompts.log.warn('Warning: Could not parse .kilocodemodes for cleanup');
198
+ }
199
+ }
200
+
201
+ // Clean up workflow files
202
+ const workflowsDir = path.join(projectDir, '.kilocode', 'workflows');
203
+ await this.clearBmadWorkflows(workflowsDir);
204
+ }
205
+
206
+ /**
207
+ * Install a custom agent launcher for Kilo
208
+ * @param {string} projectDir - Project directory
209
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
210
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
211
+ * @param {Object} metadata - Agent metadata
212
+ * @returns {Object} Installation result
213
+ */
214
+ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
215
+ const kilocodemodesPath = path.join(projectDir, this.configFile);
216
+ let config = {};
217
+
218
+ // Read existing .kilocodemodes file
219
+ if (await this.pathExists(kilocodemodesPath)) {
220
+ const existingContent = await this.readFile(kilocodemodesPath);
221
+ try {
222
+ config = yaml.parse(existingContent) || {};
223
+ } catch {
224
+ config = {};
167
225
  }
226
+ }
227
+
228
+ // Ensure customModes array exists
229
+ if (!Array.isArray(config.customModes)) {
230
+ config.customModes = [];
231
+ }
232
+
233
+ // Create custom agent mode object
234
+ const slug = `bmad-custom-${agentName.toLowerCase()}`;
168
235
 
169
- await fs.writeFile(kiloModesPath, filteredLines.join('\n'));
170
- console.log(chalk.dim(`Removed ${removedCount} BMAD modes from .kilocodemodes`));
236
+ // Check if mode already exists
237
+ if (config.customModes.some((mode) => mode.slug === slug)) {
238
+ return {
239
+ ide: 'kilo',
240
+ path: this.configFile,
241
+ command: agentName,
242
+ type: 'custom-agent-launcher',
243
+ alreadyExists: true,
244
+ };
171
245
  }
246
+
247
+ // Add custom mode object
248
+ config.customModes.push({
249
+ slug: slug,
250
+ name: `BMAD Custom: ${agentName}`,
251
+ description: `Custom BMAD agent: ${agentName}\n\n**⚠️ IMPORTANT**: Run @${agentPath} first to load the complete agent!\n\nThis is a launcher for the custom BMAD agent "${agentName}". The agent will follow the persona and instructions from the main agent file.\n`,
252
+ prompt: `@${agentPath}\n`,
253
+ always: false,
254
+ permissions: 'all',
255
+ });
256
+
257
+ // Write .kilocodemodes file with proper YAML structure
258
+ await this.writeFile(kilocodemodesPath, yaml.stringify(config, { lineWidth: 0 }));
259
+
260
+ return {
261
+ ide: 'kilo',
262
+ path: this.configFile,
263
+ command: slug,
264
+ type: 'custom-agent-launcher',
265
+ };
172
266
  }
173
267
  }
174
268
 
@@ -1,16 +1,21 @@
1
1
  const fs = require('fs-extra');
2
2
  const path = require('node:path');
3
- const chalk = require('chalk');
3
+ const { BMAD_FOLDER_NAME } = require('./shared/path-utils');
4
+ const prompts = require('../../../lib/prompts');
4
5
 
5
6
  /**
6
7
  * IDE Manager - handles IDE-specific setup
7
8
  * Dynamically discovers and loads IDE handlers
9
+ *
10
+ * Loading strategy:
11
+ * 1. Custom installer files (codex.js, github-copilot.js, kilo.js, rovodev.js) - for platforms with unique installation logic
12
+ * 2. Config-driven handlers (from platform-codes.yaml) - for standard IDE installation patterns
8
13
  */
9
14
  class IdeManager {
10
15
  constructor() {
11
16
  this.handlers = new Map();
12
- this.loadHandlers();
13
- this.bmadFolderName = 'bmad'; // Default, can be overridden
17
+ this._initialized = false;
18
+ this.bmadFolderName = BMAD_FOLDER_NAME; // Default, can be overridden
14
19
  }
15
20
 
16
21
  /**
@@ -28,53 +33,81 @@ class IdeManager {
28
33
  }
29
34
 
30
35
  /**
31
- * Dynamically load all IDE handlers from directory
36
+ * Ensure handlers are loaded (lazy loading)
32
37
  */
33
- loadHandlers() {
34
- const ideDir = __dirname;
38
+ async ensureInitialized() {
39
+ if (!this._initialized) {
40
+ await this.loadHandlers();
41
+ this._initialized = true;
42
+ }
43
+ }
35
44
 
36
- try {
37
- // Get all JS files in the IDE directory
38
- const files = fs.readdirSync(ideDir).filter((file) => {
39
- // Skip base class, manager, utility files (starting with _), and helper modules
40
- return (
41
- file.endsWith('.js') &&
42
- !file.startsWith('_') &&
43
- file !== 'manager.js' &&
44
- file !== 'workflow-command-generator.js' &&
45
- file !== 'task-tool-command-generator.js'
46
- );
47
- });
45
+ /**
46
+ * Dynamically load all IDE handlers
47
+ * 1. Load custom installer files first (codex.js, github-copilot.js, kilo.js, rovodev.js)
48
+ * 2. Load config-driven handlers from platform-codes.yaml
49
+ */
50
+ async loadHandlers() {
51
+ // Load custom installer files
52
+ await this.loadCustomInstallerFiles();
48
53
 
49
- // Sort alphabetically for consistent ordering
50
- files.sort();
54
+ // Load config-driven handlers from platform-codes.yaml
55
+ await this.loadConfigDrivenHandlers();
56
+ }
51
57
 
52
- for (const file of files) {
53
- const moduleName = path.basename(file, '.js');
58
+ /**
59
+ * Load custom installer files (unique installation logic)
60
+ * These files have special installation patterns that don't fit the config-driven model
61
+ */
62
+ async loadCustomInstallerFiles() {
63
+ const ideDir = __dirname;
64
+ const customFiles = ['codex.js', 'github-copilot.js', 'kilo.js', 'rovodev.js'];
54
65
 
55
- try {
56
- const modulePath = path.join(ideDir, file);
57
- const HandlerModule = require(modulePath);
66
+ for (const file of customFiles) {
67
+ const filePath = path.join(ideDir, file);
68
+ if (!fs.existsSync(filePath)) continue;
58
69
 
59
- // Get the first exported class (handles various export styles)
60
- const HandlerClass = HandlerModule.default || HandlerModule[Object.keys(HandlerModule)[0]];
70
+ try {
71
+ const HandlerModule = require(filePath);
72
+ const HandlerClass = HandlerModule.default || Object.values(HandlerModule)[0];
61
73
 
62
- if (HandlerClass) {
63
- const instance = new HandlerClass();
64
- // Use the name property from the instance (set in constructor)
65
- // Only add if the instance has a valid name
66
- if (instance.name && typeof instance.name === 'string') {
67
- this.handlers.set(instance.name, instance);
68
- } else {
69
- console.log(chalk.yellow(` Warning: ${moduleName} handler missing valid 'name' property`));
74
+ if (HandlerClass) {
75
+ const instance = new HandlerClass();
76
+ if (instance.name && typeof instance.name === 'string') {
77
+ if (typeof instance.setBmadFolderName === 'function') {
78
+ instance.setBmadFolderName(this.bmadFolderName);
70
79
  }
80
+ this.handlers.set(instance.name, instance);
71
81
  }
72
- } catch (error) {
73
- console.log(chalk.yellow(` Warning: Could not load ${moduleName}: ${error.message}`));
74
82
  }
83
+ } catch (error) {
84
+ await prompts.log.warn(`Warning: Could not load ${file}: ${error.message}`);
75
85
  }
76
- } catch (error) {
77
- console.error(chalk.red('Failed to load IDE handlers:'), error.message);
86
+ }
87
+ }
88
+
89
+ /**
90
+ * Load config-driven handlers from platform-codes.yaml
91
+ * This creates ConfigDrivenIdeSetup instances for platforms with installer config
92
+ */
93
+ async loadConfigDrivenHandlers() {
94
+ const { loadPlatformCodes } = require('./platform-codes');
95
+ const platformConfig = await loadPlatformCodes();
96
+
97
+ const { ConfigDrivenIdeSetup } = require('./_config-driven');
98
+
99
+ for (const [platformCode, platformInfo] of Object.entries(platformConfig.platforms)) {
100
+ // Skip if already loaded by custom installer
101
+ if (this.handlers.has(platformCode)) continue;
102
+
103
+ // Skip if no installer config (platform may not need installation)
104
+ if (!platformInfo.installer) continue;
105
+
106
+ const handler = new ConfigDrivenIdeSetup(platformCode, platformInfo);
107
+ if (typeof handler.setBmadFolderName === 'function') {
108
+ handler.setBmadFolderName(this.bmadFolderName);
109
+ }
110
+ this.handlers.set(platformCode, handler);
78
111
  }
79
112
  }
80
113
 
@@ -138,30 +171,59 @@ class IdeManager {
138
171
  const handler = this.handlers.get(ideName.toLowerCase());
139
172
 
140
173
  if (!handler) {
141
- console.warn(chalk.yellow(`⚠️ IDE '${ideName}' is not yet supported`));
142
- console.log(chalk.dim('Supported IDEs:', [...this.handlers.keys()].join(', ')));
143
- return { success: false, reason: 'unsupported' };
174
+ await prompts.log.warn(`IDE '${ideName}' is not yet supported`);
175
+ await prompts.log.message(`Supported IDEs: ${[...this.handlers.keys()].join(', ')}`);
176
+ return { success: false, ide: ideName, error: 'unsupported IDE' };
144
177
  }
145
178
 
146
179
  try {
147
- await handler.setup(projectDir, bmadDir, options);
148
- return { success: true, ide: ideName };
180
+ const handlerResult = await handler.setup(projectDir, bmadDir, options);
181
+ // Build detail string from handler-returned data
182
+ let detail = '';
183
+ if (handlerResult && handlerResult.results) {
184
+ // Config-driven handlers return { success, results: { agents, workflows, tasks, tools } }
185
+ const r = handlerResult.results;
186
+ const parts = [];
187
+ if (r.agents > 0) parts.push(`${r.agents} agents`);
188
+ if (r.workflows > 0) parts.push(`${r.workflows} workflows`);
189
+ if (r.tasks > 0) parts.push(`${r.tasks} tasks`);
190
+ if (r.tools > 0) parts.push(`${r.tools} tools`);
191
+ detail = parts.join(', ');
192
+ } else if (handlerResult && handlerResult.counts) {
193
+ // Codex handler returns { success, counts: { agents, workflows, tasks }, written }
194
+ const c = handlerResult.counts;
195
+ const parts = [];
196
+ if (c.agents > 0) parts.push(`${c.agents} agents`);
197
+ if (c.workflows > 0) parts.push(`${c.workflows} workflows`);
198
+ if (c.tasks > 0) parts.push(`${c.tasks} tasks`);
199
+ detail = parts.join(', ');
200
+ } else if (handlerResult && handlerResult.modes !== undefined) {
201
+ // Kilo handler returns { success, modes, workflows, tasks, tools }
202
+ const parts = [];
203
+ if (handlerResult.modes > 0) parts.push(`${handlerResult.modes} modes`);
204
+ if (handlerResult.workflows > 0) parts.push(`${handlerResult.workflows} workflows`);
205
+ if (handlerResult.tasks > 0) parts.push(`${handlerResult.tasks} tasks`);
206
+ if (handlerResult.tools > 0) parts.push(`${handlerResult.tools} tools`);
207
+ detail = parts.join(', ');
208
+ }
209
+ return { success: true, ide: ideName, detail, handlerResult };
149
210
  } catch (error) {
150
- console.error(chalk.red(`Failed to setup ${ideName}:`), error.message);
151
- return { success: false, error: error.message };
211
+ await prompts.log.error(`Failed to setup ${ideName}: ${error.message}`);
212
+ return { success: false, ide: ideName, error: error.message };
152
213
  }
153
214
  }
154
215
 
155
216
  /**
156
217
  * Cleanup IDE configurations
157
218
  * @param {string} projectDir - Project directory
219
+ * @param {Object} [options] - Cleanup options passed through to handlers
158
220
  */
159
- async cleanup(projectDir) {
221
+ async cleanup(projectDir, options = {}) {
160
222
  const results = [];
161
223
 
162
224
  for (const [name, handler] of this.handlers) {
163
225
  try {
164
- await handler.cleanup(projectDir);
226
+ await handler.cleanup(projectDir, options);
165
227
  results.push({ ide: name, success: true });
166
228
  } catch (error) {
167
229
  results.push({ ide: name, success: false, error: error.message });
@@ -171,6 +233,40 @@ class IdeManager {
171
233
  return results;
172
234
  }
173
235
 
236
+ /**
237
+ * Cleanup only the IDEs in the provided list
238
+ * Falls back to cleanup() (all handlers) if ideList is empty or undefined
239
+ * @param {string} projectDir - Project directory
240
+ * @param {Array<string>} ideList - List of IDE names to clean up
241
+ * @param {Object} [options] - Cleanup options passed through to handlers
242
+ * @returns {Array} Results array
243
+ */
244
+ async cleanupByList(projectDir, ideList, options = {}) {
245
+ if (!ideList || ideList.length === 0) {
246
+ return this.cleanup(projectDir, options);
247
+ }
248
+
249
+ await this.ensureInitialized();
250
+ const results = [];
251
+
252
+ // Build lowercase lookup for case-insensitive matching
253
+ const lowercaseHandlers = new Map([...this.handlers.entries()].map(([k, v]) => [k.toLowerCase(), v]));
254
+
255
+ for (const ideName of ideList) {
256
+ const handler = lowercaseHandlers.get(ideName.toLowerCase());
257
+ if (!handler) continue;
258
+
259
+ try {
260
+ await handler.cleanup(projectDir, options);
261
+ results.push({ ide: ideName, success: true });
262
+ } catch (error) {
263
+ results.push({ ide: ideName, success: false, error: error.message });
264
+ }
265
+ }
266
+
267
+ return results;
268
+ }
269
+
174
270
  /**
175
271
  * Get list of supported IDEs
176
272
  * @returns {Array} List of supported IDE names
@@ -204,6 +300,41 @@ class IdeManager {
204
300
 
205
301
  return detected;
206
302
  }
303
+
304
+ /**
305
+ * Install custom agent launchers for specified IDEs
306
+ * @param {Array} ides - List of IDE names to install for
307
+ * @param {string} projectDir - Project directory
308
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
309
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
310
+ * @param {Object} metadata - Agent metadata
311
+ * @returns {Object} Results for each IDE
312
+ */
313
+ async installCustomAgentLaunchers(ides, projectDir, agentName, agentPath, metadata) {
314
+ const results = {};
315
+
316
+ for (const ideName of ides) {
317
+ const handler = this.handlers.get(ideName.toLowerCase());
318
+
319
+ if (!handler) {
320
+ await prompts.log.warn(`IDE '${ideName}' is not yet supported for custom agent installation`);
321
+ continue;
322
+ }
323
+
324
+ try {
325
+ if (typeof handler.installCustomAgentLauncher === 'function') {
326
+ const result = await handler.installCustomAgentLauncher(projectDir, agentName, agentPath, metadata);
327
+ if (result) {
328
+ results[ideName] = result;
329
+ }
330
+ }
331
+ } catch (error) {
332
+ await prompts.log.warn(`Failed to install ${ideName} launcher: ${error.message}`);
333
+ }
334
+ }
335
+
336
+ return results;
337
+ }
207
338
  }
208
339
 
209
340
  module.exports = { IdeManager };