Skip to content

Commit db7f96d

Browse files
authored
feat(installer): make compatibility shims optional (#2728)
1 parent b70486b commit db7f96d

31 files changed

Lines changed: 423 additions & 10 deletions

File tree

docs/how-to/install-bmad.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,19 @@ Use `npx bmad-method install` to set up BMad in your project. One command handle
2828
npx bmad-method install
2929
```
3030

31-
The interactive flow asks you five things:
31+
The interactive flow asks you six things when the selected modules still ship deprecated compatibility shims:
3232

3333
1. Installation directory (defaults to the current working directory)
3434
2. Which modules to install (checkboxes for core, bmm, bmb, cis, gds, tea)
3535
3. **"Ready to install (all stable)?"** — Yes accepts the latest released tag for every external module
3636
4. Which AI tools/IDEs to integrate with (claude-code, cursor, and others)
3737
5. Per-module config (name, language, output folder)
38+
6. Whether to install deprecated compatibility shim skills (defaults to No on a new installation)
3839

3940
Accept the defaults and you land on the latest stable release of every module, configured for your chosen tool.
4041

42+
Existing installations keep their current shim choice during Quick Update. Modify Install lets you change it explicitly. Once a release no longer contains any shims, the installer stops asking and removes previously installed shims through its normal update cleanup.
43+
4144
:::tip[Just want the newest prerelease?]
4245

4346
```bash
@@ -126,6 +129,8 @@ Under `--yes`, patch and minor upgrades apply automatically. Majors stay frozen
126129
| `--list-tools` | Print all supported tool/IDE IDs (with target directories) and exit. |
127130
| `--action <type>` | `install`, `update`, or `quick-update`. Defaults based on existing install state. |
128131
| `--custom-source <urls>` | Install custom modules from Git URLs or local paths |
132+
| `--shims` | Install deprecated compatibility shim skills when selected modules still provide them |
133+
| `--no-shims` | Explicitly omit deprecated compatibility shim skills; on an existing install this removes them during update |
129134
| `--channel <stable\|next>` | Apply to all externals (aliased as `--all-stable` / `--all-next`) |
130135
| `--all-stable` | Alias for `--channel=stable` |
131136
| `--all-next` | Alias for `--channel=next` |

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"rebundle": "node tools/installer/bundlers/bundle-web.js rebundle",
4545
"test": "npm run test:refs && npm run test:install && npm run test:urls && npm run test:site-url && npm run test:channels && npm run test:renderer && npm run test:retrospective && npm run test:sprint-planning && npm run test:skills && npm run lint && npm run lint:md && npm run format:check",
4646
"test:channels": "node test/test-installer-channels.js",
47-
"test:install": "node test/test-installation-components.js",
47+
"test:install": "node test/test-installation-components.js && node test/test-shim-policy.js",
4848
"test:refs": "node test/test-file-refs-csv.js",
4949
"test:renderer": "uv run --python 3.11 python -m unittest src/scripts/tests/test_config_utils.py src/scripts/tests/test_resolve_config.py src/scripts/tests/test_resolve_customization.py && node test/test-build-auto-renderer.js",
5050
"test:retrospective": "uv run --python 3.11 src/bmm-skills/ship/bmad-retrospective/scripts/tests/test_git_evidence.py && uv run --python 3.11 src/bmm-skills/ship/bmad-retrospective/scripts/tests/test_sprint_status.py",

src/bmm-skills/plan/bmad-generate-project-context/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: bmad-generate-project-context
33
description: 'Deprecated — forwards to bmad-project-context. Use when the user says "generate project context" or "create project context"'
4+
metadata:
5+
lifecycle: shim
46
---
57

68
# DEPRECATED — forwards to bmad-project-context

src/bmm-skills/v6-shims/bmad-create-architecture/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: bmad-create-architecture
33
description: 'Deprecated — forwards to bmad-architecture (create intent)'
4+
metadata:
5+
lifecycle: shim
46
---
57

68
# DEPRECATED — forwards to bmad-architecture (create intent)

src/bmm-skills/v6-shims/bmad-create-prd/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: bmad-create-prd
33
description: 'Deprecated — forwards to bmad-prd (create intent)'
4+
metadata:
5+
lifecycle: shim
46
---
57

68
# DEPRECATED — forwards to bmad-prd (create intent)

src/bmm-skills/v6-shims/bmad-create-story/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: bmad-create-story
33
description: "Deprecated: `bmad-build` is now the official implementation method. Only use this when explicitly invoked by name"
4+
metadata:
5+
lifecycle: shim
46
---
57

68
# Create Story Workflow

src/bmm-skills/v6-shims/bmad-dev-auto/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: bmad-dev-auto
33
description: "Deprecated: forwards to bmad-build-auto. Do not use unless invoked by name"
4+
metadata:
5+
lifecycle: shim
46
---
57

68
# Deprecated Build Auto Alias

src/bmm-skills/v6-shims/bmad-dev-story/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: bmad-dev-story
33
description: "Deprecated: `bmad-build` is now the official implementation method. Only use this when explicitly invoked by name"
4+
metadata:
5+
lifecycle: shim
46
---
57

68
# Dev Story Workflow

src/bmm-skills/v6-shims/bmad-document-project/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: bmad-document-project
33
description: 'Deprecated — forwards to bmad-project-context. Use when the user says "document this project" or "generate project docs"'
4+
metadata:
5+
lifecycle: shim
46
---
57

68
# DEPRECATED — forwards to bmad-project-context

src/bmm-skills/v6-shims/bmad-domain-research/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: bmad-domain-research
33
description: 'Deprecated — forwards to bmad-deep-recon (domain type)'
4+
metadata:
5+
lifecycle: shim
46
---
57

68
# DEPRECATED — forwards to bmad-deep-recon (domain type)

0 commit comments

Comments
 (0)