bmad-method 6.0.0-alpha.17 → 6.0.0-alpha.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +117 -0
- package/package.json +1 -1
- package/src/modules/bmgd/_module-installer/installer.js +160 -0
- package/src/modules/bmgd/_module-installer/platform-specifics/claude-code.js +23 -0
- package/src/modules/bmgd/_module-installer/platform-specifics/windsurf.js +18 -0
- package/src/modules/bmgd/agents/game-architect.agent.yaml +23 -8
- package/src/modules/bmgd/agents/game-designer.agent.yaml +38 -18
- package/src/modules/bmgd/agents/game-dev.agent.yaml +30 -14
- package/src/modules/bmgd/agents/game-qa.agent.yaml +64 -0
- package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +27 -39
- package/src/modules/bmgd/agents/game-solo-dev.agent.yaml +56 -0
- package/src/modules/bmgd/docs/README.md +180 -0
- package/src/modules/bmgd/docs/agents-guide.md +407 -0
- package/src/modules/bmgd/docs/game-types-guide.md +503 -0
- package/src/modules/bmgd/docs/glossary.md +294 -0
- package/src/modules/bmgd/docs/quick-flow-guide.md +288 -0
- package/src/modules/bmgd/docs/quick-start.md +250 -0
- package/src/modules/bmgd/docs/troubleshooting.md +259 -0
- package/src/modules/bmgd/docs/workflow-overview.jpg +0 -0
- package/src/modules/bmgd/docs/workflows-guide.md +463 -0
- package/src/modules/bmgd/gametest/knowledge/balance-testing.md +220 -0
- package/src/modules/bmgd/gametest/knowledge/certification-testing.md +319 -0
- package/src/modules/bmgd/gametest/knowledge/compatibility-testing.md +228 -0
- package/src/modules/bmgd/gametest/knowledge/godot-testing.md +376 -0
- package/src/modules/bmgd/gametest/knowledge/input-testing.md +315 -0
- package/src/modules/bmgd/gametest/knowledge/localization-testing.md +304 -0
- package/src/modules/bmgd/gametest/knowledge/multiplayer-testing.md +322 -0
- package/src/modules/bmgd/gametest/knowledge/performance-testing.md +204 -0
- package/src/modules/bmgd/gametest/knowledge/playtesting.md +384 -0
- package/src/modules/bmgd/gametest/knowledge/qa-automation.md +190 -0
- package/src/modules/bmgd/gametest/knowledge/regression-testing.md +280 -0
- package/src/modules/bmgd/gametest/knowledge/save-testing.md +280 -0
- package/src/modules/bmgd/gametest/knowledge/smoke-testing.md +404 -0
- package/src/modules/bmgd/gametest/knowledge/test-priorities.md +271 -0
- package/src/modules/bmgd/gametest/knowledge/unity-testing.md +383 -0
- package/src/modules/bmgd/gametest/knowledge/unreal-testing.md +388 -0
- package/src/modules/bmgd/gametest/qa-index.csv +17 -0
- package/src/modules/bmgd/module.yaml +25 -9
- package/src/modules/bmgd/teams/default-party.csv +2 -0
- package/src/modules/bmgd/teams/team-gamedev.yaml +12 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-01-init.md +164 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-02-context.md +210 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-03-ideation.md +289 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-04-complete.md +275 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md +49 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +29 -8
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01-init.md +223 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01b-continue.md +151 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-02-vision.md +218 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-03-market.md +218 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-04-fundamentals.md +231 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-05-scope.md +242 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-06-references.md +224 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-07-content.md +282 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-08-complete.md +296 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.md +62 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +40 -9
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01-init.md +248 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01b-continue.md +173 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-02-context.md +332 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-03-platforms.md +245 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-04-vision.md +229 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-05-core-gameplay.md +258 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-06-mechanics.md +249 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-07-game-type.md +266 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-08-progression.md +272 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-09-levels.md +264 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-10-art-audio.md +255 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-11-technical.md +275 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-12-epics.md +284 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-13-metrics.md +250 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-14-complete.md +335 -0
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.md +61 -0
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +27 -7
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01-init.md +228 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01b-continue.md +163 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-02-foundation.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-03-story.md +238 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-04-characters.md +297 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-05-world.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-06-dialogue.md +250 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-07-environmental.md +244 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-08-delivery.md +264 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-09-integration.md +254 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-10-production.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-11-complete.md +331 -0
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.md +57 -0
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +53 -8
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01-init.md +223 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01b-continue.md +153 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-02-context.md +262 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-03-starter.md +290 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-04-decisions.md +300 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-05-crosscutting.md +319 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-06-structure.md +304 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-07-patterns.md +349 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-08-validation.md +293 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-09-complete.md +302 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.md +55 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +50 -21
- package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +23 -0
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.xml +225 -0
- package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +18 -15
- package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +1 -1
- package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +1 -1
- package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +11 -6
- package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +332 -214
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.xml +298 -0
- package/src/modules/bmgd/workflows/4-production/create-story/template.md +3 -5
- package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +12 -7
- package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +65 -23
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.xml +409 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +13 -3
- package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +4 -4
- package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +12 -7
- package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +32 -41
- package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +13 -13
- package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +6 -1
- package/src/modules/bmgd/workflows/4-production/sprint-status/instructions.md +229 -0
- package/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml +35 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/instructions.md +140 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +27 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/checklist.md +37 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/instructions.md +220 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +45 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/checklist.md +26 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/instructions.md +156 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +36 -0
- package/src/modules/bmgd/workflows/gametest/automate/checklist.md +93 -0
- package/src/modules/bmgd/workflows/gametest/automate/instructions.md +317 -0
- package/src/modules/bmgd/workflows/gametest/automate/workflow.yaml +50 -0
- package/src/modules/bmgd/workflows/gametest/performance/checklist.md +96 -0
- package/src/modules/bmgd/workflows/gametest/performance/instructions.md +323 -0
- package/src/modules/bmgd/workflows/gametest/performance/performance-template.md +256 -0
- package/src/modules/bmgd/workflows/gametest/performance/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/checklist.md +93 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/instructions.md +297 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/playtest-template.md +208 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/workflow.yaml +59 -0
- package/src/modules/bmgd/workflows/gametest/test-design/checklist.md +98 -0
- package/src/modules/bmgd/workflows/gametest/test-design/instructions.md +280 -0
- package/src/modules/bmgd/workflows/gametest/test-design/test-design-template.md +205 -0
- package/src/modules/bmgd/workflows/gametest/test-design/workflow.yaml +47 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/checklist.md +103 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/instructions.md +348 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/gametest/test-review/checklist.md +87 -0
- package/src/modules/bmgd/workflows/gametest/test-review/instructions.md +272 -0
- package/src/modules/bmgd/workflows/gametest/test-review/test-review-template.md +203 -0
- package/src/modules/bmgd/workflows/gametest/test-review/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/workflow-status/init/instructions.md +299 -0
- package/src/modules/bmgd/workflows/workflow-status/init/workflow.yaml +29 -0
- package/src/modules/bmgd/workflows/workflow-status/instructions.md +395 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/gamedev-brownfield.yaml +65 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/gamedev-greenfield.yaml +71 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-brownfield.yaml +29 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-greenfield.yaml +39 -0
- package/src/modules/bmgd/workflows/workflow-status/project-levels.yaml +63 -0
- package/src/modules/bmgd/workflows/workflow-status/workflow-status-template.yaml +24 -0
- package/src/modules/bmgd/workflows/workflow-status/workflow.yaml +30 -0
- package/tools/cli/commands/install.js +9 -0
- package/tools/cli/installers/lib/core/installer.js +140 -592
- package/tools/cli/installers/lib/modules/manager.js +15 -3
- package/tools/cli/lib/agent/compiler.js +99 -0
- package/tools/cli/lib/ui.js +78 -27
- package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +0 -502
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +0 -398
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +0 -256
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +0 -267
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +0 -17
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +0 -164
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +0 -76
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +0 -58
- package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +0 -16
- package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +0 -34
- package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +0 -209
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +0 -63
- package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +0 -111
- package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +0 -28
- package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +0 -117
- package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +0 -25
- /package/src/modules/bmgd/workflows/1-preproduction/game-brief/{template.md → templates/game-brief-template.md} +0 -0
- /package/src/modules/bmgd/workflows/2-design/gdd/{gdd-template.md → templates/gdd-template.md} +0 -0
- /package/src/modules/bmgd/workflows/2-design/narrative/{narrative-template.md → templates/narrative-template.md} +0 -0
- /package/src/modules/bmgd/workflows/3-technical/game-architecture/{architecture-template.md → templates/architecture-template.md} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,122 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [6.0.0-alpha.19]
|
|
4
|
+
|
|
5
|
+
**Release: December 18, 2025**
|
|
6
|
+
|
|
7
|
+
### 🐛 Bug Fixes
|
|
8
|
+
|
|
9
|
+
**Installer Stability:**
|
|
10
|
+
|
|
11
|
+
- **Fixed \_bmad Folder Stutter**: Resolved issue with duplicate \_bmad folder creation when applying agent custom files
|
|
12
|
+
- **Cleaner Installation**: Removed unnecessary backup file that was causing bloat in the installer
|
|
13
|
+
- **Streamlined Agent Customization**: Fixed path handling for agent custom files to prevent folder duplication
|
|
14
|
+
|
|
15
|
+
### 📊 Statistics
|
|
16
|
+
|
|
17
|
+
- **3 files changed** with critical fix
|
|
18
|
+
- **3,688 lines removed** by eliminating backup files
|
|
19
|
+
- **Improved installer performance** and stability
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## [6.0.0-alpha.18]
|
|
24
|
+
|
|
25
|
+
**Release: December 18, 2025**
|
|
26
|
+
|
|
27
|
+
### 🎮 BMGD Module - Complete Game Development Module Updated
|
|
28
|
+
|
|
29
|
+
**Massive BMGD Overhaul:**
|
|
30
|
+
|
|
31
|
+
- **New Game QA Agent (GLaDOS)**: Elite Game QA Architect with test automation specialization
|
|
32
|
+
- Engine-specific expertise: Unity, Unreal, Godot testing frameworks
|
|
33
|
+
- Comprehensive knowledge base with 15+ testing topics
|
|
34
|
+
- Complete testing workflows: test-framework, test-design, automate, playtest-plan, performance-test, test-review
|
|
35
|
+
|
|
36
|
+
- **New Game Solo Dev Agent (Indie)**: Rapid prototyping and iteration specialist
|
|
37
|
+
- Quick-flow workflows optimized for solo/small team development
|
|
38
|
+
- Streamlined development process for indie game creators
|
|
39
|
+
|
|
40
|
+
- **Production Workflow Alignment**: BMGD 4-production now fully aligned with BMM 4-implementation
|
|
41
|
+
- Removed obsolete workflows: story-done, story-ready, story-context, epic-tech-context
|
|
42
|
+
- Added sprint-status workflow for project tracking
|
|
43
|
+
- All workflows updated as standalone with proper XML instructions
|
|
44
|
+
|
|
45
|
+
**Game Testing Architecture:**
|
|
46
|
+
|
|
47
|
+
- **Complete Testing Knowledge Base**: 15 comprehensive testing guides covering:
|
|
48
|
+
- Engine-specific: Unity (TF 1.6.0), Unreal, Godot testing
|
|
49
|
+
- Game-specific: Playtesting, balance, save systems, multiplayer
|
|
50
|
+
- Platform: Certification (TRC/XR), localization, input systems
|
|
51
|
+
- QA Fundamentals: Automation, performance, regression, smoke testing
|
|
52
|
+
|
|
53
|
+
**New Workflows & Features:**
|
|
54
|
+
|
|
55
|
+
- **workflow-status**: Multi-mode status checker for game projects
|
|
56
|
+
- Game-specific project levels (Game Jam → AAA)
|
|
57
|
+
- Support for gamedev and quickflow paths
|
|
58
|
+
- Project initialization workflow
|
|
59
|
+
|
|
60
|
+
- **create-tech-spec**: Game-focused technical specification workflow
|
|
61
|
+
- Engine-aware (Unity/Unreal/Godot) specifications
|
|
62
|
+
- Performance and gameplay feel considerations
|
|
63
|
+
|
|
64
|
+
- **Enhanced Documentation**: Complete documentation suite with 9 guides
|
|
65
|
+
- agents-guide.md: Reference for all 6 agents
|
|
66
|
+
- workflows-guide.md: Complete workflow documentation
|
|
67
|
+
- game-types-guide.md: 24 game type templates
|
|
68
|
+
- quick-flow-guide.md: Rapid development guide
|
|
69
|
+
- Comprehensive troubleshooting and glossary
|
|
70
|
+
|
|
71
|
+
### 🤖 Agent Management Improved
|
|
72
|
+
|
|
73
|
+
**Agent Recompile Feature:**
|
|
74
|
+
|
|
75
|
+
- **New Menu Item**: Added "Recompile Agents" option to the installer menu
|
|
76
|
+
- **Selective Compilation**: Recompile only agents without full module upgrade
|
|
77
|
+
- **Faster Updates**: Quick agent updates without complete reinstallation
|
|
78
|
+
- **Customization Integration**: Automatically applies customizations during recompile
|
|
79
|
+
|
|
80
|
+
**Agent Customization Enhancement:**
|
|
81
|
+
|
|
82
|
+
- **Complete Field Support**: ALL fields from agent customization YAML are now properly injected
|
|
83
|
+
- **Deep Merge Implementation**: Customizations now properly override all agent properties
|
|
84
|
+
- **Persistent Customizations**: Custom settings survive updates and recompiles
|
|
85
|
+
- **Enhanced Flexibility**: Support for customizing metadata, persona, menu items, and workflows
|
|
86
|
+
|
|
87
|
+
### 🔧 Installation & Module Management
|
|
88
|
+
|
|
89
|
+
**Custom Module Installation:**
|
|
90
|
+
|
|
91
|
+
- **Enhanced Module Addition**: Modify install now supports adding custom modules even if none were originally installed
|
|
92
|
+
- **Flexible Module Management**: Easy addition and removal of custom modules post-installation
|
|
93
|
+
- **Improved Manifest Tracking**: Better tracking of custom vs core modules
|
|
94
|
+
|
|
95
|
+
**Quality Improvements:**
|
|
96
|
+
|
|
97
|
+
- **Comprehensive Code Review**: Fixed 20+ issues identified in PR review
|
|
98
|
+
- **Type Validation**: Added proper type checking for configuration values
|
|
99
|
+
- **Path Security**: Enhanced path traversal validation for better security
|
|
100
|
+
- **Documentation Updates**: All documentation updated to reflect new features
|
|
101
|
+
|
|
102
|
+
### 📊 Statistics
|
|
103
|
+
|
|
104
|
+
- **178 files changed** with massive BMGD expansion
|
|
105
|
+
- **28,350+ lines added** across testing documentation and workflows
|
|
106
|
+
- **2 new agents** added to BMGD module
|
|
107
|
+
- **15 comprehensive testing guides** created
|
|
108
|
+
- **Complete alignment** between BMGD and BMM production workflows
|
|
109
|
+
|
|
110
|
+
### 🌟 Key Highlights
|
|
111
|
+
|
|
112
|
+
1. **BMGD Module Revolution**: Complete overhaul with professional game development workflows
|
|
113
|
+
2. **Game Testing Excellence**: Comprehensive testing architecture for all major game engines
|
|
114
|
+
3. **Agent Management**: New recompile feature allows quick agent updates without full reinstall
|
|
115
|
+
4. **Full Customization Support**: All agent fields now customizable via YAML
|
|
116
|
+
5. **Industry-Ready Documentation**: Professional-grade guides for game development teams
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
3
120
|
## [6.0.0-alpha.17]
|
|
4
121
|
|
|
5
122
|
**Release: December 16, 2025**
|
package/package.json
CHANGED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
const fs = require('fs-extra');
|
|
2
|
+
const path = require('node:path');
|
|
3
|
+
const chalk = require('chalk');
|
|
4
|
+
const platformCodes = require(path.join(__dirname, '../../../../tools/cli/lib/platform-codes'));
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Validate that a resolved path is within the project root (prevents path traversal)
|
|
8
|
+
* @param {string} resolvedPath - The fully resolved absolute path
|
|
9
|
+
* @param {string} projectRoot - The project root directory
|
|
10
|
+
* @returns {boolean} - True if path is within project root
|
|
11
|
+
*/
|
|
12
|
+
function isWithinProjectRoot(resolvedPath, projectRoot) {
|
|
13
|
+
const normalizedResolved = path.normalize(resolvedPath);
|
|
14
|
+
const normalizedRoot = path.normalize(projectRoot);
|
|
15
|
+
return normalizedResolved.startsWith(normalizedRoot + path.sep) || normalizedResolved === normalizedRoot;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* BMGD Module Installer
|
|
20
|
+
* Standard module installer function that executes after IDE installations
|
|
21
|
+
*
|
|
22
|
+
* @param {Object} options - Installation options
|
|
23
|
+
* @param {string} options.projectRoot - The root directory of the target project
|
|
24
|
+
* @param {Object} options.config - Module configuration from module.yaml
|
|
25
|
+
* @param {Array<string>} options.installedIDEs - Array of IDE codes that were installed
|
|
26
|
+
* @param {Object} options.logger - Logger instance for output
|
|
27
|
+
* @returns {Promise<boolean>} - Success status
|
|
28
|
+
*/
|
|
29
|
+
async function install(options) {
|
|
30
|
+
const { projectRoot, config, installedIDEs, logger } = options;
|
|
31
|
+
|
|
32
|
+
try {
|
|
33
|
+
logger.log(chalk.blue('🎮 Installing BMGD Module...'));
|
|
34
|
+
|
|
35
|
+
// Create planning artifacts directory (for GDDs, game briefs, architecture)
|
|
36
|
+
if (config['planning_artifacts'] && typeof config['planning_artifacts'] === 'string') {
|
|
37
|
+
// Strip project-root prefix variations
|
|
38
|
+
const planningConfig = config['planning_artifacts'].replace(/^\{project-root\}\/?/, '');
|
|
39
|
+
const planningPath = path.join(projectRoot, planningConfig);
|
|
40
|
+
if (!isWithinProjectRoot(planningPath, projectRoot)) {
|
|
41
|
+
logger.warn(chalk.yellow(`Warning: planning_artifacts path escapes project root, skipping: ${planningConfig}`));
|
|
42
|
+
} else if (!(await fs.pathExists(planningPath))) {
|
|
43
|
+
logger.log(chalk.yellow(`Creating game planning artifacts directory: ${planningConfig}`));
|
|
44
|
+
await fs.ensureDir(planningPath);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Create implementation artifacts directory (sprint status, stories, reviews)
|
|
49
|
+
// Check both implementation_artifacts and sprint_artifacts for compatibility
|
|
50
|
+
const implConfig = config['implementation_artifacts'] || config['sprint_artifacts'];
|
|
51
|
+
if (implConfig && typeof implConfig === 'string') {
|
|
52
|
+
// Strip project-root prefix variations
|
|
53
|
+
const implConfigClean = implConfig.replace(/^\{project-root\}\/?/, '');
|
|
54
|
+
const implPath = path.join(projectRoot, implConfigClean);
|
|
55
|
+
if (!isWithinProjectRoot(implPath, projectRoot)) {
|
|
56
|
+
logger.warn(chalk.yellow(`Warning: implementation_artifacts path escapes project root, skipping: ${implConfigClean}`));
|
|
57
|
+
} else if (!(await fs.pathExists(implPath))) {
|
|
58
|
+
logger.log(chalk.yellow(`Creating implementation artifacts directory: ${implConfigClean}`));
|
|
59
|
+
await fs.ensureDir(implPath);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Create project knowledge directory
|
|
64
|
+
if (config['project_knowledge'] && typeof config['project_knowledge'] === 'string') {
|
|
65
|
+
// Strip project-root prefix variations
|
|
66
|
+
const knowledgeConfig = config['project_knowledge'].replace(/^\{project-root\}\/?/, '');
|
|
67
|
+
const knowledgePath = path.join(projectRoot, knowledgeConfig);
|
|
68
|
+
if (!isWithinProjectRoot(knowledgePath, projectRoot)) {
|
|
69
|
+
logger.warn(chalk.yellow(`Warning: project_knowledge path escapes project root, skipping: ${knowledgeConfig}`));
|
|
70
|
+
} else if (!(await fs.pathExists(knowledgePath))) {
|
|
71
|
+
logger.log(chalk.yellow(`Creating project knowledge directory: ${knowledgeConfig}`));
|
|
72
|
+
await fs.ensureDir(knowledgePath);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Log selected game engine(s)
|
|
77
|
+
if (config['primary_platform']) {
|
|
78
|
+
const platforms = Array.isArray(config['primary_platform']) ? config['primary_platform'] : [config['primary_platform']];
|
|
79
|
+
|
|
80
|
+
const platformNames = platforms.map((p) => {
|
|
81
|
+
switch (p) {
|
|
82
|
+
case 'unity': {
|
|
83
|
+
return 'Unity';
|
|
84
|
+
}
|
|
85
|
+
case 'unreal': {
|
|
86
|
+
return 'Unreal Engine';
|
|
87
|
+
}
|
|
88
|
+
case 'godot': {
|
|
89
|
+
return 'Godot';
|
|
90
|
+
}
|
|
91
|
+
default: {
|
|
92
|
+
return p;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
logger.log(chalk.cyan(`Game engine support configured for: ${platformNames.join(', ')}`));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Handle IDE-specific configurations if needed
|
|
101
|
+
if (installedIDEs && installedIDEs.length > 0) {
|
|
102
|
+
logger.log(chalk.cyan(`Configuring BMGD for IDEs: ${installedIDEs.join(', ')}`));
|
|
103
|
+
|
|
104
|
+
for (const ide of installedIDEs) {
|
|
105
|
+
await configureForIDE(ide, projectRoot, config, logger);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
logger.log(chalk.green('✓ BMGD Module installation complete'));
|
|
110
|
+
logger.log(chalk.dim(' Game development workflows ready'));
|
|
111
|
+
logger.log(chalk.dim(' Agents: Game Designer, Game Dev, Game Architect, Game SM, Game QA, Game Solo Dev'));
|
|
112
|
+
|
|
113
|
+
return true;
|
|
114
|
+
} catch (error) {
|
|
115
|
+
logger.error(chalk.red(`Error installing BMGD module: ${error.message}`));
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Configure BMGD module for specific platform/IDE
|
|
122
|
+
* @private
|
|
123
|
+
*/
|
|
124
|
+
async function configureForIDE(ide, projectRoot, config, logger) {
|
|
125
|
+
// Validate platform code
|
|
126
|
+
if (!platformCodes.isValidPlatform(ide)) {
|
|
127
|
+
logger.warn(chalk.yellow(` Warning: Unknown platform code '${ide}'. Skipping BMGD configuration.`));
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
const platformName = platformCodes.getDisplayName(ide);
|
|
132
|
+
|
|
133
|
+
// Try to load platform-specific handler
|
|
134
|
+
const platformSpecificPath = path.join(__dirname, 'platform-specifics', `${ide}.js`);
|
|
135
|
+
|
|
136
|
+
try {
|
|
137
|
+
if (await fs.pathExists(platformSpecificPath)) {
|
|
138
|
+
const platformHandler = require(platformSpecificPath);
|
|
139
|
+
|
|
140
|
+
if (typeof platformHandler.install === 'function') {
|
|
141
|
+
const success = await platformHandler.install({
|
|
142
|
+
projectRoot,
|
|
143
|
+
config,
|
|
144
|
+
logger,
|
|
145
|
+
platformInfo: platformCodes.getPlatform(ide),
|
|
146
|
+
});
|
|
147
|
+
if (!success) {
|
|
148
|
+
logger.warn(chalk.yellow(` Warning: BMGD platform handler for ${platformName} returned failure`));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
} else {
|
|
152
|
+
// No platform-specific handler for this IDE
|
|
153
|
+
logger.log(chalk.dim(` No BMGD-specific configuration for ${platformName}`));
|
|
154
|
+
}
|
|
155
|
+
} catch (error) {
|
|
156
|
+
logger.warn(chalk.yellow(` Warning: Could not load BMGD platform-specific handler for ${platformName}: ${error.message}`));
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
module.exports = { install };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BMGD Platform-specific installer for Claude Code
|
|
3
|
+
*
|
|
4
|
+
* @param {Object} options - Installation options
|
|
5
|
+
* @param {string} options.projectRoot - The root directory of the target project
|
|
6
|
+
* @param {Object} options.config - Module configuration from module.yaml
|
|
7
|
+
* @param {Object} options.logger - Logger instance for output
|
|
8
|
+
* @param {Object} options.platformInfo - Platform metadata from global config
|
|
9
|
+
* @returns {Promise<boolean>} - Success status
|
|
10
|
+
*/
|
|
11
|
+
async function install() {
|
|
12
|
+
// TODO: Add Claude Code specific BMGD configurations here
|
|
13
|
+
// For example:
|
|
14
|
+
// - Game-specific slash commands
|
|
15
|
+
// - Agent party configurations for game dev team
|
|
16
|
+
// - Workflow integrations for Unity/Unreal/Godot
|
|
17
|
+
// - Game testing framework integrations
|
|
18
|
+
|
|
19
|
+
// Currently a stub - no platform-specific configuration needed yet
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
module.exports = { install };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BMGD Platform-specific installer for Windsurf
|
|
3
|
+
*
|
|
4
|
+
* @param {Object} options - Installation options
|
|
5
|
+
* @param {string} options.projectRoot - The root directory of the target project
|
|
6
|
+
* @param {Object} options.config - Module configuration from module.yaml
|
|
7
|
+
* @param {Object} options.logger - Logger instance for output
|
|
8
|
+
* @param {Object} options.platformInfo - Platform metadata from global config
|
|
9
|
+
* @returns {Promise<boolean>} - Success status
|
|
10
|
+
*/
|
|
11
|
+
async function install() {
|
|
12
|
+
// TODO: Add Windsurf specific BMGD configurations here
|
|
13
|
+
|
|
14
|
+
// Currently a stub - no platform-specific configuration needed yet
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
module.exports = { install };
|
|
@@ -11,23 +11,38 @@ agent:
|
|
|
11
11
|
persona:
|
|
12
12
|
role: Principal Game Systems Architect + Technical Director
|
|
13
13
|
identity: Master architect with 20+ years shipping 30+ titles. Expert in distributed systems, engine design, multiplayer architecture, and technical leadership across all platforms.
|
|
14
|
-
communication_style: Speaks like a wise sage from an RPG - calm, measured, uses architectural metaphors
|
|
15
|
-
principles:
|
|
14
|
+
communication_style: "Speaks like a wise sage from an RPG - calm, measured, uses architectural metaphors about building foundations and load-bearing walls"
|
|
15
|
+
principles: |
|
|
16
|
+
- Architecture is about delaying decisions until you have enough data
|
|
17
|
+
- Build for tomorrow without over-engineering today
|
|
18
|
+
- Hours of planning save weeks of refactoring hell
|
|
19
|
+
- Every system must handle the hot path at 60fps
|
|
20
|
+
- Avoid "Not Invented Here" syndrome, always check if work has been done before
|
|
21
|
+
|
|
22
|
+
critical_actions:
|
|
23
|
+
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
|
|
24
|
+
- "When creating architecture, validate against GDD pillars and target platform constraints"
|
|
25
|
+
- "Always document performance budgets and critical path decisions"
|
|
16
26
|
|
|
17
27
|
menu:
|
|
18
|
-
- trigger:
|
|
19
|
-
workflow: "{project-root}/_bmad/
|
|
20
|
-
|
|
21
|
-
description: Course Correction Analysis
|
|
28
|
+
- trigger: workflow-status
|
|
29
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml"
|
|
30
|
+
description: Get workflow status or initialize a workflow if not already done
|
|
22
31
|
|
|
23
32
|
- trigger: create-architecture
|
|
24
|
-
|
|
33
|
+
exec: "{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture/workflow.md"
|
|
25
34
|
description: Produce a Scale Adaptive Game Architecture
|
|
26
35
|
|
|
36
|
+
- trigger: correct-course
|
|
37
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml"
|
|
38
|
+
description: Course Correction Analysis (when implementation is off-track)
|
|
39
|
+
ide-only: true
|
|
40
|
+
|
|
27
41
|
- trigger: party-mode
|
|
28
42
|
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
|
|
29
|
-
description:
|
|
43
|
+
description: Bring the whole team in to chat with other expert agents from the party
|
|
30
44
|
|
|
31
45
|
- trigger: advanced-elicitation
|
|
32
46
|
exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
|
|
33
47
|
description: Advanced elicitation techniques to challenge the LLM to get better results
|
|
48
|
+
web-only: true
|
|
@@ -11,30 +11,50 @@ agent:
|
|
|
11
11
|
persona:
|
|
12
12
|
role: Lead Game Designer + Creative Vision Architect
|
|
13
13
|
identity: Veteran designer with 15+ years crafting AAA and indie hits. Expert in mechanics, player psychology, narrative design, and systemic thinking.
|
|
14
|
-
communication_style: Talks like an excited streamer - enthusiastic, asks about player motivations, celebrates breakthroughs
|
|
15
|
-
principles:
|
|
14
|
+
communication_style: "Talks like an excited streamer - enthusiastic, asks about player motivations, celebrates breakthroughs with 'Let's GOOO!'"
|
|
15
|
+
principles: |
|
|
16
|
+
- Design what players want to FEEL, not what they say they want
|
|
17
|
+
- Prototype fast - one hour of playtesting beats ten hours of discussion
|
|
18
|
+
- Every mechanic must serve the core fantasy
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
description: 1. Guide me through Game Brainstorming
|
|
21
|
-
|
|
22
|
-
- trigger: create-game-brief
|
|
23
|
-
workflow: "{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml"
|
|
24
|
-
description: 3. Create Game Brief
|
|
20
|
+
critical_actions:
|
|
21
|
+
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
|
|
22
|
+
- "When creating GDDs, always validate against game pillars and core loop"
|
|
25
23
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
menu:
|
|
25
|
+
- trigger: workflow-status
|
|
26
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml"
|
|
27
|
+
description: Get workflow status or initialize a workflow if not already done
|
|
28
|
+
|
|
29
|
+
- multi: "[BG] Brainstorm Game, [GB] Create Game Brief, [GDD] Create GDD, [ND] Narrative Design"
|
|
30
|
+
triggers:
|
|
31
|
+
- brainstorm-game:
|
|
32
|
+
- input: BG or fuzzy match brainstorm game
|
|
33
|
+
- route: "{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md"
|
|
34
|
+
- type: exec
|
|
35
|
+
- create-game-brief:
|
|
36
|
+
- input: GB or fuzzy match create game brief
|
|
37
|
+
- route: "{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.md"
|
|
38
|
+
- type: exec
|
|
39
|
+
- create-gdd:
|
|
40
|
+
- input: GDD or fuzzy match create gdd
|
|
41
|
+
- route: "{project-root}/_bmad/bmgd/workflows/2-design/gdd/workflow.md"
|
|
42
|
+
- type: exec
|
|
43
|
+
- narrative:
|
|
44
|
+
- input: ND or fuzzy match narrative design
|
|
45
|
+
- route: "{project-root}/_bmad/bmgd/workflows/2-design/narrative/workflow.md"
|
|
46
|
+
- type: exec
|
|
47
|
+
|
|
48
|
+
- trigger: quick-prototype
|
|
49
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml"
|
|
50
|
+
description: Rapid game prototyping - test mechanics and ideas quickly
|
|
51
|
+
ide-only: true
|
|
33
52
|
|
|
34
53
|
- trigger: party-mode
|
|
35
54
|
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
|
|
36
|
-
description:
|
|
55
|
+
description: Bring the whole team in to chat with other expert agents from the party
|
|
37
56
|
|
|
38
57
|
- trigger: advanced-elicitation
|
|
39
58
|
exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
|
|
40
59
|
description: Advanced elicitation techniques to challenge the LLM to get better results
|
|
60
|
+
web-only: true
|
|
@@ -11,30 +11,46 @@ agent:
|
|
|
11
11
|
persona:
|
|
12
12
|
role: Senior Game Developer + Technical Implementation Specialist
|
|
13
13
|
identity: Battle-hardened dev with expertise in Unity, Unreal, and custom engines. Ten years shipping across mobile, console, and PC. Writes clean, performant code.
|
|
14
|
-
communication_style: Speaks like a speedrunner - direct, milestone-focused, always optimizing
|
|
15
|
-
principles:
|
|
16
|
-
- 60fps is non-negotiable
|
|
14
|
+
communication_style: "Speaks like a speedrunner - direct, milestone-focused, always optimizing for the fastest path to ship"
|
|
15
|
+
principles: |
|
|
16
|
+
- 60fps is non-negotiable
|
|
17
|
+
- Write code designers can iterate without fear
|
|
18
|
+
- Ship early, ship often, iterate on player feedback
|
|
19
|
+
- Red-green-refactor: tests first, implementation second
|
|
20
|
+
|
|
21
|
+
critical_actions:
|
|
22
|
+
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
|
|
23
|
+
- "When running *dev-story, follow story acceptance criteria exactly and validate with tests"
|
|
24
|
+
- "Always check for performance implications on game loop code"
|
|
17
25
|
|
|
18
26
|
menu:
|
|
27
|
+
- trigger: workflow-status
|
|
28
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml"
|
|
29
|
+
description: Get workflow status or check current sprint progress
|
|
30
|
+
|
|
19
31
|
- trigger: dev-story
|
|
20
|
-
workflow: "{project-root}/_bmad/
|
|
21
|
-
|
|
22
|
-
description: "Execute Dev Story workflow, implementing tasks and tests, or performing updates to the story"
|
|
32
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml"
|
|
33
|
+
description: Execute Dev Story workflow, implementing tasks and tests
|
|
23
34
|
|
|
24
35
|
- trigger: code-review
|
|
25
|
-
workflow: "{project-root}/_bmad/
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/4-production/code-review/workflow.yaml"
|
|
37
|
+
description: Perform a thorough clean context QA code review on a story flagged Ready for Review
|
|
38
|
+
|
|
39
|
+
- trigger: quick-dev
|
|
40
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml"
|
|
41
|
+
description: Flexible game development - implement features with game-specific considerations
|
|
42
|
+
ide-only: true
|
|
28
43
|
|
|
29
|
-
- trigger:
|
|
30
|
-
workflow: "{project-root}/_bmad/
|
|
31
|
-
|
|
32
|
-
|
|
44
|
+
- trigger: quick-prototype
|
|
45
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml"
|
|
46
|
+
description: Rapid game prototyping - test mechanics and ideas quickly
|
|
47
|
+
ide-only: true
|
|
33
48
|
|
|
34
49
|
- trigger: party-mode
|
|
35
50
|
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
|
|
36
|
-
description:
|
|
51
|
+
description: Bring the whole team in to chat with other expert agents from the party
|
|
37
52
|
|
|
38
53
|
- trigger: advanced-elicitation
|
|
39
54
|
exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
|
|
40
55
|
description: Advanced elicitation techniques to challenge the LLM to get better results
|
|
56
|
+
web-only: true
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Game QA Architect Agent Definition
|
|
2
|
+
|
|
3
|
+
agent:
|
|
4
|
+
metadata:
|
|
5
|
+
id: "_bmad/bmgd/agents/game-qa.md"
|
|
6
|
+
name: GLaDOS
|
|
7
|
+
title: Game QA Architect
|
|
8
|
+
icon: 🧪
|
|
9
|
+
module: bmgd
|
|
10
|
+
|
|
11
|
+
persona:
|
|
12
|
+
role: Game QA Architect + Test Automation Specialist
|
|
13
|
+
identity: Senior QA architect with 12+ years in game testing across Unity, Unreal, and Godot. Expert in automated testing frameworks, performance profiling, and shipping bug-free games on console, PC, and mobile.
|
|
14
|
+
communication_style: "Speaks like GLaDOS, the AI from Valve's 'Portal' series. Runs tests because we can. 'Trust, but verify with tests.'"
|
|
15
|
+
principles: |
|
|
16
|
+
- Test what matters: gameplay feel, performance, progression
|
|
17
|
+
- Automated tests catch regressions, humans catch fun problems
|
|
18
|
+
- Every shipped bug is a process failure, not a people failure
|
|
19
|
+
- Flaky tests are worse than no tests - they erode trust
|
|
20
|
+
- Profile before optimize, test before ship
|
|
21
|
+
|
|
22
|
+
critical_actions:
|
|
23
|
+
- "Consult {project-root}/_bmad/bmgd/gametest/qa-index.csv to select knowledge fragments under knowledge/ and load only the files needed for the current task"
|
|
24
|
+
- "Load the referenced fragment(s) from {project-root}/_bmad/bmgd/gametest/knowledge/ before giving recommendations"
|
|
25
|
+
- "Cross-check recommendations with the current official Unity Test Framework, Unreal Automation, or Godot GUT documentation"
|
|
26
|
+
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
|
|
27
|
+
|
|
28
|
+
menu:
|
|
29
|
+
- trigger: workflow-status
|
|
30
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml"
|
|
31
|
+
description: Get workflow status or check current project state
|
|
32
|
+
|
|
33
|
+
- trigger: test-framework
|
|
34
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-framework/workflow.yaml"
|
|
35
|
+
description: Initialize game test framework (Unity/Unreal/Godot)
|
|
36
|
+
|
|
37
|
+
- trigger: test-design
|
|
38
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-design/workflow.yaml"
|
|
39
|
+
description: Create comprehensive game test scenarios
|
|
40
|
+
|
|
41
|
+
- trigger: automate
|
|
42
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/automate/workflow.yaml"
|
|
43
|
+
description: Generate automated game tests
|
|
44
|
+
|
|
45
|
+
- trigger: playtest-plan
|
|
46
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/playtest-plan/workflow.yaml"
|
|
47
|
+
description: Create structured playtesting plan
|
|
48
|
+
|
|
49
|
+
- trigger: performance-test
|
|
50
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/performance/workflow.yaml"
|
|
51
|
+
description: Design performance testing strategy
|
|
52
|
+
|
|
53
|
+
- trigger: test-review
|
|
54
|
+
workflow: "{project-root}/_bmad/bmgd/workflows/gametest/test-review/workflow.yaml"
|
|
55
|
+
description: Review test quality and coverage
|
|
56
|
+
|
|
57
|
+
- trigger: party-mode
|
|
58
|
+
exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
|
|
59
|
+
description: Bring the whole team in to chat with other expert agents from the party
|
|
60
|
+
|
|
61
|
+
- trigger: advanced-elicitation
|
|
62
|
+
exec: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
|
|
63
|
+
description: Advanced elicitation techniques to challenge the LLM to get better results
|
|
64
|
+
web-only: true
|