1065 Commits

Author SHA1 Message Date
sjennings
ccb64623bc
feat(bmgd): comprehensive BMGD module upgrade (#1151)
* feat(bmgd): comprehensive BMGD module upgrade

## New Agents
- **Game QA (GLaDOS)**: Game QA Architect + Test Automation Specialist
  - Engine-specific testing (Unity, Unreal, Godot)
  - Knowledge base with 15+ testing topics
  - Workflows: test-framework, test-design, automate, playtest-plan, performance-test, test-review

- **Game Solo Dev (Indie)**: Elite Indie Game Developer + Quick Flow Specialist
  - Rapid prototyping and iteration focused
  - Quick-flow workflows for solo/small team development

## Production Workflow Alignment
Aligned BMGD 4-production workflows with BMM 4-implementation:

### Removed Obsolete Workflows
- story-done (merged into dev-story)
- story-ready (merged into create-story)
- story-context (merged into create-story)
- epic-tech-context (no longer separate workflow)

### Added Workflows
- sprint-status: View sprint progress, surface risks, recommend next action

### Updated Workflows (now standalone, copied from BMM)
- code-review: Adversarial review with instructions.xml
- correct-course: Sprint change management
- create-story: Direct ready-for-dev marking
- dev-story: TDD implementation with instructions.xml
- retrospective: Epic completion review
- sprint-planning: Sprint status generation

## Game Testing Architecture (gametest/)
New knowledge base for game-specific testing:
- qa-index.csv: Knowledge fragment index
- 15 knowledge files covering:
  - Engine-specific: Unity, Unreal, Godot testing
  - Game-specific: Playtesting, balance, save systems, multiplayer
  - Platform: Certification (TRC/XR), localization, input
  - General QA: Automation, performance, regression, smoke tests

## Quick-Flow Workflows (bmgd-quick-flow/)
- quick-prototype: Rapid mechanic testing
- quick-dev: Flexible feature implementation

## Documentation
Complete documentation suite in docs/:
- README.md: Documentation index
- quick-start.md: Getting started guide
- agents-guide.md: All 6 agents reference
- workflows-guide.md: Complete workflow reference
- quick-flow-guide.md: Rapid development guide
- game-types-guide.md: 24 game type templates
- glossary.md: Game dev terminology
- troubleshooting.md: Common issues

## Teams & Installer
- Updated team-gamedev.yaml with all 6 agents and workflows
- Updated default-party.csv with Game QA and Game Solo Dev
- Created _module-installer/ with:
  - installer.js: Creates directories, logs engine selection
  - platform-specifics/: Claude Code and Windsurf handlers

## Agent Updates
All agents now reference standalone BMGD workflows:
- game-architect: correct-course → BMGD
- game-dev: dev-story, code-review → BMGD
- game-scrum-master: All production workflows → BMGD
- game-solo-dev: code-review → BMGD

## Module Configuration
- Added sprint_artifacts alias for workflow compatibility
- All workflows use bmgd/config.yaml

* fix(bmgd): update sprint-status workflow to reference bmgd instead of bmm

Replace all /bmad:bmm:workflows references with /bmad:bmgd:workflows
in the sprint-status workflow instructions.

* feat(bmgd): add workflow-status and create-tech-spec workflows

Add BMGD-native workflow-status and create-tech-spec workflows,
replacing all BMM references with BMGD paths.

## New Workflows

### workflow-status
- Multi-mode status checker for game projects
- Game-specific project levels (Game Jam → AAA)
- Workflow paths: gamedev-greenfield, gamedev-brownfield,
  quickflow-greenfield, quickflow-brownfield
- Init workflow for new game project setup

### create-tech-spec
- Game-focused spec engineering workflow
- Engine-aware (Unity/Unreal/Godot)
- Performance and gameplay feel considerations

## Agent Updates
Updated all BMGD agents to reference BMGD workflows:
- game-architect, game-designer, game-dev, game-qa,
  game-scrum-master, game-solo-dev

All agents now use /bmad:bmgd:workflows instead of /bmad:bmm:workflows

* fix(bmgd): address PR review findings and enhance playtesting docs

## PR Review Fixes (F1-F20)

### Configuration & Naming
- F1: Changed user_skill_level to game_dev_experience in module.yaml
- F3: Renamed gametest/framework to gametest/test-framework

### Cleanup
- F2: Deleted 4 orphaned root-level template files
- F6: Removed duplicate code block in create-story/instructions.xml
- F9: Removed trailing empty line from qa-index.csv
- F20: Deleted orphaned docs/unnamed.jpg

### Installer Improvements
- F7: Simplified platform handler stubs (removed unused code)
- F8: Added return value checking for platform handlers
- F13: Added path traversal validation (isWithinProjectRoot)
- F18: Added type validation for config string values

### Agent Fixes
- F10: Added workflow-status and advanced-elicitation to game-solo-dev
- F12: Fixed "GOTO step 2a" → "GOTO step 2" references
- F14: Removed duplicate project-context.md from principles in 5 agents

### Workflow Updates
- F17: Added input_file_patterns to playtest-plan workflow

### Documentation
- F4-F5: Updated quick-start.md with 6 agents and fixed table
- Updated workflows-guide.md with test-framework reference

### Knowledge Base Updates (from earlier CodeRabbit comments)
- Updated unity-testing.md to Test Framework 1.6.0
- Fixed unreal-testing.md (MarkAsGarbage, UnrealEditor.exe)
- Added FVerifyPlayerMoved note to smoke-testing.md
- Fixed certification-testing.md table formatting

### Playtesting Documentation Enhancement
- Added "Playtesting by Game Type" section (7 genres)
- Added "Processing Feedback Effectively" section
- Expanded from ~138 to ~340 lines

* refactor(bmgd): use exec for step-file workflows and multi format

Update agent menu items to use correct notation for step-file workflows:

**game-designer.agent.yaml:**
- Convert 4 step-file workflows to multi format with shortcodes:
  - [BG] brainstorm-game
  - [GB] create-game-brief
  - [GDD] create-gdd
  - [ND] narrative
- Changed from workflow: .yaml to exec: .md

**game-architect.agent.yaml:**
- Changed create-architecture from workflow: to exec: with workflow.md

---------

Co-authored-by: Scott Jennings <scott.jennings+CIGINT@cloudimperiumgames.com>
2025-12-17 14:33:22 +08:00
Brian Madison
e37edf098c modify install now supports adding custom modules even if there were no custom modules originally 2025-12-16 20:45:27 +08:00
Brian Madison
e3eb374218 chore: bump version to 6.0.0-alpha.17 with comprehensive changelog
Major improvements include:
- Revolutionary installer overhaul with unified flow for core and custom modules
- Full custom content support re-enabled with streamlined sharing
- Critical migration from .bmad to _bmad for AI visibility
- Agent memory system rollout with _bmad/_memory location
- Quick default selection for faster module installation
- BMM Phase 4 workflow improvements and standardization
- Sample modules demonstrating custom content creation
- Future-ready architecture for content segregation
6.0.0-alpha.17
2025-12-16 18:25:50 +08:00
Brian Madison
83b0df0f21 .17 changelog and link to changelog in installer output 2025-12-16 18:23:15 +08:00
Alex Verkhovsky
00a3af3eb0
fix(bmm): sprint-status workflow improvements (#1141)
* fix(bmm): sprint-status workflow improvements

- Remove dead by_epic template block and context_status variable (#1116, #1117)
- Define "first" story ordering as epic number then story number (#1119)
- Clarify retrospective check: "any retrospective status == optional" (#1120)
- Strengthen validate mode: check required metadata fields and valid statuses (#1121)
- Expand risk detection: stale file, orphaned stories, empty epics (#1122)
- Fix retrospective valid status: use "done" instead of "completed" for consistency

Fixes #1116, fixes #1117, fixes #1119, fixes #1120, fixes #1121, fixes #1122

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(bmm): address CodeRabbit review feedback

- Improve retrospective status descriptions for clarity
- Fix empty epic detection to only warn on in-progress epics
- Add 'generated' to required metadata field validation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-16 17:59:42 +08:00
Brian Madison
d0e0a0963a examples of custom modules, custom module and readme doc updates 2025-12-16 17:45:41 +08:00
Brian Madison
32615afaf9 memory location is non configurable _bmad/_memory for sidecar content 2025-12-16 15:43:38 +08:00
Brian Madison
59e4cc7b82 minor code cleanup 2025-12-16 13:09:20 +08:00
Brian Madison
c24821b6ed menu wording updates 2025-12-16 01:25:49 +08:00
Brian Madison
2c4c2d9717 reduce installer log output 2025-12-15 23:53:26 +08:00
Brian Madison
901b39de9a fixed duplicate entry in files manfest issue 2025-12-15 20:47:21 +08:00
Brian Madison
4d8d1f84f7 quick update works and retains custom content also 2025-12-15 19:54:40 +08:00
Brian Madison
48795d46de core and custom modules all install through the same flow now 2025-12-15 19:16:03 +08:00
Brian Madison
bbda7171bd quick update output modified 2025-12-15 17:30:12 +08:00
Brian Madison
08f05cf9a4 update menu updated 2025-12-15 16:25:01 +08:00
Brian Madison
c7827bf031 less verbose final output during install 2025-12-15 15:55:28 +08:00
Brian Madison
5716282898 roo installer had some bugs 2025-12-15 15:08:19 +08:00
Brian Madison
60238d2854 default accepted for installer quesitons 2025-12-15 12:55:57 +08:00
Brian Madison
6513c77d1b single install panel, no clearing disjointed between modules 2025-12-15 11:54:37 +08:00
Brian Madison
3cbe330b8e improved ui for initial install question intake 2025-12-15 11:33:01 +08:00
Brian Madison
ecc2901649 remove header display before tool selection 2025-12-15 11:05:27 +08:00
Brian Madison
d4eccf07cf reorganize order of questions to make more logical sense 2025-12-15 10:59:15 +08:00
Brian Madison
1da7705821 folder workflow naming alignment for consistency 2025-12-15 10:17:58 +08:00
Brian Madison
7f742d4af6 custom modules install after any non custom modules selected and after the core, manifest tracks custom modules separately to ensure always installed from the custom cache 2025-12-15 09:14:16 +08:00
Alex Verkhovsky
9fe79882b2
fix(release): restore automated release workflow for v6 (#1139)
* fix(release): update workflow to sync package-lock.json

- Call 'npm version' directly with --no-git-tag-version flag to ensure
  both package.json and package-lock.json are updated together
- Add 'alpha' option (default) for alpha version bumps
- Add 'beta' option to transition to/bump beta series
- Temporarily disable web bundles (tools/cli/bundlers/ is missing)

The workflow was previously calling non-existent npm scripts
(version:patch/minor/major) that were removed in the v6 refactor.

Note: This change cannot be fully tested without triggering an actual
release. The web bundles functionality requires a separate fix.

Fixes #1104

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(release): simplify version bump logic

Modern npm (v11+) correctly handles --preid flag transitions:
- prerelease --preid=beta on alpha.X produces beta.0 (works!)
- prerelease --preid=alpha on alpha.X produces alpha.X+1 (works!)

CodeRabbit warning was based on outdated npm behavior.
Consolidate alpha|beta into single case for cleaner code.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-15 07:34:04 +08:00
Alex Verkhovsky
ebb20f675f
chore(discord): suppress link embeds and handle truncated URLs (#1126)
* chore(discord): suppress link embeds and handle truncated URLs

- Add wrap_urls() to wrap URLs in <> to suppress Discord embeds
- Add strip_trailing_url() to remove partial URLs from truncated text
- Update all 6 workflow jobs with body text to use the new helpers
- Partial URLs (from truncation) are removed since they are unusable
- Complete URLs are wrapped to prevent large embed previews

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(discord): preserve URLs when escaping markdown

- Replace sed-based esc() with awk version that skips content inside
  <URL> wrappers, preventing URL corruption from backslash escaping
- Reorder pipeline: wrap_urls | esc (wrap first, then escape)
- Update comment: "partial" → "incomplete" for clarity

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-15 07:19:44 +08:00
Alex Verkhovsky
82cc10824a
fix(bmm): improve sprint-status validation and epic status handling (#1125)
* fix(bmm): improve sprint-status validation and epic status handling

- Add status validation with interactive correction for unknown values
- Update epic statuses to match state machine: backlog, in-progress, done
- Map legacy "contexted" status to "in-progress" explicitly
- Add retrospective status counting (optional, completed)
- Rewrite risk detection rules for LLM clarity
- Fix warnings vs risks naming inconsistency in data mode

Closes #1106
Closes #1118

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* style: fix prettier formatting in sprint-status instructions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 07:17:30 +08:00
Brian Madison
4c65f3a006 quick install fixed 2025-12-13 23:45:47 +08:00
Brian Madison
401e8e481c a few minor agent workflow main file cleanup actions 2025-12-13 23:04:54 +08:00
Brian Madison
cba7cf223f standardize custom agent workflow and module output, and improve module folder selection 2025-12-13 22:59:58 +08:00
Brian Madison
add789a408 remove unused code 2025-12-13 19:53:03 +08:00
Brian Madison
ae9851acab _cfg -> _config 2025-12-13 19:41:09 +08:00
Brian Madison
ac5fa5c23f agent customization now gets allied on quick update and compile agents 2025-12-13 19:23:02 +08:00
Brian Madison
8642553bd7 we only need one yaml lib 2025-12-13 18:35:07 +08:00
Brian Madison
ce42d56fdd agent customzation almost working again 2025-12-13 17:50:33 +08:00
Brian Madison
25c79e3fe5 folder rename from .bmad to _bmad 2025-12-13 16:22:34 +08:00
Brian Madison
0c873638ab remove dead and unused functionality - the web bundler will be replaced 2025-12-13 14:08:14 +08:00
Brian Madison
e6f911d791 remove dead and unused functionality - the web bundler will be replaced 2025-12-13 14:06:35 +08:00
Alex Verkhovsky
f11be2b2e2
chore: disable CodeRabbit walkthrough (#1115)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-13 13:34:41 +08:00
Murat K Ozcan
572074d2a6
Merge pull request #1109 from alexeyv/fix/normalize-dev-story-trigger
fix(bmm): normalize dev-story trigger naming
2025-12-12 12:45:14 -06:00
Murat K Ozcan
0ed546619f
Merge branch 'main' into fix/normalize-dev-story-trigger 2025-12-12 12:44:12 -06:00
Murat K Ozcan
c3b54c5fc6
Merge pull request #1108 from alexeyv/fix/normalize-status-kebab-case
fix(bmm): normalize story status references to lowercase kebab-case
2025-12-12 12:44:03 -06:00
Murat K Ozcan
e34f53d6f8
Merge branch 'main' into fix/normalize-status-kebab-case 2025-12-12 12:42:49 -06:00
Murat K Ozcan
ebbb44f961
Merge pull request #1107 from alexeyv/fix/remove-drafted-status-bmm
fix(bmm): remove stale 'drafted' story state from docs and workflows
2025-12-12 12:42:35 -06:00
Alex Verkhovsky
76185937c6 fix(bmm): normalize dev-story trigger naming
Rename 'develop-story' to 'dev-story' across agent triggers and documentation
to match the actual workflow folder and YAML configuration naming.

- Update dev.agent.yaml trigger from develop-story to dev-story
- Update game-dev.agent.yaml trigger from develop-story to dev-story
- Update 7 references in agents-guide.md documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 23:48:00 -07:00
Alex Verkhovsky
7a9f1d4a3c fix(bmm): normalize story status references to lowercase kebab-case
Updated status references to use canonical lowercase kebab-case format:

- dev-story/instructions.xml: Status field set to "review" (was "Ready for Review")
- dev-story/instructions.xml: Output messages reference actual "review" status
- dev-story/checklist.md: Status field instruction uses "review"
- daily-standup.xml: Status examples use "in-progress, review"

Story lifecycle: backlog → ready-for-dev → in-progress → review → done

Fixes #1105

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 23:22:05 -07:00
Alex Verkhovsky
7d6aae1b78 fix(bmm): remove stale 'drafted' story state from docs and workflows
The `drafted` story state is no longer used since create-story now sets
status directly to `ready-for-dev`. This PR removes all references to
this legacy state from BMM documentation and workflow files.

Changes:
- Remove `drafted` from story status definitions and state machine docs
- Remove dead story-context file detection (story-context files no longer exist)
- Replace "draft" verb with "create" in story-related messaging
- Add legacy `drafted` → `ready-for-dev` migration in sprint-status
- Clarify that validate-create-story is optional and doesn't change status
- Document story handoff sequence: create-story → (optional) validate → dev-story

Story lifecycle is now: backlog → ready-for-dev → in-progress → review → done

Closes #1089

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 21:20:44 -07:00
Dicky Moore
ed0defbe08
fix: normalize workflow manifest schema (#1071)
* fix: normalize workflow manifest schema

* fix: escape workflow manifest values safely

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-12 07:20:43 +08:00
Kevin Heidt
3bc485d0ed
Enhance config collector to support static fields (#1086)
Refactor config collection to handle both interactive and static fields. Update logic to process new static fields and merge answers accordingly.

Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-12 06:56:31 +08:00
Alex Verkhovsky
0f5a9cf0dd
fix: correct grammar in PRD workflow description (#1087) 2025-12-12 06:43:40 +08:00