mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
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:
@@ -311,7 +311,15 @@ class YamlXmlBuilder {
|
||||
const attrs = [`cmd="${trigger}"`];
|
||||
|
||||
// Add handler attributes
|
||||
if (item.workflow) attrs.push(`workflow="${item.workflow}"`);
|
||||
// If workflow-install exists, use its value for workflow attribute (vendoring)
|
||||
// workflow-install is build-time metadata - tells installer where to copy workflows
|
||||
// The final XML should only have workflow pointing to the install location
|
||||
if (item['workflow-install']) {
|
||||
attrs.push(`workflow="${item['workflow-install']}"`);
|
||||
} else if (item.workflow) {
|
||||
attrs.push(`workflow="${item.workflow}"`);
|
||||
}
|
||||
|
||||
if (item['validate-workflow']) attrs.push(`validate-workflow="${item['validate-workflow']}"`);
|
||||
if (item.exec) attrs.push(`exec="${item.exec}"`);
|
||||
if (item.tmpl) attrs.push(`tmpl="${item.tmpl}"`);
|
||||
|
||||
Reference in New Issue
Block a user