bmad-method 5.0.0-beta.2 → 5.0.1

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 (131) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +3 -3
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +3 -3
  3. package/.github/workflows/discord.yaml +11 -2
  4. package/.github/workflows/format-check.yaml +42 -0
  5. package/.github/workflows/manual-release.yaml +173 -0
  6. package/.husky/pre-commit +3 -0
  7. package/.vscode/settings.json +26 -1
  8. package/CHANGELOG.md +0 -11
  9. package/README.md +2 -0
  10. package/bmad-core/agent-teams/team-all.yaml +1 -1
  11. package/bmad-core/agents/bmad-orchestrator.md +1 -1
  12. package/bmad-core/agents/dev.md +4 -4
  13. package/bmad-core/data/bmad-kb.md +1 -1
  14. package/bmad-core/data/test-levels-framework.md +12 -12
  15. package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
  16. package/bmad-core/tasks/nfr-assess.md +10 -10
  17. package/bmad-core/tasks/qa-gate.md +23 -23
  18. package/bmad-core/tasks/review-story.md +18 -18
  19. package/bmad-core/tasks/risk-profile.md +25 -25
  20. package/bmad-core/tasks/test-design.md +9 -9
  21. package/bmad-core/tasks/trace-requirements.md +21 -21
  22. package/bmad-core/templates/architecture-tmpl.yaml +49 -49
  23. package/bmad-core/templates/brainstorming-output-tmpl.yaml +5 -5
  24. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +31 -31
  25. package/bmad-core/templates/brownfield-prd-tmpl.yaml +13 -13
  26. package/bmad-core/templates/competitor-analysis-tmpl.yaml +19 -6
  27. package/bmad-core/templates/front-end-architecture-tmpl.yaml +21 -9
  28. package/bmad-core/templates/front-end-spec-tmpl.yaml +24 -24
  29. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +122 -104
  30. package/bmad-core/templates/market-research-tmpl.yaml +2 -2
  31. package/bmad-core/templates/prd-tmpl.yaml +9 -9
  32. package/bmad-core/templates/project-brief-tmpl.yaml +4 -4
  33. package/bmad-core/templates/qa-gate-tmpl.yaml +9 -9
  34. package/bmad-core/templates/story-tmpl.yaml +12 -12
  35. package/bmad-core/workflows/brownfield-fullstack.yaml +9 -9
  36. package/bmad-core/workflows/brownfield-service.yaml +1 -1
  37. package/bmad-core/workflows/brownfield-ui.yaml +1 -1
  38. package/bmad-core/workflows/greenfield-fullstack.yaml +1 -1
  39. package/bmad-core/workflows/greenfield-service.yaml +1 -1
  40. package/bmad-core/workflows/greenfield-ui.yaml +1 -1
  41. package/common/utils/bmad-doc-template.md +5 -5
  42. package/dist/agents/analyst.txt +28 -15
  43. package/dist/agents/architect.txt +220 -190
  44. package/dist/agents/bmad-master.txt +298 -255
  45. package/dist/agents/bmad-orchestrator.txt +1 -1
  46. package/dist/agents/pm.txt +20 -20
  47. package/dist/agents/po.txt +11 -11
  48. package/dist/agents/qa.txt +275 -618
  49. package/dist/agents/sm.txt +11 -11
  50. package/dist/agents/ux-expert.txt +23 -23
  51. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +109 -109
  52. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +75 -77
  53. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +41 -41
  54. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +483 -474
  55. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +1 -1
  56. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +149 -149
  57. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +20 -20
  58. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +371 -358
  59. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +25 -25
  60. package/dist/teams/team-all.txt +581 -881
  61. package/dist/teams/team-fullstack.txt +316 -273
  62. package/dist/teams/team-ide-minimal.txt +276 -619
  63. package/dist/teams/team-no-ui.txt +281 -238
  64. package/docs/versioning-and-releases.md +114 -44
  65. package/eslint.config.mjs +119 -0
  66. 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 +26 -26
  67. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +4 -4
  68. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +1 -1
  69. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +26 -28
  70. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +50 -50
  71. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +23 -23
  72. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +24 -24
  73. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +42 -42
  74. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  75. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  76. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +1 -1
  77. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +3 -3
  78. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +1 -1
  79. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +23 -23
  80. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +63 -63
  81. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +20 -20
  82. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  83. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  84. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +1 -1
  85. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +20 -20
  86. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +7 -7
  87. package/package.json +62 -39
  88. package/prettier.config.mjs +32 -0
  89. package/release_notes.md +30 -0
  90. package/tools/bmad-npx-wrapper.js +10 -10
  91. package/tools/builders/web-builder.js +124 -130
  92. package/tools/bump-all-versions.js +42 -33
  93. package/tools/bump-expansion-version.js +23 -16
  94. package/tools/cli.js +10 -12
  95. package/tools/flattener/aggregate.js +10 -10
  96. package/tools/flattener/binary.js +44 -17
  97. package/tools/flattener/discovery.js +19 -18
  98. package/tools/flattener/files.js +6 -6
  99. package/tools/flattener/ignoreRules.js +125 -125
  100. package/tools/flattener/main.js +201 -304
  101. package/tools/flattener/projectRoot.js +75 -73
  102. package/tools/flattener/prompts.js +9 -9
  103. package/tools/flattener/stats.helpers.js +131 -67
  104. package/tools/flattener/stats.js +3 -3
  105. package/tools/flattener/test-matrix.js +201 -193
  106. package/tools/flattener/xml.js +33 -31
  107. package/tools/installer/bin/bmad.js +130 -89
  108. package/tools/installer/config/ide-agent-config.yaml +1 -1
  109. package/tools/installer/config/install.config.yaml +2 -2
  110. package/tools/installer/lib/config-loader.js +46 -42
  111. package/tools/installer/lib/file-manager.js +91 -113
  112. package/tools/installer/lib/ide-base-setup.js +57 -56
  113. package/tools/installer/lib/ide-setup.js +375 -343
  114. package/tools/installer/lib/installer.js +875 -714
  115. package/tools/installer/lib/memory-profiler.js +54 -53
  116. package/tools/installer/lib/module-manager.js +19 -15
  117. package/tools/installer/lib/resource-locator.js +26 -28
  118. package/tools/installer/package.json +19 -19
  119. package/tools/lib/dependency-resolver.js +26 -30
  120. package/tools/lib/yaml-utils.js +7 -7
  121. package/tools/preview-release-notes.js +66 -0
  122. package/tools/shared/bannerArt.js +3 -3
  123. package/tools/sync-installer-version.js +7 -9
  124. package/tools/update-expansion-version.js +14 -15
  125. package/tools/upgraders/v3-to-v4-upgrader.js +203 -294
  126. package/tools/version-bump.js +41 -26
  127. package/tools/yaml-format.js +56 -43
  128. package/.github/workflows/promote-to-stable.yml +0 -144
  129. package/.github/workflows/release.yaml +0 -60
  130. package/.releaserc.json +0 -21
  131. package/tools/semantic-release-sync-installer.js +0 -30
package/package.json CHANGED
@@ -1,7 +1,23 @@
1
1
  {
2
+ "$schema": "https://json.schemastore.org/package.json",
2
3
  "name": "bmad-method",
3
- "version": "5.0.0-beta.2",
4
+ "version": "5.0.1",
4
5
  "description": "Breakthrough Method of Agile AI-driven Development",
6
+ "keywords": [
7
+ "agile",
8
+ "ai",
9
+ "orchestrator",
10
+ "development",
11
+ "methodology",
12
+ "agents",
13
+ "bmad"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/bmadcode/BMAD-METHOD.git"
18
+ },
19
+ "license": "MIT",
20
+ "author": "Brian (BMad) Madison",
5
21
  "main": "tools/cli.js",
6
22
  "bin": {
7
23
  "bmad": "tools/bmad-npx-wrapper.js",
@@ -11,27 +27,46 @@
11
27
  "build": "node tools/cli.js build",
12
28
  "build:agents": "node tools/cli.js build --agents-only",
13
29
  "build:teams": "node tools/cli.js build --teams-only",
14
- "list:agents": "node tools/cli.js list:agents",
15
- "validate": "node tools/cli.js validate",
16
30
  "flatten": "node tools/flattener/main.js",
31
+ "format": "prettier --write \"**/*.{js,cjs,mjs,json,md,yaml}\"",
32
+ "format:check": "prettier --check \"**/*.{js,cjs,mjs,json,md,yaml}\"",
17
33
  "install:bmad": "node tools/installer/bin/bmad.js install",
18
- "format": "prettier --write \"**/*.md\"",
19
- "version:patch": "node tools/version-bump.js patch",
20
- "version:minor": "node tools/version-bump.js minor",
21
- "version:major": "node tools/version-bump.js major",
22
- "version:expansion": "node tools/bump-expansion-version.js",
23
- "version:expansion:set": "node tools/update-expansion-version.js",
34
+ "lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0",
35
+ "lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix",
36
+ "list:agents": "node tools/cli.js list:agents",
37
+ "prepare": "husky",
38
+ "preview:release": "node tools/preview-release-notes.js",
39
+ "release:major": "gh workflow run \"Manual Release\" -f version_bump=major",
40
+ "release:minor": "gh workflow run \"Manual Release\" -f version_bump=minor",
41
+ "release:patch": "gh workflow run \"Manual Release\" -f version_bump=patch",
42
+ "release:watch": "gh run watch",
43
+ "validate": "node tools/cli.js validate",
24
44
  "version:all": "node tools/bump-all-versions.js",
25
- "version:all:minor": "node tools/bump-all-versions.js minor",
26
45
  "version:all:major": "node tools/bump-all-versions.js major",
46
+ "version:all:minor": "node tools/bump-all-versions.js minor",
27
47
  "version:all:patch": "node tools/bump-all-versions.js patch",
48
+ "version:expansion": "node tools/bump-expansion-version.js",
28
49
  "version:expansion:all": "node tools/bump-all-versions.js",
29
- "version:expansion:all:minor": "node tools/bump-all-versions.js minor",
30
50
  "version:expansion:all:major": "node tools/bump-all-versions.js major",
51
+ "version:expansion:all:minor": "node tools/bump-all-versions.js minor",
31
52
  "version:expansion:all:patch": "node tools/bump-all-versions.js patch",
32
- "release": "semantic-release",
33
- "release:test": "semantic-release --dry-run --no-ci || echo 'Config test complete - authentication errors are expected locally'",
34
- "prepare": "husky"
53
+ "version:expansion:set": "node tools/update-expansion-version.js",
54
+ "version:major": "node tools/version-bump.js major",
55
+ "version:minor": "node tools/version-bump.js minor",
56
+ "version:patch": "node tools/version-bump.js patch"
57
+ },
58
+ "lint-staged": {
59
+ "**/*.{js,cjs,mjs}": [
60
+ "eslint --fix --max-warnings=0",
61
+ "prettier --write"
62
+ ],
63
+ "**/*.yaml": [
64
+ "eslint --fix",
65
+ "prettier --write"
66
+ ],
67
+ "**/*.{json,md}": [
68
+ "prettier --write"
69
+ ]
35
70
  },
36
71
  "dependencies": {
37
72
  "@kayvan/markdown-tree-parser": "^1.5.0",
@@ -46,37 +81,25 @@
46
81
  "ora": "^5.4.1",
47
82
  "semver": "^7.6.3"
48
83
  },
49
- "keywords": [
50
- "agile",
51
- "ai",
52
- "orchestrator",
53
- "development",
54
- "methodology",
55
- "agents",
56
- "bmad"
57
- ],
58
- "author": "Brian (BMad) Madison",
59
- "license": "MIT",
60
- "repository": {
61
- "type": "git",
62
- "url": "git+https://github.com/bmadcode/BMAD-METHOD.git"
63
- },
64
- "engines": {
65
- "node": ">=20.0.0"
66
- },
67
84
  "devDependencies": {
68
- "@semantic-release/changelog": "^6.0.3",
69
- "@semantic-release/git": "^10.0.1",
85
+ "@eslint/js": "^9.33.0",
86
+ "eslint": "^9.33.0",
87
+ "eslint-config-prettier": "^10.1.8",
88
+ "eslint-plugin-n": "^17.21.3",
89
+ "eslint-plugin-unicorn": "^60.0.0",
90
+ "eslint-plugin-yml": "^1.18.0",
70
91
  "husky": "^9.1.7",
71
92
  "jest": "^30.0.4",
72
93
  "lint-staged": "^16.1.1",
73
94
  "prettier": "^3.5.3",
74
- "semantic-release": "^22.0.0",
95
+ "prettier-plugin-packagejson": "^2.5.19",
96
+ "yaml-eslint-parser": "^1.2.3",
75
97
  "yaml-lint": "^1.7.0"
76
98
  },
77
- "lint-staged": {
78
- "**/*.md": [
79
- "prettier --write"
80
- ]
99
+ "engines": {
100
+ "node": ">=20.10.0"
101
+ },
102
+ "publishConfig": {
103
+ "access": "public"
81
104
  }
82
105
  }
@@ -0,0 +1,32 @@
1
+ export default {
2
+ $schema: 'https://json.schemastore.org/prettierrc',
3
+ printWidth: 100,
4
+ tabWidth: 2,
5
+ useTabs: false,
6
+ semi: true,
7
+ singleQuote: true,
8
+ trailingComma: 'all',
9
+ bracketSpacing: true,
10
+ arrowParens: 'always',
11
+ endOfLine: 'lf',
12
+ proseWrap: 'preserve',
13
+ overrides: [
14
+ {
15
+ files: ['*.md'],
16
+ options: { proseWrap: 'preserve' },
17
+ },
18
+ {
19
+ files: ['*.yaml'],
20
+ options: { singleQuote: false },
21
+ },
22
+ {
23
+ files: ['*.json', '*.jsonc'],
24
+ options: { singleQuote: false },
25
+ },
26
+ {
27
+ files: ['*.cjs'],
28
+ options: { parser: 'babel' },
29
+ },
30
+ ],
31
+ plugins: ['prettier-plugin-packagejson'],
32
+ };
@@ -0,0 +1,30 @@
1
+ ## 🚀 What's New in v5.0.1
2
+
3
+ ### ✨ New Features
4
+ - feat: simplify installation to single @stable tag
5
+ - feat: enhance manual release workflow with automatic release notes
6
+ - feat: add convenient npm scripts for command line releases
7
+
8
+ ### 🐛 Bug Fixes
9
+ - fix: stable tag
10
+ - fix: handle existing tags in promote-to-stable workflow
11
+ - fix: enable version bumping in manual release workflow
12
+ - fix: handle protected branch in manual release workflow
13
+ - fix: simplify npm publishing to use latest tag only
14
+ - fix: update installer package.json version to 5.1.0
15
+
16
+ ### 📦 Other Changes
17
+ - docs: update versioning and releases documentation
18
+
19
+ ### 🔧 Maintenance
20
+ - chore: configure changelog file path in semantic-release config (#448)
21
+ - chore: add code formatting config and pre-commit hooks (#450)
22
+
23
+
24
+ ## 📦 Installation
25
+
26
+ ```bash
27
+ npx bmad-method install
28
+ ```
29
+
30
+ **Full Changelog**: https://github.com/bmadcode/BMAD-METHOD/compare/v5.0.0-beta.2...v5.0.1
@@ -5,30 +5,30 @@
5
5
  * This file ensures proper execution when run via npx from GitHub
6
6
  */
7
7
 
8
- const { execSync } = require('child_process');
9
- const path = require('path');
10
- const fs = require('fs');
8
+ const { execSync } = require('node:child_process');
9
+ const path = require('node:path');
10
+ const fs = require('node:fs');
11
11
 
12
12
  // Check if we're running in an npx temporary directory
13
13
  const isNpxExecution = __dirname.includes('_npx') || __dirname.includes('.npm');
14
14
 
15
15
  // If running via npx, we need to handle things differently
16
16
  if (isNpxExecution) {
17
- const args = process.argv.slice(2);
18
-
17
+ const arguments_ = process.argv.slice(2);
18
+
19
19
  // Use the installer for all commands
20
20
  const bmadScriptPath = path.join(__dirname, 'installer', 'bin', 'bmad.js');
21
-
21
+
22
22
  if (!fs.existsSync(bmadScriptPath)) {
23
23
  console.error('Error: Could not find bmad.js at', bmadScriptPath);
24
24
  console.error('Current directory:', __dirname);
25
25
  process.exit(1);
26
26
  }
27
-
27
+
28
28
  try {
29
- execSync(`node "${bmadScriptPath}" ${args.join(' ')}`, {
29
+ execSync(`node "${bmadScriptPath}" ${arguments_.join(' ')}`, {
30
30
  stdio: 'inherit',
31
- cwd: path.dirname(__dirname)
31
+ cwd: path.dirname(__dirname),
32
32
  });
33
33
  } catch (error) {
34
34
  process.exit(error.status || 1);
@@ -36,4 +36,4 @@ if (isNpxExecution) {
36
36
  } else {
37
37
  // Local execution - use installer for all commands
38
38
  require('./installer/bin/bmad.js');
39
- }
39
+ }