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
@@ -1,225 +0,0 @@
1
- /**
2
- * Memory Profiler - Track memory usage during installation
3
- * Helps identify memory leaks and optimize resource usage
4
- */
5
-
6
- const v8 = require('node:v8');
7
-
8
- class MemoryProfiler {
9
- constructor() {
10
- this.checkpoints = [];
11
- this.startTime = Date.now();
12
- this.peakMemory = 0;
13
- }
14
-
15
- /**
16
- * Create a memory checkpoint
17
- * @param {string} label - Label for this checkpoint
18
- */
19
- checkpoint(label) {
20
- const memUsage = process.memoryUsage();
21
- const heapStats = v8.getHeapStatistics();
22
-
23
- const checkpoint = {
24
- label,
25
- timestamp: Date.now() - this.startTime,
26
- memory: {
27
- rss: this.formatBytes(memUsage.rss),
28
- heapTotal: this.formatBytes(memUsage.heapTotal),
29
- heapUsed: this.formatBytes(memUsage.heapUsed),
30
- external: this.formatBytes(memUsage.external),
31
- arrayBuffers: this.formatBytes(memUsage.arrayBuffers || 0),
32
- },
33
- heap: {
34
- totalHeapSize: this.formatBytes(heapStats.total_heap_size),
35
- usedHeapSize: this.formatBytes(heapStats.used_heap_size),
36
- heapSizeLimit: this.formatBytes(heapStats.heap_size_limit),
37
- mallocedMemory: this.formatBytes(heapStats.malloced_memory),
38
- externalMemory: this.formatBytes(heapStats.external_memory),
39
- },
40
- raw: {
41
- heapUsed: memUsage.heapUsed,
42
- },
43
- };
44
-
45
- // Track peak memory
46
- if (memUsage.heapUsed > this.peakMemory) {
47
- this.peakMemory = memUsage.heapUsed;
48
- }
49
-
50
- this.checkpoints.push(checkpoint);
51
- return checkpoint;
52
- }
53
-
54
- /**
55
- * Force garbage collection (requires --expose-gc flag)
56
- */
57
- forceGC() {
58
- if (globalThis.gc) {
59
- globalThis.gc();
60
- return true;
61
- }
62
- return false;
63
- }
64
-
65
- /**
66
- * Get memory usage summary
67
- */
68
- getSummary() {
69
- const currentMemory = process.memoryUsage();
70
-
71
- return {
72
- currentUsage: {
73
- rss: this.formatBytes(currentMemory.rss),
74
- heapTotal: this.formatBytes(currentMemory.heapTotal),
75
- heapUsed: this.formatBytes(currentMemory.heapUsed),
76
- },
77
- peakMemory: this.formatBytes(this.peakMemory),
78
- totalCheckpoints: this.checkpoints.length,
79
- runTime: `${((Date.now() - this.startTime) / 1000).toFixed(2)}s`,
80
- };
81
- }
82
-
83
- /**
84
- * Get detailed report of memory usage
85
- */
86
- getDetailedReport() {
87
- const summary = this.getSummary();
88
- const memoryGrowth = this.calculateMemoryGrowth();
89
-
90
- return {
91
- summary,
92
- memoryGrowth,
93
- checkpoints: this.checkpoints,
94
- recommendations: this.getRecommendations(memoryGrowth),
95
- };
96
- }
97
-
98
- /**
99
- * Calculate memory growth between checkpoints
100
- */
101
- calculateMemoryGrowth() {
102
- if (this.checkpoints.length < 2) return [];
103
-
104
- const growth = [];
105
- for (let index = 1; index < this.checkpoints.length; index++) {
106
- const previous = this.checkpoints[index - 1];
107
- const current = this.checkpoints[index];
108
-
109
- const heapDiff = current.raw.heapUsed - previous.raw.heapUsed;
110
-
111
- growth.push({
112
- from: previous.label,
113
- to: current.label,
114
- heapGrowth: this.formatBytes(Math.abs(heapDiff)),
115
- isIncrease: heapDiff > 0,
116
- timeDiff: `${((current.timestamp - previous.timestamp) / 1000).toFixed(2)}s`,
117
- });
118
- }
119
-
120
- return growth;
121
- }
122
-
123
- /**
124
- * Get recommendations based on memory usage
125
- */
126
- getRecommendations(memoryGrowth) {
127
- const recommendations = [];
128
-
129
- // Check for large memory growth
130
- const largeGrowths = memoryGrowth.filter((g) => {
131
- const bytes = this.parseBytes(g.heapGrowth);
132
- return bytes > 50 * 1024 * 1024; // 50MB
133
- });
134
-
135
- if (largeGrowths.length > 0) {
136
- recommendations.push({
137
- type: 'warning',
138
- message: `Large memory growth detected in ${largeGrowths.length} operations`,
139
- details: largeGrowths.map((g) => `${g.from} → ${g.to}: ${g.heapGrowth}`),
140
- });
141
- }
142
-
143
- // Check peak memory
144
- if (this.peakMemory > 500 * 1024 * 1024) {
145
- // 500MB
146
- recommendations.push({
147
- type: 'warning',
148
- message: `High peak memory usage: ${this.formatBytes(this.peakMemory)}`,
149
- suggestion: 'Consider processing files in smaller batches',
150
- });
151
- }
152
-
153
- // Check for potential memory leaks
154
- const continuousGrowth = this.checkContinuousGrowth();
155
- if (continuousGrowth) {
156
- recommendations.push({
157
- type: 'error',
158
- message: 'Potential memory leak detected',
159
- details: 'Memory usage continuously increases without significant decreases',
160
- });
161
- }
162
-
163
- return recommendations;
164
- }
165
-
166
- /**
167
- * Check for continuous memory growth (potential leak)
168
- */
169
- checkContinuousGrowth() {
170
- if (this.checkpoints.length < 5) return false;
171
-
172
- let increasingCount = 0;
173
- for (let index = 1; index < this.checkpoints.length; index++) {
174
- if (this.checkpoints[index].raw.heapUsed > this.checkpoints[index - 1].raw.heapUsed) {
175
- increasingCount++;
176
- }
177
- }
178
-
179
- // If memory increases in more than 80% of checkpoints, might be a leak
180
- return increasingCount / (this.checkpoints.length - 1) > 0.8;
181
- }
182
-
183
- /**
184
- * Format bytes to human-readable string
185
- */
186
- formatBytes(bytes) {
187
- if (bytes === 0) return '0 B';
188
-
189
- const k = 1024;
190
- const sizes = ['B', 'KB', 'MB', 'GB'];
191
- const index = Math.floor(Math.log(bytes) / Math.log(k));
192
-
193
- return Number.parseFloat((bytes / Math.pow(k, index)).toFixed(2)) + ' ' + sizes[index];
194
- }
195
-
196
- /**
197
- * Parse human-readable bytes back to number
198
- */
199
- parseBytes(string_) {
200
- const match = string_.match(/^([\d.]+)\s*([KMGT]?B?)$/i);
201
- if (!match) return 0;
202
-
203
- const value = Number.parseFloat(match[1]);
204
- const unit = match[2].toUpperCase();
205
-
206
- const multipliers = {
207
- B: 1,
208
- KB: 1024,
209
- MB: 1024 * 1024,
210
- GB: 1024 * 1024 * 1024,
211
- };
212
-
213
- return value * (multipliers[unit] || 1);
214
- }
215
-
216
- /**
217
- * Clear checkpoints to free memory
218
- */
219
- clear() {
220
- this.checkpoints = [];
221
- }
222
- }
223
-
224
- // Export singleton instance
225
- module.exports = new MemoryProfiler();
@@ -1,114 +0,0 @@
1
- /**
2
- * Module Manager - Centralized dynamic import management
3
- * Handles loading and caching of ES modules to reduce memory overhead
4
- */
5
-
6
- class ModuleManager {
7
- constructor() {
8
- this._cache = new Map();
9
- this._loadingPromises = new Map();
10
- }
11
-
12
- /**
13
- * Initialize all commonly used ES modules at once
14
- * @returns {Promise<Object>} Object containing all loaded modules
15
- */
16
- async initializeCommonModules() {
17
- const modules = await Promise.all([
18
- this.getModule('chalk'),
19
- this.getModule('ora'),
20
- this.getModule('inquirer'),
21
- ]);
22
-
23
- return {
24
- chalk: modules[0],
25
- ora: modules[1],
26
- inquirer: modules[2],
27
- };
28
- }
29
-
30
- /**
31
- * Get a module by name, with caching
32
- * @param {string} moduleName - Name of the module to load
33
- * @returns {Promise<any>} The loaded module
34
- */
35
- async getModule(moduleName) {
36
- // Return from cache if available
37
- if (this._cache.has(moduleName)) {
38
- return this._cache.get(moduleName);
39
- }
40
-
41
- // If already loading, return the existing promise
42
- if (this._loadingPromises.has(moduleName)) {
43
- return this._loadingPromises.get(moduleName);
44
- }
45
-
46
- // Start loading the module
47
- const loadPromise = this._loadModule(moduleName);
48
- this._loadingPromises.set(moduleName, loadPromise);
49
-
50
- try {
51
- const module = await loadPromise;
52
- this._cache.set(moduleName, module);
53
- this._loadingPromises.delete(moduleName);
54
- return module;
55
- } catch (error) {
56
- this._loadingPromises.delete(moduleName);
57
- throw error;
58
- }
59
- }
60
-
61
- /**
62
- * Internal method to load a specific module
63
- * @private
64
- */
65
- async _loadModule(moduleName) {
66
- switch (moduleName) {
67
- case 'chalk': {
68
- return (await import('chalk')).default;
69
- }
70
- case 'ora': {
71
- return (await import('ora')).default;
72
- }
73
- case 'inquirer': {
74
- return (await import('inquirer')).default;
75
- }
76
- case 'glob': {
77
- return (await import('glob')).glob;
78
- }
79
- case 'globSync': {
80
- return (await import('glob')).globSync;
81
- }
82
- default: {
83
- throw new Error(`Unknown module: ${moduleName}`);
84
- }
85
- }
86
- }
87
-
88
- /**
89
- * Clear the module cache to free memory
90
- */
91
- clearCache() {
92
- this._cache.clear();
93
- this._loadingPromises.clear();
94
- }
95
-
96
- /**
97
- * Get multiple modules at once
98
- * @param {string[]} moduleNames - Array of module names
99
- * @returns {Promise<Object>} Object with module names as keys
100
- */
101
- async getModules(moduleNames) {
102
- const modules = await Promise.all(moduleNames.map((name) => this.getModule(name)));
103
-
104
- return moduleNames.reduce((accumulator, name, index) => {
105
- accumulator[name] = modules[index];
106
- return accumulator;
107
- }, {});
108
- }
109
- }
110
-
111
- // Singleton instance
112
- const moduleManager = new ModuleManager();
113
-
114
- module.exports = moduleManager;
@@ -1,308 +0,0 @@
1
- /**
2
- * Resource Locator - Centralized file path resolution and caching
3
- * Reduces duplicate file system operations and memory usage
4
- */
5
-
6
- const path = require('node:path');
7
- const fs = require('fs-extra');
8
- const moduleManager = require('./module-manager');
9
-
10
- class ResourceLocator {
11
- constructor() {
12
- this._pathCache = new Map();
13
- this._globCache = new Map();
14
- this._bmadCorePath = null;
15
- this._expansionPacksPath = null;
16
- }
17
-
18
- /**
19
- * Get the base path for bmad-core
20
- */
21
- getBmadCorePath() {
22
- if (!this._bmadCorePath) {
23
- this._bmadCorePath = path.join(__dirname, '../../../bmad-core');
24
- }
25
- return this._bmadCorePath;
26
- }
27
-
28
- /**
29
- * Get the base path for expansion packs
30
- */
31
- getExpansionPacksPath() {
32
- if (!this._expansionPacksPath) {
33
- this._expansionPacksPath = path.join(__dirname, '../../../expansion-packs');
34
- }
35
- return this._expansionPacksPath;
36
- }
37
-
38
- /**
39
- * Find all files matching a pattern, with caching
40
- * @param {string} pattern - Glob pattern
41
- * @param {Object} options - Glob options
42
- * @returns {Promise<string[]>} Array of matched file paths
43
- */
44
- async findFiles(pattern, options = {}) {
45
- const cacheKey = `${pattern}:${JSON.stringify(options)}`;
46
-
47
- if (this._globCache.has(cacheKey)) {
48
- return this._globCache.get(cacheKey);
49
- }
50
-
51
- const { glob } = await moduleManager.getModules(['glob']);
52
- const files = await glob(pattern, options);
53
-
54
- // Cache for 5 minutes
55
- this._globCache.set(cacheKey, files);
56
- setTimeout(() => this._globCache.delete(cacheKey), 5 * 60 * 1000);
57
-
58
- return files;
59
- }
60
-
61
- /**
62
- * Get agent path with caching
63
- * @param {string} agentId - Agent identifier
64
- * @returns {Promise<string|null>} Path to agent file or null if not found
65
- */
66
- async getAgentPath(agentId) {
67
- const cacheKey = `agent:${agentId}`;
68
-
69
- if (this._pathCache.has(cacheKey)) {
70
- return this._pathCache.get(cacheKey);
71
- }
72
-
73
- // Check in bmad-core
74
- let agentPath = path.join(this.getBmadCorePath(), 'agents', `${agentId}.md`);
75
- if (await fs.pathExists(agentPath)) {
76
- this._pathCache.set(cacheKey, agentPath);
77
- return agentPath;
78
- }
79
-
80
- // Check in expansion packs
81
- const expansionPacks = await this.getExpansionPacks();
82
- for (const pack of expansionPacks) {
83
- agentPath = path.join(pack.path, 'agents', `${agentId}.md`);
84
- if (await fs.pathExists(agentPath)) {
85
- this._pathCache.set(cacheKey, agentPath);
86
- return agentPath;
87
- }
88
- }
89
-
90
- return null;
91
- }
92
-
93
- /**
94
- * Get available agents with metadata
95
- * @returns {Promise<Array>} Array of agent objects
96
- */
97
- async getAvailableAgents() {
98
- const cacheKey = 'all-agents';
99
-
100
- if (this._pathCache.has(cacheKey)) {
101
- return this._pathCache.get(cacheKey);
102
- }
103
-
104
- const agents = [];
105
- const yaml = require('js-yaml');
106
- const { extractYamlFromAgent } = require('../../lib/yaml-utils');
107
-
108
- // Get agents from bmad-core
109
- const coreAgents = await this.findFiles('agents/*.md', {
110
- cwd: this.getBmadCorePath(),
111
- });
112
-
113
- for (const agentFile of coreAgents) {
114
- const content = await fs.readFile(path.join(this.getBmadCorePath(), agentFile), 'utf8');
115
- const yamlContent = extractYamlFromAgent(content);
116
- if (yamlContent) {
117
- try {
118
- const metadata = yaml.load(yamlContent);
119
- agents.push({
120
- id: path.basename(agentFile, '.md'),
121
- name: metadata.agent_name || path.basename(agentFile, '.md'),
122
- description: metadata.description || 'No description available',
123
- source: 'core',
124
- });
125
- } catch {
126
- // Skip invalid agents
127
- }
128
- }
129
- }
130
-
131
- // Cache for 10 minutes
132
- this._pathCache.set(cacheKey, agents);
133
- setTimeout(() => this._pathCache.delete(cacheKey), 10 * 60 * 1000);
134
-
135
- return agents;
136
- }
137
-
138
- /**
139
- * Get available expansion packs
140
- * @returns {Promise<Array>} Array of expansion pack objects
141
- */
142
- async getExpansionPacks() {
143
- const cacheKey = 'expansion-packs';
144
-
145
- if (this._pathCache.has(cacheKey)) {
146
- return this._pathCache.get(cacheKey);
147
- }
148
-
149
- const packs = [];
150
- const expansionPacksPath = this.getExpansionPacksPath();
151
-
152
- if (await fs.pathExists(expansionPacksPath)) {
153
- const entries = await fs.readdir(expansionPacksPath, { withFileTypes: true });
154
-
155
- for (const entry of entries) {
156
- if (entry.isDirectory()) {
157
- const configPath = path.join(expansionPacksPath, entry.name, 'config.yaml');
158
- if (await fs.pathExists(configPath)) {
159
- try {
160
- const yaml = require('js-yaml');
161
- const config = yaml.load(await fs.readFile(configPath, 'utf8'));
162
- packs.push({
163
- id: entry.name,
164
- name: config.name || entry.name,
165
- version: config.version || '1.0.0',
166
- description: config.description || 'No description available',
167
- shortTitle:
168
- config['short-title'] || config.description || 'No description available',
169
- author: config.author || 'Unknown',
170
- path: path.join(expansionPacksPath, entry.name),
171
- });
172
- } catch {
173
- // Skip invalid packs
174
- }
175
- }
176
- }
177
- }
178
- }
179
-
180
- // Cache for 10 minutes
181
- this._pathCache.set(cacheKey, packs);
182
- setTimeout(() => this._pathCache.delete(cacheKey), 10 * 60 * 1000);
183
-
184
- return packs;
185
- }
186
-
187
- /**
188
- * Get team configuration
189
- * @param {string} teamId - Team identifier
190
- * @returns {Promise<Object|null>} Team configuration or null
191
- */
192
- async getTeamConfig(teamId) {
193
- const cacheKey = `team:${teamId}`;
194
-
195
- if (this._pathCache.has(cacheKey)) {
196
- return this._pathCache.get(cacheKey);
197
- }
198
-
199
- const teamPath = path.join(this.getBmadCorePath(), 'agent-teams', `${teamId}.yaml`);
200
-
201
- if (await fs.pathExists(teamPath)) {
202
- try {
203
- const yaml = require('js-yaml');
204
- const content = await fs.readFile(teamPath, 'utf8');
205
- const config = yaml.load(content);
206
- this._pathCache.set(cacheKey, config);
207
- return config;
208
- } catch {
209
- return null;
210
- }
211
- }
212
-
213
- return null;
214
- }
215
-
216
- /**
217
- * Get resource dependencies for an agent
218
- * @param {string} agentId - Agent identifier
219
- * @returns {Promise<Object>} Dependencies object
220
- */
221
- async getAgentDependencies(agentId) {
222
- const cacheKey = `deps:${agentId}`;
223
-
224
- if (this._pathCache.has(cacheKey)) {
225
- return this._pathCache.get(cacheKey);
226
- }
227
-
228
- const agentPath = await this.getAgentPath(agentId);
229
- if (!agentPath) {
230
- return { all: [], byType: {} };
231
- }
232
-
233
- const content = await fs.readFile(agentPath, 'utf8');
234
- const { extractYamlFromAgent } = require('../../lib/yaml-utils');
235
- const yamlContent = extractYamlFromAgent(content);
236
-
237
- if (!yamlContent) {
238
- return { all: [], byType: {} };
239
- }
240
-
241
- try {
242
- const yaml = require('js-yaml');
243
- const metadata = yaml.load(yamlContent);
244
- const dependencies = metadata.dependencies || {};
245
-
246
- // Flatten dependencies
247
- const allDeps = [];
248
- const byType = {};
249
-
250
- for (const [type, deps] of Object.entries(dependencies)) {
251
- if (Array.isArray(deps)) {
252
- byType[type] = deps;
253
- for (const dep of deps) {
254
- allDeps.push(`.bmad-core/${type}/${dep}`);
255
- }
256
- }
257
- }
258
-
259
- const result = { all: allDeps, byType };
260
- this._pathCache.set(cacheKey, result);
261
- return result;
262
- } catch {
263
- return { all: [], byType: {} };
264
- }
265
- }
266
-
267
- /**
268
- * Clear all caches to free memory
269
- */
270
- clearCache() {
271
- this._pathCache.clear();
272
- this._globCache.clear();
273
- }
274
-
275
- /**
276
- * Get IDE configuration
277
- * @param {string} ideId - IDE identifier
278
- * @returns {Promise<Object|null>} IDE configuration or null
279
- */
280
- async getIdeConfig(ideId) {
281
- const cacheKey = `ide:${ideId}`;
282
-
283
- if (this._pathCache.has(cacheKey)) {
284
- return this._pathCache.get(cacheKey);
285
- }
286
-
287
- const idePath = path.join(this.getBmadCorePath(), 'ide-rules', `${ideId}.yaml`);
288
-
289
- if (await fs.pathExists(idePath)) {
290
- try {
291
- const yaml = require('js-yaml');
292
- const content = await fs.readFile(idePath, 'utf8');
293
- const config = yaml.load(content);
294
- this._pathCache.set(cacheKey, config);
295
- return config;
296
- } catch {
297
- return null;
298
- }
299
- }
300
-
301
- return null;
302
- }
303
- }
304
-
305
- // Singleton instance
306
- const resourceLocator = new ResourceLocator();
307
-
308
- module.exports = resourceLocator;
@@ -1,44 +0,0 @@
1
- {
2
- "name": "bmad-method",
3
- "version": "5.1.2",
4
- "description": "BMad Method installer - AI-powered Agile development framework",
5
- "keywords": [
6
- "bmad",
7
- "agile",
8
- "ai",
9
- "development",
10
- "framework",
11
- "installer",
12
- "agents"
13
- ],
14
- "homepage": "https://github.com/bmad-team/bmad-method#readme",
15
- "bugs": {
16
- "url": "https://github.com/bmad-team/bmad-method/issues"
17
- },
18
- "repository": {
19
- "type": "git",
20
- "url": "https://github.com/bmad-team/bmad-method.git"
21
- },
22
- "license": "MIT",
23
- "author": "BMad Team",
24
- "main": "lib/installer.js",
25
- "bin": {
26
- "bmad": "./bin/bmad.js",
27
- "bmad-method": "./bin/bmad.js"
28
- },
29
- "scripts": {
30
- "test": "echo \"Error: no test specified\" && exit 1"
31
- },
32
- "dependencies": {
33
- "chalk": "^4.1.2",
34
- "commander": "^14.0.0",
35
- "fs-extra": "^11.3.0",
36
- "inquirer": "^8.2.6",
37
- "js-yaml": "^4.1.0",
38
- "ora": "^5.4.1",
39
- "semver": "^7.6.3"
40
- },
41
- "engines": {
42
- "node": ">=20.0.0"
43
- }
44
- }