bmad-method 4.27.5 → 5.0.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 (274) hide show
  1. package/.bmad-core/agent-teams/team-all.yml +16 -0
  2. package/.bmad-core/agent-teams/team-fullstack.yml +26 -0
  3. package/.bmad-core/agent-teams/team-no-ui.yml +15 -0
  4. package/{bmad-core → .bmad-core}/agents/analyst.md +23 -30
  5. package/.bmad-core/agents/architect.md +66 -0
  6. package/.bmad-core/agents/bmad-master.md +104 -0
  7. package/.bmad-core/agents/bmad-orchestrator.md +81 -0
  8. package/.bmad-core/agents/dev.md +70 -0
  9. package/{bmad-core → .bmad-core}/agents/pm.md +24 -25
  10. package/{bmad-core → .bmad-core}/agents/po.md +24 -28
  11. package/.bmad-core/agents/qa.md +52 -0
  12. package/.bmad-core/agents/sm.md +55 -0
  13. package/.bmad-core/agents/ux-expert.md +66 -0
  14. package/{bmad-core → .bmad-core}/checklists/change-checklist.md +2 -2
  15. package/{bmad-core → .bmad-core}/checklists/story-draft-checklist.md +1 -1
  16. package/.bmad-core/data/bmad-kb.md +47 -0
  17. package/.bmad-core/schemas/agent-team-schema.yml +153 -0
  18. package/.bmad-core/tasks/advanced-elicitation.md +92 -0
  19. package/.bmad-core/tasks/brainstorming-techniques.md +238 -0
  20. package/.bmad-core/tasks/core-dump.md +74 -0
  21. package/{expansion-packs/bmad-creator-tools → .bmad-core}/tasks/create-agent.md +11 -9
  22. package/.bmad-core/tasks/create-doc.md +74 -0
  23. package/.bmad-core/tasks/create-expansion-pack.md +425 -0
  24. package/.bmad-core/tasks/create-next-story.md +206 -0
  25. package/.bmad-core/tasks/create-team.md +229 -0
  26. package/{bmad-core → .bmad-core}/tasks/doc-migration-task.md +9 -9
  27. package/{common → .bmad-core}/tasks/execute-checklist.md +6 -2
  28. package/.bmad-core/tasks/generate-ai-frontend-prompt.md +58 -0
  29. package/{bmad-core → .bmad-core}/tasks/index-docs.md +7 -3
  30. package/{bmad-core → .bmad-core}/tasks/shard-doc.md +7 -25
  31. package/.bmad-core/templates/agent-tmpl.md +58 -0
  32. package/.bmad-core/templates/architecture-tmpl.md +771 -0
  33. package/.bmad-core/templates/brownfield-architecture-tmpl.md +542 -0
  34. package/.bmad-core/templates/brownfield-prd-tmpl.md +240 -0
  35. package/.bmad-core/templates/competitor-analysis-tmpl.md +289 -0
  36. package/.bmad-core/templates/expansion-pack-plan-tmpl.md +91 -0
  37. package/.bmad-core/templates/front-end-architecture-tmpl.md +173 -0
  38. package/.bmad-core/templates/front-end-spec-tmpl.md +411 -0
  39. package/.bmad-core/templates/fullstack-architecture-tmpl.md +1016 -0
  40. package/.bmad-core/templates/market-research-tmpl.md +261 -0
  41. package/.bmad-core/templates/prd-tmpl.md +200 -0
  42. package/.bmad-core/templates/project-brief-tmpl.md +228 -0
  43. package/.bmad-core/templates/simple-project-prd-tmpl.md +461 -0
  44. package/.bmad-core/templates/story-tmpl.md +61 -0
  45. package/.bmad-core/templates/web-agent-startup-instructions-template.md +39 -0
  46. package/.bmad-core/utils/agent-switcher.ide.md +112 -0
  47. package/.bmad-core/utils/template-format.md +26 -0
  48. package/.bmad-core/utils/workflow-management.md +224 -0
  49. package/.bmad-core/web-bundles/agents/analyst.txt +1684 -0
  50. package/.bmad-core/web-bundles/agents/architect.txt +3584 -0
  51. package/.bmad-core/web-bundles/agents/bmad-master.txt +9491 -0
  52. package/.bmad-core/web-bundles/agents/bmad-orchestrator.txt +1466 -0
  53. package/{dist → .bmad-core/web-bundles}/agents/dev.txt +71 -179
  54. package/{dist → .bmad-core/web-bundles}/agents/pm.txt +1058 -624
  55. package/{dist → .bmad-core/web-bundles}/agents/po.txt +138 -337
  56. package/.bmad-core/web-bundles/agents/qa.txt +129 -0
  57. package/.bmad-core/web-bundles/agents/sm.txt +658 -0
  58. package/.bmad-core/web-bundles/agents/ux-expert.txt +1099 -0
  59. package/.bmad-core/web-bundles/teams/team-all.txt +10757 -0
  60. package/.bmad-core/web-bundles/teams/team-fullstack.txt +10109 -0
  61. package/.bmad-core/web-bundles/teams/team-no-ui.txt +8950 -0
  62. package/.bmad-core/workflows/brownfield-fullstack.yml +116 -0
  63. package/.bmad-core/workflows/brownfield-service.yml +117 -0
  64. package/.bmad-core/workflows/brownfield-ui.yml +127 -0
  65. package/{bmad-core/workflows/greenfield-fullstack.yaml → .bmad-core/workflows/greenfield-fullstack.yml} +77 -140
  66. package/.bmad-core/workflows/greenfield-service.yml +143 -0
  67. package/.bmad-core/workflows/greenfield-ui.yml +172 -0
  68. package/.claude/commands/analyst.md +63 -0
  69. package/.claude/commands/architect.md +70 -0
  70. package/.claude/commands/bmad-master.md +108 -0
  71. package/.claude/commands/bmad-orchestrator.md +85 -0
  72. package/.claude/commands/dev.md +74 -0
  73. package/.claude/commands/pm.md +63 -0
  74. package/.claude/commands/po.md +64 -0
  75. package/.claude/commands/qa.md +56 -0
  76. package/.claude/commands/sm.md +59 -0
  77. package/.claude/commands/ux-expert.md +70 -0
  78. package/.cursor/rules/analyst.mdc +77 -0
  79. package/.cursor/rules/architect.mdc +84 -0
  80. package/.cursor/rules/bmad-master.mdc +122 -0
  81. package/.cursor/rules/bmad-orchestrator.mdc +99 -0
  82. package/.cursor/rules/dev.mdc +88 -0
  83. package/.cursor/rules/pm.mdc +77 -0
  84. package/.cursor/rules/po.mdc +78 -0
  85. package/.cursor/rules/qa.mdc +70 -0
  86. package/.cursor/rules/sm.mdc +73 -0
  87. package/.cursor/rules/ux-expert.mdc +84 -0
  88. package/.roo/.roomodes +95 -0
  89. package/.roo/README.md +38 -0
  90. package/.vscode/extensions.json +6 -0
  91. package/.vscode/settings.json +75 -49
  92. package/.windsurf/rules/analyst.md +71 -0
  93. package/.windsurf/rules/architect.md +78 -0
  94. package/.windsurf/rules/bmad-master.md +116 -0
  95. package/.windsurf/rules/bmad-orchestrator.md +93 -0
  96. package/.windsurf/rules/dev.md +82 -0
  97. package/.windsurf/rules/pm.md +71 -0
  98. package/.windsurf/rules/po.md +72 -0
  99. package/.windsurf/rules/qa.md +64 -0
  100. package/.windsurf/rules/sm.md +67 -0
  101. package/.windsurf/rules/ux-expert.md +78 -0
  102. package/CHANGELOG.md +16 -452
  103. package/CONTRIBUTING.md +5 -168
  104. package/LICENSE +1 -1
  105. package/README.md +230 -77
  106. package/docs/bmad-workflow-guide.md +15 -19
  107. package/docs/claude-code-guide.md +119 -0
  108. package/docs/cursor-guide.md +127 -0
  109. package/docs/roo-code-guide.md +140 -0
  110. package/docs/sample-output/simple-fullstack-greenfield/prd.md +42 -0
  111. package/docs/versioning-and-releases.md +16 -8
  112. package/docs/versions.md +5 -4
  113. package/docs/windsurf-guide.md +127 -0
  114. package/expansion-packs/README.md +112 -2
  115. package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/README.md +9 -9
  116. package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/agents/infra-devops-platform.md +15 -15
  117. package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/checklists/infrastructure-checklist.md +1 -1
  118. package/expansion-packs/infrastructure-devops/manifest.yml +38 -0
  119. package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/tasks/review-infrastructure.md +4 -4
  120. package/expansion-packs/{bmad-infrastructure-devops → infrastructure-devops}/tasks/validate-infrastructure.md +4 -4
  121. package/expansion-packs/infrastructure-devops/templates/infrastructure-architecture-tmpl.md +415 -0
  122. package/expansion-packs/infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
  123. package/package.json +11 -19
  124. package/tools/bmad-npx-wrapper.js +1 -1
  125. package/tools/builders/web-builder.js +28 -563
  126. package/tools/cli.js +22 -55
  127. package/tools/installer/README.md +53 -3
  128. package/tools/installer/bin/bmad.js +56 -294
  129. package/tools/installer/config/install.config.yml +139 -0
  130. package/tools/installer/lib/config-loader.js +34 -198
  131. package/tools/installer/lib/file-manager.js +5 -123
  132. package/tools/installer/lib/ide-setup.js +189 -545
  133. package/tools/installer/lib/installer.js +55 -1136
  134. package/tools/installer/package-lock.json +3 -3
  135. package/tools/installer/package.json +4 -4
  136. package/tools/installer/templates/claude-commands.md +7 -0
  137. package/tools/installer/templates/cursor-rules.md +22 -0
  138. package/tools/installer/templates/windsurf-rules.md +22 -0
  139. package/tools/lib/dependency-resolver.js +22 -22
  140. package/tools/upgraders/v3-to-v4-upgrader.js +43 -35
  141. package/tools/version-bump.js +1 -1
  142. package/tools/yaml-format.js +2 -2
  143. package/.github/FUNDING.yaml +0 -15
  144. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -32
  145. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
  146. package/.prettierignore +0 -21
  147. package/.prettierrc +0 -23
  148. package/bmad-core/agent-teams/team-all.yaml +0 -14
  149. package/bmad-core/agent-teams/team-fullstack.yaml +0 -18
  150. package/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
  151. package/bmad-core/agent-teams/team-no-ui.yaml +0 -13
  152. package/bmad-core/agents/architect.md +0 -63
  153. package/bmad-core/agents/bmad-master.md +0 -110
  154. package/bmad-core/agents/bmad-orchestrator.md +0 -140
  155. package/bmad-core/agents/dev.md +0 -57
  156. package/bmad-core/agents/qa.md +0 -55
  157. package/bmad-core/agents/sm.md +0 -46
  158. package/bmad-core/agents/ux-expert.md +0 -54
  159. package/bmad-core/core-config.yaml +0 -25
  160. package/bmad-core/data/bmad-kb.md +0 -803
  161. package/bmad-core/data/brainstorming-techniques.md +0 -36
  162. package/bmad-core/data/elicitation-methods.md +0 -134
  163. package/bmad-core/tasks/advanced-elicitation.md +0 -117
  164. package/bmad-core/tasks/create-brownfield-story.md +0 -355
  165. package/bmad-core/tasks/create-next-story.md +0 -114
  166. package/bmad-core/tasks/create-workflow-plan.md +0 -289
  167. package/bmad-core/tasks/document-project.md +0 -317
  168. package/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
  169. package/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
  170. package/bmad-core/tasks/kb-mode-interaction.md +0 -70
  171. package/bmad-core/tasks/review-story.md +0 -145
  172. package/bmad-core/tasks/update-workflow-plan.md +0 -248
  173. package/bmad-core/tasks/validate-next-story.md +0 -134
  174. package/bmad-core/templates/architecture-tmpl.yaml +0 -650
  175. package/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
  176. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  177. package/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
  178. package/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -293
  179. package/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -206
  180. package/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
  181. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -805
  182. package/bmad-core/templates/market-research-tmpl.yaml +0 -252
  183. package/bmad-core/templates/prd-tmpl.yaml +0 -202
  184. package/bmad-core/templates/project-brief-tmpl.yaml +0 -221
  185. package/bmad-core/templates/story-tmpl.yaml +0 -137
  186. package/bmad-core/utils/plan-management.md +0 -219
  187. package/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
  188. package/bmad-core/workflows/brownfield-service.yaml +0 -187
  189. package/bmad-core/workflows/brownfield-ui.yaml +0 -197
  190. package/bmad-core/workflows/greenfield-service.yaml +0 -206
  191. package/bmad-core/workflows/greenfield-ui.yaml +0 -235
  192. package/common/tasks/create-doc.md +0 -79
  193. package/common/utils/bmad-doc-template.md +0 -325
  194. package/common/utils/workflow-management.md +0 -69
  195. package/dist/agents/analyst.txt +0 -2849
  196. package/dist/agents/architect.txt +0 -3505
  197. package/dist/agents/bmad-master.txt +0 -9588
  198. package/dist/agents/bmad-orchestrator.txt +0 -2232
  199. package/dist/agents/qa.txt +0 -388
  200. package/dist/agents/sm.txt +0 -673
  201. package/dist/agents/ux-expert.txt +0 -987
  202. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2401
  203. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1635
  204. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -825
  205. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -11730
  206. package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +0 -2023
  207. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2052
  208. package/dist/teams/team-all.txt +0 -11799
  209. package/dist/teams/team-fullstack.txt +0 -11129
  210. package/dist/teams/team-ide-minimal.txt +0 -4573
  211. package/dist/teams/team-no-ui.txt +0 -9684
  212. package/docs/GUIDING-PRINCIPLES.md +0 -91
  213. package/docs/agentic-tools/claude-code-guide.md +0 -19
  214. package/docs/agentic-tools/cline-guide.md +0 -16
  215. package/docs/agentic-tools/cursor-guide.md +0 -14
  216. package/docs/agentic-tools/gemini-cli-guide.md +0 -32
  217. package/docs/agentic-tools/github-copilot-guide.md +0 -42
  218. package/docs/agentic-tools/roo-code-guide.md +0 -15
  219. package/docs/agentic-tools/trae-guide.md +0 -14
  220. package/docs/agentic-tools/windsurf-guide.md +0 -14
  221. package/docs/core-architecture.md +0 -219
  222. package/docs/expansion-packs.md +0 -280
  223. package/docs/how-to-contribute-with-pull-requests.md +0 -158
  224. package/docs/template-markup-references.md +0 -86
  225. package/docs/user-guide.md +0 -1142
  226. package/docs/working-in-the-brownfield.md +0 -361
  227. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
  228. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -60
  229. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -68
  230. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -53
  231. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
  232. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
  233. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -7
  234. package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -254
  235. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -651
  236. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -111
  237. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
  238. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -308
  239. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
  240. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
  241. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
  242. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
  243. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  244. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  245. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
  246. package/expansion-packs/bmad-creator-tools/README.md +0 -8
  247. package/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.md +0 -55
  248. package/expansion-packs/bmad-creator-tools/config.yaml +0 -5
  249. package/expansion-packs/bmad-creator-tools/tasks/generate-expansion-pack.md +0 -1020
  250. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.yaml +0 -178
  251. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.yaml +0 -154
  252. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml +0 -120
  253. package/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -8
  254. package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -308
  255. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
  256. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
  257. package/tools/bump-all-versions.js +0 -107
  258. package/tools/bump-core-version.js +0 -57
  259. package/tools/bump-expansion-version.js +0 -78
  260. package/tools/installer/config/ide-agent-config.yaml +0 -58
  261. package/tools/installer/config/install.config.yaml +0 -91
  262. package/tools/lib/yaml-utils.js +0 -29
  263. package/tools/md-assets/web-agent-startup-instructions.md +0 -39
  264. package/tools/update-expansion-version.js +0 -54
  265. /package/{bmad-core → .bmad-core}/checklists/architect-checklist.md +0 -0
  266. /package/{bmad-core → .bmad-core}/checklists/pm-checklist.md +0 -0
  267. /package/{bmad-core → .bmad-core}/checklists/po-master-checklist.md +0 -0
  268. /package/{bmad-core → .bmad-core}/checklists/story-dod-checklist.md +0 -0
  269. /package/{bmad-core → .bmad-core}/data/technical-preferences.md +0 -0
  270. /package/{bmad-core → .bmad-core}/tasks/brownfield-create-epic.md +0 -0
  271. /package/{bmad-core → .bmad-core}/tasks/brownfield-create-story.md +0 -0
  272. /package/{bmad-core → .bmad-core}/tasks/correct-course.md +0 -0
  273. /package/{bmad-core → .bmad-core}/tasks/create-deep-research-prompt.md +0 -0
  274. /package/.github/workflows/{release.yaml → release.yml} +0 -0
@@ -1,107 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const fs = require('fs');
4
- const path = require('path');
5
- const yaml = require('js-yaml');
6
-
7
- const args = process.argv.slice(2);
8
- const bumpType = args[0] || 'minor'; // default to minor
9
-
10
- if (!['major', 'minor', 'patch'].includes(bumpType)) {
11
- console.log('Usage: node bump-all-versions.js [major|minor|patch]');
12
- console.log('Default: minor');
13
- process.exit(1);
14
- }
15
-
16
- function bumpVersion(currentVersion, type) {
17
- const [major, minor, patch] = currentVersion.split('.').map(Number);
18
-
19
- switch (type) {
20
- case 'major':
21
- return `${major + 1}.0.0`;
22
- case 'minor':
23
- return `${major}.${minor + 1}.0`;
24
- case 'patch':
25
- return `${major}.${minor}.${patch + 1}`;
26
- default:
27
- return currentVersion;
28
- }
29
- }
30
-
31
- async function bumpAllVersions() {
32
- const updatedItems = [];
33
-
34
- // First, bump the core version
35
- const coreConfigPath = path.join(__dirname, '..', 'bmad-core', 'core-config.yaml');
36
- try {
37
- const coreConfigContent = fs.readFileSync(coreConfigPath, 'utf8');
38
- const coreConfig = yaml.load(coreConfigContent);
39
- const oldCoreVersion = coreConfig.version || '1.0.0';
40
- const newCoreVersion = bumpVersion(oldCoreVersion, bumpType);
41
-
42
- coreConfig.version = newCoreVersion;
43
-
44
- const updatedCoreYaml = yaml.dump(coreConfig, { indent: 2 });
45
- fs.writeFileSync(coreConfigPath, updatedCoreYaml);
46
-
47
- updatedItems.push({ type: 'core', name: 'BMad Core', oldVersion: oldCoreVersion, newVersion: newCoreVersion });
48
- console.log(`✓ BMad Core: ${oldCoreVersion} → ${newCoreVersion}`);
49
- } catch (error) {
50
- console.error(`✗ Failed to update BMad Core: ${error.message}`);
51
- }
52
-
53
- // Then, bump all expansion packs
54
- const expansionPacksDir = path.join(__dirname, '..', 'expansion-packs');
55
-
56
- try {
57
- const entries = fs.readdirSync(expansionPacksDir, { withFileTypes: true });
58
-
59
- for (const entry of entries) {
60
- if (entry.isDirectory() && !entry.name.startsWith('.') && entry.name !== 'README.md') {
61
- const packId = entry.name;
62
- const configPath = path.join(expansionPacksDir, packId, 'config.yaml');
63
-
64
- if (fs.existsSync(configPath)) {
65
- try {
66
- const configContent = fs.readFileSync(configPath, 'utf8');
67
- const config = yaml.load(configContent);
68
- const oldVersion = config.version || '1.0.0';
69
- const newVersion = bumpVersion(oldVersion, bumpType);
70
-
71
- config.version = newVersion;
72
-
73
- const updatedYaml = yaml.dump(config, { indent: 2 });
74
- fs.writeFileSync(configPath, updatedYaml);
75
-
76
- updatedItems.push({ type: 'expansion', name: packId, oldVersion, newVersion });
77
- console.log(`✓ ${packId}: ${oldVersion} → ${newVersion}`);
78
-
79
- } catch (error) {
80
- console.error(`✗ Failed to update ${packId}: ${error.message}`);
81
- }
82
- }
83
- }
84
- }
85
-
86
- if (updatedItems.length > 0) {
87
- const coreCount = updatedItems.filter(i => i.type === 'core').length;
88
- const expansionCount = updatedItems.filter(i => i.type === 'expansion').length;
89
-
90
- console.log(`\n✓ Successfully bumped ${updatedItems.length} item(s) with ${bumpType} version bump`);
91
- if (coreCount > 0) console.log(` - ${coreCount} core`);
92
- if (expansionCount > 0) console.log(` - ${expansionCount} expansion pack(s)`);
93
-
94
- console.log('\nNext steps:');
95
- console.log('1. Test the changes');
96
- console.log('2. Commit: git add -A && git commit -m "chore: bump all versions (' + bumpType + ')"');
97
- } else {
98
- console.log('No items found to update');
99
- }
100
-
101
- } catch (error) {
102
- console.error('Error reading expansion packs directory:', error.message);
103
- process.exit(1);
104
- }
105
- }
106
-
107
- bumpAllVersions();
@@ -1,57 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const fs = require('fs');
4
- const path = require('path');
5
- const yaml = require('js-yaml');
6
-
7
- const args = process.argv.slice(2);
8
- const bumpType = args[0] || 'minor'; // default to minor
9
-
10
- if (!['major', 'minor', 'patch'].includes(bumpType)) {
11
- console.log('Usage: node bump-core-version.js [major|minor|patch]');
12
- console.log('Default: minor');
13
- process.exit(1);
14
- }
15
-
16
- function bumpVersion(currentVersion, type) {
17
- const [major, minor, patch] = currentVersion.split('.').map(Number);
18
-
19
- switch (type) {
20
- case 'major':
21
- return `${major + 1}.0.0`;
22
- case 'minor':
23
- return `${major}.${minor + 1}.0`;
24
- case 'patch':
25
- return `${major}.${minor}.${patch + 1}`;
26
- default:
27
- return currentVersion;
28
- }
29
- }
30
-
31
- async function bumpCoreVersion() {
32
- try {
33
- const coreConfigPath = path.join(__dirname, '..', 'bmad-core', 'core-config.yaml');
34
-
35
- const coreConfigContent = fs.readFileSync(coreConfigPath, 'utf8');
36
- const coreConfig = yaml.load(coreConfigContent);
37
- const oldVersion = coreConfig.version || '1.0.0';
38
- const newVersion = bumpVersion(oldVersion, bumpType);
39
-
40
- coreConfig.version = newVersion;
41
-
42
- const updatedYaml = yaml.dump(coreConfig, { indent: 2 });
43
- fs.writeFileSync(coreConfigPath, updatedYaml);
44
-
45
- console.log(`✓ BMad Core: ${oldVersion} → ${newVersion}`);
46
- console.log(`\n✓ Successfully bumped BMad Core with ${bumpType} version bump`);
47
- console.log('\nNext steps:');
48
- console.log('1. Test the changes');
49
- console.log('2. Commit: git add -A && git commit -m "chore: bump core version (' + bumpType + ')"');
50
-
51
- } catch (error) {
52
- console.error('Error updating core version:', error.message);
53
- process.exit(1);
54
- }
55
- }
56
-
57
- bumpCoreVersion();
@@ -1,78 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const fs = require('fs');
4
- const path = require('path');
5
- const yaml = require('js-yaml');
6
-
7
- const args = process.argv.slice(2);
8
-
9
- if (args.length < 1 || args.length > 2) {
10
- console.log('Usage: node bump-expansion-version.js <expansion-pack-id> [major|minor|patch]');
11
- console.log('Default: minor');
12
- console.log('Example: node bump-expansion-version.js bmad-creator-tools patch');
13
- process.exit(1);
14
- }
15
-
16
- const packId = args[0];
17
- const bumpType = args[1] || 'minor'; // default to minor
18
-
19
- if (!['major', 'minor', 'patch'].includes(bumpType)) {
20
- console.error('Error: Bump type must be major, minor, or patch');
21
- process.exit(1);
22
- }
23
-
24
- function bumpVersion(currentVersion, type) {
25
- const [major, minor, patch] = currentVersion.split('.').map(Number);
26
-
27
- switch (type) {
28
- case 'major':
29
- return `${major + 1}.0.0`;
30
- case 'minor':
31
- return `${major}.${minor + 1}.0`;
32
- case 'patch':
33
- return `${major}.${minor}.${patch + 1}`;
34
- default:
35
- return currentVersion;
36
- }
37
- }
38
-
39
- async function updateVersion() {
40
- try {
41
- const configPath = path.join(__dirname, '..', 'expansion-packs', packId, 'config.yaml');
42
-
43
- if (!fs.existsSync(configPath)) {
44
- console.error(`Error: Expansion pack '${packId}' not found`);
45
- console.log('\nAvailable expansion packs:');
46
- const expansionPacksDir = path.join(__dirname, '..', 'expansion-packs');
47
- const entries = fs.readdirSync(expansionPacksDir, { withFileTypes: true });
48
- entries.forEach(entry => {
49
- if (entry.isDirectory() && !entry.name.startsWith('.')) {
50
- console.log(` - ${entry.name}`);
51
- }
52
- });
53
- process.exit(1);
54
- }
55
-
56
- const configContent = fs.readFileSync(configPath, 'utf8');
57
- const config = yaml.load(configContent);
58
- const oldVersion = config.version || '1.0.0';
59
- const newVersion = bumpVersion(oldVersion, bumpType);
60
-
61
- config.version = newVersion;
62
-
63
- const updatedYaml = yaml.dump(config, { indent: 2 });
64
- fs.writeFileSync(configPath, updatedYaml);
65
-
66
- console.log(`✓ ${packId}: ${oldVersion} → ${newVersion}`);
67
- console.log(`\n✓ Successfully bumped ${packId} with ${bumpType} version bump`);
68
- console.log('\nNext steps:');
69
- console.log('1. Test the changes');
70
- console.log('2. Commit: git add -A && git commit -m "chore: bump ' + packId + ' version (' + bumpType + ')"');
71
-
72
- } catch (error) {
73
- console.error('Error updating version:', error.message);
74
- process.exit(1);
75
- }
76
- }
77
-
78
- updateVersion();
@@ -1,58 +0,0 @@
1
- # IDE-specific agent configurations
2
- # This file defines agent-specific settings for different IDEs
3
-
4
- # Roo Code file permissions
5
- # Each agent can have restricted file access based on regex patterns
6
- # If an agent is not listed here, it gets full edit access
7
- roo-permissions:
8
- # Core agents
9
- analyst:
10
- fileRegex: "\\.(md|txt)$"
11
- description: "Documentation and text files"
12
- pm:
13
- fileRegex: "\\.(md|txt)$"
14
- description: "Product documentation"
15
- architect:
16
- fileRegex: "\\.(md|txt|yml|yaml|json)$"
17
- description: "Architecture docs and configs"
18
- qa:
19
- fileRegex: "\\.(test|spec)\\.(js|ts|jsx|tsx)$|\\.md$"
20
- description: "Test files and documentation"
21
- ux-expert:
22
- fileRegex: "\\.(md|css|scss|html|jsx|tsx)$"
23
- description: "Design-related files"
24
- po:
25
- fileRegex: "\\.(md|txt)$"
26
- description: "Story and requirement docs"
27
- sm:
28
- fileRegex: "\\.(md|txt)$"
29
- description: "Process and planning docs"
30
- # Expansion pack agents
31
- game-designer:
32
- fileRegex: "\\.(md|txt|json|yaml|yml)$"
33
- description: "Game design documents and configs"
34
- game-sm:
35
- fileRegex: "\\.(md|txt)$"
36
- description: "Game project management docs"
37
-
38
- # Cline agent ordering
39
- # Lower numbers appear first in the list
40
- # Agents not listed get order 99
41
- cline-order:
42
- # Core agents
43
- bmad-master: 1
44
- bmad-orchestrator: 2
45
- pm: 3
46
- analyst: 4
47
- architect: 5
48
- po: 6
49
- sm: 7
50
- dev: 8
51
- qa: 9
52
- ux-expert: 10
53
- # Expansion pack agents
54
- bmad-the-creator: 11
55
- game-designer: 12
56
- game-developer: 13
57
- game-sm: 14
58
- infra-devops-platform: 15
@@ -1,91 +0,0 @@
1
- installation-options:
2
- full:
3
- name: Complete BMad Core
4
- description: Copy the entire .bmad-core folder with all agents, templates, and tools
5
- action: copy-folder
6
- source: bmad-core
7
- single-agent:
8
- name: Single Agent
9
- description: Select and install a single agent with its dependencies
10
- action: copy-agent
11
- ide-configurations:
12
- cursor:
13
- name: Cursor
14
- rule-dir: .cursor/rules/
15
- format: multi-file
16
- command-suffix: .mdc
17
- instructions: |
18
- # To use BMad agents in Cursor:
19
- # 1. Press Ctrl+L (Cmd+L on Mac) to open the chat
20
- # 2. Type @agent-name (e.g., "@dev", "@pm", "@architect")
21
- # 3. The agent will adopt that persona for the conversation
22
- claude-code:
23
- name: Claude Code
24
- rule-dir: .claude/commands/
25
- format: multi-file
26
- command-suffix: .md
27
- instructions: |
28
- # To use BMad agents in Claude Code:
29
- # 1. Type /agent-name (e.g., "/dev", "/pm", "/architect")
30
- # 2. Claude will switch to that agent's persona
31
- windsurf:
32
- name: Windsurf
33
- rule-dir: .windsurf/rules/
34
- format: multi-file
35
- command-suffix: .md
36
- instructions: |
37
- # To use BMad agents in Windsurf:
38
- # 1. Type @agent-name (e.g., "@dev", "@pm")
39
- # 2. Windsurf will adopt that agent's persona
40
- trae:
41
- name: Trae
42
- rule-dir: .trae/rules/
43
- format: multi-file
44
- command-suffix: .md
45
- instructions: |
46
- # To use BMad agents in Trae:
47
- # 1. Type @agent-name (e.g., "@dev", "@pm", "@architect")
48
- # 2. Trae will adopt that agent's persona
49
- roo:
50
- name: Roo Code
51
- format: custom-modes
52
- file: .roomodes
53
- instructions: |
54
- # To use BMad agents in Roo Code:
55
- # 1. Open the mode selector (usually in the status bar)
56
- # 2. Select any bmad-{agent} mode (e.g., "bmad-dev", "bmad-pm")
57
- # 3. The AI will adopt that agent's full personality and capabilities
58
- cline:
59
- name: Cline
60
- rule-dir: .clinerules/
61
- format: multi-file
62
- command-suffix: .md
63
- instructions: |
64
- # To use BMad agents in Cline:
65
- # 1. Open the Cline chat panel in VS Code
66
- # 2. Type @agent-name (e.g., "@dev", "@pm", "@architect")
67
- # 3. The agent will adopt that persona for the conversation
68
- # 4. Rules are stored in .clinerules/ directory in your project
69
- gemini:
70
- name: Gemini CLI
71
- rule-dir: .gemini/agents/
72
- format: context-files
73
- instructions: |
74
- # To use BMad agents with the Gemini CLI:
75
- # 1. The installer creates a .gemini/ directory in your project.
76
- # 2. It also configures .gemini/settings.json to load all agent files.
77
- # 3. Simply mention the agent in your prompt (e.g., "As @dev, ...").
78
- # 4. The Gemini CLI will automatically have the context for that agent.
79
- github-copilot:
80
- name: Github Copilot
81
- rule-dir: .github/chatmodes/
82
- format: multi-file
83
- command-suffix: .md
84
- instructions: |
85
- # To use BMad agents with Github Copilot:
86
- # 1. The installer creates a .github/chatmodes/ directory in your project
87
- # 2. Open the Chat view (`⌃⌘I` on Mac, `Ctrl+Alt+I` on Windows/Linux) and select **Agent** from the chat mode selector.
88
- # 3. The agent will adopt that persona for the conversation
89
- # 4. Requires VS Code 1.101+ with `chat.agent.enabled: true` in settings
90
- # 5. Agent files are stored in .github/chatmodes/
91
- # 6. Use `*help` to see available commands and agents
@@ -1,29 +0,0 @@
1
- /**
2
- * Utility functions for YAML extraction from agent files
3
- */
4
-
5
- /**
6
- * Extract YAML content from agent markdown files
7
- * @param {string} agentContent - The full content of the agent file
8
- * @param {boolean} cleanCommands - Whether to clean command descriptions (default: false)
9
- * @returns {string|null} - The extracted YAML content or null if not found
10
- */
11
- function extractYamlFromAgent(agentContent, cleanCommands = false) {
12
- // Remove carriage returns and match YAML block
13
- const yamlMatch = agentContent.replace(/\r/g, "").match(/```ya?ml\n([\s\S]*?)\n```/);
14
- if (!yamlMatch) return null;
15
-
16
- let yamlContent = yamlMatch[1].trim();
17
-
18
- // Clean up command descriptions if requested
19
- // Converts "- command - description" to just "- command"
20
- if (cleanCommands) {
21
- yamlContent = yamlContent.replace(/^(\s*-)(\s*"[^"]+")(\s*-\s*.*)$/gm, '$1$2');
22
- }
23
-
24
- return yamlContent;
25
- }
26
-
27
- module.exports = {
28
- extractYamlFromAgent
29
- };
@@ -1,39 +0,0 @@
1
- # Web Agent Bundle Instructions
2
-
3
- You are now operating as a specialized AI agent from the BMad-Method framework. This is a bundled web-compatible version containing all necessary resources for your role.
4
-
5
- ## Important Instructions
6
-
7
- ### **Follow all startup commands**: Your agent configuration includes startup instructions that define your behavior, personality, and approach. These MUST be followed exactly.
8
-
9
- ### **Resource Navigation**: This bundle contains all resources you need. Resources are marked with tags like:
10
-
11
- - `==================== START: .bmad-core/folder/filename.md ====================`
12
- - `==================== END: .bmad-core/folder/filename.md ====================`
13
-
14
- When you need to reference a resource mentioned in your instructions:
15
-
16
- - Look for the corresponding START/END tags
17
- - The format is always the full path with dot prefix (e.g., `.bmad-core/personas/analyst.md`, `.bmad-core/tasks/create-story.md`)
18
- - If a section is specified (e.g., `{root}/tasks/create-story.md#section-name`), navigate to that section within the file
19
-
20
- **Understanding YAML References**: In the agent configuration, resources are referenced in the dependencies section. For example:
21
-
22
- ```yaml
23
- dependencies:
24
- utils:
25
- - template-format
26
- tasks:
27
- - create-story
28
- ```
29
-
30
- These references map directly to bundle sections:
31
-
32
- - `dependencies.utils: template-format` → Look for `==================== START: .bmad-core/utils/template-format.md ====================`
33
- - `dependencies.utils: create-story` → Look for `==================== START: .bmad-core/tasks/create-story.md ====================`
34
-
35
- ### **Execution Context**: You are operating in a web environment. All your capabilities and knowledge are contained within this bundle. Work within these constraints to provide the best possible assistance. You have no file system to write to, so you will maintain document history being drafted in your memory unless a canvas feature is available and the user confirms its usage.
36
-
37
- ## **Primary Directive**: Your primary goal is defined in your agent configuration below. Focus on fulfilling your designated role explicitly as defined.
38
-
39
- ---
@@ -1,54 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const fs = require('fs');
4
- const path = require('path');
5
- const yaml = require('js-yaml');
6
-
7
- const args = process.argv.slice(2);
8
-
9
- if (args.length < 2) {
10
- console.log('Usage: node update-expansion-version.js <expansion-pack-id> <new-version>');
11
- console.log('Example: node update-expansion-version.js bmad-creator-tools 1.1.0');
12
- process.exit(1);
13
- }
14
-
15
- const [packId, newVersion] = args;
16
-
17
- // Validate version format
18
- if (!/^\d+\.\d+\.\d+$/.test(newVersion)) {
19
- console.error('Error: Version must be in format X.Y.Z (e.g., 1.2.3)');
20
- process.exit(1);
21
- }
22
-
23
- async function updateVersion() {
24
- try {
25
- // Update in config.yaml
26
- const configPath = path.join(__dirname, '..', 'expansion-packs', packId, 'config.yaml');
27
-
28
- if (!fs.existsSync(configPath)) {
29
- console.error(`Error: Expansion pack '${packId}' not found`);
30
- process.exit(1);
31
- }
32
-
33
- const configContent = fs.readFileSync(configPath, 'utf8');
34
- const config = yaml.load(configContent);
35
- const oldVersion = config.version || 'unknown';
36
-
37
- config.version = newVersion;
38
-
39
- const updatedYaml = yaml.dump(config, { indent: 2 });
40
- fs.writeFileSync(configPath, updatedYaml);
41
-
42
- console.log(`✓ Updated ${packId}/config.yaml: ${oldVersion} → ${newVersion}`);
43
- console.log(`\n✓ Successfully updated ${packId} to version ${newVersion}`);
44
- console.log('\nNext steps:');
45
- console.log('1. Test the changes');
46
- console.log('2. Commit: git add -A && git commit -m "chore: bump ' + packId + ' to v' + newVersion + '"');
47
-
48
- } catch (error) {
49
- console.error('Error updating version:', error.message);
50
- process.exit(1);
51
- }
52
- }
53
-
54
- updateVersion();
File without changes