The update() and updateCore() methods were only syncing files without
recompiling agents. Since compiled .md agent files are always newer
than their source .agent.yaml files, mtime-based skip logic prevented
agent updates.
Now both methods call compileModuleAgents() after syncing, ensuring
agents are rebuilt from fresh source YAML. User customizations remain
safe in separate .customize.yaml files.
Fixed in two places:
- ModuleManager.update() for module agents (bmm, bmb, etc.)
- Installer.updateCore() for core agents (bmad-master)
Fixes: https://github.com/bmad-code-org/BMAD-METHOD/issues/1133🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: remove debug console.log statements from ui.js
* fix: add error handling and rollback for temp directory cleanup
* fix: use streaming for hash calculation to reduce memory usage
* refactor: hoist CustomHandler require to top of installer.js and ui.js
* fix: fail fast on malformed custom module YAML
User customizations must be valid - silent skip hides broken configs.
* refactor: use consistent return type in handleMissingCustomSources
* refactor: clone config at install() entry to prevent mutation
- Added logic to create customize template files during agent compilation
- ModuleManager was only using existing customize files, not creating them
- Now customize.yaml files will be created for all module agents
- This fixes issue where agents in subdirectories had no customization support
Next: Need to fix agent-manifest.csv to find agents in subdirectories
- Module agents now discovered recursively at any depth in agents folder
- .agent.yaml files are compiled to .md format during module installation
- Custom agents also support subdirectory structure
- Agents maintain their directory structure when installed
- YAML files are skipped during file copying as they're compiled separately
- Added compileModuleAgents method to handle YAML-to-MD compilation
- Updated discoverAgents to recursively search for .agent.yaml files
- Agents in subdirectories are properly placed in _cfg/agents with relative paths
This fixes issue where agents like cbt-coach were not being compiled
and were only copied as YAML files.
- Module discovery now scans entire project recursively for install-config.yaml
- Removed hardcoded module locations (bmad-custom-src, etc.)
- Modules can exist anywhere with _module-installer/install-config.yaml
- All modules treated equally regardless of location
- No special UI handling for 'custom' modules
- Core module excluded from selection list (always installed first)
- Only install-config.yaml is valid (removed support for legacy config.yaml)
Modules are now discovered by structure, not location.
This commit extracts game development functionality from BMM into a standalone
BMGD (BMad Game Development) module and implements workflow vendoring to enable
module independence.
BMGD Module Creation:
- Moved agents: game-designer, game-dev, game-architect from BMM to BMGD
- Moved team config: team-gamedev
- Created new Game Dev Scrum Master agent using workflow vendoring pattern
- Reorganized workflows into industry-standard game dev phases:
* Phase 1 (Preproduction): brainstorm-game, game-brief
* Phase 2 (Design): gdd, narrative
* Phase 3 (Technical): game-architecture
* Phase 4 (Production): vendored from BMM workflows
- Updated all module metadata and config_source references
Workflow Vendoring Feature:
- Enables modules to copy workflows from other modules during installation
- Build-time process that updates config_source in vendored workflows
- New agent YAML attribute: workflow-install (build-time metadata)
- Final compiled agents use workflow-install value for workflow attribute
- Implementation in module manager: vendorCrossModuleWorkflows()
- Allows standalone module installation without forced dependencies
Technical Changes:
- tools/cli/lib/yaml-xml-builder.js: Use workflow-install for workflow attribute
- tools/cli/installers/lib/modules/manager.js: Add vendoring functions
- tools/schema/agent.js: Add workflow-install to menu item schema
- Updated 3 documentation files with workflow vendoring details
BMM Workflow Updates:
- workflow-status/init: Added game detection checkpoint
- workflow-status/paths/game-design.yaml: Redirect to BMGD module
- prd/instructions.md: Route game projects to BMGD
- research/instructions-market.md: Reference BMGD for game development
Documentation:
- Created comprehensive BMGD module README
- Added workflow vendoring documentation
- Updated BMB agent creation and module creation guides