bmad-method 5.1.2 → 6.0.0-alpha.0

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 (579) hide show
  1. package/.github/FUNDING.yaml +2 -2
  2. package/.github/ISSUE_TEMPLATE/config.yaml +1 -0
  3. package/.github/ISSUE_TEMPLATE/idea_submission.md +109 -0
  4. package/.github/workflows/discord.yaml +1 -10
  5. package/.github/workflows/format-check.yaml +3 -2
  6. package/.github/workflows/manual-release.yaml +2 -2
  7. package/.nvmrc +1 -0
  8. package/.vscode/settings.json +34 -9
  9. package/CHANGELOG.md +211 -577
  10. package/CONTRIBUTING.md +130 -60
  11. package/LICENSE +6 -1
  12. package/docs/codebase-flattener.md +19 -0
  13. package/docs/ide-info/auggie.md +31 -0
  14. package/docs/ide-info/claude-code.md +25 -0
  15. package/docs/ide-info/cline.md +31 -0
  16. package/docs/ide-info/codex.md +32 -0
  17. package/docs/ide-info/crush.md +30 -0
  18. package/docs/ide-info/cursor.md +25 -0
  19. package/docs/ide-info/gemini.md +25 -0
  20. package/docs/ide-info/github-copilot.md +26 -0
  21. package/docs/ide-info/iflow.md +33 -0
  22. package/docs/ide-info/kilo.md +24 -0
  23. package/docs/ide-info/qwen.md +25 -0
  24. package/docs/ide-info/roo.md +27 -0
  25. package/docs/ide-info/trae.md +25 -0
  26. package/docs/ide-info/windsurf.md +22 -0
  27. package/docs/installers-bundlers/ide-injections.md +196 -0
  28. package/docs/installers-bundlers/installers-modules-platforms-reference.md +355 -0
  29. package/docs/installers-bundlers/web-bundler-usage.md +54 -0
  30. package/eslint.config.mjs +17 -7
  31. package/package.json +26 -35
  32. package/prettier.config.mjs +1 -1
  33. package/readme.md +216 -0
  34. package/src/core/_module-installer/install-menu-config.yaml +24 -0
  35. package/src/core/_module-installer/installer.js +68 -0
  36. package/src/core/agents/bmad-master.md +27 -0
  37. package/src/core/agents/bmad-web-orchestrator.md +71 -0
  38. package/src/core/tasks/adv-elicit-methods.csv +39 -0
  39. package/src/core/tasks/adv-elicit.md +109 -0
  40. package/src/core/tasks/index-docs.md +69 -0
  41. package/src/core/tasks/shard-doc.md +57 -0
  42. package/src/core/tasks/validate-workflow.md +92 -0
  43. package/src/core/tasks/workflow.md +141 -0
  44. package/src/core/workflows/bmad-init/instructions.md +79 -0
  45. package/src/core/workflows/bmad-init/workflow.yaml +24 -0
  46. package/src/core/workflows/party-mode/instructions.md +181 -0
  47. package/src/core/workflows/party-mode/workflow.yaml +24 -0
  48. package/src/modules/bmb/_module-installer/install-menu-config.yaml +16 -0
  49. package/src/modules/bmb/agents/bmad-builder.md +30 -0
  50. package/src/modules/bmb/workflows/convert-legacy/README.md +262 -0
  51. package/src/modules/bmb/workflows/convert-legacy/checklist.md +204 -0
  52. package/src/modules/bmb/workflows/convert-legacy/instructions.md +328 -0
  53. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +35 -0
  54. package/src/modules/bmb/workflows/create-agent/README.md +268 -0
  55. package/src/modules/bmb/workflows/create-agent/agent-architecture.md +412 -0
  56. package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +757 -0
  57. package/src/modules/bmb/workflows/create-agent/agent-types.md +177 -0
  58. package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +174 -0
  59. package/src/modules/bmb/workflows/create-agent/checklist.md +134 -0
  60. package/src/modules/bmb/workflows/create-agent/communication-styles.md +240 -0
  61. package/src/modules/bmb/workflows/create-agent/instructions.md +340 -0
  62. package/src/modules/bmb/workflows/create-agent/workflow.yaml +39 -0
  63. package/src/modules/bmb/workflows/create-module/README.md +218 -0
  64. package/src/modules/bmb/workflows/create-module/brainstorm-context.md +137 -0
  65. package/src/modules/bmb/workflows/create-module/checklist.md +245 -0
  66. package/src/modules/bmb/workflows/create-module/installer-templates/install-module-config.yaml +132 -0
  67. package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +231 -0
  68. package/src/modules/bmb/workflows/create-module/instructions.md +509 -0
  69. package/src/modules/bmb/workflows/create-module/module-structure.md +310 -0
  70. package/src/modules/bmb/workflows/create-module/workflow.yaml +47 -0
  71. package/src/modules/bmb/workflows/create-workflow/README.md +216 -0
  72. package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +197 -0
  73. package/src/modules/bmb/workflows/create-workflow/checklist.md +72 -0
  74. package/src/modules/bmb/workflows/create-workflow/instructions.md +267 -0
  75. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +456 -0
  76. package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +24 -0
  77. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +12 -0
  78. package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +9 -0
  79. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +35 -0
  80. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +42 -0
  81. package/src/modules/bmb/workflows/edit-workflow/README.md +63 -0
  82. package/src/modules/bmb/workflows/edit-workflow/checklist.md +70 -0
  83. package/src/modules/bmb/workflows/edit-workflow/instructions.md +170 -0
  84. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +34 -0
  85. package/src/modules/bmb/workflows/module-brief/README.md +264 -0
  86. package/src/modules/bmb/workflows/module-brief/checklist.md +116 -0
  87. package/src/modules/bmb/workflows/module-brief/instructions.md +265 -0
  88. package/src/modules/bmb/workflows/module-brief/template.md +275 -0
  89. package/src/modules/bmb/workflows/module-brief/workflow.yaml +30 -0
  90. package/src/modules/bmb/workflows/redoc/README.md +87 -0
  91. package/src/modules/bmb/workflows/redoc/checklist.md +99 -0
  92. package/src/modules/bmb/workflows/redoc/instructions.md +255 -0
  93. package/src/modules/bmb/workflows/redoc/workflow.yaml +33 -0
  94. package/src/modules/bmm/_module-installer/assets/bmm-kb.md +1 -0
  95. package/src/modules/bmm/_module-installer/assets/technical-decisions-template.md +30 -0
  96. package/src/modules/bmm/_module-installer/install-menu-config.yaml +49 -0
  97. package/src/modules/bmm/_module-installer/installer.js +131 -0
  98. package/src/modules/bmm/_module-installer/platform-specifics/claude-code.js +35 -0
  99. package/src/modules/bmm/_module-installer/platform-specifics/windsurf.js +32 -0
  100. package/src/modules/bmm/agents/analyst.md +26 -0
  101. package/src/modules/bmm/agents/architect.md +29 -0
  102. package/src/modules/bmm/agents/dev.md +61 -0
  103. package/src/modules/bmm/agents/game-architect.md +26 -0
  104. package/src/modules/bmm/agents/game-designer.md +27 -0
  105. package/src/modules/bmm/agents/game-dev.md +28 -0
  106. package/src/modules/bmm/agents/pm.md +26 -0
  107. package/src/modules/bmm/agents/po.md +25 -0
  108. package/src/modules/bmm/agents/sm.md +29 -0
  109. package/src/modules/bmm/agents/tea.md +32 -0
  110. package/src/modules/bmm/agents/ux-expert.md +24 -0
  111. package/src/modules/bmm/sub-modules/claude-code/config.yaml +5 -0
  112. package/src/modules/bmm/sub-modules/claude-code/injections.yaml +242 -0
  113. package/src/modules/bmm/sub-modules/claude-code/readme.md +87 -0
  114. package/src/modules/bmm/sub-modules/claude-code/sub-agents/api-documenter.md +85 -0
  115. package/src/modules/bmm/sub-modules/claude-code/sub-agents/codebase-analyzer.md +64 -0
  116. package/src/modules/bmm/sub-modules/claude-code/sub-agents/data-analyst.md +84 -0
  117. package/src/modules/bmm/sub-modules/claude-code/sub-agents/dependency-mapper.md +67 -0
  118. package/src/modules/bmm/sub-modules/claude-code/sub-agents/document-reviewer.md +85 -0
  119. package/src/modules/bmm/sub-modules/claude-code/sub-agents/epic-optimizer.md +66 -0
  120. package/src/modules/bmm/sub-modules/claude-code/sub-agents/market-researcher.md +34 -0
  121. package/src/modules/bmm/sub-modules/claude-code/sub-agents/pattern-detector.md +67 -0
  122. package/src/modules/bmm/sub-modules/claude-code/sub-agents/requirements-analyst.md +61 -0
  123. package/src/modules/bmm/sub-modules/claude-code/sub-agents/tech-debt-auditor.md +89 -0
  124. package/src/modules/bmm/sub-modules/claude-code/sub-agents/technical-decisions-curator.md +146 -0
  125. package/src/modules/bmm/sub-modules/claude-code/sub-agents/technical-evaluator.md +51 -0
  126. package/src/modules/bmm/sub-modules/claude-code/sub-agents/test-coverage-analyzer.md +91 -0
  127. package/src/modules/bmm/sub-modules/claude-code/sub-agents/trend-spotter.md +99 -0
  128. package/src/modules/bmm/sub-modules/claude-code/sub-agents/user-journey-mapper.md +101 -0
  129. package/src/modules/bmm/sub-modules/claude-code/sub-agents/user-researcher.md +56 -0
  130. package/src/modules/bmm/tasks/daily-standup.md +91 -0
  131. package/src/modules/bmm/tasks/retrospective.md +110 -0
  132. package/src/modules/bmm/teams/team-all.yaml +7 -0
  133. package/src/modules/bmm/teams/team-dev.yaml +14 -0
  134. package/src/modules/bmm/teams/team-gamedev.yaml +9 -0
  135. package/src/modules/bmm/testarch/atdd.md +40 -0
  136. package/src/modules/bmm/testarch/automate.md +38 -0
  137. package/src/modules/bmm/testarch/ci.md +39 -0
  138. package/src/modules/bmm/testarch/framework.md +41 -0
  139. package/src/modules/bmm/testarch/nfr-assess.md +38 -0
  140. package/src/modules/bmm/testarch/risk-profile.md +38 -0
  141. package/src/modules/bmm/testarch/tea-commands.csv +11 -0
  142. package/src/modules/bmm/testarch/tea-gate.md +38 -0
  143. package/src/modules/bmm/testarch/tea-knowledge.md +275 -0
  144. package/src/modules/bmm/testarch/test-design.md +39 -0
  145. package/{bmad-core/data → src/modules/bmm/testarch}/test-levels-framework.md +2 -0
  146. package/{bmad-core/data → src/modules/bmm/testarch}/test-priorities-matrix.md +2 -0
  147. package/src/modules/bmm/testarch/trace-requirements.md +38 -0
  148. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/game-brain-methods.csv +26 -0
  149. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/game-context.md +115 -0
  150. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +47 -0
  151. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/workflow.yaml +22 -0
  152. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +38 -0
  153. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +25 -0
  154. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +21 -0
  155. package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +221 -0
  156. package/src/modules/bmm/workflows/1-analysis/game-brief/checklist.md +128 -0
  157. package/src/modules/bmm/workflows/1-analysis/game-brief/instructions.md +517 -0
  158. package/src/modules/bmm/workflows/1-analysis/game-brief/template.md +205 -0
  159. package/src/modules/bmm/workflows/1-analysis/game-brief/workflow.yaml +34 -0
  160. package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +180 -0
  161. package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +115 -0
  162. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +353 -0
  163. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +165 -0
  164. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +33 -0
  165. package/src/modules/bmm/workflows/1-analysis/research/README.md +454 -0
  166. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +202 -0
  167. package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +114 -0
  168. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +259 -0
  169. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +190 -0
  170. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +337 -0
  171. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +107 -0
  172. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +329 -0
  173. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +370 -0
  174. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +553 -0
  175. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +91 -0
  176. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +442 -0
  177. package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +94 -0
  178. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +311 -0
  179. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +210 -0
  180. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +149 -0
  181. package/src/modules/bmm/workflows/2-plan/README.md +203 -0
  182. package/src/modules/bmm/workflows/2-plan/checklist.md +369 -0
  183. package/src/modules/bmm/workflows/2-plan/gdd/README.md +222 -0
  184. package/src/modules/bmm/workflows/2-plan/gdd/game-types/action-platformer.md +45 -0
  185. package/src/modules/bmm/workflows/2-plan/gdd/game-types/adventure.md +84 -0
  186. package/src/modules/bmm/workflows/2-plan/gdd/game-types/card-game.md +76 -0
  187. package/src/modules/bmm/workflows/2-plan/gdd/game-types/fighting.md +89 -0
  188. package/src/modules/bmm/workflows/2-plan/gdd/game-types/horror.md +86 -0
  189. package/src/modules/bmm/workflows/2-plan/gdd/game-types/idle-incremental.md +78 -0
  190. package/src/modules/bmm/workflows/2-plan/gdd/game-types/metroidvania.md +87 -0
  191. package/src/modules/bmm/workflows/2-plan/gdd/game-types/moba.md +74 -0
  192. package/src/modules/bmm/workflows/2-plan/gdd/game-types/party-game.md +79 -0
  193. package/src/modules/bmm/workflows/2-plan/gdd/game-types/puzzle.md +58 -0
  194. package/src/modules/bmm/workflows/2-plan/gdd/game-types/racing.md +88 -0
  195. package/src/modules/bmm/workflows/2-plan/gdd/game-types/rhythm.md +79 -0
  196. package/src/modules/bmm/workflows/2-plan/gdd/game-types/roguelike.md +69 -0
  197. package/src/modules/bmm/workflows/2-plan/gdd/game-types/rpg.md +70 -0
  198. package/src/modules/bmm/workflows/2-plan/gdd/game-types/sandbox.md +79 -0
  199. package/src/modules/bmm/workflows/2-plan/gdd/game-types/shooter.md +62 -0
  200. package/src/modules/bmm/workflows/2-plan/gdd/game-types/simulation.md +73 -0
  201. package/src/modules/bmm/workflows/2-plan/gdd/game-types/sports.md +75 -0
  202. package/src/modules/bmm/workflows/2-plan/gdd/game-types/strategy.md +71 -0
  203. package/src/modules/bmm/workflows/2-plan/gdd/game-types/survival.md +79 -0
  204. package/src/modules/bmm/workflows/2-plan/gdd/game-types/text-based.md +91 -0
  205. package/src/modules/bmm/workflows/2-plan/gdd/game-types/tower-defense.md +79 -0
  206. package/src/modules/bmm/workflows/2-plan/gdd/game-types/turn-based-tactics.md +88 -0
  207. package/src/modules/bmm/workflows/2-plan/gdd/game-types/visual-novel.md +89 -0
  208. package/src/modules/bmm/workflows/2-plan/gdd/game-types.csv +25 -0
  209. package/src/modules/bmm/workflows/2-plan/gdd/gdd-template.md +159 -0
  210. package/src/modules/bmm/workflows/2-plan/gdd/instructions-gdd.md +480 -0
  211. package/src/modules/bmm/workflows/2-plan/instructions-router.md +222 -0
  212. package/src/modules/bmm/workflows/2-plan/narrative/instructions-narrative.md +517 -0
  213. package/src/modules/bmm/workflows/2-plan/narrative/narrative-template.md +195 -0
  214. package/src/modules/bmm/workflows/2-plan/prd/analysis-template.md +53 -0
  215. package/src/modules/bmm/workflows/2-plan/prd/epics-template.md +18 -0
  216. package/src/modules/bmm/workflows/2-plan/prd/instructions-lg.md +267 -0
  217. package/src/modules/bmm/workflows/2-plan/prd/instructions-med.md +251 -0
  218. package/src/modules/bmm/workflows/2-plan/prd/prd-template.md +73 -0
  219. package/src/modules/bmm/workflows/2-plan/tech-spec/instructions-sm.md +137 -0
  220. package/src/modules/bmm/workflows/2-plan/tech-spec/tech-spec-template.md +59 -0
  221. package/src/modules/bmm/workflows/2-plan/ux/instructions-ux.md +360 -0
  222. package/src/modules/bmm/workflows/2-plan/ux/ux-spec-template.md +162 -0
  223. package/src/modules/bmm/workflows/2-plan/workflow.yaml +60 -0
  224. package/src/modules/bmm/workflows/3-solutioning/ADR-template.md +74 -0
  225. package/src/modules/bmm/workflows/3-solutioning/README.md +565 -0
  226. package/src/modules/bmm/workflows/3-solutioning/checklist.md +170 -0
  227. package/src/modules/bmm/workflows/3-solutioning/instructions.md +661 -0
  228. package/src/modules/bmm/workflows/3-solutioning/project-types/backend-questions.md +490 -0
  229. package/src/modules/bmm/workflows/3-solutioning/project-types/cli-questions.md +337 -0
  230. package/src/modules/bmm/workflows/3-solutioning/project-types/data-questions.md +472 -0
  231. package/src/modules/bmm/workflows/3-solutioning/project-types/desktop-questions.md +299 -0
  232. package/src/modules/bmm/workflows/3-solutioning/project-types/embedded-questions.md +118 -0
  233. package/src/modules/bmm/workflows/3-solutioning/project-types/extension-questions.md +374 -0
  234. package/src/modules/bmm/workflows/3-solutioning/project-types/game-questions.md +133 -0
  235. package/src/modules/bmm/workflows/3-solutioning/project-types/infra-questions.md +484 -0
  236. package/src/modules/bmm/workflows/3-solutioning/project-types/library-questions.md +146 -0
  237. package/src/modules/bmm/workflows/3-solutioning/project-types/mobile-questions.md +110 -0
  238. package/src/modules/bmm/workflows/3-solutioning/project-types/project-types.csv +12 -0
  239. package/src/modules/bmm/workflows/3-solutioning/project-types/web-questions.md +136 -0
  240. package/src/modules/bmm/workflows/3-solutioning/tech-spec/README.md +195 -0
  241. package/src/modules/bmm/workflows/3-solutioning/tech-spec/checklist.md +17 -0
  242. package/src/modules/bmm/workflows/3-solutioning/tech-spec/instructions.md +73 -0
  243. package/src/modules/bmm/workflows/3-solutioning/tech-spec/template.md +76 -0
  244. package/src/modules/bmm/workflows/3-solutioning/tech-spec/workflow.yaml +51 -0
  245. package/src/modules/bmm/workflows/3-solutioning/templates/backend-service-architecture.md +66 -0
  246. package/src/modules/bmm/workflows/3-solutioning/templates/cli-tool-architecture.md +66 -0
  247. package/src/modules/bmm/workflows/3-solutioning/templates/data-pipeline-architecture.md +66 -0
  248. package/src/modules/bmm/workflows/3-solutioning/templates/desktop-app-architecture.md +66 -0
  249. package/src/modules/bmm/workflows/3-solutioning/templates/embedded-firmware-architecture.md +66 -0
  250. package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-architecture.md +244 -0
  251. package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-godot-guide.md +428 -0
  252. package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-unity-guide.md +333 -0
  253. package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-web-guide.md +528 -0
  254. package/src/modules/bmm/workflows/3-solutioning/templates/infrastructure-architecture.md +66 -0
  255. package/src/modules/bmm/workflows/3-solutioning/templates/library-package-architecture.md +66 -0
  256. package/src/modules/bmm/workflows/3-solutioning/templates/mobile-app-architecture.md +66 -0
  257. package/src/modules/bmm/workflows/3-solutioning/templates/registry.csv +172 -0
  258. package/src/modules/bmm/workflows/3-solutioning/templates/web-api-architecture.md +66 -0
  259. package/src/modules/bmm/workflows/3-solutioning/templates/web-fullstack-architecture.md +277 -0
  260. package/src/modules/bmm/workflows/3-solutioning/workflow.yaml +65 -0
  261. package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  262. package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +190 -0
  263. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +35 -0
  264. package/src/modules/bmm/workflows/4-implementation/create-story/README.md +42 -0
  265. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +39 -0
  266. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +81 -0
  267. package/src/modules/bmm/workflows/4-implementation/create-story/template.md +57 -0
  268. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +72 -0
  269. package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +84 -0
  270. package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +38 -0
  271. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +87 -0
  272. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +53 -0
  273. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +391 -0
  274. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +41 -0
  275. package/src/modules/bmm/workflows/4-implementation/review-story/README.md +72 -0
  276. package/src/modules/bmm/workflows/4-implementation/review-story/backlog_template.md +12 -0
  277. package/src/modules/bmm/workflows/4-implementation/review-story/checklist.md +22 -0
  278. package/src/modules/bmm/workflows/4-implementation/review-story/instructions.md +176 -0
  279. package/src/modules/bmm/workflows/4-implementation/review-story/workflow.yaml +99 -0
  280. package/src/modules/bmm/workflows/4-implementation/story-context/README.md +234 -0
  281. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +16 -0
  282. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +34 -0
  283. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +76 -0
  284. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +56 -0
  285. package/src/modules/cis/_module-installer/install-menu-config.yaml +14 -0
  286. package/src/modules/cis/_module-installer/installer.js +92 -0
  287. package/src/modules/cis/agents/README.md +104 -0
  288. package/src/modules/cis/agents/brainstorming-coach.md +24 -0
  289. package/src/modules/cis/agents/creative-problem-solver.md +24 -0
  290. package/src/modules/cis/agents/design-thinking-coach.md +24 -0
  291. package/src/modules/cis/agents/innovation-strategist.md +24 -0
  292. package/src/modules/cis/agents/storyteller.md +24 -0
  293. package/src/modules/cis/readme.md +86 -0
  294. package/src/modules/cis/teams/creative-squad.yaml +6 -0
  295. package/src/modules/cis/workflows/README.md +67 -0
  296. package/src/modules/cis/workflows/brainstorming/README.md +271 -0
  297. package/src/modules/cis/workflows/brainstorming/brain-methods.csv +36 -0
  298. package/src/modules/cis/workflows/brainstorming/instructions.md +310 -0
  299. package/src/modules/cis/workflows/brainstorming/template.md +102 -0
  300. package/src/modules/cis/workflows/brainstorming/workflow.yaml +30 -0
  301. package/src/modules/cis/workflows/design-thinking/README.md +56 -0
  302. package/src/modules/cis/workflows/design-thinking/design-methods.csv +31 -0
  303. package/src/modules/cis/workflows/design-thinking/instructions.md +200 -0
  304. package/src/modules/cis/workflows/design-thinking/template.md +111 -0
  305. package/src/modules/cis/workflows/design-thinking/workflow.yaml +29 -0
  306. package/src/modules/cis/workflows/innovation-strategy/README.md +56 -0
  307. package/src/modules/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
  308. package/src/modules/cis/workflows/innovation-strategy/instructions.md +274 -0
  309. package/src/modules/cis/workflows/innovation-strategy/template.md +189 -0
  310. package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +29 -0
  311. package/src/modules/cis/workflows/problem-solving/README.md +56 -0
  312. package/src/modules/cis/workflows/problem-solving/instructions.md +250 -0
  313. package/src/modules/cis/workflows/problem-solving/solving-methods.csv +31 -0
  314. package/src/modules/cis/workflows/problem-solving/template.md +165 -0
  315. package/src/modules/cis/workflows/problem-solving/workflow.yaml +29 -0
  316. package/src/modules/cis/workflows/storytelling/README.md +58 -0
  317. package/src/modules/cis/workflows/storytelling/instructions.md +275 -0
  318. package/src/modules/cis/workflows/storytelling/story-types.csv +26 -0
  319. package/src/modules/cis/workflows/storytelling/template.md +113 -0
  320. package/src/modules/cis/workflows/storytelling/workflow.yaml +29 -0
  321. package/src/utility/models/agent-activation-ide.xml +51 -0
  322. package/src/utility/models/agent-config-template.md +23 -0
  323. package/tools/cli/bmad-cli.js +42 -0
  324. package/tools/cli/bundlers/bundle-web.js +157 -0
  325. package/tools/cli/bundlers/test-analyst.js +28 -0
  326. package/tools/cli/bundlers/test-bundler.js +118 -0
  327. package/tools/cli/bundlers/web-bundler.js +880 -0
  328. package/tools/cli/commands/install.js +41 -0
  329. package/tools/cli/commands/list.js +28 -0
  330. package/tools/cli/commands/status.js +47 -0
  331. package/tools/cli/commands/uninstall.js +44 -0
  332. package/tools/cli/commands/update.js +28 -0
  333. package/tools/cli/installers/lib/core/config-collector.js +383 -0
  334. package/tools/cli/installers/lib/core/dependency-resolver.js +721 -0
  335. package/tools/cli/installers/lib/core/detector.js +208 -0
  336. package/tools/cli/installers/lib/core/installer.js +1070 -0
  337. package/tools/cli/installers/lib/core/manifest-generator.js +385 -0
  338. package/tools/cli/installers/lib/core/manifest.js +484 -0
  339. package/tools/cli/installers/lib/ide/_base-ide.js +281 -0
  340. package/tools/cli/installers/lib/ide/auggie.js +271 -0
  341. package/tools/cli/installers/lib/ide/claude-code.js +625 -0
  342. package/tools/cli/installers/lib/ide/cline.js +301 -0
  343. package/tools/cli/installers/lib/ide/codex.js +267 -0
  344. package/tools/cli/installers/lib/ide/crush.js +204 -0
  345. package/tools/cli/installers/lib/ide/cursor.js +224 -0
  346. package/tools/cli/installers/lib/ide/gemini.js +160 -0
  347. package/tools/cli/installers/lib/ide/github-copilot.js +289 -0
  348. package/tools/cli/installers/lib/ide/iflow.js +142 -0
  349. package/tools/cli/installers/lib/ide/kilo.js +171 -0
  350. package/tools/cli/installers/lib/ide/manager.js +203 -0
  351. package/tools/cli/installers/lib/ide/qwen.js +188 -0
  352. package/tools/cli/installers/lib/ide/roo.js +288 -0
  353. package/tools/cli/installers/lib/ide/trae.js +182 -0
  354. package/tools/cli/installers/lib/ide/windsurf.js +149 -0
  355. package/tools/cli/installers/lib/ide/workflow-command-generator.js +162 -0
  356. package/tools/cli/installers/lib/ide/workflow-command-template.md +11 -0
  357. package/tools/cli/installers/lib/modules/manager.js +452 -0
  358. package/tools/cli/lib/agent-party-generator.js +206 -0
  359. package/tools/cli/lib/cli-utils.js +208 -0
  360. package/tools/cli/lib/config.js +210 -0
  361. package/tools/cli/lib/file-ops.js +204 -0
  362. package/tools/cli/lib/platform-codes.js +116 -0
  363. package/tools/cli/lib/project-root.js +71 -0
  364. package/tools/cli/lib/replace-project-root.js +239 -0
  365. package/tools/cli/lib/ui.js +516 -0
  366. package/tools/cli/lib/xml-handler.js +183 -0
  367. package/tools/cli/lib/xml-to-markdown.js +82 -0
  368. package/tools/{yaml-format.js → cli/lib/yaml-format.js} +3 -10
  369. package/tools/cli/regenerate-manifests.js +28 -0
  370. package/tools/flattener/ignoreRules.js +2 -6
  371. package/tools/flattener/main.js +31 -121
  372. package/tools/flattener/projectRoot.js +3 -8
  373. package/tools/flattener/stats.helpers.js +8 -35
  374. package/tools/flattener/stats.js +1 -6
  375. package/tools/flattener/test-matrix.js +1 -5
  376. package/tools/platform-codes.yaml +127 -0
  377. package/tools/test-agents/captain-kirk-commander.md +110 -0
  378. package/tools/test-agents/data-operations-android.md +123 -0
  379. package/tools/test-agents/geordi-chief-engineer.md +135 -0
  380. package/tools/test-agents/isabella-martinez-ethicist.md +109 -0
  381. package/tools/test-agents/marcus-thompson-security.md +109 -0
  382. package/tools/test-agents/maya-patel-pragmatist.md +82 -0
  383. package/tools/test-agents/picard-diplomat-captain.md +134 -0
  384. package/tools/test-agents/spock-science-officer.md +124 -0
  385. package/tools/test-agents/william-smithers-technocrat.md +71 -0
  386. package/tools/test-agents/zara-chen-designer.md +94 -0
  387. package/tools/validate-bundles.js +87 -0
  388. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
  389. package/README.md +0 -221
  390. package/bmad-core/agent-teams/team-all.yaml +0 -14
  391. package/bmad-core/agent-teams/team-fullstack.yaml +0 -18
  392. package/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
  393. package/bmad-core/agent-teams/team-no-ui.yaml +0 -13
  394. package/bmad-core/agents/analyst.md +0 -81
  395. package/bmad-core/agents/architect.md +0 -83
  396. package/bmad-core/agents/bmad-master.md +0 -107
  397. package/bmad-core/agents/bmad-orchestrator.md +0 -149
  398. package/bmad-core/agents/dev.md +0 -75
  399. package/bmad-core/agents/pm.md +0 -81
  400. package/bmad-core/agents/po.md +0 -76
  401. package/bmad-core/agents/qa.md +0 -88
  402. package/bmad-core/agents/sm.md +0 -62
  403. package/bmad-core/agents/ux-expert.md +0 -66
  404. package/bmad-core/checklists/architect-checklist.md +0 -438
  405. package/bmad-core/checklists/change-checklist.md +0 -182
  406. package/bmad-core/checklists/pm-checklist.md +0 -370
  407. package/bmad-core/checklists/po-master-checklist.md +0 -432
  408. package/bmad-core/checklists/story-dod-checklist.md +0 -94
  409. package/bmad-core/checklists/story-draft-checklist.md +0 -153
  410. package/bmad-core/core-config.yaml +0 -20
  411. package/bmad-core/data/bmad-kb.md +0 -806
  412. package/bmad-core/data/brainstorming-techniques.md +0 -36
  413. package/bmad-core/data/elicitation-methods.md +0 -154
  414. package/bmad-core/data/technical-preferences.md +0 -3
  415. package/bmad-core/tasks/advanced-elicitation.md +0 -117
  416. package/bmad-core/tasks/brownfield-create-epic.md +0 -160
  417. package/bmad-core/tasks/brownfield-create-story.md +0 -147
  418. package/bmad-core/tasks/correct-course.md +0 -70
  419. package/bmad-core/tasks/create-brownfield-story.md +0 -312
  420. package/bmad-core/tasks/create-deep-research-prompt.md +0 -278
  421. package/bmad-core/tasks/create-next-story.md +0 -112
  422. package/bmad-core/tasks/document-project.md +0 -343
  423. package/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
  424. package/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
  425. package/bmad-core/tasks/index-docs.md +0 -173
  426. package/bmad-core/tasks/kb-mode-interaction.md +0 -75
  427. package/bmad-core/tasks/nfr-assess.md +0 -343
  428. package/bmad-core/tasks/qa-gate.md +0 -159
  429. package/bmad-core/tasks/review-story.md +0 -314
  430. package/bmad-core/tasks/risk-profile.md +0 -353
  431. package/bmad-core/tasks/shard-doc.md +0 -185
  432. package/bmad-core/tasks/test-design.md +0 -174
  433. package/bmad-core/tasks/trace-requirements.md +0 -264
  434. package/bmad-core/tasks/validate-next-story.md +0 -134
  435. package/bmad-core/templates/architecture-tmpl.yaml +0 -650
  436. package/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
  437. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  438. package/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
  439. package/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -306
  440. package/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -218
  441. package/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
  442. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -823
  443. package/bmad-core/templates/market-research-tmpl.yaml +0 -252
  444. package/bmad-core/templates/prd-tmpl.yaml +0 -202
  445. package/bmad-core/templates/project-brief-tmpl.yaml +0 -221
  446. package/bmad-core/templates/qa-gate-tmpl.yaml +0 -102
  447. package/bmad-core/templates/story-tmpl.yaml +0 -137
  448. package/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
  449. package/bmad-core/workflows/brownfield-service.yaml +0 -187
  450. package/bmad-core/workflows/brownfield-ui.yaml +0 -197
  451. package/bmad-core/workflows/greenfield-fullstack.yaml +0 -240
  452. package/bmad-core/workflows/greenfield-service.yaml +0 -206
  453. package/bmad-core/workflows/greenfield-ui.yaml +0 -235
  454. package/common/tasks/create-doc.md +0 -101
  455. package/common/tasks/execute-checklist.md +0 -86
  456. package/common/utils/bmad-doc-template.md +0 -325
  457. package/common/utils/workflow-management.md +0 -69
  458. package/dist/agents/analyst.txt +0 -2889
  459. package/dist/agents/architect.txt +0 -3552
  460. package/dist/agents/bmad-master.txt +0 -8769
  461. package/dist/agents/bmad-orchestrator.txt +0 -1513
  462. package/dist/agents/dev.txt +0 -414
  463. package/dist/agents/pm.txt +0 -2204
  464. package/dist/agents/po.txt +0 -1346
  465. package/dist/agents/qa.txt +0 -1987
  466. package/dist/agents/sm.txt +0 -658
  467. package/dist/agents/ux-expert.txt +0 -694
  468. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2371
  469. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1620
  470. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -815
  471. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -10952
  472. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +0 -4012
  473. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +0 -3698
  474. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -450
  475. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +0 -973
  476. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -15376
  477. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2075
  478. package/dist/teams/team-all.txt +0 -12682
  479. package/dist/teams/team-fullstack.txt +0 -10421
  480. package/dist/teams/team-ide-minimal.txt +0 -5103
  481. package/dist/teams/team-no-ui.txt +0 -8980
  482. package/docs/GUIDING-PRINCIPLES.md +0 -91
  483. package/docs/core-architecture.md +0 -219
  484. package/docs/enhanced-ide-development-workflow.md +0 -248
  485. package/docs/expansion-packs.md +0 -280
  486. package/docs/how-to-contribute-with-pull-requests.md +0 -158
  487. package/docs/user-guide.md +0 -504
  488. package/docs/versioning-and-releases.md +0 -147
  489. package/docs/versions.md +0 -48
  490. package/docs/working-in-the-brownfield.md +0 -597
  491. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +0 -102
  492. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +0 -13
  493. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +0 -13
  494. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +0 -25
  495. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +0 -34
  496. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +0 -70
  497. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +0 -26
  498. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +0 -109
  499. package/expansion-packs/README.md +0 -3
  500. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
  501. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -71
  502. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -78
  503. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -64
  504. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
  505. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
  506. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -8
  507. package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -250
  508. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -647
  509. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -110
  510. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
  511. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -290
  512. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
  513. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
  514. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
  515. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
  516. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  517. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  518. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
  519. package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -14
  520. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +0 -80
  521. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +0 -77
  522. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +0 -78
  523. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +0 -65
  524. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -391
  525. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -203
  526. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -201
  527. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -124
  528. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +0 -6
  529. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -769
  530. package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -586
  531. package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -110
  532. package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -141
  533. package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -184
  534. package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -290
  535. package/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -200
  536. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -1030
  537. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -356
  538. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -705
  539. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -256
  540. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  541. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  542. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -175
  543. package/expansion-packs/bmad-infrastructure-devops/README.md +0 -147
  544. package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -71
  545. package/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -484
  546. package/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -9
  547. package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -305
  548. package/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -159
  549. package/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -153
  550. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
  551. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
  552. package/release_notes.md +0 -32
  553. package/tools/bmad-npx-wrapper.js +0 -39
  554. package/tools/builders/web-builder.js +0 -675
  555. package/tools/bump-all-versions.js +0 -115
  556. package/tools/bump-expansion-version.js +0 -90
  557. package/tools/cli.js +0 -152
  558. package/tools/installer/README.md +0 -8
  559. package/tools/installer/bin/bmad.js +0 -585
  560. package/tools/installer/config/ide-agent-config.yaml +0 -58
  561. package/tools/installer/config/install.config.yaml +0 -123
  562. package/tools/installer/lib/config-loader.js +0 -257
  563. package/tools/installer/lib/file-manager.js +0 -389
  564. package/tools/installer/lib/ide-base-setup.js +0 -228
  565. package/tools/installer/lib/ide-setup.js +0 -1441
  566. package/tools/installer/lib/installer.js +0 -1995
  567. package/tools/installer/lib/memory-profiler.js +0 -225
  568. package/tools/installer/lib/module-manager.js +0 -114
  569. package/tools/installer/lib/resource-locator.js +0 -308
  570. package/tools/installer/package.json +0 -44
  571. package/tools/lib/dependency-resolver.js +0 -175
  572. package/tools/lib/yaml-utils.js +0 -29
  573. package/tools/md-assets/web-agent-startup-instructions.md +0 -39
  574. package/tools/preview-release-notes.js +0 -66
  575. package/tools/shared/bannerArt.js +0 -105
  576. package/tools/sync-installer-version.js +0 -32
  577. package/tools/update-expansion-version.js +0 -53
  578. package/tools/upgraders/v3-to-v4-upgrader.js +0 -672
  579. package/tools/version-bump.js +0 -94
@@ -0,0 +1,116 @@
1
+ const fs = require('fs-extra');
2
+ const path = require('node:path');
3
+ const yaml = require('js-yaml');
4
+ const { getProjectRoot } = require('./project-root');
5
+
6
+ /**
7
+ * Platform Codes Manager
8
+ * Loads and provides access to the centralized platform codes configuration
9
+ */
10
+ class PlatformCodes {
11
+ constructor() {
12
+ this.configPath = path.join(getProjectRoot(), 'tools', 'platform-codes.yaml');
13
+ this.loadConfig();
14
+ }
15
+
16
+ /**
17
+ * Load the platform codes configuration
18
+ */
19
+ loadConfig() {
20
+ try {
21
+ if (fs.existsSync(this.configPath)) {
22
+ const content = fs.readFileSync(this.configPath, 'utf8');
23
+ this.config = yaml.load(content);
24
+ } else {
25
+ console.warn(`Platform codes config not found at ${this.configPath}`);
26
+ this.config = { platforms: {} };
27
+ }
28
+ } catch (error) {
29
+ console.error(`Error loading platform codes: ${error.message}`);
30
+ this.config = { platforms: {} };
31
+ }
32
+ }
33
+
34
+ /**
35
+ * Get all platform codes
36
+ * @returns {Object} All platform configurations
37
+ */
38
+ getAllPlatforms() {
39
+ return this.config.platforms || {};
40
+ }
41
+
42
+ /**
43
+ * Get a specific platform configuration
44
+ * @param {string} code - Platform code
45
+ * @returns {Object|null} Platform configuration or null if not found
46
+ */
47
+ getPlatform(code) {
48
+ return this.config.platforms[code] || null;
49
+ }
50
+
51
+ /**
52
+ * Check if a platform code is valid
53
+ * @param {string} code - Platform code to validate
54
+ * @returns {boolean} True if valid
55
+ */
56
+ isValidPlatform(code) {
57
+ return code in this.config.platforms;
58
+ }
59
+
60
+ /**
61
+ * Get all preferred platforms
62
+ * @returns {Array} Array of preferred platform codes
63
+ */
64
+ getPreferredPlatforms() {
65
+ return Object.entries(this.config.platforms)
66
+ .filter(([, config]) => config.preferred)
67
+ .map(([code]) => code);
68
+ }
69
+
70
+ /**
71
+ * Get platforms by category
72
+ * @param {string} category - Category to filter by
73
+ * @returns {Array} Array of platform codes in the category
74
+ */
75
+ getPlatformsByCategory(category) {
76
+ return Object.entries(this.config.platforms)
77
+ .filter(([, config]) => config.category === category)
78
+ .map(([code]) => code);
79
+ }
80
+
81
+ /**
82
+ * Get platform display name
83
+ * @param {string} code - Platform code
84
+ * @returns {string} Display name or code if not found
85
+ */
86
+ getDisplayName(code) {
87
+ const platform = this.getPlatform(code);
88
+ return platform ? platform.name : code;
89
+ }
90
+
91
+ /**
92
+ * Validate platform code format
93
+ * @param {string} code - Platform code to validate
94
+ * @returns {boolean} True if format is valid
95
+ */
96
+ isValidFormat(code) {
97
+ const conventions = this.config.conventions || {};
98
+ const pattern = conventions.allowed_characters || 'a-z0-9-';
99
+ const maxLength = conventions.max_code_length || 20;
100
+
101
+ const regex = new RegExp(`^[${pattern}]+$`);
102
+ return regex.test(code) && code.length <= maxLength;
103
+ }
104
+
105
+ /**
106
+ * Get all platform codes as array
107
+ * @returns {Array} Array of platform codes
108
+ */
109
+ getCodes() {
110
+ return Object.keys(this.config.platforms);
111
+ }
112
+ config = null;
113
+ }
114
+
115
+ // Export singleton instance
116
+ module.exports = new PlatformCodes();
@@ -0,0 +1,71 @@
1
+ const path = require('node:path');
2
+ const fs = require('fs-extra');
3
+
4
+ /**
5
+ * Find the BMAD project root directory by looking for package.json
6
+ * or specific BMAD markers
7
+ */
8
+ function findProjectRoot(startPath = __dirname) {
9
+ let currentPath = path.resolve(startPath);
10
+
11
+ // Keep going up until we find package.json with bmad-method
12
+ while (currentPath !== path.dirname(currentPath)) {
13
+ const packagePath = path.join(currentPath, 'package.json');
14
+
15
+ if (fs.existsSync(packagePath)) {
16
+ try {
17
+ const pkg = fs.readJsonSync(packagePath);
18
+ // Check if this is the BMAD project
19
+ if (pkg.name === 'bmad-method' || fs.existsSync(path.join(currentPath, 'src', 'core'))) {
20
+ return currentPath;
21
+ }
22
+ } catch {
23
+ // Continue searching
24
+ }
25
+ }
26
+
27
+ // Also check for src/core as a marker
28
+ if (fs.existsSync(path.join(currentPath, 'src', 'core', 'agents'))) {
29
+ return currentPath;
30
+ }
31
+
32
+ currentPath = path.dirname(currentPath);
33
+ }
34
+
35
+ // If we can't find it, use process.cwd() as fallback
36
+ return process.cwd();
37
+ }
38
+
39
+ // Cache the project root after first calculation
40
+ let cachedRoot = null;
41
+
42
+ function getProjectRoot() {
43
+ if (!cachedRoot) {
44
+ cachedRoot = findProjectRoot();
45
+ }
46
+ return cachedRoot;
47
+ }
48
+
49
+ /**
50
+ * Get path to source directory
51
+ */
52
+ function getSourcePath(...segments) {
53
+ return path.join(getProjectRoot(), 'src', ...segments);
54
+ }
55
+
56
+ /**
57
+ * Get path to a module's directory
58
+ */
59
+ function getModulePath(moduleName, ...segments) {
60
+ if (moduleName === 'core') {
61
+ return getSourcePath('core', ...segments);
62
+ }
63
+ return getSourcePath('modules', moduleName, ...segments);
64
+ }
65
+
66
+ module.exports = {
67
+ getProjectRoot,
68
+ getSourcePath,
69
+ getModulePath,
70
+ findProjectRoot,
71
+ };
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Utility function to replace {project-root} placeholders with actual installation target
3
+ * Used during BMAD installation to set correct paths in agent and task files
4
+ */
5
+
6
+ const fs = require('node:fs');
7
+ const path = require('node:path');
8
+
9
+ /**
10
+ * Replace {project-root} and {output_folder}/ placeholders in a single file
11
+ * @param {string} filePath - Path to the file to process
12
+ * @param {string} projectRoot - The actual project root path to substitute (must include trailing slash)
13
+ * @param {string} docOut - The document output path (with leading slash)
14
+ * @param {boolean} removeCompletely - If true, removes placeholders entirely instead of replacing
15
+ * @returns {boolean} - True if replacements were made, false otherwise
16
+ */
17
+ function replacePlaceholdersInFile(filePath, projectRoot, docOut = '/docs', removeCompletely = false) {
18
+ try {
19
+ let content = fs.readFileSync(filePath, 'utf8');
20
+ const originalContent = content;
21
+
22
+ if (removeCompletely) {
23
+ // Remove placeholders entirely (for bundling)
24
+ content = content.replaceAll('{project-root}', '');
25
+ content = content.replaceAll('{output_folder}/', '');
26
+ } else {
27
+ // Handle the combined pattern first to avoid double slashes
28
+ if (projectRoot && docOut) {
29
+ // Replace {project-root}{output_folder}/ combinations first
30
+ // Remove leading slash from docOut since projectRoot has trailing slash
31
+ // Add trailing slash to docOut
32
+ const docOutNoLeadingSlash = docOut.replace(/^\//, '');
33
+ const docOutWithTrailingSlash = docOutNoLeadingSlash.endsWith('/') ? docOutNoLeadingSlash : docOutNoLeadingSlash + '/';
34
+ content = content.replaceAll('{project-root}{output_folder}/', projectRoot + docOutWithTrailingSlash);
35
+ }
36
+
37
+ // Then replace remaining individual placeholders
38
+ if (projectRoot) {
39
+ content = content.replaceAll('{project-root}', projectRoot);
40
+ }
41
+
42
+ if (docOut) {
43
+ // For standalone {output_folder}/, keep the leading slash and add trailing slash
44
+ const docOutWithTrailingSlash = docOut.endsWith('/') ? docOut : docOut + '/';
45
+ content = content.replaceAll('{output_folder}/', docOutWithTrailingSlash);
46
+ }
47
+ }
48
+
49
+ if (content !== originalContent) {
50
+ fs.writeFileSync(filePath, content, 'utf8');
51
+ return true;
52
+ }
53
+
54
+ return false;
55
+ } catch (error) {
56
+ console.error(`Error processing file ${filePath}:`, error.message);
57
+ return false;
58
+ }
59
+ }
60
+
61
+ /**
62
+ * Legacy function name for backward compatibility
63
+ */
64
+ function replaceProjectRootInFile(filePath, projectRoot, removeCompletely = false) {
65
+ return replacePlaceholdersInFile(filePath, projectRoot, '/docs', removeCompletely);
66
+ }
67
+
68
+ /**
69
+ * Recursively replace {project-root} and {output_folder}/ in all files in a directory
70
+ * @param {string} dirPath - Directory to process
71
+ * @param {string} projectRoot - The actual project root path to substitute (or null to remove)
72
+ * @param {string} docOut - The document output path (with leading slash)
73
+ * @param {Array<string>} extensions - File extensions to process (default: ['.md', '.xml', '.yaml'])
74
+ * @param {boolean} removeCompletely - If true, removes placeholders entirely instead of replacing
75
+ * @param {boolean} verbose - If true, show detailed output for each file
76
+ * @returns {Object} - Stats object with counts of files processed and modified
77
+ */
78
+ function replacePlaceholdersInDirectory(
79
+ dirPath,
80
+ projectRoot,
81
+ docOut = '/docs',
82
+ extensions = ['.md', '.xml', '.yaml'],
83
+ removeCompletely = false,
84
+ verbose = false,
85
+ ) {
86
+ const stats = {
87
+ processed: 0,
88
+ modified: 0,
89
+ errors: 0,
90
+ };
91
+
92
+ function processDirectory(currentPath) {
93
+ try {
94
+ const items = fs.readdirSync(currentPath, { withFileTypes: true });
95
+
96
+ for (const item of items) {
97
+ const fullPath = path.join(currentPath, item.name);
98
+
99
+ if (item.isDirectory()) {
100
+ // Skip node_modules and .git directories
101
+ if (item.name !== 'node_modules' && item.name !== '.git') {
102
+ processDirectory(fullPath);
103
+ }
104
+ } else if (item.isFile()) {
105
+ // Check if file has one of the target extensions
106
+ const ext = path.extname(item.name).toLowerCase();
107
+ if (extensions.includes(ext)) {
108
+ stats.processed++;
109
+ if (replacePlaceholdersInFile(fullPath, projectRoot, docOut, removeCompletely)) {
110
+ stats.modified++;
111
+ if (verbose) {
112
+ console.log(`✓ Updated: ${fullPath}`);
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
118
+ } catch (error) {
119
+ console.error(`Error processing directory ${currentPath}:`, error.message);
120
+ stats.errors++;
121
+ }
122
+ }
123
+
124
+ processDirectory(dirPath);
125
+ return stats;
126
+ }
127
+
128
+ /**
129
+ * Legacy function for backward compatibility
130
+ */
131
+ function replaceProjectRootInDirectory(dirPath, projectRoot, extensions = ['.md', '.xml'], removeCompletely = false) {
132
+ return replacePlaceholdersInDirectory(dirPath, projectRoot, '/docs', extensions, removeCompletely);
133
+ }
134
+
135
+ /**
136
+ * Replace placeholders in a list of specific files
137
+ * @param {Array<string>} filePaths - Array of file paths to process
138
+ * @param {string} projectRoot - The actual project root path to substitute (or null to remove)
139
+ * @param {string} docOut - The document output path (with leading slash)
140
+ * @param {boolean} removeCompletely - If true, removes placeholders entirely instead of replacing
141
+ * @returns {Object} - Stats object with counts of files processed and modified
142
+ */
143
+ function replacePlaceholdersInFiles(filePaths, projectRoot, docOut = '/docs', removeCompletely = false) {
144
+ const stats = {
145
+ processed: 0,
146
+ modified: 0,
147
+ errors: 0,
148
+ };
149
+
150
+ for (const filePath of filePaths) {
151
+ stats.processed++;
152
+ try {
153
+ if (replacePlaceholdersInFile(filePath, projectRoot, docOut, removeCompletely)) {
154
+ stats.modified++;
155
+ console.log(`✓ Updated: ${filePath}`);
156
+ }
157
+ } catch (error) {
158
+ console.error(`Error processing file ${filePath}:`, error.message);
159
+ stats.errors++;
160
+ }
161
+ }
162
+
163
+ return stats;
164
+ }
165
+
166
+ /**
167
+ * Legacy function for backward compatibility
168
+ */
169
+ function replaceProjectRootInFiles(filePaths, projectRoot, removeCompletely = false) {
170
+ return replacePlaceholdersInFiles(filePaths, projectRoot, '/docs', removeCompletely);
171
+ }
172
+
173
+ /**
174
+ * Main installation helper - replaces {project-root} and {output_folder}/ during BMAD installation
175
+ * @param {string} installPath - Path where BMAD is being installed
176
+ * @param {string} targetProjectRoot - The project root to set in the files (slash will be added)
177
+ * @param {string} docsOutputPath - The documentation output path (relative to project root)
178
+ * @param {boolean} verbose - If true, show detailed output
179
+ * @returns {Object} - Installation stats
180
+ */
181
+ function processInstallation(installPath, targetProjectRoot, docsOutputPath = 'docs', verbose = false) {
182
+ // Ensure project root has trailing slash since usage is like {project-root}/bmad
183
+ const projectRootWithSlash = targetProjectRoot.endsWith('/') ? targetProjectRoot : targetProjectRoot + '/';
184
+
185
+ // Ensure docs path has leading slash (for internal use) but will add trailing slash during replacement
186
+ const normalizedDocsPath = docsOutputPath.replaceAll(/^\/+|\/+$/g, '');
187
+ const docOutPath = normalizedDocsPath ? `/${normalizedDocsPath}` : '/docs';
188
+
189
+ if (verbose) {
190
+ console.log(`\nReplacing {project-root} with: ${projectRootWithSlash}`);
191
+ console.log(`Replacing {output_folder}/ with: ${docOutPath}/`);
192
+ console.log(`Processing files in: ${installPath}\n`);
193
+ }
194
+
195
+ const stats = replacePlaceholdersInDirectory(installPath, projectRootWithSlash, docOutPath, ['.md', '.xml', '.yaml'], false, verbose);
196
+
197
+ if (verbose) {
198
+ console.log('\n--- Installation Processing Complete ---');
199
+ }
200
+ console.log(`Files processed: ${stats.processed}`);
201
+ console.log(`Files modified: ${stats.modified}`);
202
+ if (stats.errors > 0) {
203
+ console.log(`Errors encountered: ${stats.errors}`);
204
+ }
205
+
206
+ return stats;
207
+ }
208
+
209
+ /**
210
+ * Bundle helper - removes {project-root}/ references for web bundling
211
+ * @param {string} bundlePath - Path where files are being bundled
212
+ * @returns {Object} - Bundle stats
213
+ */
214
+ function processBundleRemoval(bundlePath) {
215
+ console.log(`\nRemoving {project-root}/ references for bundling`);
216
+ console.log(`Processing files in: ${bundlePath}\n`);
217
+
218
+ const stats = replaceProjectRootInDirectory(bundlePath, null, ['.md', '.xml'], true);
219
+
220
+ console.log('\n--- Bundle Processing Complete ---');
221
+ console.log(`Files processed: ${stats.processed}`);
222
+ console.log(`Files modified: ${stats.modified}`);
223
+ if (stats.errors > 0) {
224
+ console.log(`Errors encountered: ${stats.errors}`);
225
+ }
226
+
227
+ return stats;
228
+ }
229
+
230
+ module.exports = {
231
+ replacePlaceholdersInFile,
232
+ replacePlaceholdersInDirectory,
233
+ replacePlaceholdersInFiles,
234
+ replaceProjectRootInFile,
235
+ replaceProjectRootInDirectory,
236
+ replaceProjectRootInFiles,
237
+ processInstallation,
238
+ processBundleRemoval,
239
+ };