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:
@@ -193,9 +193,23 @@ menu:
|
||||
- trigger: [emerging from conversation]
|
||||
workflow: [path based on capability]
|
||||
description: [user's words refined]
|
||||
```
|
||||
|
||||
# For cross-module workflow references (advanced):
|
||||
|
||||
- trigger: [another capability]
|
||||
workflow: "{project-root}/bmad/SOURCE_MODULE/workflows/path/to/workflow.yaml"
|
||||
workflow-install: "{project-root}/bmad/THIS_MODULE/workflows/vendored/path/workflow.yaml"
|
||||
description: [description]
|
||||
|
||||
`````
|
||||
</example>
|
||||
|
||||
<note>**Workflow Vendoring (Advanced):**
|
||||
When an agent needs workflows from another module, use both `workflow` (source) and `workflow-install` (destination).
|
||||
During installation, the workflow will be copied and configured for this module, making it standalone.
|
||||
This is typically used when creating specialized modules that reuse common workflows with different configurations.
|
||||
</note>
|
||||
|
||||
<template-output>agent_commands</template-output>
|
||||
</step>
|
||||
|
||||
@@ -298,14 +312,16 @@ menu: {{The capabilities built}}
|
||||
|
||||
**Folder Structure:**
|
||||
|
||||
```
|
||||
`````
|
||||
|
||||
{{agent_filename}}-sidecar/
|
||||
├── memories.md # Persistent memory
|
||||
├── instructions.md # Private directives
|
||||
├── knowledge/ # Knowledge base
|
||||
│ └── README.md
|
||||
└── sessions/ # Session notes
|
||||
```
|
||||
├── memories.md # Persistent memory
|
||||
├── instructions.md # Private directives
|
||||
├── knowledge/ # Knowledge base
|
||||
│ └── README.md
|
||||
└── sessions/ # Session notes
|
||||
|
||||
````
|
||||
|
||||
**File: memories.md**
|
||||
|
||||
@@ -323,7 +339,7 @@ menu: {{The capabilities built}}
|
||||
## Personal Notes
|
||||
|
||||
<!-- My observations and insights -->
|
||||
```
|
||||
````
|
||||
|
||||
**File: instructions.md**
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user