When users enter "." as the installation directory, the web bundles directory
path was not being resolved correctly, causing the bundles to not be copied.
This fix ensures the web bundles directory is resolved using the same logic
as the main installation directory, resolving relative paths from the original
working directory where npx was executed.
# [4.8.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.7.0...v4.8.0) (2025-06-19)
### Bug Fixes
* installer has fast v4 update option now to keep the bmad method up to date with changes easily without breaking any customizations from the user. The SM and DEV are much more configurable to find epics stories and architectureal information when the prd and architecture are deviant from v4 templates and/or have not been sharded. so a config will give the user the option to configure the SM to use the full large documents or the sharded versions! ([aea7f3c](aea7f3cc86))
* prevent double installation when updating v4 ([af0e767](af0e767ecf))
* resolve undefined config properties in performUpdate ([0185e01](0185e012bb))
* update file-manager to properly handle YAML manifest files ([724cdd0](724cdd07a1))
### Features
* add early v4 detection for improved update flow ([29e7bbf](29e7bbf4c5))
* add file resolution context for IDE agents ([74d9bb4](74d9bb4b2b))
* update web builder to remove IDE-specific properties from agent bundles ([2f2a1e7](2f2a1e72d6))
- Remove 'root' property from YAML when building web bundles
- Remove 'IDE-FILE-RESOLUTION' and 'REQUEST-RESOLUTION' properties
- Filter out IDE-specific activation instructions
- Keep agent header minimal for web bundles
- Ensures web bundles are clean of IDE-specific configuration
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added flag to prevent installer.install() being called twice
- Fixed undefined 'directory' error by using answers.directory
- Update flow now completes without errors
- Prevents 'Cannot read properties of undefined' error after successful update
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added optional chaining for newConfig.ide access
- Added ides array to config object in performUpdate
- Fixes 'Cannot read properties of undefined' error after update
- Ensures all required config properties are present for showSuccessMessage
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Now detects existing v4 installations immediately after directory prompt
- Offers update option upfront for existing v4 installations
- If user declines update, continues with normal installation flow
- Added 'update' install type handling in installer
- Improves user experience by streamlining the update process
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add expansion pack installation system with game dev and infrastructure expansion packs
- Added expansion pack discovery and installation to BMAD installer
- Supports interactive and CLI installation of expansion packs
- Expansion pack files install to destination root (.bmad-core)
- Added game development expansion pack (.bmad-2d-phaser-game-dev)
- Game designer, developer, and scrum master agents
- Game-specific templates, tasks, workflows, and guidelines
- Specialized for Phaser 3 + TypeScript development
- Added infrastructure devops expansion pack (.bmad-infrastructure-devops)
- Platform engineering agent and infrastructure templates
- Expansion pack agents automatically integrate with IDE rules
- Added list:expansions command and --expansion-packs CLI option
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
* alpha expansion packs and installer update to support installing expansion packs optionally
* node20
---------
Co-authored-by: Brian Madison <brianmadison@Brians-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
- Reset both package.json files to version 4.3.0
- The v5.0.0 bump was accidental due to BREAKING CHANGE in commit message
- Enhanced lint-staged to check all YAML files in project including .bmad-core/
- This ensures husky catches YAML formatting issues before push
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix regex pattern to match both yml and yaml in agent markdown files
- This resolves validation failures after yaml-format standardized to 'yaml'
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Convert all functions to async to support chalk ES module import
- Replace string.replace with manual regex processing for async formatYamlContent calls
- This resolves the ERR_REQUIRE_ESM error in GitHub Actions format step
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add custom semantic-release plugin to sync installer package.json
- Update semantic-release config to include installer package.json in releases
- Disable manual version bump script in favor of conventional commits
- Add helper script for version synchronization
- This ensures semantic-release fully manages both package.json files
BREAKING CHANGE: Manual version bumping via npm scripts is now disabled. Use conventional commits for automated releases.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>