feat: Extract BMGD module and implement workflow vendoring

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
This commit is contained in:
Brian Madison
2025-11-05 20:44:22 -06:00
parent bc76d25be6
commit f84e18760f
66 changed files with 2527 additions and 226 deletions

View File

@@ -136,6 +136,40 @@ Tasks should be used for:
- Declare dependencies in config.yaml
- Version compatibility notes
### Workflow Vendoring (Advanced)
For modules that need workflows from other modules but want to remain standalone, use **workflow vendoring**:
**In Agent YAML:**
```yaml
menu:
- trigger: command-name
workflow: '{project-root}/bmad/SOURCE_MODULE/workflows/path/workflow.yaml'
workflow-install: '{project-root}/bmad/THIS_MODULE/workflows/vendored/workflow.yaml'
description: 'Command description'
```
**What Happens:**
- During installation, workflows are copied from `workflow` to `workflow-install` location
- Vendored workflows get `config_source` updated to reference this module's config
- Compiled agent only references the `workflow-install` path
- Module becomes fully standalone - no source module dependency required
**Use Cases:**
- Specialized modules that reuse common workflows with different configs
- Domain-specific adaptations (e.g., game dev using standard dev workflows)
- Testing workflows in isolation
**Benefits:**
- Module independence (no forced dependencies)
- Clean namespace (workflows in your module)
- Config isolation (use your module's settings)
- Customization ready (modify vendored workflows freely)
## Installation Infrastructure
### Required: \_module-installer/install-config.yaml