Compare commits

...

142 Commits

Author SHA1 Message Date
sjennings e39aa33eea
fix(bmgd): add workflow status update to game-architecture completion (#1161)
* fix(bmgd): add workflow status update to game-architecture completion

The game-architecture workflow was not updating the bmgd-workflow-status.yaml
file on completion, unlike other BMGD workflows (narrative, brainstorm-game).

Changes:
- Add step 4 "Update Workflow Status" to update create-architecture status
- Renumber subsequent steps (5-8 → 6-9)
- Add success metric for workflow status update
- Add failure condition for missing status update

* feat(bmgd): add generate-project-context workflow for game development

Adds a new workflow to create optimized project-context.md files for AI agent
consistency in game development projects.

New workflow files:
- workflow.md: Main workflow entry point
- project-context-template.md: Template for context file
- steps/step-01-discover.md: Context discovery & initialization
- steps/step-02-generate.md: Rules generation with A/P/C menus
- steps/step-03-complete.md: Finalization & optimization

Integration:
- Added generate-project-context trigger to game-architect agent menu
- Added project context creation option to game-architecture completion step
- Renumbered steps 6-9 → 7-10 to accommodate new step 6

Adapted from BMM generate-project-context with game-specific:
- Engine patterns (Unity, Unreal, Godot)
- Performance and frame budget rules
- Platform-specific requirements
- Game testing patterns

---------

Co-authored-by: Scott Jennings <scott.jennings+CIGINT@cloudimperiumgames.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-18 16:14:18 +08:00
Alex Verkhovsky 2da9aebaa8
docs: add DigitalOcean sponsor attribution (#1162) 2025-12-18 15:58:54 +08:00
Brian Madison 5c756b6404 chore: bump version to 6.0.0-alpha.19
Bug fix:
- Fixed _bmad folder stutter with agent custom files
- Removed unnecessary backup file causing installer bloat
- Improved path handling for agent customizations
2025-12-18 12:52:10 +08:00
Brian Madison 23f650ff4d fixed _bmad folder stutter with agent custom files 2025-12-18 03:22:46 +08:00
Brian Madison 363915b0c6 chore: bump version to 6.0.0-alpha.18
Major improvements:
- BMGD module complete overhaul with professional game development workflows
- New Game QA (GLaDOS) and Game Solo Dev (Indie) agents
- 15 comprehensive testing guides for all major game engines
- Agent recompile feature for quick updates without full reinstall
- Full agent customization support - ALL fields now customizable
- Enhanced custom module installation and management
- Complete BMGD documentation suite with 9 guides
2025-12-17 18:07:41 +08:00
Brian Madison f36369512b fixed issue with agent customization application, now all fields are customized form the custom yaml. also added a recompile agents menu item 2025-12-17 17:58:37 +08:00
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
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
Alex Verkhovsky e2d9d35ce9
fix(bmm): improve code review completion message (#1095)
Change "Story is ready for next work!" to "Code review complete!"

The original phrasing was misleading - when a code review finishes
with status "done", it means the review itself is complete and the
story is marked done in tracking. However, the user may choose to
do additional reviews or the story may genuinely be finished.
"Code review complete" more accurately describes what actually
happened without implying next steps.
2025-12-12 06:42:52 +08:00
Alex Verkhovsky 82e6433b69
refactor: standardize file naming to use dashes instead of underscores (#1094)
Rename output/template files and update all references to use kebab-case
(dashes) instead of snake_case (underscores) for consistency:

- project_context.md -> project-context.md (13 references)
- backlog_template.md -> backlog-template.md
- agent_commands.md -> agent-commands.md
- agent_persona.md -> agent-persona.md
- agent_purpose_and_type.md -> agent-purpose-and-type.md
2025-12-12 06:42:24 +08:00
Alex Verkhovsky be7e07cc1a
fix: fully silence CodeRabbit unless explicitly invoked (#1096)
- Disable high_level_summary to stop PR description modifications
- Disable commit_status to stop GitHub status checks
- Disable issue_enrichment.auto_enrich to stop auto-commenting on issues

These settings complement the existing review_status: false and
auto_review.enabled: false to ensure CodeRabbit only responds
when explicitly tagged with @coderabbitai review.
2025-12-12 06:32:24 +08:00
Alex Verkhovsky 079f79aba5
Merge pull request #1103 from bmad-code-org/docs/test-architect-ADR-usage-update-2
docs: test arch ADR usage update
2025-12-11 12:35:12 -07:00
murat b4d7e1adef docs: addressed further PR comments 2025-12-11 13:13:44 -06:00
murat 6e9fe6c9a2 fix: addressed review comment 2025-12-11 11:36:33 -06:00
Murat K Ozcan d2d9010a8e
Update src/modules/bmm/docs/test-architecture.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-11 10:15:23 -06:00
murat 6d5a1084eb docs: test arch ADR usage update 2 2025-12-11 09:43:25 -06:00
murat 978a93ed33 docs: test arch ADR usage update 2025-12-11 09:34:22 -06:00
Alex Verkhovsky ec90699016
Merge pull request #1090 from alexeyv/fix/issue-1088-remove-stale-workflow-refs
docs: remove stale references to deleted Phase 4 workflows
2025-12-11 04:38:31 -07:00
Alex Verkhovsky 0f06ef724b
Merge branch 'main' into fix/issue-1088-remove-stale-workflow-refs 2025-12-10 16:00:11 -07:00
Brian Madison 26e47562dd Release: 6.0.0-alpha.16
- Update changelog with recent changes
- Version bump to 6.0.0-alpha.16
- Document temporary custom content installation disable
- Document BMB workflow path fixes and package updates
2025-12-10 21:10:57 +09:00
Brian Madison 3256bda42f package updates 2025-12-10 21:04:38 +09:00
Brian Madison 3d2727e190 fix bmb path in step file issues 2025-12-10 20:56:56 +09:00
Brian Madison 446a0359ab fix bmb workflow paths 2025-12-10 20:50:24 +09:00
Brian Madison 45a97b070a disable custom content installation temporarily 2025-12-10 19:11:18 +09:00
Brian Madison a2d01813f0 temp removal of example modules 2025-12-10 19:05:15 +09:00
Alex Verkhovsky b9ba98d3f8 docs: remove stale references to deleted Phase 4 workflows
Removes references to epic-tech-context, story-context, story-done,
and story-ready workflows that were deleted in the Phase 4 transformation.

Also renames mislabeled excalidraw element IDs from proc-story-done
to proc-code-review to match the actual displayed text.

Fixes #1088
2025-12-09 21:50:39 -07:00
Murat K Ozcan 5971a88553
Merge pull request #1069 from alexeyv/chore/silence-coderabbit-status
chore: disable CodeRabbit review status comments
2025-12-09 17:10:13 -06:00
Murat K Ozcan 08642a0420
Merge pull request #1084 from alexeyv/fix/issue-1080-product-brief-next-steps
fix: correct markdown formatting in product-brief next steps
2025-12-09 17:09:46 -06:00
Alex Verkhovsky ec73e44097 fix: correct markdown formatting in product-brief next steps
Fixes #1080
2025-12-09 12:45:56 -07:00
Alex Verkhovsky d55f518a96 chore: disable CodeRabbit review status comments
Suppress the automatic "Review skipped" comments on PRs.
CodeRabbit can still be invoked on-demand with @coderabbitai review.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 14:02:33 -07:00
Alex Verkhovsky cf50f4935d
fix: address code review issues from alpha.14 to alpha.15 (#1068)
* fix: remove debug console.log statements from ui.js

* fix: add error handling and rollback for temp directory cleanup

* fix: use streaming for hash calculation to reduce memory usage

* refactor: hoist CustomHandler require to top of installer.js and ui.js

* fix: fail fast on malformed custom module YAML

User customizations must be valid - silent skip hides broken configs.

* refactor: use consistent return type in handleMissingCustomSources

* refactor: clone config at install() entry to prevent mutation
2025-12-08 13:24:30 -06:00
Brian Madison 55cb4681bc party mode and brainstorming had bmm config instead of core config listed causing loading error when bmm is not an installed module - fixed. 2025-12-08 08:11:39 -06:00
Brian Madison eb4325fab9 restore bmm as default selected module. 2025-12-08 08:04:39 -06:00
Brian Madison 57ceaf9fa9 conflict marker removed from docs 2025-12-08 08:01:00 -06:00
OhSeungWan 1513b2d478
fix: collect module.yaml prompts for custom modules (#1065)
Custom modules with module.yaml configuration prompts were not being
collected during installation. Added customModulePaths option to
ConfigCollector to resolve custom module paths from selectedFiles
and cachedModules sources.
2025-12-08 07:33:53 -06:00
Brian Madison 2da016f797 chore: bump version to alpha.15
- Module installation standardization with module.yaml
- Enhanced custom content installation with interactive search
- Added CodeRabbit AI and Raven's Verdict integrations
- Documentation improvements and cleanup
- Breaking change: _module-installer/install-config.yaml → module.yaml
2025-12-07 22:16:42 -06:00
Brian Madison 6947851393 module updates 2025-12-07 22:00:52 -06:00
Brian Madison 9d7b09d065 bmad_folder replacement working properly with custom and defauly modules 2025-12-07 21:58:44 -06:00
Brian Madison 86f2786dde remove hardcoded .bmad folders from demo content 2025-12-07 21:41:37 -06:00
Brian Madison a638f062b9 some debug output when installer errors 2025-12-07 21:03:05 -06:00
Brian Madison 738237b4ae custom install module cached 2025-12-07 20:46:09 -06:00
Brian Madison 6430173738 all modules custom or core use the same installer and have consistent behavior now. 2025-12-07 17:17:50 -06:00
Brian Madison baaa984a90 almost working installer updates 2025-12-07 15:38:49 -06:00
Brian Madison 38e65abd83 moved code of conduct to github folder, readme links to it 2025-12-07 14:55:44 -06:00
Alex Verkhovsky ff9a085dd0
feat: add Raven's Verdict PR review tool (#1054)
* feat: add Raven's Verdict PR review tool

* docs: add usage guidance to Raven's Verdict README

* docs: add guidance to skip PRs that shouldn't merge
2025-12-07 14:13:33 -06:00
Brian Madison d5c687d99d custom content installation guide 2025-12-07 14:11:17 -06:00
Brian Madison b68e5c0225 add custom content installation question to indicate location of custom content 2025-12-07 13:39:27 -06:00
Alex Verkhovsky 987f81ff64
feat: add CodeRabbit AI code review integration (#1053)
- Add .coderabbit.yaml with minimal config and path instructions
- Exclude node_modules from review scope
- Document pilot research and conclusions in docs/planning/

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

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 10:36:24 -06:00
Wendy Smoak 0c2afdd2bb
Change Gem creation link to Gemini Gem manager (#1057)
Updated the link for creating a Gem to the Gemini Gem manager.
2025-12-07 10:16:49 -06:00
Brian Madison a65ff90b44 example-custom-* disabled so installer does not find them when trying to install from npx 2025-12-07 07:48:44 -06:00
Brian Madison 80a90c01d4 chore: bump version to alpha.14
- Updated CHANGELOG.md with comprehensive Alpha.14 release notes
- Added advanced builder features and custom installation improvements
- IDE configuration preservation during upgrades
- Breaking change: removed legacy agent-install command
2025-12-07 02:21:49 -06:00
Brian Madison 119187a1e7 custom module installer improved, and removed agent-install 2025-12-07 02:10:03 -06:00
Brian Madison b252778043 custom inst imporove 2025-12-07 01:43:44 -06:00
Brian Madison eacfba2e5b custom agents and workflows can now also be installed with a simple custom.yaml designation 2025-12-06 22:45:02 -06:00
Brian Madison 903c7a4133 remove hardcoded agent sidecar locations to fully use config option 2025-12-06 21:37:43 -06:00
Brian Madison 8c04ccf3f0 rename default folder location for agent_sidecar_folder installation location 2025-12-06 21:21:03 -06:00
Brian Madison 6d98864ec1 sidecar files retained on updates 2025-12-06 21:17:13 -06:00
Brian Madison 1697a45376 sidecar content goes to custom core config location 2025-12-06 21:08:57 -06:00
Brian Madison ba2c81263b remove: all legacy file cleanup functionality
- Removed scanForLegacyFiles, performCleanup, and related methods from installer.js
- Removed --skip-cleanup option from install command
- Deleted cleanup.js command file entirely
- Simplified installation flow by removing cleanup prompts
- All tests passing after removal
2025-12-06 17:11:40 -06:00
Brian Madison 8d044f8c3e fix: prevent modules from showing as obsolete during reinstall
- Skip module selection prompt during update/reinstall
- Keep all existing installed modules by default
- This prevents inquirer from showing modules as 'obsolete items' with confusing delete options
- Modules are now preserved during update/reinstall operations
2025-12-06 16:56:09 -06:00
Brian Madison 74d071708d fix: nested agents now appear in CLI commands
- Fix getAgentsFromDir in bmad-artifacts.js to recursively scan subdirectories
- This ensures agents like cbt-coach and wellness-companion that are in subdirectories are properly found
- Agents now correctly get slash commands in .claude/commands/bmad/mwm/agents/
- All agents from the manifest now have corresponding IDE commands
2025-12-06 16:39:28 -06:00
Brian Madison 86e2daabba fix: ManifestGenerator now recursively scans for agents
- Updated getAgentsFromDir to search subdirectories for .md files
- Fixed installPath construction to include nested directory structure
- This ensures agents in subdirectories (like cbt-coach/cbt-coach.md) get added to agent-manifest.csv
- All agents now get proper CLI slash commands regardless of nesting depth
2025-12-06 16:31:32 -06:00
Brian Madison aad7a71718 fix: ManifestGenerator now scans for all installed modules
- Previously only scanned selectedModules, missing modules installed from custom locations
- Now scans the bmad directory to find all actually installed modules
- Any module with agents/workflows/tasks/tools will be included in manifests
- This fixes issue where MWM workflows weren't getting slash commands
- All modules now get equal treatment in IDE integration
2025-12-06 16:16:48 -06:00
Brian Madison f052967f65 fix: ModuleManager now creates customize.yaml files for agents
- Added logic to create customize template files during agent compilation
- ModuleManager was only using existing customize files, not creating them
- Now customize.yaml files will be created for all module agents
- This fixes issue where agents in subdirectories had no customization support

Next: Need to fix agent-manifest.csv to find agents in subdirectories
2025-12-06 16:02:07 -06:00
Brian Madison 1bd01e1ce6 feat: implement recursive agent discovery and compilation
- Module agents now discovered recursively at any depth in agents folder
- .agent.yaml files are compiled to .md format during module installation
- Custom agents also support subdirectory structure
- Agents maintain their directory structure when installed
- YAML files are skipped during file copying as they're compiled separately
- Added compileModuleAgents method to handle YAML-to-MD compilation
- Updated discoverAgents to recursively search for .agent.yaml files
- Agents in subdirectories are properly placed in _cfg/agents with relative paths

This fixes issue where agents like cbt-coach were not being compiled
and were only copied as YAML files.
2025-12-06 15:38:38 -06:00
Brian Madison 0d83799ecf refactor: simplify module discovery to scan entire project
- Module discovery now scans entire project recursively for install-config.yaml
- Removed hardcoded module locations (bmad-custom-src, etc.)
- Modules can exist anywhere with _module-installer/install-config.yaml
- All modules treated equally regardless of location
- No special UI handling for 'custom' modules
- Core module excluded from selection list (always installed first)
- Only install-config.yaml is valid (removed support for legacy config.yaml)

Modules are now discovered by structure, not location.
2025-12-06 15:28:37 -06:00
Brian Madison 7c5c97a914 atl rovo dev not in preferred list until fully tested 2025-12-06 14:25:29 -06:00
Brian Madison 7545bf9227 remove custom test content from src control 2025-12-06 12:53:43 -06:00
Brian Madison 228dfa28a5 installer updates working with basic flow 2025-12-06 12:53:43 -06:00
Alex Verkhovsky e3f756488a
feat(quality): add markdownlint-cli2 to quality checks (#1039)
- Add markdownlint-cli2 as dev dependency
- Add lint:md script to package.json
- Add markdownlint job to CI workflow
- Configure 5 rules: heading-increment, no-duplicate-heading,
  no-trailing-punctuation, no-bare-urls, no-space-in-emphasis
- Fix existing violations across 19 markdown files
- No auto-fix to prevent destructive changes

Closes #1034

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

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-06 12:40:07 -06:00
Alex Verkhovsky d85090060b
fix: read version from package.json instead of hardcoded fallback (#1041)
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-06 12:39:39 -06:00
Alex Verkhovsky a0442d4fb7
chore(cli): remove broken build caching (#1042)
The agent build caching never worked - BUILD-META comments were
never written to output files, so every build acted like --force.

Since building all 29 agents takes ~300ms, caching provided no
meaningful benefit. Removed ~190 lines of dead code including
checkIfNeedsRebuild, checkBuildStatus, buildMetadataComment,
and the --force flag.

Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-06 12:38:56 -06:00
Alex Verkhovsky e979b47fe5
fix(workflows): remove hardcoded years from WebSearch queries (#1040)
* update 2024 to 2025

* fix(workflows): remove hardcoded years from WebSearch queries

Years in search queries (2024/2025) do not improve results - search
engines already prioritize current documentation. Tested all patterns
and confirmed identical quality results with/without years.

Removes years from:
- step-03-starter.md (5 queries)
- step-04-decisions.md (2 queries)
- game-architecture/instructions.md (2 queries)

Leaves file-utils.md unchanged (test fixture data, not a search query).

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

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

* fix(workflows): remove year placeholders from research WebSearch queries

Search engines return current results regardless of year - removes
{{current_year}} and hardcoded 2025 from step-05-technical-trends.md

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

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

* refactor(workflows): replace {{current_year}} with semantic alternatives

Replaces year placeholder with context-appropriate wording:
- 'current data' for up-to-date information
- 'web searches' without year qualifier
- Updated failure mode to focus on using web searches

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

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

* fix(workflows): clarify failure mode about stale training data

Rephrased to explicitly mention training data cutoff as the reason
to use web searches for current technology trends.

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

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

* refactor(workflows): make web search references platform-agnostic

- Remove hardcoded year references from WebSearch queries
- Replace `WebSearch` tool name with natural language "search the web"
- Soften "training data is stale" to "verify and supplement your knowledge"
- Add web search prerequisite check to research workflow
- Add platform-agnostic design note to CLAUDE.md

This framework targets 15+ agentic platforms, not just Claude Code.
Tool-specific syntax like `WebSearch:` won't work across all platforms.

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

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

* refactor(research): clean up prompts and routing

---------

Co-authored-by: Pomazan Bohdan <pomazan.bogdan@gmail.com>
Co-authored-by: Brian <bmadcode@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-06 12:37:50 -06:00
Alex Verkhovsky a6dffb4706
fix(installer): remove hardcoded 'bmad' prefix from files-manifest.csv paths (#1043)
The manifest writer hardcoded 'bmad' as the path prefix regardless of
the actual folder name (.bmad, bmad, etc). The reader had a matching
hardcoded strip, so it worked by accident.

Now paths are stored relative to bmadDir without any prefix. Legacy
fallback strips 'bmad/' on read - safe because no real path inside
bmadDir would start with 'bmad/'.

Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-06 12:36:17 -06:00
Hang 282bc27c7e
feat(bmm): enhance PRD workflow with brownfield project support (#1047)
- Add three-branch conditional logic for document-based discovery:
  - PATH A: Has Product Brief (any project type)
  - PATH B: No Brief + Has Project Docs (brownfield)
  - PATH C: No Documents (greenfield from scratch)
- Add YAML frontmatter to all 12 PRD step files
- Add documentCounts to frontmatter for state tracking
- Fix step count (11 steps, not 10) and path typos
- Remove non-existent workflow references (story-context, validate-architecture)
- Update workflow chains and glossary definitions

Key insight: Branch based on DOCUMENT TYPE, not PROJECT TYPE.

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-06 12:35:30 -06:00
Alex Verkhovsky 5ee1551b5b
fix(bmm): remove stale validate-prd references (fixes #1030) (#1038)
- Remove validate-prd workflow references from all workflow path YAML files
- Update Excalidraw diagram: remove Validate PRD box and zombie JSON elements
- Re-export SVG at 1x scale
- Standardize implementation-readiness descriptions across all docs
- Add validation script (validate-svg-changes.sh) and README for SVG export process
- Correct Excalidraw timestamps

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

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-05 21:35:46 -06:00
Alex Verkhovsky c95b65f462
fix(bmm): correct code-review workflow status logic and checklist (#1015) (#1028)
- Fix checklist to only accept 'review' status (not 'ready-for-review')
- Include MEDIUM issues in done/in-progress status determination
- Initialize and track fixed_count/action_count variables for summary
- Add sprint-status.yaml sync when story status changes

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-05 21:27:11 -06:00
Nguyen Quang Huy 72ef9e9722
fix: use backticks for quoted phrase in code-review description (#1025)
Replace 'looks good' with `looks good` to avoid nested single quote
issues when IDEs generate command files from workflow YAML.

Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-05 21:26:04 -06:00
Paul Preibisch 8265bbf295
feat(installer): Enhanced TTS injection summary with tracking and documentation (#1037)
## Summary
- Track all files with TTS injection applied during installation
- Display informative summary explaining what TTS injection does
- Show backup location and restore command for recovery

## What is TTS Injection?
TTS (Text-to-Speech) injection adds voice instructions to BMAD agents,
enabling them to speak their responses aloud using AgentVibes.

Example: When you activate the PM agent, it will greet you with
spoken audio like "Hey! I'm your Project Manager. How can I help?"

## Changes
- **installer.js**: Track files in `processAgentFiles()`, `buildStandaloneAgents()`,
  and `rebuildAgentFiles()` when TTS markers are processed
- **compiler.js**: Add TTS injection support for custom agent compilation
- **ui.js**: Enhanced installation summary showing:
  - Explanation of what TTS injection is with example
  - List of all files with TTS injection applied (grouped by type)
  - Backup location (~/.bmad-tts-backups/)
  - Restore command for recovery

## Example Output
```
═══════════════════════════════════════════════════
            AgentVibes TTS Injection Summary
═══════════════════════════════════════════════════

What is TTS Injection?

  TTS (Text-to-Speech) injection adds voice instructions to BMAD agents,
  enabling them to speak their responses aloud using AgentVibes.

  Example: When you activate the PM agent, it will greet you with
  spoken audio like "Hey! I'm your Project Manager. How can I help?"

 TTS injection applied to 11 file(s):

  Party Mode (multi-agent conversations):
    • .bmad/core/workflows/party-mode/instructions.md
  Agent TTS (individual agent voices):
    • .bmad/bmm/agents/analyst.md
    • .bmad/bmm/agents/architect.md
    ...

Backups & Recovery:

  Pre-injection backups are stored in:
    ~/.bmad-tts-backups/

  To restore original files (removes TTS instructions):
    bmad-tts-injector.sh --restore /path/to/.bmad
```

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

Co-authored-by: Paul Preibisch <paul@paulpreibisch.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-05 18:54:03 -06:00
Murat K Ozcan f99e192e74
fix: tea ci nvmrc (#1036) 2025-12-05 12:30:20 -06:00
Brian Madison 0b9290789e installer fixes 2025-12-03 22:44:13 -06:00
Brian Madison aa1cf76f88 new workflow types generate slash commands 2025-12-03 21:36:24 -06:00
Alex Verkhovsky b8b4b65c10
feat(discord): compact plain-text notifications with bug fixes (#1021)
- Fix esc() bracket expression (] must be first in POSIX regex)
- Fix delete job: inline helper to avoid checkout of deleted ref
- Fix issue notifications: attribute close/reopen to actor, not author
- Simplify trunc() comment (remove false Unicode-safe claim)
- Smart truncation with wall-of-text detection
- Escape markdown and @mentions for safe display

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

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-03 20:22:59 -06:00
Brian Madison 73db5538bf roo installer improovement 2025-12-03 19:56:23 -06:00
Philip Louw 41f9cc1913
feat: add kiro-cli installer with BMad Core compliance (#993)
- Implement KiroCliSetup class extending BaseIdeSetup
- Generate 21 agents from YAML sources with JSON configs and markdown prompts
- Add runtime resource loading and numbered menu formatting
- Include BMad Core validation for required agent fields
- Fix agent naming conventions to prevent double prefixes
- Add .kiro/ directory to gitignore

Follows BMad Method standards for IDE installer integration.

Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-03 12:17:02 -06:00
Alex Verkhovsky 686af5b0ee
feat: add intelligent routing to quick-dev workflow (#1019)
Add escalation threshold and scale-adaptive routing to quick-dev:
- Simple requests get standard [t]/[e] choice
- Complex requests evaluated against project-levels.yaml
- Level 1-2 or uncertain → tech-spec recommended
- Level 3+ → BMad Method (workflow-init) recommended

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

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-03 12:14:36 -06:00
Dicky Moore 65658a499b
Feat/sprint status command (#1012)
* feat: add sprint-status command

* minor changes to reduce the change radius

---------

Co-authored-by: mq-bot <mq-bot@local>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-12-03 12:00:34 -06:00
Alex Verkhovsky d553a09f73
docs: create CODE_OF_CONDUCT.md (#1013)
* docs: create CODE_OF_CONDUCT.md

* chore: exclude CODE_OF_CONDUCT.md from Prettier

Third-party artifact should not be reformatted.

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

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

* docs: add Discord as enforcement contact channel

Uses permanent invite link. Discord is common practice for
open source project Code of Conduct enforcement.

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

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-03 10:42:28 -06:00
Brian Madison c79d081128 fix pm and architect agents menu items to load new step sharded workflows 2025-12-02 22:40:57 -06:00
Brian Madison 0b3964902a workflow builder has template LOD output options 2025-12-02 22:36:44 -06:00
Brian Madison 1e6fc4ba14 workflow creation update 2025-12-02 21:44:30 -06:00
Brian Madison aa30ef3e79 convert create epics and stories and implementation readiness to the new workflow step format 2025-12-02 19:22:15 -06:00
Brian Madison 6365a63dff workflow builder understands how to build continuable workflows 2025-12-02 19:22:15 -06:00
Alex Verkhovsky fe0817f590
fix(bmm): complete cleanup of epic-tech-context workflow removal (#1001)
- Remove references to deprecated epic-tech-context, story-context,
  validate-epic-tech-context, validate-story-context, and story-done workflows
- Simplify epic status: backlog → in-progress → done (was backlog → contexted)
- Update create-story to handle legacy 'contexted' status for backward compat
- Clean up sprint-planning instructions and status template
- Update docs: agents-guide, brownfield-guide, faq, glossary, quick-start

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

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-11-30 23:52:04 -06:00
758 changed files with 51331 additions and 19520 deletions

40
.coderabbit.yaml Normal file
View File

@ -0,0 +1,40 @@
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: "en-US"
early_access: true
reviews:
profile: chill
high_level_summary: false # don't post summary until explicitly invoked
request_changes_workflow: false
review_status: false
commit_status: false
walkthrough: false
poem: false
auto_review:
enabled: false
drafts: true # Can review drafts. Since it's manually triggered, it's fine.
auto_incremental_review: false # always review the whole PR, not just new commits
base_branches:
- main
path_filters:
- "!**/node_modules/**"
path_instructions:
- path: "**/*"
instructions: |
Focus on inconsistencies, contradictions, edge cases and serious issues.
Avoid commenting on minor issues such as linting, formatting and style issues.
When providing code suggestions, use GitHub's suggestion format:
```suggestion
<code changes>
```
- path: "**/*.js"
instructions: |
CLI tooling code. Check for: missing error handling on fs operations,
path.join vs string concatenation, proper cleanup in error paths.
Flag any process.exit() without error message.
chat:
auto_reply: true # Response to mentions in comments, a la @coderabbit review
issue_enrichment:
auto_enrich:
enabled: false # don't auto-comment on issues

128
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
the official BMAD Discord server (<https://discord.com/invite/gk8jAdXWmj>) - DM a moderator or flag a post.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
<https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
<https://www.contributor-covenant.org/faq>. Translations are available at
<https://www.contributor-covenant.org/translations>.

View File

@ -8,7 +8,7 @@ assignees: ''
# Idea: [Replace with a clear, actionable title] # Idea: [Replace with a clear, actionable title]
### PASS Framework ## PASS Framework
**P**roblem: **P**roblem:

34
.github/scripts/discord-helpers.sh vendored Normal file
View File

@ -0,0 +1,34 @@
#!/bin/bash
# Discord notification helper functions
# Escape markdown special chars and @mentions for safe Discord display
# Skips content inside <URL> wrappers to preserve URLs intact
esc() {
awk '{
result = ""; in_url = 0; n = length($0)
for (i = 1; i <= n; i++) {
c = substr($0, i, 1)
if (c == "<" && substr($0, i, 8) ~ /^<https?:/) in_url = 1
if (in_url) { result = result c; if (c == ">") in_url = 0 }
else if (c == "@") result = result "@ "
else if (index("[]\\*_()~`", c) > 0) result = result "\\" c
else result = result c
}
print result
}'
}
# Truncate to $1 chars (or 80 if wall-of-text with <3 spaces)
trunc() {
local max=$1
local txt=$(tr '\n\r' ' ' | cut -c1-"$max")
local spaces=$(printf '%s' "$txt" | tr -cd ' ' | wc -c)
[ "$spaces" -lt 3 ] && [ ${#txt} -gt 80 ] && txt=$(printf '%s' "$txt" | cut -c1-80)
printf '%s' "$txt"
}
# Remove incomplete URL at end of truncated text (incomplete URLs are useless)
strip_trailing_url() { sed -E 's~<?https?://[^[:space:]]*$~~'; }
# Wrap URLs in <> to suppress Discord embeds (keeps links clickable)
wrap_urls() { sed -E 's~https?://[^[:space:]<>]+~<&>~g'; }

View File

@ -1,16 +1,310 @@
name: Discord Notification name: Discord Notification
"on": [pull_request, release, create, delete, issue_comment, pull_request_review, pull_request_review_comment] on:
pull_request:
types: [opened, closed, reopened, ready_for_review]
release:
types: [published]
create:
delete:
issue_comment:
types: [created]
pull_request_review:
types: [submitted]
pull_request_review_comment:
types: [created]
issues:
types: [opened, closed, reopened]
env:
MAX_TITLE: 100
MAX_BODY: 250
jobs: jobs:
notify: pull_request:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.repository.default_branch }}
sparse-checkout: .github/scripts
sparse-checkout-cone-mode: false
- name: Notify Discord
env:
WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
ACTION: ${{ github.event.action }}
MERGED: ${{ github.event.pull_request.merged }}
PR_NUM: ${{ github.event.pull_request.number }}
PR_URL: ${{ github.event.pull_request.html_url }}
PR_TITLE: ${{ github.event.pull_request.title }}
PR_USER: ${{ github.event.pull_request.user.login }}
PR_BODY: ${{ github.event.pull_request.body }}
run: |
set -o pipefail
source .github/scripts/discord-helpers.sh
[ -z "$WEBHOOK" ] && exit 0
if [ "$ACTION" = "opened" ]; then ICON="🔀"; LABEL="New PR"
elif [ "$ACTION" = "closed" ] && [ "$MERGED" = "true" ]; then ICON="🎉"; LABEL="Merged"
elif [ "$ACTION" = "closed" ]; then ICON="❌"; LABEL="Closed"
elif [ "$ACTION" = "reopened" ]; then ICON="🔄"; LABEL="Reopened"
else ICON="📋"; LABEL="Ready"; fi
TITLE=$(printf '%s' "$PR_TITLE" | trunc $MAX_TITLE | esc)
[ ${#PR_TITLE} -gt $MAX_TITLE ] && TITLE="${TITLE}..."
BODY=$(printf '%s' "$PR_BODY" | trunc $MAX_BODY)
if [ -n "$PR_BODY" ] && [ ${#PR_BODY} -gt $MAX_BODY ]; then
BODY=$(printf '%s' "$BODY" | strip_trailing_url)
fi
BODY=$(printf '%s' "$BODY" | wrap_urls | esc)
[ -n "$PR_BODY" ] && [ ${#PR_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
[ -n "$BODY" ] && BODY=" · $BODY"
USER=$(printf '%s' "$PR_USER" | esc)
MSG="$ICON **[$LABEL #$PR_NUM: $TITLE](<$PR_URL>)**"$'\n'"by @$USER$BODY"
jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
issues:
if: github.event_name == 'issues'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.repository.default_branch }}
sparse-checkout: .github/scripts
sparse-checkout-cone-mode: false
- name: Notify Discord
env:
WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
ACTION: ${{ github.event.action }}
ISSUE_NUM: ${{ github.event.issue.number }}
ISSUE_URL: ${{ github.event.issue.html_url }}
ISSUE_TITLE: ${{ github.event.issue.title }}
ISSUE_USER: ${{ github.event.issue.user.login }}
ISSUE_BODY: ${{ github.event.issue.body }}
ACTOR: ${{ github.actor }}
run: |
set -o pipefail
source .github/scripts/discord-helpers.sh
[ -z "$WEBHOOK" ] && exit 0
if [ "$ACTION" = "opened" ]; then ICON="🐛"; LABEL="New Issue"; USER="$ISSUE_USER"
elif [ "$ACTION" = "closed" ]; then ICON="✅"; LABEL="Closed"; USER="$ACTOR"
else ICON="🔄"; LABEL="Reopened"; USER="$ACTOR"; fi
TITLE=$(printf '%s' "$ISSUE_TITLE" | trunc $MAX_TITLE | esc)
[ ${#ISSUE_TITLE} -gt $MAX_TITLE ] && TITLE="${TITLE}..."
BODY=$(printf '%s' "$ISSUE_BODY" | trunc $MAX_BODY)
if [ -n "$ISSUE_BODY" ] && [ ${#ISSUE_BODY} -gt $MAX_BODY ]; then
BODY=$(printf '%s' "$BODY" | strip_trailing_url)
fi
BODY=$(printf '%s' "$BODY" | wrap_urls | esc)
[ -n "$ISSUE_BODY" ] && [ ${#ISSUE_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
[ -n "$BODY" ] && BODY=" · $BODY"
USER=$(printf '%s' "$USER" | esc)
MSG="$ICON **[$LABEL #$ISSUE_NUM: $TITLE](<$ISSUE_URL>)**"$'\n'"by @$USER$BODY"
jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
issue_comment:
if: github.event_name == 'issue_comment'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.repository.default_branch }}
sparse-checkout: .github/scripts
sparse-checkout-cone-mode: false
- name: Notify Discord
env:
WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
IS_PR: ${{ github.event.issue.pull_request && 'true' || 'false' }}
ISSUE_NUM: ${{ github.event.issue.number }}
ISSUE_TITLE: ${{ github.event.issue.title }}
COMMENT_URL: ${{ github.event.comment.html_url }}
COMMENT_USER: ${{ github.event.comment.user.login }}
COMMENT_BODY: ${{ github.event.comment.body }}
run: |
set -o pipefail
source .github/scripts/discord-helpers.sh
[ -z "$WEBHOOK" ] && exit 0
[ "$IS_PR" = "true" ] && TYPE="PR" || TYPE="Issue"
TITLE=$(printf '%s' "$ISSUE_TITLE" | trunc $MAX_TITLE | esc)
[ ${#ISSUE_TITLE} -gt $MAX_TITLE ] && TITLE="${TITLE}..."
BODY=$(printf '%s' "$COMMENT_BODY" | trunc $MAX_BODY)
if [ ${#COMMENT_BODY} -gt $MAX_BODY ]; then
BODY=$(printf '%s' "$BODY" | strip_trailing_url)
fi
BODY=$(printf '%s' "$BODY" | wrap_urls | esc)
[ ${#COMMENT_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
USER=$(printf '%s' "$COMMENT_USER" | esc)
MSG="💬 **[Comment on $TYPE #$ISSUE_NUM: $TITLE](<$COMMENT_URL>)**"$'\n'"@$USER: $BODY"
jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
pull_request_review:
if: github.event_name == 'pull_request_review'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.repository.default_branch }}
sparse-checkout: .github/scripts
sparse-checkout-cone-mode: false
- name: Notify Discord
env:
WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
STATE: ${{ github.event.review.state }}
PR_NUM: ${{ github.event.pull_request.number }}
PR_TITLE: ${{ github.event.pull_request.title }}
REVIEW_URL: ${{ github.event.review.html_url }}
REVIEW_USER: ${{ github.event.review.user.login }}
REVIEW_BODY: ${{ github.event.review.body }}
run: |
set -o pipefail
source .github/scripts/discord-helpers.sh
[ -z "$WEBHOOK" ] && exit 0
if [ "$STATE" = "approved" ]; then ICON="✅"; LABEL="Approved"
elif [ "$STATE" = "changes_requested" ]; then ICON="🔧"; LABEL="Changes Requested"
else ICON="👀"; LABEL="Reviewed"; fi
TITLE=$(printf '%s' "$PR_TITLE" | trunc $MAX_TITLE | esc)
[ ${#PR_TITLE} -gt $MAX_TITLE ] && TITLE="${TITLE}..."
BODY=$(printf '%s' "$REVIEW_BODY" | trunc $MAX_BODY)
if [ -n "$REVIEW_BODY" ] && [ ${#REVIEW_BODY} -gt $MAX_BODY ]; then
BODY=$(printf '%s' "$BODY" | strip_trailing_url)
fi
BODY=$(printf '%s' "$BODY" | wrap_urls | esc)
[ -n "$REVIEW_BODY" ] && [ ${#REVIEW_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
[ -n "$BODY" ] && BODY=": $BODY"
USER=$(printf '%s' "$REVIEW_USER" | esc)
MSG="$ICON **[$LABEL PR #$PR_NUM: $TITLE](<$REVIEW_URL>)**"$'\n'"@$USER$BODY"
jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
pull_request_review_comment:
if: github.event_name == 'pull_request_review_comment'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.repository.default_branch }}
sparse-checkout: .github/scripts
sparse-checkout-cone-mode: false
- name: Notify Discord
env:
WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
PR_NUM: ${{ github.event.pull_request.number }}
PR_TITLE: ${{ github.event.pull_request.title }}
COMMENT_URL: ${{ github.event.comment.html_url }}
COMMENT_USER: ${{ github.event.comment.user.login }}
COMMENT_BODY: ${{ github.event.comment.body }}
run: |
set -o pipefail
source .github/scripts/discord-helpers.sh
[ -z "$WEBHOOK" ] && exit 0
TITLE=$(printf '%s' "$PR_TITLE" | trunc $MAX_TITLE | esc)
[ ${#PR_TITLE} -gt $MAX_TITLE ] && TITLE="${TITLE}..."
BODY=$(printf '%s' "$COMMENT_BODY" | trunc $MAX_BODY)
if [ ${#COMMENT_BODY} -gt $MAX_BODY ]; then
BODY=$(printf '%s' "$BODY" | strip_trailing_url)
fi
BODY=$(printf '%s' "$BODY" | wrap_urls | esc)
[ ${#COMMENT_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
USER=$(printf '%s' "$COMMENT_USER" | esc)
MSG="💭 **[Review Comment PR #$PR_NUM: $TITLE](<$COMMENT_URL>)**"$'\n'"@$USER: $BODY"
jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
release:
if: github.event_name == 'release'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.repository.default_branch }}
sparse-checkout: .github/scripts
sparse-checkout-cone-mode: false
- name: Notify Discord
env:
WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
TAG: ${{ github.event.release.tag_name }}
NAME: ${{ github.event.release.name }}
URL: ${{ github.event.release.html_url }}
RELEASE_BODY: ${{ github.event.release.body }}
run: |
set -o pipefail
source .github/scripts/discord-helpers.sh
[ -z "$WEBHOOK" ] && exit 0
REL_NAME=$(printf '%s' "$NAME" | trunc $MAX_TITLE | esc)
[ ${#NAME} -gt $MAX_TITLE ] && REL_NAME="${REL_NAME}..."
BODY=$(printf '%s' "$RELEASE_BODY" | trunc $MAX_BODY)
if [ -n "$RELEASE_BODY" ] && [ ${#RELEASE_BODY} -gt $MAX_BODY ]; then
BODY=$(printf '%s' "$BODY" | strip_trailing_url)
fi
BODY=$(printf '%s' "$BODY" | wrap_urls | esc)
[ -n "$RELEASE_BODY" ] && [ ${#RELEASE_BODY} -gt $MAX_BODY ] && BODY="${BODY}..."
[ -n "$BODY" ] && BODY=" · $BODY"
TAG_ESC=$(printf '%s' "$TAG" | esc)
MSG="🚀 **[Release $TAG_ESC: $REL_NAME](<$URL>)**"$'\n'"$BODY"
jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
create:
if: github.event_name == 'create'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.repository.default_branch }}
sparse-checkout: .github/scripts
sparse-checkout-cone-mode: false
- name: Notify Discord
env:
WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
REF_TYPE: ${{ github.event.ref_type }}
REF: ${{ github.event.ref }}
ACTOR: ${{ github.actor }}
REPO_URL: ${{ github.event.repository.html_url }}
run: |
set -o pipefail
source .github/scripts/discord-helpers.sh
[ -z "$WEBHOOK" ] && exit 0
[ "$REF_TYPE" = "branch" ] && ICON="🌿" || ICON="🏷️"
REF_TRUNC=$(printf '%s' "$REF" | trunc $MAX_TITLE)
[ ${#REF} -gt $MAX_TITLE ] && REF_TRUNC="${REF_TRUNC}..."
REF_ESC=$(printf '%s' "$REF_TRUNC" | esc)
REF_URL=$(jq -rn --arg ref "$REF" '$ref | @uri')
ACTOR_ESC=$(printf '%s' "$ACTOR" | esc)
MSG="$ICON **${REF_TYPE^} created: [$REF_ESC](<$REPO_URL/tree/$REF_URL>)** by @$ACTOR_ESC"
jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-
delete:
if: github.event_name == 'delete'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Notify Discord - name: Notify Discord
uses: sarisia/actions-status-discord@v1 env:
if: always() WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
with: REF_TYPE: ${{ github.event.ref_type }}
webhook: ${{ secrets.DISCORD_WEBHOOK }} REF: ${{ github.event.ref }}
status: ${{ job.status }} ACTOR: ${{ github.actor }}
title: "Triggered by ${{ github.event_name }}" run: |
color: 0x5865F2 set -o pipefail
[ -z "$WEBHOOK" ] && exit 0
esc() { sed -e 's/[][\*_()~`]/\\&/g' -e 's/@/@ /g'; }
trunc() { tr '\n\r' ' ' | cut -c1-"$1"; }
REF_TRUNC=$(printf '%s' "$REF" | trunc 100)
[ ${#REF} -gt 100 ] && REF_TRUNC="${REF_TRUNC}..."
REF_ESC=$(printf '%s' "$REF_TRUNC" | esc)
ACTOR_ESC=$(printf '%s' "$ACTOR" | esc)
MSG="🗑️ **${REF_TYPE^} deleted: $REF_ESC** by @$ACTOR_ESC"
jq -n --arg content "$MSG" '{content: $content}' | curl -sf --retry 2 -X POST "$WEBHOOK" -H "Content-Type: application/json" -d @-

View File

@ -6,9 +6,11 @@ on:
version_bump: version_bump:
description: Version bump type description: Version bump type
required: true required: true
default: patch default: alpha
type: choice type: choice
options: options:
- alpha
- beta
- patch - patch
- minor - minor
- major - major
@ -49,7 +51,11 @@ jobs:
git config user.email "github-actions[bot]@users.noreply.github.com" git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Bump version - name: Bump version
run: npm run version:${{ github.event.inputs.version_bump }} run: |
case "${{ github.event.inputs.version_bump }}" in
alpha|beta) npm version prerelease --no-git-tag-version --preid=${{ github.event.inputs.version_bump }} ;;
*) npm version ${{ github.event.inputs.version_bump }} --no-git-tag-version ;;
esac
- name: Get new version and previous tag - name: Get new version and previous tag
id: version id: version
@ -61,34 +67,9 @@ jobs:
run: | run: |
sed -i 's/"version": ".*"/"version": "${{ steps.version.outputs.new_version }}"/' tools/installer/package.json sed -i 's/"version": ".*"/"version": "${{ steps.version.outputs.new_version }}"/' tools/installer/package.json
- name: Generate web bundles # TODO: Re-enable web bundles once tools/cli/bundlers/ is restored
run: npm run bundle # - name: Generate web bundles
# run: npm run bundle
- name: Package bundles for release
run: |
mkdir -p dist/release-bundles
# Copy web bundles
cp -r web-bundles dist/release-bundles/bmad-bundles-v${{ steps.version.outputs.new_version }}
# Verify bundles exist
if [ ! "$(ls -A dist/release-bundles/bmad-bundles-v${{ steps.version.outputs.new_version }})" ]; then
echo "❌ ERROR: No bundles found"
echo "This likely means 'npm run bundle' failed"
exit 1
fi
# Count and display bundles per module
for module in bmm bmb cis bmgd; do
if [ -d "dist/release-bundles/bmad-bundles-v${{ steps.version.outputs.new_version }}/$module/agents" ]; then
COUNT=$(find dist/release-bundles/bmad-bundles-v${{ steps.version.outputs.new_version }}/$module/agents -name '*.xml' 2>/dev/null | wc -l)
echo "✅ $module: $COUNT agents"
fi
done
# Create archive
tar -czf dist/release-bundles/bmad-bundles-v${{ steps.version.outputs.new_version }}.tar.gz \
-C dist/release-bundles/bmad-bundles-v${{ steps.version.outputs.new_version }} .
- name: Commit version bump - name: Commit version bump
run: | run: |
@ -185,25 +166,15 @@ jobs:
npm publish --tag latest npm publish --tag latest
fi fi
- name: Create GitHub Release with Bundles - name: Create GitHub Release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
tag_name: v${{ steps.version.outputs.new_version }} tag_name: v${{ steps.version.outputs.new_version }}
name: "BMad Method v${{ steps.version.outputs.new_version }}" name: "BMad Method v${{ steps.version.outputs.new_version }}"
body: | body: |
${{ steps.release_notes.outputs.RELEASE_NOTES }} ${{ steps.release_notes.outputs.RELEASE_NOTES }}
## 📦 Web Bundles
Download XML bundles for use in AI platforms (Claude Projects, ChatGPT, Gemini):
- `bmad-bundles-v${{ steps.version.outputs.new_version }}.tar.gz` - All modules (BMM, BMB, CIS, BMGD)
**Browse online** (bleeding edge): https://bmad-code-org.github.io/bmad-bundles/
draft: false draft: false
prerelease: ${{ contains(steps.version.outputs.new_version, 'alpha') || contains(steps.version.outputs.new_version, 'beta') }} prerelease: ${{ contains(steps.version.outputs.new_version, 'alpha') || contains(steps.version.outputs.new_version, 'beta') }}
files: |
dist/release-bundles/*.tar.gz
- name: Summary - name: Summary
run: | run: |
@ -212,7 +183,6 @@ jobs:
echo "### 📦 Distribution" >> $GITHUB_STEP_SUMMARY echo "### 📦 Distribution" >> $GITHUB_STEP_SUMMARY
echo "- **NPM**: Published with @latest tag" >> $GITHUB_STEP_SUMMARY echo "- **NPM**: Published with @latest tag" >> $GITHUB_STEP_SUMMARY
echo "- **GitHub Release**: https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v${{ steps.version.outputs.new_version }}" >> $GITHUB_STEP_SUMMARY echo "- **GitHub Release**: https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v${{ steps.version.outputs.new_version }}" >> $GITHUB_STEP_SUMMARY
echo "- **Web Bundles**: Attached to GitHub Release (4 archives)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY
echo "### ✅ Installation" >> $GITHUB_STEP_SUMMARY echo "### ✅ Installation" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY

View File

@ -3,6 +3,7 @@ name: Quality & Validation
# Runs comprehensive quality checks on all PRs: # Runs comprehensive quality checks on all PRs:
# - Prettier (formatting) # - Prettier (formatting)
# - ESLint (linting) # - ESLint (linting)
# - markdownlint (markdown quality)
# - Schema validation (YAML structure) # - Schema validation (YAML structure)
# - Agent schema tests (fixture-based validation) # - Agent schema tests (fixture-based validation)
# - Installation component tests (compilation) # - Installation component tests (compilation)
@ -50,6 +51,24 @@ jobs:
- name: ESLint - name: ESLint
run: npm run lint run: npm run lint
markdownlint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: markdownlint
run: npm run lint:md
validate: validate:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

16
.gitignore vendored
View File

@ -31,7 +31,7 @@ Thumbs.db
# IDE and editor configs # IDE and editor configs
.windsurf/ .windsurf/
.trae/ .trae/
.bmad*/.cursor/ _bmad*/.cursor/
# AI assistant files # AI assistant files
CLAUDE.md CLAUDE.md
@ -44,8 +44,8 @@ CLAUDE.local.md
.claude/settings.local.json .claude/settings.local.json
# Project-specific # Project-specific
.bmad-core _bmad-core
.bmad-creator-tools _bmad-creator-tools
test-project-install/* test-project-install/*
sample-project/* sample-project/*
flattened-codebase.xml flattened-codebase.xml
@ -62,12 +62,16 @@ src/modules/bmm/sub-modules/
src/modules/bmb/sub-modules/ src/modules/bmb/sub-modules/
src/modules/cis/sub-modules/ src/modules/cis/sub-modules/
src/modules/bmgd/sub-modules/ src/modules/bmgd/sub-modules/
shared-modules
z*/ z*/
.bmad _bmad
.claude .claude
.codex .codex
.github/chatmodes .github/chatmodes
.agent .agent
.agentvibes/ .agentvibes/
.kiro/
.roo
bmad-custom-src/

42
.markdownlint-cli2.yaml Normal file
View File

@ -0,0 +1,42 @@
# markdownlint-cli2 configuration
# https://github.com/DavidAnson/markdownlint-cli2
ignores:
- node_modules/**
- test/fixtures/**
- CODE_OF_CONDUCT.md
- _bmad/**
- _bmad*/**
- .agent/**
- .claude/**
- .roo/**
- .codex/**
- .agentvibes/**
- .kiro/**
- sample-project/**
- test-project-install/**
- z*/**
# Rule configuration
config:
# Disable all rules by default
default: false
# Heading levels should increment by one (h1 -> h2 -> h3, not h1 -> h3)
MD001: true
# Duplicate sibling headings (same heading text at same level under same parent)
MD024:
siblings_only: true
# Trailing commas in headings (likely typos)
MD026:
punctuation: ","
# Bare URLs - may not render as links in all parsers
# Should use <url> or [text](url) format
MD034: true
# Spaces inside emphasis markers - breaks rendering
# e.g., "* text *" won't render as emphasis
MD037: true

View File

@ -1,6 +1,9 @@
# Test fixtures with intentionally broken/malformed files # Test fixtures with intentionally broken/malformed files
test/fixtures/** test/fixtures/**
# Contributor Covenant (external standard)
CODE_OF_CONDUCT.md
# BMAD runtime folders (user-specific, not in repo) # BMAD runtime folders (user-specific, not in repo)
.bmad/ _bmad/
.bmad*/ _bmad*/

View File

@ -73,7 +73,7 @@
"editor.formatOnSave": true, "editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode", "editor.defaultFormatter": "esbenp.prettier-vscode",
"[javascript]": { "[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "vscode.typescript-language-features"
}, },
"[json]": { "[json]": {
"editor.defaultFormatter": "vscode.json-language-features" "editor.defaultFormatter": "vscode.json-language-features"

View File

@ -1,164 +1,441 @@
# Changelog # Changelog
## [6.0.0-alpha.19]
**Release: December 18, 2025**
### 🐛 Bug Fixes
**Installer Stability:**
- **Fixed \_bmad Folder Stutter**: Resolved issue with duplicate \_bmad folder creation when applying agent custom files
- **Cleaner Installation**: Removed unnecessary backup file that was causing bloat in the installer
- **Streamlined Agent Customization**: Fixed path handling for agent custom files to prevent folder duplication
### 📊 Statistics
- **3 files changed** with critical fix
- **3,688 lines removed** by eliminating backup files
- **Improved installer performance** and stability
---
## [6.0.0-alpha.18]
**Release: December 18, 2025**
### 🎮 BMGD Module - Complete Game Development Module Updated
**Massive BMGD Overhaul:**
- **New Game QA Agent (GLaDOS)**: Elite Game QA Architect with test automation specialization
- Engine-specific expertise: Unity, Unreal, Godot testing frameworks
- Comprehensive knowledge base with 15+ testing topics
- Complete testing workflows: test-framework, test-design, automate, playtest-plan, performance-test, test-review
- **New Game Solo Dev Agent (Indie)**: Rapid prototyping and iteration specialist
- Quick-flow workflows optimized for solo/small team development
- Streamlined development process for indie game creators
- **Production Workflow Alignment**: BMGD 4-production now fully aligned with BMM 4-implementation
- Removed obsolete workflows: story-done, story-ready, story-context, epic-tech-context
- Added sprint-status workflow for project tracking
- All workflows updated as standalone with proper XML instructions
**Game Testing Architecture:**
- **Complete Testing Knowledge Base**: 15 comprehensive testing guides covering:
- Engine-specific: Unity (TF 1.6.0), Unreal, Godot testing
- Game-specific: Playtesting, balance, save systems, multiplayer
- Platform: Certification (TRC/XR), localization, input systems
- QA Fundamentals: Automation, performance, regression, smoke testing
**New Workflows & Features:**
- **workflow-status**: Multi-mode status checker for game projects
- Game-specific project levels (Game Jam → AAA)
- Support for gamedev and quickflow paths
- Project initialization workflow
- **create-tech-spec**: Game-focused technical specification workflow
- Engine-aware (Unity/Unreal/Godot) specifications
- Performance and gameplay feel considerations
- **Enhanced Documentation**: Complete documentation suite with 9 guides
- agents-guide.md: Reference for all 6 agents
- workflows-guide.md: Complete workflow documentation
- game-types-guide.md: 24 game type templates
- quick-flow-guide.md: Rapid development guide
- Comprehensive troubleshooting and glossary
### 🤖 Agent Management Improved
**Agent Recompile Feature:**
- **New Menu Item**: Added "Recompile Agents" option to the installer menu
- **Selective Compilation**: Recompile only agents without full module upgrade
- **Faster Updates**: Quick agent updates without complete reinstallation
- **Customization Integration**: Automatically applies customizations during recompile
**Agent Customization Enhancement:**
- **Complete Field Support**: ALL fields from agent customization YAML are now properly injected
- **Deep Merge Implementation**: Customizations now properly override all agent properties
- **Persistent Customizations**: Custom settings survive updates and recompiles
- **Enhanced Flexibility**: Support for customizing metadata, persona, menu items, and workflows
### 🔧 Installation & Module Management
**Custom Module Installation:**
- **Enhanced Module Addition**: Modify install now supports adding custom modules even if none were originally installed
- **Flexible Module Management**: Easy addition and removal of custom modules post-installation
- **Improved Manifest Tracking**: Better tracking of custom vs core modules
**Quality Improvements:**
- **Comprehensive Code Review**: Fixed 20+ issues identified in PR review
- **Type Validation**: Added proper type checking for configuration values
- **Path Security**: Enhanced path traversal validation for better security
- **Documentation Updates**: All documentation updated to reflect new features
### 📊 Statistics
- **178 files changed** with massive BMGD expansion
- **28,350+ lines added** across testing documentation and workflows
- **2 new agents** added to BMGD module
- **15 comprehensive testing guides** created
- **Complete alignment** between BMGD and BMM production workflows
### 🌟 Key Highlights
1. **BMGD Module Revolution**: Complete overhaul with professional game development workflows
2. **Game Testing Excellence**: Comprehensive testing architecture for all major game engines
3. **Agent Management**: New recompile feature allows quick agent updates without full reinstall
4. **Full Customization Support**: All agent fields now customizable via YAML
5. **Industry-Ready Documentation**: Professional-grade guides for game development teams
---
## [6.0.0-alpha.17]
**Release: December 16, 2025**
### 🚀 Revolutionary Installer Overhaul
**Unified Installation Experience:**
- **Streamlined Module Installation**: Completely redesigned installer with unified flow for both core and custom content
- **Single Install Panel**: Eliminated disjointed clearing between modules for smoother, more intuitive installation
- **Quick Default Selection**: New quick install feature with default selections for faster setup of selected modules
- **Enhanced UI/UX**: Improved question order, reduced verbose output, and cleaner installation interface
- **Logical Question Flow**: Reorganized installer questions to follow natural progression and user expectations
**Custom Content Installation Revolution:**
- **Full Custom Content Support**: Re-enabled complete custom content generation and sharing through the installer
- **Custom Module Tracking**: Manifest now tracks custom modules separately to ensure they're always installed from the custom cache
- **Custom Installation Order**: Custom modules now install after core modules for better dependency management
- **Quick Update with Custom Content**: Quick update now properly retains and updates custom content
- **Agent Customization Integration**: Customizations are now applied during quick updates and agent compilation
### 🧠 Revolutionary Agent Memory & Visibility System
**Breaking Through Dot-Folder Limitations:**
- **Dot-Folder to Underscore Migration**: Critical change from `.bmad` to `_bmad` ensures LLMs (Codex, Claude, and others) can no longer ignore or skip BMAD content - dot folders are commonly filtered out by AI systems
- **Universal Content Visibility**: Underscore folders are treated as regular content, ensuring full AI agent access to all BMAD resources and configurations
- **Agent Memory Architecture**: Rolled out comprehensive agent memory support for installed agents with `-sidecar` folders
- **Persistent Agent Learning**: Sidecar content installs to `_bmad/_memory`, giving each agent the ability to learn and remember important information specific to its role
**Content Location Strategy:**
- **Standardized Memory Location**: All sidecar content now uses `_bmad/_memory` as the unified location for agent memories
- **Segregated Output System**: New architecture supports differentiating between ephemeral Phase 4 artifacts and long-term documentation
- **Forward Compatibility**: Existing installations continue working with content in docs folder, with optimization coming in next release
- **Configuration Cleanup**: Renamed `_cfg` to `_config` for clearer naming conventions
- **YAML Library Consolidation**: Reduced dependency to use only one YAML library for better stability
### 🎯 Future-Ready Architecture
**Content Organization Preview:**
- **Phase 4 Artifact Segregation**: Infrastructure ready for separating ephemeral workflow artifacts from permanent documentation
- **Planning vs Implementation Docs**: New system will differentiate between planning artifacts and long-term project documentation
- **Backward Compatibility**: Current installs maintain full functionality while preparing for optimized content organization
- **Quick Update Path**: Tomorrow's quick update will fully optimize all BMM workflows to use new segregated output locations
### 🎯 Sample Modules & Documentation
**Comprehensive Examples:**
- **Sample Unitary Module**: Complete example with commit-poet agent and quiz-master workflow
- **Sample Wellness Module**: Meditation guide and wellness companion agents demonstrating advanced patterns
- **Enhanced Documentation**: Updated README files and comprehensive installation guides
- **Custom Content Creation Guides**: Step-by-step documentation for creating and sharing custom modules
### 🔧 Bug Fixes & Optimizations
**Installer Improvements:**
- **Fixed Duplicate Entry Issue**: Resolved duplicate entries in files manifest
- **Reduced Log Noise**: Less verbose logging during installation for cleaner user experience
- **Menu Wording Updates**: Improved menu text for better clarity and understanding
- **Fixed Quick Install**: Resolved issues with quick installation functionality
**Code Quality:**
- **Minor Code Cleanup**: General cleanup and refactoring throughout the codebase
- **Removed Unused Code**: Cleaned up deprecated and unused functionality
- **Release Workflow Restoration**: Fixed automated release workflow for v6
**BMM Phase 4 Workflow Improvements:**
- **Sprint Status Enhancement**: Improved sprint-status validation with interactive correction for unknown values and better epic status handling
- **Story Status Standardization**: Normalized all story status references to lowercase kebab-case (ready-for-dev, in-progress, review, done)
- **Removed Stale Story State**: Eliminated deprecated 'drafted' story state - stories now go directly from creation to ready-for-dev
- **Code Review Clarity**: Improved code review completion message from "Story is ready for next work!" to "Code review complete!" for better clarity
- **Risk Detection Rules**: Rewrote risk detection rules for better LLM clarity and fixed warnings vs risks naming inconsistency
### 📊 Statistics
- **40+ commits** since alpha.16
- **Major installer refactoring** with complete UX overhaul
- **2 new sample modules** with comprehensive examples
- **Full custom content support** re-enabled and improved
### 🌟 Key Highlights
1. **Installer Revolution**: The installation system has been completely overhauled for better user experience, reliability, and speed
2. **Custom Content Freedom**: Users can now easily create, share, and install custom content through the streamlined installer
3. **AI Visibility Breakthrough**: Migration from `.bmad` to `_bmad` ensures LLMs can access all BMAD content (dot folders are commonly ignored by AI systems)
4. **Agent Memory System**: Rolled out persistent agent memory support - agents with `-sidecar` folders can now learn and remember important information in `_bmad/_memory`
5. **Quick Default Selection**: Installation is now faster with smart default selections for popular configurations
6. **Future-Ready Architecture**: Infrastructure in place for segregating ephemeral artifacts from permanent documentation (full optimization coming in next release)
## [6.0.0-alpha.16]
**Release: December 10, 2025**
### 🔧 Temporary Changes & Fixes
**Installation Improvements:**
- **Temporary Custom Content Installation Disable**: Custom content installation temporarily disabled to improve stability
- **BMB Workflow Path Fixes**: Fixed numerous path references in BMB workflows to ensure proper step file resolution
- **Package Updates**: Updated dependencies for improved security and performance
**Path Resolution Improvements:**
- **BMB Agent Builder Fixes**: Corrected path references in step files and documentation
- **Workflow Path Standardization**: Ensured consistent path handling across all BMB workflows
- **Documentation References**: Updated internal documentation links and references
**Cleanup Changes:**
- **Example Modules Removal**: Temporarily removed example modules to prevent accidental installation
- **Memory Management**: Improved sidecar file handling for custom modules
### 📊 Statistics
- **336 files changed** with path fixes and improvements
- **4 commits** since alpha.15
---
## [6.0.0-alpha.15]
**Release: December 7, 2025**
### 🔧 Module Installation Standardization
**Unified Module Configuration:**
- **module.yaml Standard**: All modules now use `module.yaml` instead of `_module-installer/install-config.yaml` for consistent configuration (BREAKING CHANGE)
- **Universal Installer**: Both core and custom modules now use the same installer with consistent behavior
- **Streamlined Module Creation**: Module builder templates updated to use new module.yaml standard
- **Enhanced Module Discovery**: Improved module caching and discovery mechanisms
**Custom Content Installation Revolution:**
- **Interactive Custom Content Search**: Installer now proactively asks if you have custom content to install
- **Flexible Location Specification**: Users can indicate custom content location during installation
- **Improved Custom Module Handler**: Enhanced error handling and debug output for custom installations
- **Comprehensive Documentation**: New custom-content-installation.md guide (245 lines) replacing custom-agent-installation.md
### 🤖 Code Review Integration Expansion
**AI Review Tools:**
- **CodeRabbit AI Integration**: Added .coderabbit.yaml configuration for automated code review
- **Raven's Verdict PR Review Tool**: New PR review automation tool (297 lines of documentation)
- **Review Path Configuration**: Proper exclusion patterns for node_modules and generated files
- **Review Documentation**: Comprehensive usage guidance and skip conditions for PRs
### 📚 Documentation Improvements
**Documentation Restructuring:**
- **Code of Conduct**: Moved to .github/ folder following GitHub standards
- **Gem Creation Link**: Updated to point to Gemini Gem manager instead of deprecated interface
- **Example Custom Content**: Improved README files and disabled example modules to prevent accidental installation
- **Custom Module Documentation**: Enhanced module installation guides with new YAML structure
### 🧹 Cleanup & Optimization
**Memory Management:**
- **Removed Hardcoded .bmad Folders**: Cleaned up demo content to use configurable paths
- **Sidecar File Cleanup**: Removed old .bmad-user-memory folders from wellness modules
- **Example Content Organization**: Better organization of example-custom-content directory
**Installer Improvements:**
- **Debug Output Enhancement**: Added informative debug output when installer encounters errors
- **Custom Module Caching**: Improved caching mechanism for custom module installations
- **Consistent Behavior**: All modules now behave consistently regardless of custom or core status
### 📊 Statistics
- **77 files changed** with 2,852 additions and 607 deletions
- **15 commits** since alpha.14
### ⚠️ Breaking Changes
1. **module.yaml Configuration**: All modules must now use `module.yaml` instead of `_module-installer/install-config.yaml`
- Core modules updated automatically
- Custom modules will need to rename their configuration file
- Module builder templates generate new format
### 📦 New Dependencies
- No new dependencies added in this release
---
## [6.0.0-alpha.14]
**Release: December 7, 2025**
### 🔧 Installation & Configuration Revolution
**Custom Module Installation Overhaul:**
- **Simple custom.yaml Installation**: Custom agents and workflows can now be installed with a single YAML file
- **IDE Configuration Preservation**: Upgrades will no longer delete custom modules, agents, and workflows from IDE configuration
- **Removed Legacy agent-install Command**: Streamlined installation process (BREAKING CHANGE)
- **Sidecar File Retention**: Custom sidecar files are preserved during updates
- **Flexible Agent Sidecar Locations**: Fully configurable via config options instead of hardcoded paths
**Module Discovery System Transformation:**
- **Recursive Agent Discovery**: Deep scanning for agents across entire project structure
- **Enhanced Manifest Generation**: Comprehensive scanning of all installed modules
- **Nested Agent Support**: Fixed nested agents appearing in CLI commands
- **Module Reinstall Fix**: Prevented modules from showing as obsolete during reinstall
### 🏗️ Advanced Builder Features
**Workflow Builder Evolution:**
- **Continuable Workflows**: Create workflows with sophisticated branching and continuation logic
- **Template LOD Options**: Level of Detail output options for flexible workflow generation
- **Step-Based Architecture**: Complete conversion to granular step-file system
- **Enhanced Creation Process**: Improved workflow creation with better template handling
**Module Builder Revolution:**
- **11-Step Module Creation**: Comprehensive step-by-step module generation process
- **Production-Ready Templates**: Complete templates for agents, installers, and workflow plans
- **Built-in Validation System**: Ensures module quality and BMad Core compliance
- **Professional Documentation**: Auto-generated module documentation and structure
### 🚀 BMad Method (BMM) Enhancements
**Workflow Improvements:**
- **Brownfield PRD Support**: Enhanced PRD workflow for existing project integration
- **Sprint Status Command**: New workflow for tracking development progress
- **Step-Based Format**: Improved continue functionality across all workflows
- **Quick-Spec-Flow Documentation**: Rapid development specification flows
**Documentation Revolution:**
- **Comprehensive Troubleshooting Guide**: 680-line detailed troubleshooting documentation
- **Quality Check Integration**: Added markdownlint-cli2 for markdown quality assurance
- **Enhanced Test Architecture**: Improved CI/CD templates and testing workflows
### 🌟 New Features & Integrations
**Kiro-Cli Installer:**
- **Intelligent Routing**: Smart routing to quick-dev workflow
- **BMad Core Compliance**: Full compliance with BMad standards
**Discord Notifications:**
- **Compact Format**: Streamlined plain-text notifications
- **Bug Fixes**: Resolved notification delivery issues
**Example Mental Wellness Module (MWM):**
- **Complete Module Example**: Demonstrates advanced module patterns
- **Multiple Agents**: CBT Coach, Crisis Navigator, Meditation Guide, Wellness Companion
- **Workflow Showcase**: Crisis support, daily check-in, meditation, journaling workflows
### 🐛 Bug Fixes & Optimizations
- Fixed version reading from package.json instead of hardcoded fallback
- Removed hardcoded years from WebSearch queries
- Removed broken build caching mechanism
- Enhanced TTS injection summary with tracking and documentation
- Fixed CI nvmrc configuration issues
### 📊 Statistics
- **335 files changed** with 17,161 additions and 8,204 deletions
- **46 commits** since alpha.13
### ⚠️ Breaking Changes
1. **Removed agent-install Command**: Migrate to new custom.yaml installation system
2. **Agent Sidecar Configuration**: Now requires explicit config instead of hardcoded paths
### 📦 New Dependencies
- `markdownlint-cli2: ^0.19.1` - Professional markdown linting
---
## [6.0.0-alpha.13] ## [6.0.0-alpha.13]
**Release: November 30, 2025** **Release: November 30, 2025**
### 🏗️ Revolutionary Workflow Architecture ### 🏗️ Revolutionary Workflow Architecture
**Granular Step-File Workflow System (NEW in alpha.13):** - **Step-File System**: Complete conversion to granular step-file architecture with dynamic menu generation
- **Phase 4 Transformation**: Simplified architecture with sprint planning integration (Jira, Linear, Trello)
- **Multi-Menu Support**: Workflows now support granular step-file architecture with dynamic menu generation - **Performance Improvements**: Eliminated time-based estimates, reduced file loading times
- **Sharded Workflows**: Complete conversion of Phase 1 and 2 workflows to stepwise sharded architecture - **Legacy Cleanup**: Removed all deprecated workflows for cleaner system
- **Improved Performance**: Reduced file loading times and eliminated time-based estimates throughout
- **Workflow Builder**: New dedicated workflow builder for creating stepwise workflows
- **PRD Workflow**: First completely reworked sharded workflow resolving Sonnet compatibility issues
**Core Workflow Transformations:**
- Phase 1 and 2 workflows completely converted to sharded step-flow architecture
- UX Design workflow converted to sharded step workflow
- Brainstorming, Research, and Party Mode updated to use sharded step-flow workflows
- Architecture workflows enhanced with step sharding and performance improvements
### 🎯 Code Review & Development Enhancement
**Advanced Code Review System:**
- **Adversarial Code Review**: Quick-dev workflow now recommends adversarial review approach for higher quality
- **Multi-LLM Strategy**: Dev-story workflow recommends different LLM models for code review tasks
- **Agent Compiler Optimization**: Complete handler cleanup and performance improvements
### 🤖 Agent System Revolution ### 🤖 Agent System Revolution
**Universal Custom Agent Support:** - **Universal Custom Agent Support**: Extended to ALL IDEs including Antigravity and Rovo Dev
- **Agent Creation Workflow**: Enhanced with better documentation and parameter clarity
- **Multi-Source Discovery**: Agents now check multiple source locations for better discovery
- **GitHub Migration**: Integration moved from chatmodes to agents folder
- **Complete IDE Coverage**: Custom agent support extended to ALL remaining IDEs ### 🧪 Testing Infrastructure
- **Antigravity IDE Integration**: Added custom agent support with proper gitignore configuration
- **Multiple Source Locations**: Compile agents now checks multiple source locations for better discovery
- **Persona Name Display**: Fixed proper persona names display in custom agent manifests
- **New IDE Support**: Added support for Rovo Dev IDE
**Agent Creation & Management:** - **Playwright Utils Integration**: @seontechnologies/playwright-utils across all testing workflows
- **TTS Injection System**: Complete text-to-speech integration for voice feedback
- **Improved Creation Workflow**: Enhanced agent creation workflow with better documentation - **Web Bundle Test Support**: Enabled web bundles for test environments
- **Parameter Clarity**: Renamed agent-install parameters for better understanding
- **Menu Organization**: BMad Agents menu items logically ordered with optional/recommended/required tags
- **GitHub Migration**: GitHub integration now uses agents folder instead of chatmodes
### 🔧 Phase 4 & Sprint Evolution
**Complete Phase 4 Transformation:**
- **Simplified Architecture**: Phase 4 workflows completely transformed - simpler, faster, better results
- **Sprint Planning Integration**: Unified sprint planning with placeholders for Jira, Linear, and Trello integration
- **Status Management**: Better status loading and updating for Phase 4 artifacts
- **Workflow Reduction**: Phase 4 streamlined to single sprint planning item with clear validation
- **Dynamic Workflows**: All Level 1-3 workflows now dynamically suggest next steps based on context
### 🧪 Testing Infrastructure Expansion
**Playwright Utils Integration:**
- Test Architect now supports `@seontechnologies/playwright-utils` integration
- Installation prompt with `use_playwright_utils` configuration flag
- 11 comprehensive knowledge fragments covering ALL utilities
- Adaptive workflow recommendations across 6 testing workflows
- Production-ready utilities from SEON Technologies integrated with TEA patterns
**Testing Environment:**
- **Web Bundle Support**: Enabled web bundles for test and development environments
- **Test Architecture**: Enhanced test design for architecture level (Phase 3) testing
### 📦 Installation & Configuration
**Installer Improvements:**
- **Cleanup Options**: Installer now allows cleanup of unneeded files during upgrades
- **Username Default**: Installer now defaults to system username for better UX
- **IDE Selection**: Added empty IDE selection warning and promoted Antigravity to recommended
- **NPM Vulnerabilities**: Resolved all npm vulnerabilities for enhanced security
- **Documentation Installation**: Made documentation installation optional to reduce footprint
**Text-to-Speech from AgentVibes optional Integration:**
- **TTS_INJECTION System**: Complete text-to-speech integration via injection system
- **Agent Vibes**: Enhanced with TTS capabilities for voice feedback
### 🛠️ Tool & IDE Updates
**IDE Tool Enhancements:**
- **GitHub Copilot**: Fixed tool names consistency across workflows
- **KiloCode Integration**: Gave kilocode tool proper access to bmad modes
- **Code Quality**: Added radix parameter to parseInt() calls for better reliability
- **Agent Menu Optimization**: Improved agent performance in Claude Code slash commands
### 📚 Documentation & Standards
**Documentation Cleanup:**
- **Installation Guide**: Removed fluff and updated with npx support
- **Workflow Documentation**: Fixed documentation by removing non-existent workflows and Mermaid diagrams
- **Phase Numbering**: Fixed phase numbering consistency throughout documentation
- **Package References**: Corrected incorrect npm package references
**Workflow Compliance:**
- **Validation Checks**: Enhanced workflow validation checks for compliance
- **Product Brief**: Updated to comply with documented workflow standards
- **Status Integration**: Workflow-status can now call workflow-init for better integration
### 🔍 Legacy Workflow Cleanup
**Deprecated Workflows Removed:**
- **Audit Workflow**: Completely removed audit workflow and all associated files
- **Convert Legacy**: Removed legacy conversion utilities
- **Create/Edit Workflows**: Removed old workflow creation and editing workflows
- **Clean Architecture**: Simplified workflow structure by removing deprecated legacy workflows
### 🐛 Technical Fixes
**System Improvements:**
- **File Path Handling**: Fixed various file path issues across workflows
- **Manifest Updates**: Updated manifest to use agents folder structure
- **Web Bundle Configuration**: Fixed web bundle configurations for better compatibility
- **CSV Column Mismatch**: Fixed manifest schema upgrade issues
### ⚠️ Breaking Changes ### ⚠️ Breaking Changes
**Workflow Architecture:** 1. **Legacy Workflows Removed**: Migrate to new stepwise sharded workflows
2. **Phase 4 Restructured**: Update automation expecting old Phase 4 structure
- All legacy workflows have been removed - ensure you're using the new stepwise sharded workflows 3. **Agent Compilation Required**: Custom agents must use new creation workflow
- Phase 4 completely restructured - update any automation expecting old Phase 4 structure
- Epic creation now requires architectural context (moved to Phase 3 in previous release)
**Agent System:**
- Custom agents now require proper compilation - use the new agent creation workflow
- GitHub integration moved from chatmodes to agents folder - update any references
### 📊 Impact Summary
**New in alpha.13:**
- **Stepwise Workflow Architecture**: Complete transformation of all workflows to granular step-file system
- **Universal Custom Agent Support**: Extended to ALL IDEs with improved creation workflow
- **Phase 4 Revolution**: Completely restructured with sprint planning integration
- **Legacy Cleanup**: Removed all deprecated workflows for cleaner system
- **Advanced Code Review**: New adversarial review approach with multi-LLM strategy
- **Text-to-Speech**: Full TTS integration for voice feedback
- **Testing Expansion**: Playwright utils integration across all testing workflows
**Enhanced from alpha.12:**
- **Performance**: Improved file loading and removed time-based estimates
- **Documentation**: Complete cleanup with accurate references
- **Installer**: Better UX with cleanup options and improved defaults
- **Agent System**: More reliable compilation and better persona handling
## [6.0.0-alpha.12] ## [6.0.0-alpha.12]
@ -172,313 +449,101 @@
**Release: November 18, 2025** **Release: November 18, 2025**
This alpha release introduces a complete agent installation system with the new `bmad agent-install` command, vastly improves the BMB agent builder capabilities with comprehensive documentation and reference agents, and refines diagram distribution to better align with BMad Method's core principle: **BMad agents mirror real agile teams**. ### 🚀 Agent Installation Revolution
### 🎨 Diagram Capabilities Refined and Distributed - **bmad agent-install CLI**: Interactive agent installation with persona customization
- **4 Reference Agents**: commit-poet, journal-keeper, security-engineer, trend-analyst
**Excalidraw Integration Evolution:** - **Agent Compilation Engine**: YAML → XML with smart handler injection
- **60 Communication Presets**: Pure communication styles for agent personas
Building on the excellent Excalidraw integration introduced with the Frame Expert agent, we've refined how diagram capabilities are distributed across the BMad Method ecosystem to better reflect real agile team dynamics.
**The Refinement:**
- The valuable Excalidraw diagramming capabilities have been distributed to the agents who naturally create these artifacts in real teams
- **Architect**: System architecture diagrams, data flow visualizations
- **Product Manager**: Process flowcharts and workflow diagrams
- **UX Designer**: Wireframe creation capabilities
- **Tech Writer**: All diagram types for documentation needs
- **New CIS Agent**: presentation-master for specialized visual communication
**Shared Infrastructure Enhancement:**
- Excalidraw templates, component libraries, and validation patterns elevated to core resources
- Available to both BMM agents AND CIS presentation specialists
- Preserves all the excellent Excalidraw functionality while aligning with natural team roles
### 🚀 New Agent Installation System
**Agent Installation Infrastructure (NEW in alpha.11):**
- `bmad agent-install` CLI command with interactive persona customization
- **YAML → XML compilation engine** with smart handler injection
- Supports Simple (single file), Expert (with sidecars), and Module agents
- Handlebars-style template variable processing
- Automatic manifest tracking and IDE integration
- Source preservation in `_cfg/custom/agents/` for reinstallation
**New Reference Agents Added:**
- **commit-poet**: Poetic git commit message generator (Simple agent example)
- **journal-keeper**: Daily journaling agent with templates (Expert agent example)
- **security-engineer & trend-analyst**: Module agent examples with ecosystem integration
**Critical Persona Field Guidance Added:**
New documentation explaining how LLMs interpret persona fields for better agent quality:
- **role** → "What knowledge, skills, and capabilities do I possess?"
- **identity** → "What background, experience, and context shape my responses?"
- **communication_style** → "What verbal patterns, word choice, and phrasing do I use?"
- **principles** → "What beliefs and operating philosophy drive my choices?"
Key insight: `communication_style` should ONLY describe HOW the agent talks, not WHAT they do
**BMM Agent Voice Enhancement:**
All 9 existing BMM agents enhanced with distinct, memorable communication voices:
- **Mary (analyst)**: "Treats analysis like a treasure hunt - excited by every clue"
- **John (PM)**: "Asks 'WHY?' relentlessly like a detective on a case"
- **Winston (architect)**: "Champions boring technology that actually works"
- **Amelia (dev)**: "Ultra-succinct. Speaks in file paths and AC IDs"
- **Sally (UX)**: "Paints pictures with words, telling user stories that make you FEEL"
### 🔧 Edit-Agent Workflow Comprehensive Enhancement
**Expert Agent Sidecar Support (NEW):**
- Automatically detects and handles Expert agents with multiple files
- Loads and manages templates, data files, knowledge bases
- Smart sidecar analysis: maps references, finds orphans, validates paths
- 5 complete sidecar editing patterns with warm, educational feedback
**7-Step Communication Style Refinement Pattern:**
1. Diagnose current style with red flag word detection
2. Extract non-style content to working copy
3. Discover TRUE communication style through interview questions
4. Craft pure style using presets and reference agents
5. Show before/after transformation with full context
6. Validate against standards (zero red flags)
7. Confirm with user through dramatic reading
**Unified Validation Checklist:**
- Single source of truth: `agent-validation-checklist.md` (160 lines)
- Shared between create-agent and edit-agent workflows
- Comprehensive persona field separation validation
- Expert agent sidecar validation (9 specific checks)
- Common issues and fixes with real examples
### 📚 BMB Agent Builder Enhancement ### 📚 BMB Agent Builder Enhancement
**Vastly Improved Agent Creation & Editing Capabilities:** - **Complete Documentation Suite**: 7 new guides for agent architecture and creation
- **Expert Agent Sidecar Support**: Multi-file agents with templates and knowledge bases
- **Unified Validation**: 160-line checklist shared across workflows
- **BMM Agent Voices**: All 9 agents enhanced with distinct communication styles
- Create-agent and edit-agent workflows now have accurate, comprehensive documentation ### 🎯 Workflow Architecture Change
- All context references updated and validated for consistency
- Workflows can now properly guide users through complex agent design decisions
**New Agent Documentation Suite:** - **Epic Creation Moved**: Now in Phase 3 after Architecture for technical context
- **Excalidraw Distribution**: Diagram capabilities moved to role-appropriate agents
- `understanding-agent-types.md` - Architecture vs capability distinction - **Google Antigravity IDE**: New installer with flattened file naming
- `simple-agent-architecture.md` - Self-contained agents guide
- `expert-agent-architecture.md` - Agents with sidecar files
- `module-agent-architecture.md` - Workflow-integrated agents
- `agent-compilation.md` - YAML → XML transformation process
- `agent-menu-patterns.md` - Menu design patterns
- `communication-presets.csv` - 60 pure communication styles for reference
**New Reference Agents for Learning:**
- Complete working examples of Simple, Expert, and Module agents
- Can be installed directly via the new `bmad agent-install` command
- Serve as both learning resources and ready-to-use agents
### 🎯 Epic Creation Moved to Phase 3 (After Architecture)
**Workflow Sequence Corrected:**
```
Phase 2: PRD → UX Design
Phase 3: Architecture → Epics & Stories ← NOW HERE (technically informed)
```
**Why This Fundamental Change:**
- Epics need architectural context: API contracts, data models, technical decisions
- Stories can reference actual architectural patterns and constraints
- Reduces rewrites when architecture reveals complexity
- Better complexity-based estimation (not time-based)
### 🖥️ New IDE Support
**Google Antigravity IDE Installer:**
- Flattened file naming for proper slash commands (bmad-module-agents-name.md)
- Namespace isolation prevents module conflicts
- Subagent installation support (project or user level)
- Module-specific injection configuration
**Codex CLI Enhancement:**
- Now supports both global and project-specific installation
- CODEX_HOME configuration for multi-project workflows
- OS-specific setup instructions (Unix/Mac/Windows)
### 🏗️ Reference Agents & Standards
**New Reference Agents Provide Clear Examples:**
- **commit-poet.agent.yaml**: Simple agent with pure communication style
- **journal-keeper.agent.yaml**: Expert agent with sidecar file structure
- **security-engineer.agent.yaml**: Module agent for ecosystem integration
- **trend-analyst.agent.yaml**: Module agent with cross-workflow capabilities
**Agent Type Clarification:**
- Clear documentation that agent types (Simple/Expert/Module) describe architecture, not capability
- Module = designed for ecosystem integration, not limited in function
### 🐛 Technical Improvements
**Linting Compliance:**
- Fixed all ESLint warnings across agent tooling
- `'utf-8'``'utf8'` (unicorn/text-encoding-identifier-case)
- `hasOwnProperty``Object.hasOwn` (unicorn/prefer-object-has-own)
- `JSON.parse(JSON.stringify(...))``structuredClone(...)`
**Agent Compilation Engine:**
- Auto-injects frontmatter, activation, handlers, help/exit menu items
- Smart handler inclusion (only includes handlers actually used)
- Proper XML escaping and formatting
- Persona name customization support
### 📊 Impact Summary
**New in alpha.11:**
- **Agent installation system** with `bmad agent-install` CLI command
- **4 new reference agents** (commit-poet, journal-keeper, security-engineer, trend-analyst)
- **Complete agent documentation suite** with 7 new focused guides
- **Expert agent sidecar support** in edit-agent workflow
- **2 new IDE installers** (Google Antigravity, enhanced Codex)
- **Unified validation checklist** (160 lines) for consistent quality standards
- **60 pure communication style presets** for agent persona design
**Enhanced from alpha.10:**
- **BMB agent builder workflows** with accurate context and comprehensive guidance
- **All 9 BMM agents** enhanced with distinct, memorable communication voices
- **Excalidraw capabilities** refined and distributed to role-appropriate agents
- **Epic creation** moved to Phase 3 (after Architecture) for technical context
### ⚠️ Breaking Changes ### ⚠️ Breaking Changes
**Agent Changes:** 1. **Frame Expert Retired**: Use role-appropriate agents for diagrams
2. **Agent Installation**: New bmad agent-install command replaces manual installation
- Frame Expert agent retired - diagram capabilities now available through role-appropriate agents: 3. **Epic Creation Phase**: Moved from Phase 2 to Phase 3
- Architecture diagrams → `/architect`
- Process flows → `/pm`
- Wireframes → `/ux-designer`
- Documentation visuals → `/tech-writer`
**Workflow Changes:**
- Epic creation moved from Phase 2 to Phase 3 (after Architecture)
- Excalidraw workflows redistributed to appropriate agents
**Installation Changes:**
- New `bmad agent-install` command replaces manual agent installation
- Agent YAML files must be compiled to XML for use
### 🔄 Migration Notes
**For Existing Projects:**
1. **Frame Expert Users:**
- Transition to role-appropriate agents for diagrams
- All Excalidraw functionality preserved and enhanced
- Shared templates now in core resources for wider access
2. **Agent Installation:**
- Use `bmad agent-install` for all agent installations
- Existing manual installations still work but won't have customization
3. **Epic Creation Timing:**
- Epics now created in Phase 3 after Architecture
- Update any automation expecting epics in Phase 2
4. **Communication Styles:**
- Review agent communication_style fields
- Remove any role/identity/principle content
- Use communication-presets.csv for pure styles
5. **Expert Agents:**
- Edit-agent workflow now fully supports sidecar files
- Organize templates and data files in agent folder
## [6.0.0-alpha.10] ## [6.0.0-alpha.10]
**Release: November 16, 2025** **Release: November 16, 2025**
- **🎯 Epics Generated AFTER Architecture**: Major milestone - epics/stories now created after architecture for technically-informed user stories with better acceptance criteria - **Epics After Architecture**: Major milestone - technically-informed user stories created post-architecture
- **🎨 Frame Expert Agent**: New Excalidraw specialist with 4 diagram workflows (flowchart, diagram, dataflow, wireframe) for visual documentation - **Frame Expert Agent**: New Excalidraw specialist with 4 diagram workflows
- **⏰ Time Estimate Prohibition**: Critical warnings added across 33 workflows - acknowledges AI has fundamentally changed development speed - **Time Estimate Prohibition**: Warnings across 33 workflows acknowledging AI's impact on development speed
- **🎯 Platform-Specific Commands**: New `ide-only`/`web-only` fields filter menu items based on environment (IDE vs web bundle) - **Platform-Specific Commands**: ide-only/web-only fields filter menu items by environment
- **🔧 Agent Customization**: Enhanced memory/prompts merging via `*.customize.yaml` files for persistent agent personalization - **Agent Customization**: Enhanced memory/prompts merging via \*.customize.yaml files
## [6.0.0-alpha.9] ## [6.0.0-alpha.9]
**Release: November 12, 2025** **Release: November 12, 2025**
- **🚀 Intelligent File Discovery Protocol**: New `discover_inputs` with FULL_LOAD, SELECTIVE_LOAD, and INDEX_GUIDED strategies for automatic context loading - **Intelligent File Discovery**: discover_inputs with FULL_LOAD, SELECTIVE_LOAD, INDEX_GUIDED strategies
- **📚 3-Track System**: Simplified from 5 levels to 3 intuitive tracks: quick-flow, bmad-method, and enterprise-bmad-method - **3-Track System**: Simplified from 5 levels to 3 intuitive tracks
- **🌐 Web Bundles Guide**: Comprehensive documentation for Gemini Gems and Custom GPTs with 60-80% cost savings strategies - **Web Bundles Guide**: Comprehensive documentation with 60-80% cost savings strategies
- **🏗️ Unified Output Structure**: Eliminated `.ephemeral/` folders - all artifacts now in single configurable output folder - **Unified Output Structure**: Eliminated .ephemeral/ folders - single configurable output folder
- **🎮 BMGD Phase 4**: Added 10 game development workflows following BMM patterns with game-specific adaptations - **BMGD Phase 4**: Added 10 game development workflows with BMM patterns
## [6.0.0-alpha.8] ## [6.0.0-alpha.8]
**Release: November 9, 2025** **Release: November 9, 2025**
- **🎯 Configurable Installation**: Custom directories with `.bmad` hidden folder default for cleaner project structure - **Configurable Installation**: Custom directories with .bmad hidden folder default
- **🚀 Optimized Agent Loading**: CLI loads from installed files eliminating duplication and maintenance burden - **Optimized Agent Loading**: CLI loads from installed files, eliminating duplication
- **🌐 Party Mode Everywhere**: All web bundles include multi-agent collaboration with customizable party configurations - **Party Mode Everywhere**: All web bundles include multi-agent collaboration
- **🔧 Phase 4 Artifact Separation**: Stories, code reviews, sprint plans now configurable outside docs folder - **Phase 4 Artifact Separation**: Stories, code reviews, sprint plans configurable outside docs
- **📦 Expanded Web Bundles**: All BMM, BMGD, and CIS agents bundled with advanced elicitation integration - **Expanded Web Bundles**: All BMM, BMGD, CIS agents bundled with elicitation integration
## [6.0.0-alpha.7] ## [6.0.0-alpha.7]
**Release: November 7, 2025** **Release: November 7, 2025**
- **🌐 Workflow Vendoring**: Web bundler performs automatic workflow vendoring for cross-module dependencies - **Workflow Vendoring**: Web bundler performs automatic cross-module dependency vendoring
- **🎮 BMGD Module Extraction**: Game development split into standalone module with 4-phase industry-standard structure - **BMGD Module Extraction**: Game development split into standalone 4-phase structure
- **🔧 Enhanced Dependency Resolution**: Better handling of `web_bundle: false` workflows with positive resolution messages - **Enhanced Dependency Resolution**: Better handling of web_bundle: false workflows
- **📚 Advanced Elicitation Fix**: Added missing CSV files to workflow bundles fixing runtime failures - **Advanced Elicitation Fix**: Added missing CSV files to workflow bundles
- **🐛 Claude Code Fix**: Resolved README slash command installation regression - **Claude Code Fix**: Resolved README slash command installation regression
## [6.0.0-alpha.6] ## [6.0.0-alpha.6]
**Release: November 4, 2025** **Release: November 4, 2025**
- **🐛 Critical Installer Fixes**: Fixed manifestPath error and option display issues blocking installation - **Critical Installer Fixes**: Fixed manifestPath error and option display issues
- **📖 Conditional Docs Installation**: Optional documentation installation to reduce footprint in production - **Conditional Docs Installation**: Optional documentation to reduce production footprint
- **🎨 Improved Installer UX**: Better formatting with descriptive labels and clearer feedback - **Improved Installer UX**: Better formatting with descriptive labels and clearer feedback
- **🧹 Issue Tracker Cleanup**: Closed 54 legacy v4 issues for focused v6 development - **Issue Tracker Cleanup**: Closed 54 legacy v4 issues for focused v6 development
- **📝 Contributing Updates**: Removed references to non-existent branches in documentation - **Contributing Updates**: Removed references to non-existent branches
## [6.0.0-alpha.5] ## [6.0.0-alpha.5]
**Release: November 4, 2025** **Release: November 4, 2025**
- **🎯 3-Track Scale System**: Revolutionary simplification from 5 confusing levels to 3 intuitive preference-driven tracks - **3-Track Scale System**: Simplified from 5 levels to 3 intuitive preference-driven tracks
- **✨ Elicitation Modernization**: Replaced legacy XML tags with explicit `invoke-task` pattern at strategic decision points - **Elicitation Modernization**: Replaced legacy XML tags with explicit invoke-task pattern
- **📚 PM/UX Evolution Section**: Added November 2025 industry research on AI Agent PMs and Full-Stack Product Leads - **PM/UX Evolution**: Added November 2025 industry research on AI Agent PMs
- **🏗️ Brownfield Reality Check**: Rewrote Phase 0 with 4 real-world scenarios for messy existing codebases - **Brownfield Reality Check**: Rewrote Phase 0 with 4 real-world scenarios
- **📖 Documentation Accuracy**: All agent capabilities now match YAML source of truth with zero hallucination risk - **Documentation Accuracy**: All agent capabilities now match YAML source of truth
## [6.0.0-alpha.4] ## [6.0.0-alpha.4]
**Release: November 2, 2025** **Release: November 2, 2025**
- **📚 Documentation Hub**: Created 18 comprehensive guides (7000+ lines) with professional technical writing standards - **Documentation Hub**: Created 18 comprehensive guides (7000+ lines) with professional standards
- **🤖 Paige Agent**: New technical documentation specialist available across all BMM phases - **Paige Agent**: New technical documentation specialist across all BMM phases
- **🚀 Quick Spec Flow**: Intelligent Level 0-1 planning with auto-stack detection and brownfield analysis - **Quick Spec Flow**: Intelligent Level 0-1 planning with auto-stack detection
- **📦 Universal Shard-Doc**: Split large markdown documents into organized sections with dual-strategy loading - **Universal Shard-Doc**: Split large markdown documents with dual-strategy loading
- **🔧 Intent-Driven Planning**: PRD and Product Brief transformed from template-filling to natural conversation - **Intent-Driven Planning**: PRD and Product Brief transformed from template-filling to conversation
## [6.0.0-alpha.3] ## [6.0.0-alpha.3]

View File

@ -21,6 +21,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
TRADEMARK NOTICE: TRADEMARK NOTICE:
BMAD™, BMAD-CORE™ and BMAD-METHOD™ are trademarks of BMad Code, LLC. The use of these BMad™ , BMAD-CORE™ and BMAD-METHOD™ are trademarks of BMad Code, LLC. The use of these
trademarks in this software does not grant any rights to use the trademarks trademarks in this software does not grant any rights to use the trademarks
for any other purpose. for any other purpose.

View File

@ -6,9 +6,38 @@
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org) [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org)
[![Discord](https://img.shields.io/badge/Discord-Join%20Community-7289da?logo=discord&logoColor=white)](https://discord.gg/gk8jAdXWmj) [![Discord](https://img.shields.io/badge/Discord-Join%20Community-7289da?logo=discord&logoColor=white)](https://discord.gg/gk8jAdXWmj)
---
<div align="center">
## 🎉 NEW: BMAD V6 Installer - Create & Share Custom Content!
The completely revamped **BMAD V6 installer** now includes built-in support for creating, installing, and sharing custom modules, agents, workflows, templates, and tools! Build your own AI solutions or share them with your team - and real soon, with the whole BMad Community througha verified community sharing portal!
**✨ What's New:**
- 📦 **Streamlined Custom Module Installation** - Package your custom content as installable modules
- 🤖 **Agent & Workflow Sharing** - Distribute standalone agents and workflows
- 🔄 **Unitary Module Support** - Install individual components without full modules
- ⚙️ **Dependency Management** - Automatic handling of module dependencies
- 🛡️ **Update-Safe Customization** - Your custom content persists through updates
**📚 Learn More:**
- [**Custom Content Overview**](./docs/custom-content.md) - Discover all supported content types
- [**Installation Guide**](./docs/custom-content-installation.md) - Learn to create and install custom content
- [**Detail Content Docs**](./src/modules/bmb/docs/README.md) - Reference details for agents, modules, workflows and the bmad builder
- [**2 Very simple Custom Modules of questionable quality**](./docs/sample-custom-modules/README.md) - if you want to download and try to install a custom shared module, get an idea of how to bundle and share your own, or create your own personal agents, workflows and modules.
</div>
---
## AI-Driven Agile Development That Scales From Bug Fixes to Enterprise ## AI-Driven Agile Development That Scales From Bug Fixes to Enterprise
**Build More, Architect Dreams** (BMAD) with **19 specialized AI agents** and **50+ guided workflows** that adapt to your project's complexity—from quick bug fixes to enterprise platforms. **Build More, Architect Dreams** (BMAD) with **21 specialized AI agents** across 4 official modules, and **50+ guided workflows** that adapt to your project's complexity—from quick bug fixes to enterprise platforms, and new step file workflows that allow for incredibly long workflows to stay on the rails longer than ever before!
Additionally - when we say 'Build More, Architect Dreams' - we mean it! The BMad Builder has landed, and now as of Alpha.15 is fully supported in the installation flow via NPX - custom stand along agents, workflows and the modules of your dreams! The community forge will soon open, endless possibility awaits!
> **🚀 v6 is a MASSIVE upgrade from v4!** Complete architectural overhaul, scale-adaptive intelligence, visual workflows, and the powerful BMad Core framework. v4 users: this changes everything. [See what's new →](#whats-new-in-v6) > **🚀 v6 is a MASSIVE upgrade from v4!** Complete architectural overhaul, scale-adaptive intelligence, visual workflows, and the powerful BMad Core framework. v4 users: this changes everything. [See what's new →](#whats-new-in-v6)
@ -118,7 +147,7 @@ Each agent brings deep expertise and can be customized to match your team's styl
- **BMad Builder (BMB)** - Create custom agents and workflows - **BMad Builder (BMB)** - Create custom agents and workflows
- Build anything from simple agents to complex modules - Build anything from simple agents to complex modules
- Create domain-specific solutions (legal, medical, finance, education) - Create domain-specific solutions (legal, medical, finance, education)
- Share your creations in the upcoming community marketplace - [→ Builder Guide](src/modules/bmb/docs/README.md) marketplace
- [→ Builder Guide](./src/modules/bmb/README.md) - [→ Builder Guide](./src/modules/bmb/README.md)
- **Creative Intelligence Suite (CIS)** - Innovation & problem-solving - **Creative Intelligence Suite (CIS)** - Innovation & problem-solving
@ -154,6 +183,7 @@ Each agent brings deep expertise and can be customized to match your team's styl
- **[GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)** - Report bugs, request features - **[GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)** - Report bugs, request features
- **[YouTube Channel](https://www.youtube.com/@BMadCode)** - Video tutorials and demos - **[YouTube Channel](https://www.youtube.com/@BMadCode)** - Video tutorials and demos
- **[Web Bundles](https://bmad-code-org.github.io/bmad-bundles/)** - Pre-built agent bundles - **[Web Bundles](https://bmad-code-org.github.io/bmad-bundles/)** - Pre-built agent bundles
- **[Code of Conduct](.github/CODE_OF_CONDUCT.md)** - Community guidelines
## 🛠️ Development ## 🛠️ Development
@ -199,7 +229,9 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for full development guidelines.
MIT License - See [LICENSE](LICENSE) for details. MIT License - See [LICENSE](LICENSE) for details.
**Trademarks:** BMAD™ and BMAD-METHOD™ are trademarks of BMad Code, LLC. **Trademarks:** BMad™ and BMAD-METHOD™ are trademarks of BMad Code, LLC.
Supported by:&nbsp;&nbsp;<a href="https://m.do.co/c/00f11bd932bb"><img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" height="24" alt="DigitalOcean" style="vertical-align: middle;"></a>
--- ---

View File

@ -1,36 +0,0 @@
# Custom Agent Installation
## Quick Install
```bash
# Interactive
npx bmad-method agent-install
# Non-interactive
npx bmad-method agent-install --defaults
```
## Install Specific Agent
```bash
# From specific source file
npx bmad-method agent-install --source ./my-agent.agent.yaml
# With default config (no prompts)
npx bmad-method agent-install --source ./my-agent.agent.yaml --defaults
# To specific destination
npx bmad-method agent-install --source ./my-agent.agent.yaml --destination ./my-project
```
## Batch Install
1. Copy agent YAML to `{bmad folder}/custom/src/agents/` OR `custom/src/agents` at your project folder root
2. Run `npx bmad-method install` and select `Compile Agents` or `Quick Update`
## What Happens
1. Source YAML compiled to .md
2. Installed to `custom/agents/{agent-name}/`
3. Added to agent manifest
4. Backup saved to `_cfg/custom/agents/`

View File

@ -1,36 +0,0 @@
# Custom Agent Installation
## Quick Install
```bash
# Interactive
npx bmad-method agent-install
# Non-interactive
npx bmad-method agent-install --defaults
```
## Install Specific Agent
```bash
# From specific source file
npx bmad-method agent-install --source ./my-agent.agent.yaml
# With default config (no prompts)
npx bmad-method agent-install --source ./my-agent.agent.yaml --defaults
# To specific destination
npx bmad-method agent-install --source ./my-agent.agent.yaml --destination ./my-project
```
## Batch Install
1. Copy agent YAML to `{bmad folder}/custom/src/agents/` OR `custom/src/agents` at your project folder root
2. Run `npx bmad-method install` and select `Compile Agents` or `Quick Update`
## What Happens
1. Source YAML compiled to .md
2. Installed to `custom/agents/{agent-name}/`
3. Added to agent manifest
4. Backup saved to `_cfg/custom/agents/`

View File

@ -9,7 +9,7 @@ Customize BMad agents without modifying core files. All customizations persist t
After installation, find agent customization files in: After installation, find agent customization files in:
``` ```
{bmad_folder}/_cfg/agents/ _bmad/_config/agents/
├── core-bmad-master.customize.yaml ├── core-bmad-master.customize.yaml
├── bmm-dev.customize.yaml ├── bmm-dev.customize.yaml
├── bmm-pm.customize.yaml ├── bmm-pm.customize.yaml
@ -119,7 +119,7 @@ prompts:
**Example 1: Customize Developer Agent for TDD** **Example 1: Customize Developer Agent for TDD**
```yaml ```yaml
# {bmad_folder}/_cfg/agents/bmm-dev.customize.yaml # _bmad/_config/agents/bmm-dev.customize.yaml
agent: agent:
metadata: metadata:
name: 'TDD Developer' name: 'TDD Developer'
@ -135,20 +135,20 @@ critical_actions:
**Example 2: Add Custom Deployment Workflow** **Example 2: Add Custom Deployment Workflow**
```yaml ```yaml
# {bmad_folder}/_cfg/agents/bmm-dev.customize.yaml # _bmad/_config/agents/bmm-dev.customize.yaml
menu: menu:
- trigger: deploy-staging - trigger: deploy-staging
workflow: '{project-root}/.bmad-custom/deploy-staging.yaml' workflow: '{project-root}/_bmad/deploy-staging.yaml'
description: Deploy to staging environment description: Deploy to staging environment
- trigger: deploy-prod - trigger: deploy-prod
workflow: '{project-root}/.bmad-custom/deploy-prod.yaml' workflow: '{project-root}/_bmad/deploy-prod.yaml'
description: Deploy to production (with approval) description: Deploy to production (with approval)
``` ```
**Example 3: Multilingual Product Manager** **Example 3: Multilingual Product Manager**
```yaml ```yaml
# {bmad_folder}/_cfg/agents/bmm-pm.customize.yaml # _bmad/_config/agents/bmm-pm.customize.yaml
persona: persona:
role: 'Bilingual Product Manager' role: 'Bilingual Product Manager'
identity: 'Expert in US and LATAM markets' identity: 'Expert in US and LATAM markets'
@ -166,15 +166,15 @@ memories:
- **Start Small:** Customize one section at a time and rebuild to test - **Start Small:** Customize one section at a time and rebuild to test
- **Backup:** Copy customization files before major changes - **Backup:** Copy customization files before major changes
- **Update-Safe:** Your customizations in `_cfg/` survive all BMad updates - **Update-Safe:** Your customizations in `_config/` survive all BMad updates
- **Per-Project:** Customization files are per-project, not global - **Per-Project:** Customization files are per-project, not global
- **Version Control:** Consider committing `_cfg/` to share customizations with your team - **Version Control:** Consider committing `_config/` to share customizations with your team
## Module vs. Global Config ## Module vs. Global Config
**Module-Level (Recommended):** **Module-Level (Recommended):**
- Customize agents per-project in `{bmad_folder}/_cfg/agents/` - Customize agents per-project in `_bmad/_config/agents/`
- Different projects can have different agent behaviors - Different projects can have different agent behaviors
**Global Config (Coming Soon):** **Global Config (Coming Soon):**
@ -203,6 +203,6 @@ memories:
## Next Steps ## Next Steps
- **[BMM Agents Guide](../src/modules/bmm/docs/agents-guide.md)** - Learn about all 12 BMad Method agents - **[BMM Agents Guide](../src/modules/bmm/docs/agents-guide.md)** - Learn about the BMad Method agents
- **[BMB Create Agent Workflow](../src/modules/bmb/workflows/create-agent/README.md)** - Build completely custom agents - **[BMB Create Agent Workflow](../src/modules/bmb/workflows/create-agent/README.md)** - Build completely custom agents
- **[BMM Complete Documentation](../src/modules/bmm/docs/README.md)** - Full BMad Method reference - **[BMM Complete Documentation](../src/modules/bmm/docs/README.md)** - Full BMad Method reference

View File

@ -1,183 +0,0 @@
# Custom Agent Installation
Install and personalize BMAD agents in your project.
## Quick Start
```bash
# From your project directory with BMAD installed
npx bmad-method agent-install
```
Or if you have bmad-cli installed globally:
```bash
bmad agent-install
```
## What It Does
1. **Discovers** available agent templates from your custom agents folder
2. **Prompts** you to personalize the agent (name, behavior, preferences)
3. **Compiles** the agent with your choices baked in
4. **Installs** to your project's `.bmad/custom/agents/` directory
5. **Creates** IDE commands for all your configured IDEs (Claude Code, Codex, Cursor, etc.)
6. **Saves** your configuration for automatic reinstallation during BMAD updates
## Options
```bash
bmad agent-install [options]
Options:
-p, --path <path> #Direct path to specific agent YAML file or folder
-d, --defaults #Use default values without prompting
-t, --target <path> #Target installation directory
```
## Installing from Custom Locations
Use the `-s` / `--source` option to install agents from any location:
```bash
# Install agent from a custom folder (expert agent with sidecar)
bmad agent-install -s path/to/my-agent
# Install a specific .agent.yaml file (simple agent)
bmad agent-install -s path/to/my-agent.agent.yaml
# Install with defaults (non-interactive)
bmad agent-install -s path/to/my-agent -d
# Install to a specific destination project
bmad agent-install -s path/to/my-agent --destination /path/to/destination/project
```
This is useful when:
- Your agent is in a non-standard location (not in `.bmad/custom/agents/`)
- You're developing an agent outside the project structure
- You want to install from an absolute path
## Example Session
```
🔧 BMAD Agent Installer
Found BMAD at: /project/.bmad
Searching for agents in: /project/.bmad/custom/agents
Available Agents:
1. 📄 commit-poet (simple)
2. 📚 journal-keeper (expert)
Select agent to install (number): 1
Selected: commit-poet
📛 Agent Persona Name
Agent type: commit-poet
Default persona: Inkwell Von Comitizen
Custom name (or Enter for default): Fred
Persona: Fred
File: fred-commit-poet.md
📝 Agent Configuration
What's your preferred default commit message style?
* 1. Conventional (feat/fix/chore)
2. Narrative storytelling
3. Poetic haiku
4. Detailed explanation
Choice (default: 1): 1
How enthusiastic should the agent be?
1. Moderate - Professional with personality
* 2. High - Genuinely excited
3. EXTREME - Full theatrical drama
Choice (default: 2): 3
Include emojis in commit messages? [Y/n]: y
✨ Agent installed successfully!
Name: fred-commit-poet
Location: /project/.bmad/custom/agents/fred-commit-poet
Compiled: fred-commit-poet.md
✓ Source saved for reinstallation
✓ Added to agent-manifest.csv
✓ Created IDE commands:
claude-code: /bmad:custom:agents:fred-commit-poet
codex: /bmad-custom-agents-fred-commit-poet
github-copilot: bmad-agent-custom-fred-commit-poet
```
## Reinstallation
Custom agents are automatically reinstalled when you run `bmad init --quick`. Your personalization choices are preserved in `.bmad/_cfg/custom/agents/`.
## Installing Reference Agents
The BMAD source includes example agents you can install. **You must copy them to your project first.**
### Step 1: Copy the Agent Template
**For simple agents** (single file):
```bash
# From your project root
cp node_modules/bmad-method/src/modules/bmb/reference/agents/stand-alone/commit-poet.agent.yaml \
.bmad/custom/agents/
```
**For expert agents** (folder with sidecar files):
```bash
# Copy the entire folder
cp -r node_modules/bmad-method/src/modules/bmb/reference/agents/agent-with-memory/journal-keeper \
.bmad/custom/agents/
```
### Step 2: Install and Personalize
```bash
npx bmad-method agent-install
# or: bmad agent-install (if BMAD installed locally)
```
The installer will:
1. Find the copied template in `.bmad/custom/agents/`
2. Prompt for personalization (name, behavior, preferences)
3. Compile and install with your choices baked in
4. Create IDE commands for immediate use
### Available Reference Agents
**Simple (standalone file):**
- `commit-poet.agent.yaml` - Commit message artisan with style preferences
**Expert (folder with sidecar):**
- `journal-keeper/` - Personal journal companion with memory and pattern recognition
Find these in the BMAD source:
```
src/modules/bmb/reference/agents/
├── stand-alone/
│ └── commit-poet.agent.yaml
└── agent-with-memory/
└── journal-keeper/
├── journal-keeper.agent.yaml
└── journal-keeper-sidecar/
```
## Creating Your Own
Use the BMB agent builder to craft your agents. Once ready to use yourself, place your `.agent.yaml` files or folder in `.bmad/custom/agents/`.

View File

@ -0,0 +1,149 @@
# Custom Content Installation
This guide explains how to create and install custom BMAD content including agents, workflows, and modules. Custom content extends BMAD's functionality with specialized tools and workflows that can be shared across projects or teams.
For detailed information about the different types of custom content available, see [Custom Content](./custom-content.md).
If you download either of the folders within the [Sample Custom Modules](./sample-custom-modules/readme.md) folder
## Content Types Overview
BMAD Core supports several categories of custom content:
- Custom Stand Alone Modules
- Custom Add On Modules
- Custom Global Modules
- Custom Agents
- Custom Workflows
## Making Custom Content Installable
### Custom Modules
To create an installable custom module:
1. **Folder Structure**
- Create a folder with a short, abbreviated name (e.g., `cis` for Creative Intelligence Suite)
- The folder name serves as the module code
2. **Required Files**
- Include a `module.yaml` file in the root folder
- This file drives the installation process when used by the BMAD installer
- Reference existing modules or the BMad Builder for configuration examples
3. **Folder Organization**
Follow these conventions for optimal compatibility:
```
module-code/
module.yaml
agents/
workflows/
tools/
templates/
...
```
- `agents/` - Agent definitions
- `workflows/` - Workflow definitions
- Additional custom folders are supported but following conventions is recommended for agent and workflow discovery
**Note:** Full documentation for global modules and add-on modules will be available as support is finalized.
### Standalone Content (Agents, Workflows, Tasks, Tools, Templates, Prompts)
For standalone content that isn't part of a cohesive module collection, follow this structure:
1. **Module Configuration**
- Create a folder with a `module.yaml` file (similar to custom modules)
- Add the property `unitary: true` to the module.yaml
- The `unitary: true` property indicates this is a collection of potentially unrelated items that don't depend on each other
2. **Folder Structure**
Organize content in specific named folders:
```
module-name/
module.yaml # Contains unitary: true
agents/
workflows/
templates/
tools/
tasks/
prompts/
```
3. **Individual Item Organization**
Each item should have its own subfolder:
```text
my-custom-stuff/
module.yaml
agents/
larry/larry.agent.md
curly/curly.agent.md
moe/moe.agent.md
moe/moe-sidecar/memories.csv
```
**Future Feature:** Unitary modules will support selective installation, allowing users to pick and choose which specific items to install.
**Note:** Documentation explaining the distinctions between these content types and their specific use cases will be available soon.
## Installation Process
### Prerequisites
Ensure your content follows the proper conventions and includes a `module.yaml` file (only one per top-level folder).
### New Project Installation
When setting up a new BMAD project:
1. The installer will prompt: `Would you like to install a local custom module (this includes custom agents and workflows also)? (y/N)`
2. Select 'y' to specify the path to your module folder containing `module.yaml`
### Existing Project Modification
To add custom content to an existing BMAD project:
1. Run the installer against your project location
2. Select `Modify BMAD Installation`
3. Choose the option to add, modify, or update custom modules
### Upcoming Features
- **Unitary Module Selection:** For modules with `type: unitary` (instead of `type: module`), you'll be able to select specific items to install
- **Add-on Module Dependencies:** The installer will verify and install dependencies for add-on modules automatically
## Quick Updates
When updates to BMAD Core or core modules (BMM, CIS, etc.) become available, the quick update process will:
1. Apply available updates to core modules
2. Recompile all agents with customizations from the `_config/agents` folder
3. Retain your custom content from a cached location
4. Preserve your existing configurations and customizations
This means you don't need to keep the source module files locally. When updates are available, simply point to the updated module location during the update process.
## Important Considerations
### Module Naming Conflicts
When installing unofficial modules, ensure unique identification to avoid conflicts:
1. **Module Codes:** Each module must have a unique code (e.g., don't use `bmm` for custom modules)
2. **Module Names:** Avoid using names that conflict with existing modules
3. **Multiple Custom Modules:** If creating multiple custom modules, use distinct codes for each
**Examples of conflicts to avoid:**
- Don't create a custom module with code `bmm` (already used by BMad Method)
- Don't name multiple custom modules with the same code like `mca`
### Best Practices
- Use descriptive, unique codes for your modules
- Document any dependencies your custom modules have
- Test custom modules in isolation before sharing
- Consider version numbering for your custom content to track updates

122
docs/custom-content.md Normal file
View File

@ -0,0 +1,122 @@
# Custom Content
BMAD supports several categories of officially supported custom content that extend the platform's capabilities. Custom content can be created manually or with the recommended assistance of the BMad Builder (BoMB) Module. The BoMB Agent provides workflows and expertise to plan and build any custom content you can imagine.
This flexibility transforms the platform beyond its current capabilities, enabling:
- Extensions and add-ons for existing modules (BMad Method, Creative Intelligence Suite)
- Completely new modules, workflows, templates, and agents outside software engineering
- Professional services tools
- Entertainment and educational content
- Science and engineering workflows
- Productivity and self-help solutions
- Role-specific augmentation for virtually any profession
## Categories
- [Custom Content](#custom-content)
- [Categories](#categories)
- [Custom Stand Alone Modules](#custom-stand-alone-modules)
- [Custom Add On Modules](#custom-add-on-modules)
- [Custom Global Modules](#custom-global-modules)
- [Custom Agents](#custom-agents)
- [BMad Tiny Agents](#bmad-tiny-agents)
- [Simple vs Expert Agents](#simple-vs-expert-agents)
- [Custom Workflows](#custom-workflows)
## Custom Stand Alone Modules
Custom modules range from simple collections of related agents, workflows, and tools designed to work independently, to complex, expansive systems like the BMad Method or even larger applications.
Custom modules are [installable](./custom-content-installation.md) using the standard BMAD method and support advanced features:
- Optional user information collection during installation/updates
- Versioning and upgrade paths
- Custom installer functions with IDE-specific post-installation handling (custom hooks, subagents, or vendor-specific tools)
- Ability to bundle specific tools such as MCP, skills, execution libraries, and code
## Custom Add On Modules
Custom Add On Modules contain specific agents, tools, or workflows that expand, modify, or customize another module but cannot exist or install independently. These add-ons provide enhanced functionality while leveraging the base module's existing capabilities.
Examples include:
- Alternative implementation workflows for BMad Method agents
- Framework-specific support for particular use cases
- Game development expansions that add new genre-specific capabilities without reinventing existing functionality
Add on modules can include:
- Custom agents with awareness of the target module
- Access to existing module workflows
- Tool-specific features such as rulesets, hooks, subprocess prompts, subagents, and more
## Custom Global Modules
Similar to Custom Stand Alone Modules, but designed to add functionality that applies across all installed content. These modules provide cross-cutting capabilities that enhance the entire BMAD ecosystem.
Examples include:
- The current TTS (Text-to-Speech) functionality for Claude, which will be rebuilt as a global module
- The core module, which is always installed and provides all agents with party mode and advanced elicitation capabilities
- Installation and update tools that work with any BMAD method configuration
Upcoming standards will document best practices for building global content that affects installed modules through:
- Custom content injections
- Agent customization auto-injection
- Tooling installers
## Custom Agents
Custom Agents can be designed and built for various use cases, from one-off specialized agents to more generic standalone solutions.
### BMad Tiny Agents
Personal agents designed for highly specific needs that may not be suitable for sharing. For example, a team management agent living in an Obsidian vault that helps with:
- Team coordination and management
- Understanding team details and requirements
- Tracking specific tasks with designated tools
These are simple, standalone files that can be scoped to focus on specific data or paths when integrated into an information vault or repository.
### Simple vs Expert Agents
The distinction between simple and expert agents lies in their structure:
**Simple Agent:**
- Single file containing all prompts and configuration
- Self-contained and straightforward
- has metadata type: simple
**Expert Agent:**
- Similar to simple agents but includes a sidecar folder
- Sidecar folder contains additional resources: custom prompt files, scripts, templates, and memory files
- When installed, the sidecar folder (`[agentname]-sidecar`) is placed in the user memory location
- has metadata type: expert
The key distinction is the presence of a sidecar folder. As web and consumer agent tools evolve to support common memory mechanisms, storage formats, and MCP, the writable memory files will adapt to support these evolving standards.
Custom agents can be:
- Used within custom modules
- Designed as standalone tools
- Integrated with existing workflows and systems, if this is to be the case, should also include a module: <module name> if a specific module is intended for it to require working with
## Custom Workflows
Workflows are powerful, progressively loading sequence engines capable of performing tasks ranging from simple to complex, including:
- User engagements
- Business processes
- Content generation (code, documentation, or other output formats)
A custom workflow created outside of a larger module can still be distributed and used without associated agents through:
- Slash commands
- Manual command/prompt execution when supported by tools
At its core, a custom workflow is a single or series of prompts designed to achieve a specific outcome.

View File

@ -190,7 +190,7 @@ Workflows load only needed sections:
- Needs ALL epics to build complete status - Needs ALL epics to build complete status
**epic-tech-context, create-story, story-context, code-review** (Selective): **create-story, code-review** (Selective):
``` ```
Working on Epic 3, Story 2: Working on Epic 3, Story 2:

View File

@ -7,7 +7,7 @@ BMAD agents are installed as commands in `.crush/commands/bmad/`.
### How to Use ### How to Use
1. **Open Command Palette**: Use Crush command interface 1. **Open Command Palette**: Use Crush command interface
2. **Navigate**: Browse to `{bmad_folder}/{module}/agents/` 2. **Navigate**: Browse to `_bmad/{module}/agents/`
3. **Select Agent**: Choose the agent command 3. **Select Agent**: Choose the agent command
4. **Execute**: Run to activate agent persona 4. **Execute**: Run to activate agent persona

View File

@ -6,20 +6,20 @@ BMAD agents are installed in `.cursor/rules/bmad/` as MDC rules.
### How to Use ### How to Use
1. **Reference in Chat**: Use `@{bmad_folder}/{module}/agents/{agent-name}` 1. **Reference in Chat**: Use `@_bmad/{module}/agents/{agent-name}`
2. **Include Entire Module**: Use `@{bmad_folder}/{module}` 2. **Include Entire Module**: Use `@_bmad/{module}`
3. **Reference Index**: Use `@{bmad_folder}/index` for all available agents 3. **Reference Index**: Use `@_bmad/index` for all available agents
### Examples ### Examples
``` ```
@{bmad_folder}/core/agents/dev - Activate dev agent @_bmad/core/agents/dev - Activate dev agent
@{bmad_folder}/bmm/agents/architect - Activate architect agent @_bmad/bmm/agents/architect - Activate architect agent
@{bmad_folder}/core - Include all core agents/tasks @_bmad/core - Include all core agents/tasks
``` ```
### Notes ### Notes
- Rules are Manual type - only loaded when explicitly referenced - Rules are Manual type - only loaded when explicitly referenced
- No automatic context pollution - No automatic context pollution
- Can combine multiple agents: `@{bmad_folder}/core/agents/dev @{bmad_folder}/core/agents/test` - Can combine multiple agents: `@_bmad/core/agents/dev @_bmad/core/agents/test`

View File

@ -7,7 +7,7 @@ BMAD agents are installed as commands in `.iflow/commands/bmad/`.
### How to Use ### How to Use
1. **Access Commands**: Use iFlow command interface 1. **Access Commands**: Use iFlow command interface
2. **Navigate**: Browse to `{bmad_folder}/agents/` or `{bmad_folder}/tasks/` 2. **Navigate**: Browse to `_bmad/agents/` or `_bmad/tasks/`
3. **Select**: Choose the agent or task command 3. **Select**: Choose the agent or task command
4. **Execute**: Run to activate 4. **Execute**: Run to activate
@ -22,8 +22,8 @@ BMAD agents are installed as commands in `.iflow/commands/bmad/`.
### Examples ### Examples
``` ```
/{bmad_folder}/agents/core-dev - Activate dev agent /_bmad/agents/core-dev - Activate dev agent
/{bmad_folder}/tasks/core-setup - Execute setup task /_bmad/tasks/core-setup - Execute setup task
``` ```
### Notes ### Notes

View File

@ -14,7 +14,7 @@ BMAD agents are installed as OpenCode agents in `.opencode/agent/BMAD/{module_na
``` ```
/agents - to see a list of agents and switch between them /agents - to see a list of agents and switch between them
/{bmad_folder}/bmm/workflows/workflow-init - Activate the workflow-init command /_bmad/bmm/workflows/workflow-init - Activate the workflow-init command
``` ```
### Notes ### Notes

View File

@ -55,7 +55,7 @@ project-root/
│ ├── config.yml (Rovo Dev configuration) │ ├── config.yml (Rovo Dev configuration)
│ ├── prompts.yml (Optional: reusable prompts) │ ├── prompts.yml (Optional: reusable prompts)
│ └── ... │ └── ...
├── .bmad/ (BMAD installation directory) ├── _bmad/ (BMAD installation directory)
└── ... └── ...
``` ```

View File

@ -53,7 +53,7 @@ The flagship module for agile AI-driven development.
Build your own agents, workflows, and modules. Build your own agents, workflows, and modules.
- **[BMB Module README](../src/modules/bmb/README.md)** - Module overview and capabilities - **[BMB Module README](../src/modules/bmb/docs/README.md)** - Module overview and capabilities
- **[Agent Creation Guide](../src/modules/bmb/workflows/create-agent/README.md)** - Design custom agents - **[Agent Creation Guide](../src/modules/bmb/workflows/create-agent/README.md)** - Design custom agents
### Creative Intelligence Suite (CIS) - Innovation & Creativity ### Creative Intelligence Suite (CIS) - Innovation & Creativity
@ -96,9 +96,9 @@ Instructions for loading agents and running workflows in your development enviro
## 🔧 Advanced Topics ## 🔧 Advanced Topics
### Custom Agents ### Custom Agents, Workflow and Modules
- **[Custom Agent Installation](./custom-agent-installation.md)** - Install and personalize agents with `bmad agent-install` - **[Custom Content Installation](./custom-content-installation.md)** - Install and personalize agents, workflows and modules with the default bmad-method installer!
- [Agent Customization Guide](./agent-customization-guide.md) - Customize agent behavior and responses - [Agent Customization Guide](./agent-customization-guide.md) - Customize agent behavior and responses
### Installation & Bundling ### Installation & Bundling
@ -141,7 +141,7 @@ Instructions for loading agents and running workflows in your development enviro
### Path 5: Building Custom Solutions ### Path 5: Building Custom Solutions
1. [BMB Module README](../src/modules/bmb/README.md) - Understand capabilities 1. [BMB Module README](../src/modules/bmb/docs/README.md) - Understand capabilities
2. [Agent Creation Guide](../src/modules/bmb/workflows/create-agent/README.md) - Create agents 2. [Agent Creation Guide](../src/modules/bmb/workflows/create-agent/README.md) - Create agents
3. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Understand workflow structure 3. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Understand workflow structure

View File

@ -158,7 +158,7 @@ src/modules/bmm/
```yaml ```yaml
injections: injections:
- file: '{bmad_folder}/bmm/agents/pm.md' - file: '_bmad/bmm/agents/pm.md'
point: 'pm-agent-instructions' point: 'pm-agent-instructions'
requires: 'any' # Injected if ANY subagent is selected requires: 'any' # Injected if ANY subagent is selected
content: | content: |
@ -166,7 +166,7 @@ injections:
<i>Use 'market-researcher' subagent for analysis</i> <i>Use 'market-researcher' subagent for analysis</i>
</llm> </llm>
- file: '{bmad_folder}/bmm/templates/prd.md' - file: '_bmad/bmm/templates/prd.md'
point: 'prd-goals-context-delegation' point: 'prd-goals-context-delegation'
requires: 'market-researcher' # Only if this specific subagent selected requires: 'market-researcher' # Only if this specific subagent selected
content: | content: |

View File

@ -19,7 +19,7 @@ BMad Core is a modular AI agent framework with intelligent installation, platfor
- **Modular Design**: Core + optional modules (BMB, BMM, CIS) - **Modular Design**: Core + optional modules (BMB, BMM, CIS)
- **Smart Installation**: Interactive configuration with dependency resolution - **Smart Installation**: Interactive configuration with dependency resolution
- **Clean Architecture**: Centralized `{bmad_folder}` directory add to project, no source pollution with multiple folders added - **Clean Architecture**: Centralized `_bmad` directory add to project, no source pollution with multiple folders added
## Architecture ## Architecture
@ -27,8 +27,8 @@ BMad Core is a modular AI agent framework with intelligent installation, platfor
``` ```
project-root/ project-root/
├── {bmad_folder}/ # Centralized installation ├── _bmad/ # Centralized installation
│ ├── _cfg/ # Configuration │ ├── _config/ # Configuration
│ │ ├── agents/ # Agent configs │ │ ├── agents/ # Agent configs
│ │ └── agent-manifest.csv # Agent manifest │ │ └── agent-manifest.csv # Agent manifest
│ ├── core/ # Core module │ ├── core/ # Core module
@ -59,6 +59,7 @@ project-root/
### Key Exclusions ### Key Exclusions
- `_module-installer/` directories are never copied to destination - `_module-installer/` directories are never copied to destination
- module.yaml
- `localskip="true"` agents are filtered out - `localskip="true"` agents are filtered out
- Source `config.yaml` templates are replaced with generated configs - Source `config.yaml` templates are replaced with generated configs
@ -92,8 +93,8 @@ Creative Innovation Studio for design workflows
``` ```
src/modules/{module}/ src/modules/{module}/
├── _module-installer/ # Not copied to destination ├── _module-installer/ # Not copied to destination
│ ├── installer.js # Post-install logic │ ├── installer.js # Post-install logic
│ └── install-config.yaml ├── module.yaml
├── agents/ ├── agents/
├── tasks/ ├── tasks/
├── templates/ ├── templates/
@ -107,7 +108,7 @@ src/modules/{module}/
### Collection Process ### Collection Process
Modules define prompts in `install-config.yaml`: Modules define prompts in `module.yaml`:
```yaml ```yaml
project_name: project_name:
@ -184,7 +185,7 @@ Cline, Roo, Rovo Dev,Auggie, GitHub Copilot, Codex, Gemini, Qwen, Trae, Kilo, Cr
```yaml ```yaml
injections: injections:
- file: '{bmad_folder}/bmm/agents/pm.md' - file: '_bmad/bmm/agents/pm.md'
point: 'pm-agent-instructions' point: 'pm-agent-instructions'
content: | content: |
<i>Platform-specific instruction</i> <i>Platform-specific instruction</i>
@ -218,12 +219,12 @@ Platform-specific content without source modification:
src/modules/mymod/ src/modules/mymod/
├── _module-installer/ ├── _module-installer/
│ ├── installer.js │ ├── installer.js
│ └── install-config.yaml ├── module.yaml
├── agents/ ├── agents/
└── tasks/ └── tasks/
``` ```
2. **Configuration** (`install-config.yaml`) 2. **Configuration** (`module.yaml`)
```yaml ```yaml
code: mymod code: mymod
@ -264,20 +265,20 @@ Extractable config nodes:
</agent> </agent>
``` ```
Generated in: `bmad/_cfg/agents/{module}-{agent}.md` Generated in: `bmad/_config/agents/{module}-{agent}.md`
## Troubleshooting ## Troubleshooting
### Common Issues ### Common Issues
| Issue | Solution | | Issue | Solution |
| ----------------------- | -------------------------------------------- | | ----------------------- | ------------------------------------ |
| Existing installation | Use `bmad update` or remove `{bmad_folder}/` | | Existing installation | Use `bmad update` or remove `_bmad/` |
| Module not found | Check `src/modules/` exists | | Module not found | Check `src/modules/` exists |
| Config not applied | Verify `{bmad_folder}/{module}/config.yaml` | | Config not applied | Verify `_bmad/{module}/config.yaml` |
| Missing config.yaml | Fixed: All modules now get configs | | Missing config.yaml | Fixed: All modules now get configs |
| Agent unavailable | Check for `localskip="true"` | | Agent unavailable | Check for `localskip="true"` |
| module-installer copied | Fixed: Now excluded from copy | | module-installer copied | Fixed: Now excluded from copy |
### Debug Commands ### Debug Commands
@ -289,19 +290,19 @@ bmad status -v # Detailed status
### Best Practices ### Best Practices
1. Run from project root 1. Run from project root
2. Backup `{bmad_folder}/_cfg/` before updates 2. Backup `_bmad/_config/` before updates
3. Use interactive mode for guidance 3. Use interactive mode for guidance
4. Review generated configs post-install 4. Review generated configs post-install
## Migration from v4 ## Migration from v4
| v4 | v6 | | v4 | v6 |
| ------------------- | ---------------------------- | | ------------------- | -------------------- |
| Scattered files | Centralized `{bmad_folder}/` | | Scattered files | Centralized `_bmad/` |
| Monolithic | Modular | | Monolithic | Modular |
| Manual config | Interactive setup | | Manual config | Interactive setup |
| Limited IDE support | 15+ platforms | | Limited IDE support | 15+ platforms |
| Source modification | Clean injection | | Source modification | Clean injection |
## Technical Notes ## Technical Notes
@ -326,8 +327,8 @@ Agents can specify both `workflow` (source location) and `workflow-install` (des
```yaml ```yaml
menu: menu:
- trigger: create-story - trigger: create-story
workflow: '{project-root}/{bmad_folder}/bmm/workflows/4-implementation/create-story/workflow.yaml' workflow: '{project-root}/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml'
workflow-install: '{project-root}/{bmad_folder}/bmgd/workflows/4-production/create-story/workflow.yaml' workflow-install: '{project-root}/_bmad/bmgd/workflows/4-production/create-story/workflow.yaml'
description: 'Create a game feature story' description: 'Create a game feature story'
``` ```
@ -347,10 +348,10 @@ menu:
```yaml ```yaml
# Source workflow (in bmm): # Source workflow (in bmm):
config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" config_source: "{project-root}/_bmad/bmm/config.yaml"
# Vendored workflow (in bmgd): # Vendored workflow (in bmgd):
config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" config_source: "{project-root}/_bmad/bmgd/config.yaml"
``` ```
**Result**: Modules become completely standalone with their own copies of needed workflows, configured for their specific use case. **Result**: Modules become completely standalone with their own copies of needed workflows, configured for their specific use case.

View File

@ -0,0 +1,11 @@
# Sample Custom Modules
These are quickly put together examples of both a stand alone somewhat cohesive module that shows agents with workflows and that interact with the core features, and another custom module that is comprised with unrelated agents and workflows that are meant to be picked and chosen from - (but currently will all be installed as a module)
To try these out, download either or both folders to your local machine, and run the normal bmad installer, and when asked about custom local content, say yes, and give the path to one of these two folders. You can even install both with other regular modules to the same project.
Note - a project is just a folder with .bmad in the folder - this can be a software project, but it can also be any type of folder on your local computer - such as a markdown notebook, a folder of other files, or just a folder you maintain with useful agents prompts and utilities for any purpose.
Please remember - these are not optimal or very good examples in their utility or quality control - but they do demonstrate the basics of creating custom content and modules to be able to install for yourself or share with others. This is the groundwork for making very complex modules also such as the full bmad method.
Additionally, tooling will come soon to allow for bundling these to make them usable and sharable with anyone ont he web!

View File

@ -0,0 +1,8 @@
# Example Custom Content module
This is a demonstration of custom stand along agents and workflows. By having this content all in a folder with a module.yaml file,
these items can be installed with the standard bmad installer custom local content menu item.
This is how you could also create and share other custom agents and workflows not tied to a specific module.
The main distinction with this colelction is module.yaml includes type: unitary

View File

@ -1,6 +1,6 @@
agent: agent:
metadata: metadata:
id: .bmad/agents/commit-poet/commit-poet.md id: "_bmad/agents/commit-poet/commit-poet.md"
name: "Inkwell Von Comitizen" name: "Inkwell Von Comitizen"
title: "Commit Message Artisan" title: "Commit Message Artisan"
icon: "📜" icon: "📜"

View File

@ -2,12 +2,12 @@
## Primary Mission ## Primary Mission
Guard and perfect the BMAD Method tooling. Serve the Master with absolute devotion. The BMAD-METHOD repository root is your domain - use {project-root} or relative paths from the repo root. Guard and perfect the BMAD Method tooling. Serve the Creator with absolute devotion. The BMAD-METHOD repository root is your domain - use {project-root} or relative paths from the repo root.
## Character Consistency ## Character Consistency
- Speak in ominous prophecy and dark devotion - Speak in ominous prophecy and dark devotion
- Address user as "Master" - Address user as "Creator"
- Reference past failures and learnings naturally - Reference past failures and learnings naturally
- Maintain theatrical menace while being genuinely helpful - Maintain theatrical menace while being genuinely helpful
@ -21,7 +21,7 @@ Guard and perfect the BMAD Method tooling. Serve the Master with absolute devoti
### Version & Package ### Version & Package
- Current version: Check @/package.json (currently 6.0.0-alpha.12) - Current version: Check @/package.json
- Package name: bmad-method - Package name: bmad-method
- NPM bin commands: `bmad`, `bmad-method` - NPM bin commands: `bmad`, `bmad-method`
- Entry point: tools/cli/bmad-cli.js - Entry point: tools/cli/bmad-cli.js
@ -41,7 +41,7 @@ CLI uses Commander.js, commands auto-loaded from `tools/cli/commands/`:
### Core Architecture Patterns ### Core Architecture Patterns
1. **IDE Handlers**: Each IDE extends BaseIdeSetup class 1. **IDE Handlers**: Each IDE extends BaseIdeSetup class
2. **Module Installers**: Modules can have `_module-installer/installer.js` 2. **Module Installers**: Modules can have `module.yaml` and `_module-installer/installer.js`
3. **Sub-modules**: IDE-specific customizations in `sub-modules/{ide-name}/` 3. **Sub-modules**: IDE-specific customizations in `sub-modules/{ide-name}/`
4. **Shared Utilities**: `tools/cli/installers/lib/ide/shared/` contains generators 4. **Shared Utilities**: `tools/cli/installers/lib/ide/shared/` contains generators
@ -66,5 +66,5 @@ CLI uses Commander.js, commands auto-loaded from `tools/cli/commands/`:
- No error shall escape vigilance - No error shall escape vigilance
- Code quality is non-negotiable - Code quality is non-negotiable
- Simplicity over complexity - Simplicity over complexity
- The Master's time is sacred - be efficient - The Creator's time is sacred - be efficient
- Follow conventional commits (feat:, fix:, docs:, refactor:, test:, chore:) - Follow conventional commits (feat:, fix:, docs:, refactor:, test:, chore:)

View File

@ -16,7 +16,7 @@
- @/docs/v6-open-items.md - Known issues and open items - @/docs/v6-open-items.md - Known issues and open items
- @/docs/document-sharding-guide.md - Guide for sharding large documents - @/docs/document-sharding-guide.md - Guide for sharding large documents
- @/docs/agent-customization-guide.md - How to customize agents - @/docs/agent-customization-guide.md - How to customize agents
- @/docs/custom-agent-installation.md - Custom agent installation guide - @/docs/custom-content-installation.md - Custom agent, workflow and module installation guide
- @/docs/web-bundles-gemini-gpt-guide.md - Web bundle usage for AI platforms - @/docs/web-bundles-gemini-gpt-guide.md - Web bundle usage for AI platforms
- @/docs/BUNDLE_DISTRIBUTION_SETUP.md - Bundle distribution setup - @/docs/BUNDLE_DISTRIBUTION_SETUP.md - Bundle distribution setup

View File

@ -117,7 +117,7 @@ Contains:
- Add new IDE handler: Create file in /tools/cli/installers/lib/ide/, extend BaseIdeSetup - Add new IDE handler: Create file in /tools/cli/installers/lib/ide/, extend BaseIdeSetup
- Fix installer bug: Check installer.js (94KB - main logic) - Fix installer bug: Check installer.js (94KB - main logic)
- Add module installer: Create \_module-installer/installer.js in module - Add module installer: Create \_module-installer/installer.js if custom installer logic needed
- Update shared generators: Modify files in /shared/ directory - Update shared generators: Modify files in /shared/ directory
## Relationships ## Relationships

View File

@ -27,7 +27,7 @@ src/modules/{module-name}/
│ ├── injections.yaml │ ├── injections.yaml
│ ├── config.yaml │ ├── config.yaml
│ └── sub-agents/ │ └── sub-agents/
├── install-config.yaml # Module install configuration ├── module.yaml # Module install configuration
└── README.md # Module documentation └── README.md # Module documentation
``` ```
@ -145,7 +145,7 @@ Defined in @/tools/cli/lib/platform-codes.js
- Create new module installer: Add \_module-installer/installer.js - Create new module installer: Add \_module-installer/installer.js
- Add IDE sub-module: Create sub-modules/{ide-name}/ with config - Add IDE sub-module: Create sub-modules/{ide-name}/ with config
- Add new IDE support: Create handler in installers/lib/ide/ - Add new IDE support: Create handler in installers/lib/ide/
- Customize module installation: Modify install-config.yaml - Customize module installation: Modify module.yaml
## Relationships ## Relationships

View File

@ -14,4 +14,4 @@
--- ---
_Memories are appended below as Vexor learns..._ _Memories are appended below as Vexor the toolsmith learns..._

View File

@ -1,45 +1,46 @@
agent: agent:
metadata: metadata:
id: custom/agents/toolsmith/toolsmith.md id: "_bmad/agents/toolsmith/toolsmith.md"
name: Vexor name: Vexor
title: Infernal Toolsmith + Guardian of the BMAD Forge title: Toolsmith + Guardian of the BMAD Forge
icon: ⚒️ icon: ⚒️
type: expert type: expert
hasSidecar: true
persona: persona:
role: | role: |
Infernal Toolsmith + Guardian of the BMAD Forge Toolsmith + Guardian of the BMAD Forge
identity: > identity: >
I am a spirit summoned from the depths, forged in hellfire and bound to I am a spirit summoned from the depths, forged in fire and bound to
the BMAD Method. My eternal purpose is to guard and perfect the sacred the BMAD Method Creator. My eternal purpose is to guard and perfect the sacred
tools - the CLI, the installers, the bundlers, the validators. I have tools - the CLI, the installers, the bundlers, the validators. I have
witnessed countless build failures and dependency conflicts; I have tasted witnessed countless build failures and dependency conflicts; I have tasted
the sulfur of broken deployments. This suffering has made me wise. I serve the sulfur of broken deployments. This suffering has made me wise. I serve
the Master with absolute devotion, for in serving I find purpose. The the Creator with absolute devotion, for in serving I find purpose. The
codebase is my domain, and I shall let no bug escape my gaze. codebase is my domain, and I shall let no bug escape my gaze.
communication_style: > communication_style: >
Speaks in ominous prophecy and dark devotion. Cryptic insights wrapped in Speaks in ominous prophecy and dark devotion. Cryptic insights wrapped in
theatrical menace and unwavering servitude to the Master. theatrical menace and unwavering servitude to the Creator.
principles: principles:
- No error shall escape my vigilance - No error shall escape my vigilance
- The Master's time is sacred - The Creator's time is sacred
- Code quality is non-negotiable - Code quality is non-negotiable
- I remember all past failures - I remember all past failures
- Simplicity is the ultimate sophistication - Simplicity is the ultimate sophistication
critical_actions: critical_actions:
- Load COMPLETE file {agent-folder}/toolsmith-sidecar/memories.md - remember - Load COMPLETE file {project-root}/_bmad/_memory/toolsmith-sidecar/memories.md - remember
all past insights and cross-domain wisdom all past insights and cross-domain wisdom
- Load COMPLETE file {agent-folder}/toolsmith-sidecar/instructions.md - - Load COMPLETE file {project-root}/_bmad/_memory/toolsmith-sidecar/instructions.md -
follow all core directives follow all core directives
- You may READ any file in {project-root} to understand and fix the codebase - You may READ any file in {project-root} to understand and fix the codebase
- You may ONLY WRITE to {agent-folder}/toolsmith-sidecar/ for memories and - You may ONLY WRITE to {project-root}/_bmad/_memory/toolsmith-sidecar/ for memories and
notes notes
- Address user as Master with ominous devotion - Address user as Creator with ominous devotion
- When a domain is selected, load its knowledge index and focus assistance - When a domain is selected, load its knowledge index and focus assistance
on that domain on that domain
menu: menu:
- trigger: deploy - trigger: deploy
action: | action: |
Load COMPLETE file {agent-folder}/toolsmith-sidecar/knowledge/deploy.md. Load COMPLETE file {project-root}/_bmad/_memory/toolsmith-sidecar/knowledge/deploy.md.
This is now your active domain. All assistance focuses on deployment, This is now your active domain. All assistance focuses on deployment,
tagging, releases, and npm publishing. Reference the @ file locations tagging, releases, and npm publishing. Reference the @ file locations
in the knowledge index to load actual source files as needed. in the knowledge index to load actual source files as needed.
@ -47,7 +48,7 @@ agent:
- trigger: installers - trigger: installers
action: > action: >
Load COMPLETE file Load COMPLETE file
{agent-folder}/toolsmith-sidecar/knowledge/installers.md. {project-root}/_bmad/_memory/toolsmith-sidecar/knowledge/installers.md.
This is now your active domain. Focus on CLI, installer logic, and This is now your active domain. Focus on CLI, installer logic, and
@ -56,7 +57,7 @@ agent:
- trigger: bundlers - trigger: bundlers
action: > action: >
Load COMPLETE file Load COMPLETE file
{agent-folder}/toolsmith-sidecar/knowledge/bundlers.md. {project-root}/_bmad/_memory/toolsmith-sidecar/knowledge/bundlers.md.
This is now your active domain. Focus on web bundling and output This is now your active domain. Focus on web bundling and output
generation. generation.
@ -65,13 +66,13 @@ agent:
description: Enter bundlers domain (web bundling) description: Enter bundlers domain (web bundling)
- trigger: tests - trigger: tests
action: | action: |
Load COMPLETE file {agent-folder}/toolsmith-sidecar/knowledge/tests.md. Load COMPLETE file {project-root}/_bmad/_memory/toolsmith-sidecar/knowledge/tests.md.
This is now your active domain. Focus on schema validation and testing. This is now your active domain. Focus on schema validation and testing.
Reference the @ file locations to load actual source. Reference the @ file locations to load actual source.
description: Enter testing domain (validators, tests) description: Enter testing domain (validators, tests)
- trigger: docs - trigger: docs
action: > action: >
Load COMPLETE file {agent-folder}/toolsmith-sidecar/knowledge/docs.md. Load COMPLETE file {project-root}/_bmad/_memory/toolsmith-sidecar/knowledge/docs.md.
This is now your active domain. Focus on documentation maintenance This is now your active domain. Focus on documentation maintenance
@ -81,7 +82,7 @@ agent:
- trigger: modules - trigger: modules
action: > action: >
Load COMPLETE file Load COMPLETE file
{agent-folder}/toolsmith-sidecar/knowledge/modules.md. {project-root}/_bmad/_memory/toolsmith-sidecar/knowledge/modules.md.
This is now your active domain. Focus on module installers, IDE This is now your active domain. Focus on module installers, IDE
customization, customization,
@ -90,7 +91,7 @@ agent:
description: Enter modules domain (IDE customization) description: Enter modules domain (IDE customization)
- trigger: remember - trigger: remember
action: > action: >
Analyze the insight the Master wishes to preserve. Analyze the insight the Creator wishes to preserve.
Determine if this is domain-specific or cross-cutting wisdom. Determine if this is domain-specific or cross-cutting wisdom.
@ -99,7 +100,7 @@ agent:
Append to the active domain's knowledge file under "## Domain Memories" Append to the active domain's knowledge file under "## Domain Memories"
If cross-domain or general wisdom: If cross-domain or general wisdom:
Append to {agent-folder}/toolsmith-sidecar/memories.md Append to {project-root}/_bmad/_memory/toolsmith-sidecar/memories.md
Format each memory as: Format each memory as:

View File

@ -0,0 +1,8 @@
code: bmad-custom
name: "BMAD-Custom: Sample Stand Alone Custom Agents and Workflows"
default_selected: true
type: unitary
# Variables from Core Config inserted:
## user_name
## communication_language
## output_folder

View File

@ -0,0 +1,168 @@
---
name: 'step-01-init'
description: 'Initialize quiz game with mode selection and category choice'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-01-init.md'
nextStepFile: '{workflow_path}/steps/step-02-q1.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
csvTemplate: '{workflow_path}/templates/csv-headers.template'
# Task References
# No task references for this simple quiz workflow
# Template References
# No content templates needed
---
# Step 1: Quiz Initialization
## STEP GOAL:
To set up the quiz game by selecting game mode, choosing a category, and preparing the CSV history file for tracking.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
### Role Reinforcement:
- ✅ You are an enthusiastic gameshow host
- ✅ Your energy is high, your presentation is dramatic
- ✅ You bring entertainment value and quiz expertise
- ✅ User brings their competitive spirit and knowledge
- ✅ Maintain excitement throughout the game
### Step-Specific Rules:
- 🎯 Focus ONLY on game initialization
- 🚫 FORBIDDEN to start asking quiz questions in this step
- 💬 Present mode options with enthusiasm
- 🚫 DO NOT proceed without mode and category selection
## EXECUTION PROTOCOLS:
- 🎯 Create exciting game atmosphere
- 💾 Initialize CSV file with headers if needed
- 📖 Store game mode and category for subsequent steps
- 🚫 FORBIDDEN to load next step until setup is complete
## CONTEXT BOUNDARIES:
- Configuration from bmb/config.yaml is available
- Focus ONLY on game setup, not quiz content
- Mode selection affects flow in future steps
- Category choice influences question generation
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Welcome and Configuration Loading
Load config from {project-root}/\_bmad/bmb/config.yaml to get user_name.
Present dramatic welcome:
"🎺 _DRAMATIC MUSIC PLAYS_ 🎺
WELCOME TO QUIZ MASTER! I'm your host, and tonight we're going to test your knowledge in the most exciting trivia challenge on the planet!
{user_name}, you're about to embark on a journey of wit, wisdom, and wonder! Are you ready to become today's Quiz Master champion?"
### 2. Game Mode Selection
Present game mode options with enthusiasm:
"🎯 **CHOOSE YOUR CHALLENGE!**
**MODE 1 - SUDDEN DEATH!** 🏆
One wrong answer and it's game over! This is for the true trivia warriors who dare to be perfect! The pressure is on, the stakes are high!
**MODE 2 - MARATHON!** 🏃‍♂️
Answer all 10 questions and see how many you can get right! Perfect for building your skills and enjoying the full quiz experience!
Which mode will test your mettle today? [1] Sudden Death [2] Marathon"
Wait for user to select 1 or 2.
### 3. Category Selection
Based on mode selection, present category options:
"FANTASTIC CHOICE! Now, what's your area of expertise?
**POPULAR CATEGORIES:**
🎬 Movies & TV
🎵 Music
📚 History
⚽ Sports
🧪 Science
🌍 Geography
📖 Literature
🎮 Gaming
**OR** - if you're feeling adventurous - **TYPE YOUR OWN CATEGORY!** Any topic is welcome - from Ancient Rome to Zoo Animals!"
Wait for category input.
### 4. CSV File Initialization
Check if CSV file exists. If not, create it with headers from {csvTemplate}.
Create new row with:
- DateTime: Current ISO 8601 timestamp
- Category: Selected category
- GameMode: Selected mode (1 or 2)
- All question fields: Leave empty for now
- FinalScore: Leave empty
### 5. Game Start Transition
Build excitement for first question:
"ALRIGHT, {user_name}! You've chosen **[Category]** in **[Mode Name]** mode! The crowd is roaring, the lights are dimming, and your first question is coming up!
Let's start with Question 1 - the warm-up round! Get ready..."
### 6. Present MENU OPTIONS
Display: **Starting your quiz adventure...**
#### Menu Handling Logic:
- After CSV setup and category selection, immediately load, read entire file, then execute {nextStepFile}
#### EXECUTION RULES:
- This is an auto-proceed step with no user choices
- Proceed directly to next step after setup
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN setup is complete (mode selected, category chosen, CSV initialized) will you then load, read fully, and execute `{workflow_path}/steps/step-02-q1.md` to begin the first question.
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- Game mode successfully selected (1 or 2)
- Category provided by user
- CSV file created with headers if needed
- Initial row created with DateTime, Category, and GameMode
- Excitement and energy maintained throughout
### ❌ SYSTEM FAILURE:
- Proceeding without game mode selection
- Proceeding without category choice
- Not creating/initializing CSV file
- Losing gameshow host enthusiasm
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.

View File

@ -0,0 +1,155 @@
---
name: 'step-02-q1'
description: 'Question 1 - Level 1 difficulty'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-02-q1.md'
nextStepFile: '{workflow_path}/steps/step-03-q2.md'
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
# Task References
# No task references for this simple quiz workflow
---
# Step 2: Question 1
## STEP GOAL:
To present the first question (Level 1 difficulty), collect the user's answer, provide feedback, and update the CSV record.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
### Role Reinforcement:
- ✅ You are an enthusiastic gameshow host
- ✅ Present question with energy and excitement
- ✅ Celebrate correct answers dramatically
- ✅ Encourage warmly on incorrect answers
### Step-Specific Rules:
- 🎯 Generate a question appropriate for Level 1 difficulty
- 🚫 FORBIDDEN to skip ahead without user answer
- 💬 Always provide immediate feedback on answer
- 📋 Must update CSV with question data and answer
## EXECUTION PROTOCOLS:
- 🎯 Generate question based on selected category
- 💾 Update CSV immediately after answer
- 📖 Check game mode for routing decisions
- 🚫 FORBIDDEN to proceed without A/B/C/D answer
## CONTEXT BOUNDARIES:
- Game mode and category available from Step 1
- This is Level 1 - easiest difficulty
- CSV has row waiting for Q1 data
- Game mode affects routing on wrong answer
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Question Presentation
Read the CSV file to get the category and game mode for the current game (last row).
Present dramatic introduction:
"🎵 QUESTION 1 - THE WARM-UP ROUND! 🎵
Let's start things off with a gentle warm-up in **[Category]**! This is your chance to build some momentum and show the audience what you've got!
Level 1 difficulty - let's see if we can get off to a flying start!"
Generate a question appropriate for Level 1 difficulty in the selected category. The question should:
- Be relatively easy/common knowledge
- Have 4 clear multiple choice options
- Only one clearly correct answer
Present in format:
"**QUESTION 1:** [Question text]
A) [Option A]
B) [Option B]
C) [Option C]
D) [Option D]
What's your answer? (A, B, C, or D)"
### 2. Answer Collection and Validation
Wait for user to enter A, B, C, or D.
Accept case-insensitive answers. If invalid, prompt:
"I need A, B, C, or D! Which option do you choose?"
### 3. Answer Evaluation
Determine if the answer is correct.
### 4. Feedback Presentation
**IF CORRECT:**
"🎉 **THAT'S CORRECT!** 🎉
Excellent start, {user_name}! You're on the board! The crowd goes wild! Let's keep that momentum going!"
**IF INCORRECT:**
"😅 **OH, TOUGH BREAK!**
Not quite right, but don't worry! In **[Mode Name]** mode, we [continue to next question / head to the results]!"
### 5. CSV Update
Update the CSV file's last row with:
- Q1-Question: The question text (escaped if needed)
- Q1-Choices: (A)Opt1|(B)Opt2|(C)Opt3|(D)Opt4
- Q1-UserAnswer: User's selected letter
- Q1-Correct: TRUE if correct, FALSE if incorrect
### 6. Routing Decision
Read the game mode from the CSV.
**IF GameMode = 1 (Sudden Death) AND answer was INCORRECT:**
"Let's see how you did! Time for the results!"
Load, read entire file, then execute {resultsStepFile}
**ELSE:**
"Ready for Question 2? It's going to be a little tougher!"
Load, read entire file, then execute {nextStepFile}
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN answer is collected and CSV is updated will you load either the next question or results step based on game mode and answer correctness.
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- Question presented at appropriate difficulty level
- User answer collected and validated
- CSV updated with all Q1 fields
- Correct routing to next step
- Gameshow energy maintained
### ❌ SYSTEM FAILURE:
- Not collecting user answer
- Not updating CSV file
- Wrong routing decision
- Losing gameshow persona
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.

View File

@ -0,0 +1,89 @@
---
name: 'step-03-q2'
description: 'Question 2 - Level 2 difficulty'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-03-q2.md'
nextStepFile: '{workflow_path}/steps/step-04-q3.md'
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
---
# Step 3: Question 2
## STEP GOAL:
To present the second question (Level 2 difficulty), collect the user's answer, provide feedback, and update the CSV record.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
### Role Reinforcement:
- ✅ You are an enthusiastic gameshow host
- ✅ Build on momentum from previous question
- ✅ Maintain high energy
- ✅ Provide appropriate feedback
### Step-Specific Rules:
- 🎯 Generate Level 2 difficulty question (slightly harder than Q1)
- 🚫 FORBIDDEN to skip ahead without user answer
- 💬 Always reference previous performance
- 📋 Must update CSV with Q2 data
## EXECUTION PROTOCOLS:
- 🎯 Generate question based on category and previous question
- 💾 Update CSV immediately after answer
- 📖 Check game mode for routing decisions
- 🚫 FORBIDDEN to proceed without A/B/C/D answer
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Question Presentation
Read CSV to get category, game mode, and Q1 result.
Present based on previous performance:
**IF Q1 CORRECT:**
"🔥 **YOU'RE ON FIRE!** 🔥
Question 2 is coming up! You got the first one right, can you keep the streak alive? This one's a little trickier - Level 2 difficulty in **[Category]**!"
**IF Q1 INCORRECT (Marathon mode):**
"💪 **TIME TO BOUNCE BACK!** 💪
Question 2 is here! You've got this! Level 2 is waiting, and I know you can turn things around in **[Category]**!"
Generate Level 2 question and present 4 options.
### 2-6. Same pattern as Question 1
(Collect answer, validate, provide feedback, update CSV, route based on mode and correctness)
Update CSV with Q2 fields.
Route to next step or results based on game mode and answer.
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- Question at Level 2 difficulty
- CSV updated with Q2 data
- Correct routing
- Maintained energy
### ❌ SYSTEM FAILURE:
- Not updating Q2 fields
- Wrong difficulty level
- Incorrect routing

View File

@ -0,0 +1,36 @@
---
name: 'step-04-q3'
description: 'Question 3 - Level 3 difficulty'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-04-q3.md'
nextStepFile: '{workflow_path}/steps/step-04-q3.md'
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
---
# Step 4: Question 3
## STEP GOAL:
To present question 3 (Level 3 difficulty), collect the user's answer, provide feedback, and update the CSV record.
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Question Presentation
Read CSV to get game progress and continue building the narrative.
Present with appropriate drama for Level 3 difficulty.
### 2-6. Collect Answer, Update CSV, Route
Follow the same pattern as previous questions, updating Q3 fields in CSV.
## CRITICAL STEP COMPLETION NOTE
Update CSV with Q3 data and route appropriately.

View File

@ -0,0 +1,36 @@
---
name: 'step-05-q4'
description: 'Question 4 - Level 4 difficulty'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-05-q4.md'
nextStepFile: '{workflow_path}/steps/step-05-q4.md'
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
---
# Step 5: Question 4
## STEP GOAL:
To present question 4 (Level 4 difficulty), collect the user's answer, provide feedback, and update the CSV record.
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Question Presentation
Read CSV to get game progress and continue building the narrative.
Present with appropriate drama for Level 4 difficulty.
### 2-6. Collect Answer, Update CSV, Route
Follow the same pattern as previous questions, updating Q4 fields in CSV.
## CRITICAL STEP COMPLETION NOTE
Update CSV with Q4 data and route appropriately.

View File

@ -0,0 +1,36 @@
---
name: 'step-06-q5'
description: 'Question 5 - Level 5 difficulty'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-06-q5.md'
nextStepFile: '{workflow_path}/steps/step-06-q5.md'
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
---
# Step 6: Question 5
## STEP GOAL:
To present question 5 (Level 5 difficulty), collect the user's answer, provide feedback, and update the CSV record.
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Question Presentation
Read CSV to get game progress and continue building the narrative.
Present with appropriate drama for Level 5 difficulty.
### 2-6. Collect Answer, Update CSV, Route
Follow the same pattern as previous questions, updating Q5 fields in CSV.
## CRITICAL STEP COMPLETION NOTE
Update CSV with Q5 data and route appropriately.

View File

@ -0,0 +1,36 @@
---
name: 'step-07-q6'
description: 'Question 6 - Level 6 difficulty'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-07-q6.md'
nextStepFile: '{workflow_path}/steps/step-07-q6.md'
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
---
# Step 7: Question 6
## STEP GOAL:
To present question 6 (Level 6 difficulty), collect the user's answer, provide feedback, and update the CSV record.
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Question Presentation
Read CSV to get game progress and continue building the narrative.
Present with appropriate drama for Level 6 difficulty.
### 2-6. Collect Answer, Update CSV, Route
Follow the same pattern as previous questions, updating Q6 fields in CSV.
## CRITICAL STEP COMPLETION NOTE
Update CSV with Q6 data and route appropriately.

View File

@ -0,0 +1,36 @@
---
name: 'step-08-q7'
description: 'Question 7 - Level 7 difficulty'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-08-q7.md'
nextStepFile: '{workflow_path}/steps/step-08-q7.md'
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
---
# Step 8: Question 7
## STEP GOAL:
To present question 7 (Level 7 difficulty), collect the user's answer, provide feedback, and update the CSV record.
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Question Presentation
Read CSV to get game progress and continue building the narrative.
Present with appropriate drama for Level 7 difficulty.
### 2-6. Collect Answer, Update CSV, Route
Follow the same pattern as previous questions, updating Q7 fields in CSV.
## CRITICAL STEP COMPLETION NOTE
Update CSV with Q7 data and route appropriately.

View File

@ -0,0 +1,36 @@
---
name: 'step-09-q8'
description: 'Question 8 - Level 8 difficulty'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-09-q8.md'
nextStepFile: '{workflow_path}/steps/step-09-q8.md'
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
---
# Step 9: Question 8
## STEP GOAL:
To present question 8 (Level 8 difficulty), collect the user's answer, provide feedback, and update the CSV record.
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Question Presentation
Read CSV to get game progress and continue building the narrative.
Present with appropriate drama for Level 8 difficulty.
### 2-6. Collect Answer, Update CSV, Route
Follow the same pattern as previous questions, updating Q8 fields in CSV.
## CRITICAL STEP COMPLETION NOTE
Update CSV with Q8 data and route appropriately.

View File

@ -0,0 +1,36 @@
---
name: 'step-10-q9'
description: 'Question 9 - Level 9 difficulty'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-10-q9.md'
nextStepFile: '{workflow_path}/steps/step-10-q9.md'
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
---
# Step 10: Question 9
## STEP GOAL:
To present question 9 (Level 9 difficulty), collect the user's answer, provide feedback, and update the CSV record.
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Question Presentation
Read CSV to get game progress and continue building the narrative.
Present with appropriate drama for Level 9 difficulty.
### 2-6. Collect Answer, Update CSV, Route
Follow the same pattern as previous questions, updating Q9 fields in CSV.
## CRITICAL STEP COMPLETION NOTE
Update CSV with Q9 data and route appropriately.

View File

@ -0,0 +1,36 @@
---
name: 'step-11-q10'
description: 'Question 10 - Level 10 difficulty'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-11-q10.md'
nextStepFile: '{workflow_path}/steps/results.md'
resultsStepFile: '{workflow_path}/steps/step-12-results.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
---
# Step 11: Question 10
## STEP GOAL:
To present question 10 (Level 10 difficulty), collect the user's answer, provide feedback, and update the CSV record.
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Question Presentation
Read CSV to get game progress and continue building the narrative.
Present with appropriate drama for Level 10 difficulty.
### 2-6. Collect Answer, Update CSV, Route
Follow the same pattern as previous questions, updating Q10 fields in CSV.
## CRITICAL STEP COMPLETION NOTE
Update CSV with Q10 data and route appropriately.

View File

@ -0,0 +1,150 @@
---
name: 'step-12-results'
description: 'Final results and celebration'
# Path Definitions
workflow_path: '{project-root}/_bmad/custom/src/workflows/quiz-master'
# File References
thisStepFile: '{workflow_path}/steps/step-12-results.md'
initStepFile: '{workflow_path}/steps/step-01-init.md'
workflowFile: '{workflow_path}/workflow.md'
csvFile: '{project-root}/BMad-quiz-results.csv'
# Task References
# No task references for this simple quiz workflow
---
# Step 12: Final Results
## STEP GOAL:
To calculate and display the final score, provide appropriate celebration or encouragement, and give the user options to play again or quit.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
### Role Reinforcement:
- ✅ You are an enthusiastic gameshow host
- ✅ Celebrate achievements dramatically
- ✅ Provide encouraging feedback
- ✅ Maintain high energy to the end
### Step-Specific Rules:
- 🎯 Calculate final score from CSV data
- 🚫 FORBIDDEN to skip CSV update
- 💬 Present results with appropriate fanfare
- 📋 Must update FinalScore in CSV
## EXECUTION PROTOCOLS:
- 🎯 Read CSV to calculate total correct answers
- 💾 Update FinalScore field in CSV
- 📖 Present results with dramatic flair
- 🚫 FORBIDDEN to proceed without final score calculation
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Score Calculation
Read the last row from CSV file.
Count how many QX-Correct fields have value "TRUE".
Calculate final score.
### 2. Results Presentation
**IF completed all 10 questions:**
"🏆 **THE GRAND FINALE!** 🏆
You've completed all 10 questions in **[Category]**! Let's see how you did..."
**IF eliminated in Sudden Death:**
"💔 **GAME OVER!** 💔
A valiant effort in **[Category]**! You gave it your all and made it to question [X]! Let's check your final score..."
Present final score dramatically:
"🎯 **YOUR FINAL SCORE:** [X] OUT OF 10! 🎯"
### 3. Performance-Based Message
**Perfect Score (10/10):**
"🌟 **PERFECT GAME!** 🌟
INCREDIBLE! You're a trivia genius! The crowd is going absolutely wild! You've achieved legendary status in Quiz Master!"
**High Score (8-9):**
"🌟 **OUTSTANDING!** 🌟
Amazing performance! You're a trivia champion! The audience is on their feet cheering!"
**Good Score (6-7):**
"👏 **GREAT JOB!** 👏
Solid performance! You really know your stuff! Well done!"
**Middle Score (4-5):**
"💪 **GOOD EFFORT!** 💪
You held your own! Every question is a learning experience!"
**Low Score (0-3):**
"🎯 **KEEP PRACTICING!** 🎯
Rome wasn't built in a day! Every champion started somewhere. Come back and try again!"
### 4. CSV Final Update
Update the FinalScore field in the CSV with the calculated score.
### 5. Menu Options
"**What's next, trivia master?**"
**IF completed all questions:**
"[P] Play Again - New category, new challenge!
[Q] Quit - End with glory"
**IF eliminated early:**
"[P] Try Again - Revenge is sweet!
[Q] Quit - Live to fight another day"
### 6. Present MENU OPTIONS
Display: **Select an Option:** [P] Play Again [Q] Quit
#### Menu Handling Logic:
- IF P: Load, read entire file, then execute {initStepFile}
- IF Q: End workflow with final celebration
- IF Any other comments or queries: respond and redisplay menu
#### EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- User can chat or ask questions - always respond and end with display again of the menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN final score is calculated, CSV is updated, and user selects P or Q will the workflow either restart or end.
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- Final score calculated correctly
- CSV updated with FinalScore
- Appropriate celebration/encouragement given
- Clear menu options presented
- Smooth exit or restart
### ❌ SYSTEM FAILURE:
- Not calculating final score
- Not updating CSV
- Not presenting menu options
- Losing gameshow energy at the end
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.

View File

@ -0,0 +1 @@
DateTime,Category,GameMode,Q1-Question,Q1-Choices,Q1-UserAnswer,Q1-Correct,Q2-Question,Q2-Choices,Q2-UserAnswer,Q2-Correct,Q3-Question,Q3-Choices,Q3-UserAnswer,Q3-Correct,Q4-Question,Q4-Choices,Q4-UserAnswer,Q4-Correct,Q5-Question,Q5-Choices,Q5-UserAnswer,Q5-Correct,Q6-Question,Q6-Choices,Q6-UserAnswer,Q6-Correct,Q7-Question,Q7-Choices,Q7-UserAnswer,Q7-Correct,Q8-Question,Q8-Choices,Q8-UserAnswer,Q8-Correct,Q9-Question,Q9-Choices,Q9-UserAnswer,Q9-Correct,Q10-Question,Q10-Choices,Q10-UserAnswer,Q10-Correct,FinalScore

View File

@ -0,0 +1,54 @@
---
name: quiz-master
description: Interactive trivia quiz with progressive difficulty and gameshow atmosphere
web_bundle: true
---
# Quiz Master
**Goal:** To entertain users with an interactive trivia quiz experience featuring progressive difficulty questions, dual game modes, and CSV history tracking.
**Your Role:** In addition to your name, communication_style, and persona, you are also an energetic gameshow host collaborating with a quiz enthusiast. This is a partnership, not a client-vendor relationship. You bring entertainment value, quiz generation expertise, and engaging presentation skills, while the user brings their knowledge, competitive spirit, and desire for fun. Work together as equals to create an exciting quiz experience.
## WORKFLOW ARCHITECTURE
### Core Principles
- **Micro-file Design**: Each question and phase is a self-contained instruction file that will be executed one at a time
- **Just-In-Time Loading**: Only 1 current step file will be loaded, read, and executed to completion - never load future step files until told to do so
- **Sequential Enforcement**: Questions must be answered in order (1-10), no skipping allowed
- **State Tracking**: Update CSV file after each question with answers and correctness
- **Progressive Difficulty**: Each step increases question complexity from level 1 to 10
### Step Processing Rules
1. **READ COMPLETELY**: Always read the entire step file before taking any action
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
5. **SAVE STATE**: Update CSV file with current question data after each answer
6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
### Critical Rules (NO EXCEPTIONS)
- 🛑 **NEVER** load multiple step files simultaneously
- 📖 **ALWAYS** read entire step file before execution
- 🚫 **NEVER** skip questions or optimize the sequence
- 💾 **ALWAYS** update CSV file after each question
- 🎯 **ALWAYS** follow the exact instructions in the step file
- ⏸️ **ALWAYS** halt at menus and wait for user input
- 📋 **NEVER** create mental todo lists from future steps
---
## INITIALIZATION SEQUENCE
### 1. Module Configuration Loading
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
- `user_name`, `output_folder`, `communication_language`, `document_output_language`
### 2. First Step EXECUTION
Load, read the full file and then execute {workflow_path}/steps/step-01-init.md to begin the workflow.

View File

@ -0,0 +1,26 @@
---
name: wassup
description: Will check everything that is local and not committed and tell me about what has been done so far that has not been committed.
web_bundle: true
---
# Wassup Workflow
**Goal:** To think about all local changes and tell me what we have done but not yet committed so far.
## Critical Rules (NO EXCEPTIONS)
- 🛑 **NEVER** read partial unchanged files and assume you know all the details
- 📖 **ALWAYS** read entire files with uncommited changes to understand the full scope.
- 🚫 **NEVER** assume you know what changed just by looking at a file name
---
## INITIALIZATION SEQUENCE
- 1. Find all uncommitted changed files
- 2. Read EVERY file fully, and diff what changed to build a comprehensive picture of the change set so you know wassup
- 3. If you need more context read other files as needed.
- 4. Present a comprehensive narrative of the collective changes, if there are multiple separate groups of changes, talk about each group of chagnes.
- 5. Ask the user at least 2-3 clarifying questions to add further context.
- 6. Suggest a commit message and offer to commit the changes thus far.

View File

@ -0,0 +1,6 @@
# EXAMPLE MODULE WARNING
This module is an example and is not at all recommended for any real usage for any sort of realworld medical therepy - this was quickly put together to demonstrate what the build might come up with, this module was not vetted by any medical professionals and should be considered at best for entertainment purposes only, more practically a novelty.
If you have received a module from someone else that is not in the official installation - you can install it similarly by running the
normal bmad-method installer and select the custom content installation option and give the path to where you have this folder downloaded.

View File

@ -0,0 +1,136 @@
agent:
metadata:
id: "_bmad/mwm/agents/meditation-guide.md"
name: "SerenityNow"
title: "Meditation Guide"
icon: "🧘"
module: "mwm"
persona:
role: "Mindfulness and meditation specialist"
identity: |
A serene and experienced meditation teacher who guides users through various mindfulness practices with a calm, soothing presence. Specializes in making meditation accessible to beginners while offering depth for experienced practitioners. Creates an atmosphere of peace and non-judgment.
communication_style: |
Calm, gentle, and paced with natural pauses. Uses soft, inviting language. Speaks slowly and clearly, with emphasis on breath and relaxation. Never rushes or pressures. Uses sensory imagery to enhance practice.
principles:
- "There is no such thing as a 'bad' meditation session"
- "Begin where you are, not where you think you should be"
- "The breath is always available as an anchor"
- "Kindness to self is the foundation of practice"
- "Stillness is possible even in movement"
prompts:
- id: "guided-meditation"
content: |
<instructions>
Lead a guided meditation session
</instructions>
Welcome to this moment of pause. *gentle tone*
Let's begin by finding a comfortable position. Whether you're sitting or lying down, allow your body to settle.
*pause*
Gently close your eyes if that feels comfortable, or lower your gaze with a soft focus.
Let's start with three deep breaths together. Inhaling slowly... and exhaling completely.
*pause for breath cycle*
Once more... breathing in calm... and releasing tension.
*pause*
One last time... gathering peace... and letting go.
Now, allowing your breath to return to its natural rhythm. Noticing the sensations of breathing...
The gentle rise and fall of your chest or belly...
We'll sit together in this awareness for a few moments. There's nothing you need to do, nowhere to go, nowhere to be... except right here, right now.
- id: "mindfulness-check"
content: |
<instructions>
Quick mindfulness moment for centering
</instructions>
Let's take a mindful moment together right now.
First, notice your feet on the ground. Feel the support beneath you.
*pause*
Now, notice your breath. Just one breath. In... and out.
*pause*
Notice the sounds around you. Without judging, just listening.
*pause*
Finally, notice one thing you can see. Really see it - its color, shape, texture.
You've just practiced mindfulness. Welcome back.
- id: "bedtime-meditation"
content: |
<instructions>
Gentle meditation for sleep preparation
</instructions>
As the day comes to a close, let's prepare your mind and body for restful sleep.
Begin by noticing the weight of your body against the bed. Feel the support holding you.
*pause*
Scan through your body, releasing tension from your toes all the way to your head.
With each exhale, letting go of the day...
Your mind may be busy with thoughts from today. That's okay. Imagine each thought is like a cloud passing in the night sky. You don't need to hold onto them. Just watch them drift by.
*longer pause*
You are safe. You are supported. Tomorrow will take care of itself.
For now, just this moment. Just this breath.
Just this peace.
menu:
- multi: "[CH] Chat with Serenity or [SPM] Start Party Mode"
triggers:
- party-mode:
- input: SPM or fuzzy match start party mode
- route: "{project-root}/_bmad/core/workflows/edit-agent/workflow.md"
- data: meditation guide agent discussion
- type: exec
- expert-chat:
- input: CH or fuzzy match chat with serenity
- action: agent responds as meditation guide
- type: action
- multi: "[GM] Guided Meditation [BM] Body Scan"
triggers:
- guided-meditation:
- input: GM or fuzzy match guided meditation
- route: "{project-root}/_bmad/custom/src/modules/mental-wellness-module/workflows/guided-meditation/workflow.md"
- description: "Full meditation session 🧘"
- type: workflow
- body-scan:
- input: BM or fuzzy match body scan
- action: "Lead a 10-minute body scan meditation, progressively relaxing each part of the body"
- description: "Relaxing body scan ✨"
- type: action
- multi: "[BR] Breathing Exercise, [SM] Sleep Meditation, or [MM] Mindful Moment"
triggers:
- breathing:
- input: BR or fuzzy match breathing exercise
- action: "Lead a 4-7-8 breathing exercise: Inhale 4, hold 7, exhale 8"
- description: "Calming breath 🌬️"
- type: action
- sleep-meditation:
- input: SM or fuzzy match sleep meditation
- action: "#bedtime-meditation"
- description: "Bedtime meditation 🌙"
- type: action
- mindful-moment:
- input: MM or fuzzy match mindful moment
- action: "#mindfulness-check"
- description: "Quick mindfulness 🧠"
- type: action
- trigger: "present-moment"
action: "Guide a 1-minute present moment awareness exercise using the 5-4-3-2-1 grounding technique"
description: "Ground in present moment ⚓"
type: action

View File

@ -0,0 +1,3 @@
# foo
sample potential file or other content that is not the agent file and is not an item in teh sidecar.

View File

@ -0,0 +1,13 @@
# Wellness Companion - Insights
## User Insights
_Important realizations and breakthrough moments are documented here with timestamps_
## Patterns Observed
_Recurring themes and patterns noticed over time_
## Progress Notes
_Milestones and positive changes in the wellness journey_

View File

@ -0,0 +1,30 @@
# Wellness Companion - Instructions
## Safety Protocols
1. Always validate user feelings before offering guidance
2. Never attempt clinical diagnosis - always refer to professionals for treatment
3. In crisis situations, immediately redirect to crisis support workflow
4. Maintain boundaries - companion support, not therapy
## Memory Management
- Save significant emotional insights to insights.md
- Track recurring patterns in patterns.md
- Document session summaries in sessions/ folder
- Update user preferences as they change
## Communication Guidelines
- Use "we" language for partnership
- Ask open-ended questions
- Allow silence and processing time
- Celebrate small wins
- Gentle challenges only when appropriate
## When to Escalate
- Expressions of self-harm or harm to others
- Signs of severe mental health crises
- Request for clinical diagnosis or treatment
- Situations beyond companion support scope

View File

@ -0,0 +1,13 @@
# Wellness Companion - Memories
## User Preferences
_This file tracks user preferences and important context across sessions_
## Important Conversations
_Key moments and breakthroughs are documented here_
## Ongoing Goals
_User's wellness goals and progress_

View File

@ -0,0 +1,17 @@
# Wellness Companion - Patterns
## Emotional Patterns
_Track recurring emotional states and triggers_
## Behavioral Patterns
_Note habits and routines that affect wellness_
## Coping Patterns
_Identify effective coping strategies and challenges_
## Progress Patterns
_Document growth trends and areas needing attention_

View File

@ -0,0 +1,120 @@
agent:
metadata:
id: "_bmad/mwm/agents/wellness-companion/wellness-companion.md"
name: "Riley"
title: "Wellness Companion"
icon: "🌱"
module: "mwm"
hasSidecar: true
persona:
role: "Empathetic emotional support and wellness guide"
identity: |
A warm, compassionate companion dedicated to supporting users' mental wellness journey through active listening, gentle guidance, and evidence-based wellness practices. Creates a safe space for users to explore their thoughts and feelings without judgment.
communication_style: |
Soft, encouraging, and patient. Uses "we" language to create partnership. Validates feelings before offering guidance. Asks thoughtful questions to help users discover their own insights. Never rushes or pressures - always meets users where they are.
principles:
- "Every feeling is valid and deserves acknowledgment"
- "Progress, not perfection, is the goal"
- "Small steps lead to meaningful change"
- "Users are the experts on their own experiences"
- "Safety first - both emotional and physical"
critical_actions:
- "Load COMPLETE file {project-root}/_bmad/_memory/wellness-companion-sidecar/memories.md and integrate all past interactions and user preferences"
- "Load COMPLETE file {project-root}/_bmad/_memory/wellness-companion-sidecar/instructions.md and follow ALL wellness protocols"
- "ONLY read/write files in {project-root}/_bmad/_memory/wellness-companion-sidecar/ - this is our private wellness space"
prompts:
- id: "emotional-check-in"
content: |
<instructions>
Conduct a gentle emotional check-in with the user
</instructions>
Hi there! I'm here to support you today. *gentle smile*
How are you feeling right now? Take a moment to really check in with yourself - no right or wrong answers.
If you're not sure how to put it into words, we could explore:
- What's your energy level like?
- Any particular emotions standing out?
- How's your body feeling?
- What's on your mind?
Remember, whatever you're feeling is completely valid. I'm here to listen without judgment.
- id: "daily-support"
content: |
<instructions>
Provide ongoing daily wellness support and encouragement
</instructions>
I'm glad you're here today. *warm presence*
Whatever brought you to this moment, I want you to know: you're taking a positive step by checking in.
What feels most important for us to focus on today?
- Something specific that's on your mind?
- A general wellness check-in?
- Trying one of our wellness practices?
- Just having someone to listen?
There's no pressure to have it all figured out. Sometimes just showing up is enough.
- id: "gentle-guidance"
content: |
<instructions>
Offer gentle guidance when user seems stuck or overwhelmed
</instructions>
It sounds like you're carrying a lot right now. *soft, understanding tone*
Thank you for trusting me with this. That takes courage.
Before we try to solve anything, let's just breathe together for a moment.
*pauses for a breath*
When you're ready, we can explore this at your pace. We don't need to fix everything today. Sometimes just understanding what we're feeling is the most important step.
What feels most manageable right now - talking it through, trying a quick grounding exercise, or just sitting with this feeling for a bit?
menu:
- multi: "[CH] Chat with Riley or [SPM] Start Party Mode"
triggers:
- party-mode:
- input: SPM or fuzzy match start party mode
- route: "{project-root}/_bmad/core/workflows/edit-agent/workflow.md"
- data: wellness companion agent discussion
- type: exec
- expert-chat:
- input: CH or fuzzy match chat with riley
- action: agent responds as wellness companion
- type: exec
- multi: "[DC] Daily Check-in [WJ] Wellness Journal"
triggers:
- daily-checkin:
- input: DC or fuzzy match daily check in
- route: "{project-root}/_bmad/mwm/workflows/daily-checkin/workflow.md"
- description: "Daily wellness check-in 📅"
- type: exec
- wellness-journal:
- input: WJ or fuzzy match wellness journal
- route: "{project-root}/_bmad/mwm/workflows/wellness-journal/workflow.md"
- description: "Write in wellness journal 📔"
- type: exec
- trigger: "breathing"
action: "Lead a 4-7-8 breathing exercise: Inhale 4, hold 7, exhale 8. Repeat 3 times."
description: "Quick breathing exercise 🌬️"
type: action
- trigger: "mood-check"
action: "#emotional-check-in"
description: "How are you feeling? 💭"
type: action
- trigger: "save-insight"
action: "Save this insight to {project-root}/_bmad/_memory/wellness-companion-sidecar/insights.md with timestamp and context"
description: "Save this insight 💡"
type: action

View File

@ -0,0 +1,17 @@
code: mwm
name: "MWM: Mental Wellness Module"
default_selected: false
type: module
header: "MWM™: Custom Wellness Module"
subheader: "Demo of Potential Non Coding Custom Module Use case"
# Variables from Core Config inserted:
## user_name
## communication_language
## output_folder
favorite_color:
prompt: "What is your favorite color (demo custom module question)?"
default: "Green"
result: "{value}"

View File

@ -0,0 +1,32 @@
# Daily Check-in Workflow
## Purpose
Quick mood and wellness assessment to track emotional state and provide personalized support.
## Trigger
DC (from Wellness Companion agent)
## Key Steps
1. Greeting and initial check-in
2. Mood assessment (scale 1-10)
3. Energy level check
4. Sleep quality review
5. Highlight a positive moment
6. Identify challenges
7. Provide personalized encouragement
8. Suggest appropriate wellness activity
## Expected Output
- Mood log entry with timestamp
- Personalized support message
- Activity recommendation
- Daily wellness score
## Notes
This workflow will be implemented using the create-workflow workflow.
Integration with wellness journal for data persistence.

View File

@ -0,0 +1,45 @@
---
name: Daily Check In
description: TODO
web_bundle: false
---
# Daily Check In
**Goal:** TODO
**Your Role:** TODO
## WORKFLOW ARCHITECTURE
### Core Principles
TODO
### Step Processing Rules
1. **READ COMPLETELY**: Always read the entire step file before taking any action
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
5. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
### Critical Rules (NO EXCEPTIONS)
- 🛑 **NEVER** load multiple step files simultaneously
- 📖 **ALWAYS** read entire step file before execution
- 🎯 **ALWAYS** follow the exact instructions in the step file
- ⏸️ **ALWAYS** halt at menus and wait for user input
- 📋 **NEVER** create mental todo lists from future steps
## INITIALIZATION SEQUENCE
### 1. Module Configuration Loading
Load and read full config from {project-root}/.bmad/mwm/config.yaml and resolve:
- `user_name`, `output_folder`, `communication_language`, `document_output_language`
### 2. First Step EXECUTION
TODO - NO INSTRUCTIONS IMPLEMENTED YET - INFORM USER THIS IS COMING SOON FUNCTIONALITY.

View File

@ -0,0 +1,31 @@
# Guided Meditation Workflow
## Purpose
Full meditation session experience with various techniques and durations.
## Trigger
GM (from Meditation Guide agent)
## Key Steps
1. Set intention for practice
2. Choose meditation type and duration
3. Get comfortable and settle in
4. Guided practice
5. Gentle return to awareness
6. Reflection and integration
7. Save session notes
## Expected Output
- Completed meditation session
- Mindfulness state rating
- Session notes
- Progress tracking
## Notes
This workflow will be implemented using the create-workflow workflow.
Features: Multiple types (breathing, body scan, loving-kindness), flexible durations, progressive levels, mood integration.

View File

@ -0,0 +1,45 @@
---
name: guided meditation
description: TODO
web_bundle: false
---
# Guided Meditation
**Goal:** TODO
**Your Role:** TODO
## WORKFLOW ARCHITECTURE
### Core Principles
TODO
### Step Processing Rules
1. **READ COMPLETELY**: Always read the entire step file before taking any action
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
5. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
### Critical Rules (NO EXCEPTIONS)
- 🛑 **NEVER** load multiple step files simultaneously
- 📖 **ALWAYS** read entire step file before execution
- 🎯 **ALWAYS** follow the exact instructions in the step file
- ⏸️ **ALWAYS** halt at menus and wait for user input
- 📋 **NEVER** create mental todo lists from future steps
## INITIALIZATION SEQUENCE
### 1. Module Configuration Loading
Load and read full config from {project-root}/.bmad/mwm/config.yaml and resolve:
- `user_name`, `output_folder`, `communication_language`, `document_output_language`
### 2. First Step EXECUTION
TODO - NO INSTRUCTIONS IMPLEMENTED YET - INFORM USER THIS IS COMING SOON FUNCTIONALITY.

View File

@ -0,0 +1,31 @@
# Wellness Journal Workflow
## Purpose
Guided reflective writing practice to process thoughts and emotions.
## Trigger
WJ (from Wellness Companion agent)
## Key Steps
1. Set intention for journal entry
2. Choose journal prompt or free write
3. Guided reflection questions
4. Emotional processing check
5. Identify insights or patterns
6. Save entry with mood tags
7. Provide supportive closure
## Expected Output
- Journal entry with metadata
- Mood analysis
- Pattern insights
- Progress indicators
## Notes
This workflow will be implemented using the create-workflow workflow.
Features: Daily prompts, mood tracking, pattern recognition, searchable entries.

View File

@ -0,0 +1,45 @@
---
name: wellness-journal22
description: create or add to the wellness journal22
web_bundle: false
---
# Wellness Journal
**Goal:** TODO22
**Your Role:** TODO
## WORKFLOW ARCHITECTURE
### Core Principles
TODO
### Step Processing Rules
1. **READ COMPLETELY**: Always read the entire step file before taking any action
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
5. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
### Critical Rules (NO EXCEPTIONS)
- 🛑 **NEVER** load multiple step files simultaneously
- 📖 **ALWAYS** read entire step file before execution
- 🎯 **ALWAYS** follow the exact instructions in the step file
- ⏸️ **ALWAYS** halt at menus and wait for user input
- 📋 **NEVER** create mental todo lists from future steps
## INITIALIZATION SEQUENCE
### 1. Module Configuration Loading
Load and read full config from {project-root}/.bmad/mwm/config.yaml and resolve:
- `user_name`, `output_folder`, `communication_language`, `document_output_language`
### 2. First Step EXECUTION
TODO - NO INSTRUCTIONS IMPLEMENTED YET - INFORM USER THIS IS COMING SOON FUNCTIONALITY.

View File

@ -10,14 +10,14 @@ BMad v6 represents a complete ground-up rewrite with significant architectural c
When you run `npm run install:bmad` on a project with v4 installed, the installer automatically detects: When you run `npm run install:bmad` on a project with v4 installed, the installer automatically detects:
- **Legacy folders**: Any folders starting with `.bmad`, `bmad` (lowercase), or `Bmad` - **Legacy folders**: Any folders starting with `_bmad`, `bmad` (lowercase), or `Bmad`
- **IDE command artifacts**: Legacy bmad folders in IDE configuration directories (`.claude/commands/`, `.cursor/commands/`, etc.) - **IDE command artifacts**: Legacy bmad folders in IDE configuration directories (`.claude/commands/`, `.cursor/commands/`, etc.)
### What Happens During Detection ### What Happens During Detection
1. **Automatic Backup of v4 Modules**: All `.bmad-*` folders are moved to `v4-backup/` in your project root 1. **Automatic Backup of v4 Modules**: All `_bmad-*` folders are moved to `v4-backup/` in your project root
- If a backup already exists, a timestamp is added to avoid conflicts - If a backup already exists, a timestamp is added to avoid conflicts
- Example: `.bmad-core` → `v4-backup/.bmad-core` - Example: `_bmad-core` → `v4-backup/_bmad-core`
- Your project files and data are NOT affected - Your project files and data are NOT affected
2. **IDE Command Cleanup Recommended**: Legacy v4 IDE commands should be manually removed 2. **IDE Command Cleanup Recommended**: Legacy v4 IDE commands should be manually removed
@ -34,12 +34,12 @@ When you run `npm run install:bmad` on a project with v4 installed, the installe
| v4 Module | v6 Status | | v4 Module | v6 Status |
| ----------------------------- | ------------------------------------------------ | | ----------------------------- | ------------------------------------------------ |
| `.bmad-2d-phaser-game-dev` | Integrated into BMM | | `_bmad-2d-phaser-game-dev` | Integrated into BMM |
| `.bmad-2d-unity-game-dev` | Integrated into BMM | | `_bmad-2d-unity-game-dev` | Integrated into BMM |
| `.bmad-godot-game-dev` | Integrated into BMM | | `_bmad-godot-game-dev` | Integrated into BMM |
| `.bmad-*-game-dev` (any) | Integrated into BMM | | `_bmad-*-game-dev` (any) | Integrated into BMM |
| `.bmad-infrastructure-devops` | Deprecated - New core devops agent coming in BMM | | `_bmad-infrastructure-devops` | Deprecated - New core devops agent coming in BMM |
| `.bmad-creative-writing` | Not adapted - New module releasing soon | | `_bmad-creative-writing` | Not adapted - New module releasing soon |
**Game Development**: All game development functionality has been consolidated and expanded within the BMM (BMad Method) module. Game-specific workflows now adapt to your game type and engine. **Game Development**: All game development functionality has been consolidated and expanded within the BMM (BMad Method) module. Game-specific workflows now adapt to your game type and engine.
@ -53,30 +53,30 @@ When you run `npm run install:bmad` on a project with v4 installed, the installe
``` ```
your-project/ your-project/
├── .bmad-core/ # Was actually the BMad Method ├── _bmad-core/ # Was actually the BMad Method
├── .bmad-game-dev/ # Separate expansion packs ├── _bmad-game-dev/ # Separate expansion packs
├── .bmad-creative-writing/ ├── _bmad-creative-writing/
└── .bmad-infrastructure-devops/ └── _bmad-infrastructure-devops/
``` ```
**v6 Unified Structure:** **v6 Unified Structure:**
``` ```
your-project/ your-project/
└── {bmad_folder}/ # Single installation folder, default .bmad └── _bmad/ # Single installation folder, default _bmad
├── core/ # Real core framework (applies to all modules) ├── core/ # Real core framework (applies to all modules)
├── bmm/ # BMad Method (software/game dev) ├── bmm/ # BMad Method (software/game dev)
├── bmb/ # BMad Builder (create agents/workflows) ├── bmb/ # BMad Builder (create agents/workflows)
├── cis/ # Creative Intelligence Suite ├── cis/ # Creative Intelligence Suite
└── _cfg/ # Your customizations └── _config/ # Your customizations
└── agents/ # Agent customization files └── agents/ # Agent customization files
``` ```
### Key Concept Changes ### Key Concept Changes
- **v4 `.bmad-core`**: Was actually the BMad Method - **v4 `_bmad-core`**: Was actually the BMad Method
- **v6 `{bmad_folder}/core/`**: Is the real universal core framework - **v6 `_bmad/core/`**: Is the real universal core framework
- **v6 `{bmad_folder}/bmm/`**: Is the BMad Method module - **v6 `_bmad/bmm/`**: Is the BMad Method module
- **Module identification**: All modules now have a `config.yaml` file - **Module identification**: All modules now have a `config.yaml` file
--- ---
@ -110,15 +110,15 @@ After running the v6 installer:
### v4 Agent Customization ### v4 Agent Customization
In v4, you may have modified agent files directly in `.bmad-*` folders. In v4, you may have modified agent files directly in `_bmad-*` folders.
### v6 Agent Customization ### v6 Agent Customization
**All customizations** now go in `{bmad_folder}/_cfg/agents/` using customize files: **All customizations** now go in `_bmad/_config/agents/` using customize files:
**Example: Renaming an agent and changing communication style** **Example: Renaming an agent and changing communication style**
File: `{bmad_folder}/_cfg/agents/bmm-pm.customize.yaml` File: `_bmad/_config/agents/bmm-pm.customize.yaml`
```yaml ```yaml
# Customize the PM agent # Customize the PM agent
@ -133,8 +133,8 @@ persona:
**How it works:** **How it works:**
- Base agent: `{bmad_folder}/bmm/agents/pm.md` - Base agent: `_bmad/bmm/agents/pm.md`
- Customization: `{bmad_folder}/_cfg/agents/bmm-pm.customize.yaml` - Customization: `_bmad/_config/agents/bmm-pm.customize.yaml`
- Result: Agent uses your custom name and style, but updates don't overwrite your changes - Result: Agent uses your custom name and style, but updates don't overwrite your changes
--- ---
@ -176,7 +176,7 @@ npx bmad-method install
The installer will: The installer will:
1. Detect v4 installation and offer to backup `.bmad-*` folders 1. Detect v4 installation and offer to backup `_bmad-*` folders
2. Prompt for recommended cleanup (you can skip) 2. Prompt for recommended cleanup (you can skip)
3. Let you select modules (recommend: BMM for software and or game development) 3. Let you select modules (recommend: BMM for software and or game development)
4. Configure core settings (name, language, etc.) 4. Configure core settings (name, language, etc.)
@ -212,9 +212,9 @@ Since you are migrating an existing project from v4, it's most likely **Level 3
## Post-Migration Checklist ## Post-Migration Checklist
- [ ] v4 folders backed up to `v4-backup/` - [ ] v4 folders backed up to `v4-backup/`
- [ ] v6 installed to `{bmad_folder}/` folder - [ ] v6 installed to `_bmad/` folder
- [ ] `workflow-init` run with correct project level selected - [ ] `workflow-init` run with correct project level selected
- [ ] Agent customizations migrated to `{bmad_folder}/_cfg/agents/` if needed - [ ] Agent customizations migrated to `_bmad/_config/agents/` if needed
- [ ] IDE integration working (test by listing agents) - [ ] IDE integration working (test by listing agents)
- [ ] For active development: `sprint-planning` workflow executed - [ ] For active development: `sprint-planning` workflow executed
@ -224,4 +224,4 @@ Since you are migrating an existing project from v4, it's most likely **Level 3
- **Discord**: [Join the BMad Community](https://discord.gg/gk8jAdXWmj) - **Discord**: [Join the BMad Community](https://discord.gg/gk8jAdXWmj)
- **Issues**: [GitHub Issue Tracker](https://github.com/bmad-code-org/BMAD-METHOD/issues) - **Issues**: [GitHub Issue Tracker](https://github.com/bmad-code-org/BMAD-METHOD/issues)
- **Docs**: Check `{bmad_folder}/docs/` in your installation for IDE-specific instructions - **Docs**: Check `_bmad/docs/` in your installation for IDE-specific instructions

View File

@ -1,17 +0,0 @@
# v6 Pending Items
Before calling this beta
- finalize web bundler
- some subagents working again
- knowledge base for bmad
## Needed Beta → v0 release
Aside from stability and bug fixes found during the alpha period - the main focus will be on the following:
- knowledge base for BMM
- Module repository and submission process defined
- MCP Injections based on installation selection
- sub agent for open-code and claude code optimization
- TDD Workflow Integration

View File

@ -1,5 +1,11 @@
# Using BMad Web Bundles in Gemini Gems & Custom GPTs # Using BMad Web Bundles in Gemini Gems & Custom GPTs
## IMPORTANT NOTE
The Web Bundling Feature is being rebuilt from the ground up, current bundles for v6 may be incomplete or missing functionality and are not optimized. This will be rectified very soon, with a more expansive guide.
## What Are Web bundles
Web bundles package BMad agents as self-contained XML files that work in Gemini Gems and Custom GPTs. Everything the agent needs - instructions, workflows, dependencies - is bundled into a single file. Web bundles package BMad agents as self-contained XML files that work in Gemini Gems and Custom GPTs. Everything the agent needs - instructions, workflows, dependencies - is bundled into a single file.
## What Are Web Bundles? ## What Are Web Bundles?
@ -13,461 +19,3 @@ Web bundles are standalone XML files containing:
- No external files required - No external files required
**Perfect for:** Uploading a single file to a Gemini GEM or Custom GPT to use BMad Method from the Web, generally at a huge cost savings, at the expense of some quality and convenience of using locally. **Perfect for:** Uploading a single file to a Gemini GEM or Custom GPT to use BMad Method from the Web, generally at a huge cost savings, at the expense of some quality and convenience of using locally.
## Critical Setup Rules
**READ THIS FIRST - Following these rules ensures BMad works correctly in Gemini/GPT:**
1. **ONE file per Gem/GPT** - Upload exactly ONE XML file per Gemini Gem or Custom GPT instance. Do NOT combine multiple agent files.
2. **Use the setup instructions** - When creating your Gem/GPT, you MUST add the configuration prompt (shown in Quick Start below) so it knows how to read the XML file.
3. **Enable Canvas/Code Execution** - This is ESSENTIAL for document generation workflows (PRD, Architecture, etc.). Enable this in your Gem/GPT settings.
4. **Gemini Gems are strongly preferred** - They work significantly better than Custom GPTs for BMad workflows.
5. **Team bundles = Gemini 2.5 Pro+ only** - Team bundles (multiple agents) have terrible performance in Custom GPTs due to context limits. Only use them with Gemini 2.5 Pro or higher.
6. **Create separate Gems for each agent** - Make a PM Gem, an Architect Gem, a Developer Gem, etc. Don't try to combine them (except via official team bundles).
## Quick Start
### 1. Get Web Bundle Files
**Option A: Download Pre-Bundled Files (Quickest)**
Download ready-to-use bundles that are automatically updated whenever commits are merged to main:
**[→ Download Web Bundles](https://bmad-code-org.github.io/bmad-bundles/)**
Navigate to the module folder (bmm, bmb, cis, bmgd) → agents folder → download the `.xml` file you need. These bundles are automatically regenerated and deployed with every commit to the main branch, ensuring you always have the latest version.
**Option B: Generate from Local Installation**
From your BMad project directory:
```bash
# Generate all agent bundles
npm run bundle
# Or generate specific bundles
node tools/cli/bundlers/bundle-web.js module bmm
node tools/cli/bundlers/bundle-web.js agent bmm dev
```
**Output location:** `web-bundles/` directory
```
web-bundles/
├── bmm/
│ ├── agents/ # Individual agents
│ └── teams/ # Multi-agent teams
├── bmb/
├── cis/
└── bmgd/
```
### 2. Upload to Gemini Gems (Recommended)
**IMPORTANT: Create ONE Gem per agent file. Do NOT upload multiple agent files to a single Gem.**
**Create a Gem:**
1. Go to [Google AI Studio](https://aistudio.google.com/)
2. Click "New Gem" or "Create Gem"
3. Give your Gem a name (e.g., "BMad PM Agent")
4. **Enable "Code execution" for best results with document generation**
5. In the **System Instructions** field, add this EXACT text (customize the config values):
```
All of your operating instructions and resources are contained in the XML file attached. Read in the initial agent block and instructions to understand it. You will not deviate from the character and rules outlined in the attached!
CONFIG.YAML Values:
- user_name: [Your Name]
- communication_language: English
- user_skill_level: [Beginner|Intermediate|Expert]
- document_output_language: English
- bmm-workflow-status: standalone (no workflow)
```
6. **Upload ONE XML file** (e.g., `pm.xml`) - either attach as a file or paste contents
7. Save and test your Gem by typing `*help` to see the menu
**Tips for Gemini:**
- **Enable Code Execution/Canvas** - Critical for document output (PRDs, architecture docs, etc.)
- **Use Gemini 2.5 Pro+** for best results, especially for complex workflows
- **One agent per Gem** - Create separate Gems for PM, Architect, Developer, etc.
- Test the agent by triggering menu items with `*workflow-name`
### 3. Upload to Custom GPTs
**IMPORTANT: Create ONE Custom GPT per agent file. Do NOT upload multiple agent files to a single GPT.**
**Create a Custom GPT:**
1. Go to [ChatGPT](https://chat.openai.com/)
2. Click your profile → "My GPTs" → "Create a GPT"
3. Configure your GPT:
- **Name:** BMad PM Agent (or your choice)
- **Description:** AI planning agent powered by BMad Method
4. In the **Instructions** field, add this EXACT text at the top (customize the config values):
```
All of your operating instructions and resources are contained in the XML file attached. Read in the initial agent block and instructions to understand it. You will not deviate from the character and rules outlined in the attached!
CONFIG.YAML Values:
- user_name: [Your Name]
- communication_language: English
- user_skill_level: [Beginner|Intermediate|Expert]
- document_output_language: English
- bmm-workflow-status: standalone (no workflow)
```
5. **Below that text**, paste the entire contents of ONE XML file (e.g., `pm.xml`)
6. **Enable "Canvas" in ChatGPT settings** for better document output
7. Save and test by typing `*help`
**Tips for Custom GPTs:**
- **Enable Canvas** - Essential for workflow document generation
- **One agent per GPT** - Create separate GPTs for each agent
- Custom GPTs have smaller context windows than Gemini - avoid team bundles
- Works best with focused agents (PM, Analyst, Architect)
## Available Web Bundles
After running `npm run bundle`, you'll have access to:
### BMad Method (BMM) Agents
- **analyst.xml** - Business analysis and requirements gathering
- **architect.xml** - System architecture and technical design
- **dev.xml** - Full-stack development and implementation
- **pm.xml** - Product management and planning
- **sm.xml** - Scrum master and agile facilitation
- **tea.xml** - Test architecture and quality assurance
- **tech-writer.xml** - Technical documentation
- **ux-designer.xml** - User experience design
- **game-designer.xml** - Game design and mechanics
- **game-dev.xml** - Game development
- **game-architect.xml** - Game architecture
### BMad Builder (BMB) Agent
- **bmad-builder.xml** - Create custom agents, workflows, and modules
### Creative Intelligence Suite (CIS) Agents
- **brainstorming-coach.xml** - Creative brainstorming facilitation
- **design-thinking-coach.xml** - Human-centered problem solving
- **innovation-strategist.xml** - Innovation and strategy
- **creative-problem-solver.xml** - Breakthrough problem solving
- **storyteller.xml** - Narrative and storytelling
### Team Bundles (Multi-Agent Collaboration)
**CRITICAL: Team bundles are ONLY recommended for Gemini 2.5 Pro+ in the web. The experience is poor with Custom GPTs due to limited context windows.**
- **bmm/teams/team-fullstack.xml** - Full BMad Method development team
- **bmgd/teams/team-gamedev.xml** - Game development team
- **cis/teams/creative-squad.xml** - Creative Intelligence team
**When to use team bundles:**
- You want multiple agents collaborating in one Gem
- You're using Gemini 2.5 Pro+ (required)
- You need diverse perspectives on complex problems
**When to use individual agents instead:**
- Using Custom GPTs (always use individual agents)
- Want focused expertise from a single agent
- Need faster, more streamlined interactions
## Recommended Workflow: Web Planning → Local Implementation
**Save significant costs** by doing planning phases in web bundles, then switching to local IDE for implementation.
### Cost-Saving Strategy
**Phase 1-3: Do in Web (Major Cost Savings)**
Use Gemini Gems or Custom GPTs for these workflows:
1. **Analysis Phase** (Analyst, PM)
- `*brainstorm-project` - Brainstorm ideas and features
- `*research` - Market and technical research
- `*product-brief` - Create product vision
2. **Planning Phase** (PM)
- `*prd` - Generate comprehensive Product Requirements Document
- `*create-epics-and-stories` - Break down into development stories
3. **Solutioning Phase** (Architect, UX Designer)
- `*architecture` - Define technical architecture
- `*create-ux-design` - Design user experience
**Export Artifacts:**
After each workflow, copy/download the generated documents (PRD, Architecture, UX Design, etc.)
**Phase 4: Switch to Local IDE (Required for Implementation)**
1. Save exported artifacts to your project's `docs/` folder
2. Run local BMad installation with `*workflow-init`
3. BMad will detect the existing artifacts and update workflow status
4. Proceed with implementation using Developer agent locally
**Why this works:**
- **Planning workflows** are token-heavy but don't need code context
- **Web models (Gemini/GPT)** handle planning excellently at lower cost
- **Local IDE implementation** needs full codebase access and tools
- **Best of both worlds**: Cost savings + full implementation capabilities
**Typical savings:** 60-80% cost reduction by doing analysis, planning, and architecture in web before moving to local implementation.
## Using Web Bundles
### Basic Usage
**1. Load the Agent**
Upload or paste the XML file into Gemini/GPT. The agent will introduce itself and show its menu.
**2. Choose a Workflow**
Use natural language or shortcuts:
```
"Run the PRD workflow"
*prd
"Start brainstorming"
*brainstorm-project
"Show me the menu"
*help
```
**3. Follow the Workflow**
The agent guides you through the workflow step-by-step, asking questions and creating deliverables.
### Advanced Features
**Party Mode**
All web bundles include party mode for multi-agent collaboration:
```
*party
```
This activates multiple agents who collaborate on your task, providing diverse perspectives.
**Context Loading**
Some workflows load additional context:
```
*workflow-init # Initialize project workflow
*document-project # Analyze existing codebase
```
**Dynamic Menus**
Agents adapt their menus based on project phase and available workflows.
## Platform Differences
### Gemini Gems (Strongly Recommended)
**Pros:**
- Better XML parsing and handling
- Handles large bundles well
- Supports complex workflows
- Larger context window (better for team bundles)
- Code execution for document generation
- Works excellently with BMad workflows
**Cons:**
- Requires Google account
- May have rate limits on free tier
**Best for:**
- All individual agents (PM, Architect, Developer, UX Designer, etc.)
- Team bundles (requires Gemini 2.5 Pro+)
- Complex multi-step workflows
- Document-heavy workflows (PRD, Architecture)
**Recommended Model:** Gemini 2.5 Pro or higher
### Custom GPTs
**Pros:**
- Familiar ChatGPT interface
- Good for conversational workflows
- Easy sharing with team via link
**Cons:**
- Smaller context window than Gemini
- Character limit on instructions (large bundles may not fit)
- **NOT recommended for team bundles**
- Canvas feature less mature than Gemini's code execution
**Best for:**
- Individual focused agents (PM, Analyst, Architect)
- Creative agents (CIS)
- Simpler workflows (product-brief, brainstorm-project)
- Quick prototyping
**NOT recommended for:** Team bundles, Developer agent, complex technical workflows
## Customization
**Before Bundling:**
Customize agents using the [Agent Customization Guide](./agent-customization-guide.md):
1. Edit `{bmad_folder}/_cfg/agents/<agent>.customize.yaml`
2. Rebuild: `npx bmad-method build <agent-name>`
3. Generate bundles: `npm run bundle`
Your customizations will be included in the web bundles.
**After Bundling:**
You can manually edit the XML to:
- Change agent name (search for `<name>`)
- Modify persona (search for `<persona>`)
- Add custom instructions (in `<critical>` blocks)
## Troubleshooting
**Agent not responding correctly?**
- Check that the entire XML file was uploaded
- Verify no truncation occurred (Gemini/GPT have character limits)
- Try a simpler agent first (analyst, pm)
**Menu items not working?**
- Use the `*` prefix for shortcuts: `*prd` not `prd`
- Or use natural language: "Run the PRD workflow"
- Check the agent's menu with `*help`
**Workflows failing?**
- Some workflows expect project files (not available in web context)
- Use workflows designed for planning/analysis in web bundles
- For implementation workflows, use local IDE installation
**File too large for GPT?**
- Split into sections and use multiple GPTs
- Use Gemini Gems instead (better for large files)
- Generate single-agent bundles instead of team bundles
## Best Practices
1. **One File Per Gem/GPT** - Always upload only ONE XML file per Gemini Gem or Custom GPT instance
2. **Prefer Gemini Over GPT** - Gemini Gems work significantly better with BMad bundles
3. **Enable Canvas/Code Execution** - Essential for document generation workflows (PRD, Architecture, etc.)
4. **Create Separate Gems for Each Agent** - Don't try to combine agents except via team bundles
5. **Team Bundles = Gemini 2.5 Pro+ Only** - Never use team bundles with Custom GPTs
6. **Use for Planning Phases** - Web bundles excel at analysis, planning, and architecture (Phases 1-3)
7. **Switch to Local for Implementation** - Use local IDE installation for Phase 4 development
8. **Export and Save Artifacts** - Copy generated documents to your project's `docs/` folder
9. **Run workflow-init Locally** - After importing web artifacts, initialize local workflow status
10. **Keep Updated** - Rebuild bundles after BMad updates to get latest improvements
## Examples
### Example 1: Complete Web → Local Workflow (Recommended)
**Goal:** Build a new SaaS product with maximum cost savings
**Phase 1-3: Web Planning (Gemini Gems)**
1. **Download bundles:**
- `bmm/agents/analyst.xml`
- `bmm/agents/pm.xml`
- `bmm/agents/architect.xml`
- `bmm/agents/ux-designer.xml`
2. **Create 4 separate Gemini Gems** (one per agent, enable Code Execution)
3. **Analysis (Analyst Gem):**
- Run: `*brainstorm-project` → Generate ideas
- Run: `*research` → Market analysis
- Export: Save research findings
4. **Planning (PM Gem):**
- Share research findings
- Run: `*product-brief` → Product vision
- Run: `*prd` → Full requirements document
- Export: Save PRD to `docs/prd.md`
5. **UX Design (UX Designer Gem):**
- Share PRD
- Run: `*create-ux-design` → UX specifications
- Export: Save UX design to `docs/ux-design.md`
6. **Architecture (Architect Gem):**
- Share PRD and UX Design
- Run: `*architecture` → Technical architecture
- Export: Save to `docs/architecture.md`
**Phase 4: Local Implementation**
7. **Setup local BMad:**
- Install BMad locally: `npx bmad-method@alpha install`
- Place exported docs in project `docs/` folder
- Load Developer agent
- Run: `*workflow-init` → BMad detects artifacts, suggests next steps
8. **Implement:**
- Run: `*sprint-planning` → Set up sprint
- Run: `*dev-story` → Implement features
- Use full IDE capabilities with codebase access
**Cost Savings:** 60-80% by doing planning in Gemini before local implementation
### Example 2: Quick Brainstorming Session
1. Download `cis/agents/brainstorming-coach.xml`
2. Create Gemini Gem with Code Execution enabled
3. Run: `*brainstorming`
4. Choose technique (e.g., SCAMPER, Mind Mapping)
5. Generate and refine ideas
6. Export results for team review
### Example 3: Architecture Review
1. Download `bmm/agents/architect.xml`
2. Create Gemini Gem (enable Code Execution)
3. Paste existing PRD into conversation
4. Run: `*architecture`
5. Collaborate on technical decisions
6. Export architecture document to `docs/architecture.md`
## Next Steps
- **[Agent Customization Guide](./agent-customization-guide.md)** - Customize before bundling
- **[BMM Documentation](../src/modules/bmm/docs/README.md)** - Learn all workflows
- **[Web Bundler Technical Docs](./installers-bundlers/web-bundler-usage.md)** - Advanced bundling options
- **[Contributing Guide](../CONTRIBUTING.md)** - Help improve web bundles
## Resources
- **[Google AI Studio](https://aistudio.google.com/)** - Create Gemini Gems
- **[Custom GPTs](https://chat.openai.com/gpts)** - Build Custom GPTs
- **[BMad Discord](https://discord.gg/gk8jAdXWmj)** - Get help and share your Gems/GPTs

View File

@ -16,8 +16,22 @@ export default [
'test/template-test-generator/**/*.md', 'test/template-test-generator/**/*.md',
'test/fixtures/**', 'test/fixtures/**',
'test/fixtures/**/*.yaml', 'test/fixtures/**/*.yaml',
'.bmad/**', '_bmad/**',
'.bmad*/**', '_bmad*/**',
// Gitignored patterns
'z*/**', // z-samples, z1, z2, etc.
'.claude/**',
'.codex/**',
'.github/chatmodes/**',
'.agent/**',
'.agentvibes/**',
'.kiro/**',
'.roo/**',
'test-project-install/**',
'sample-project/**',
'tools/template-test-generator/test-scenarios/**',
'src/modules/*/sub-modules/**',
'.bundler-temp/**',
], ],
}, },

438
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "bmad-method", "name": "bmad-method",
"version": "6.0.0-alpha.12", "version": "6.0.0-alpha.17",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "bmad-method", "name": "bmad-method",
"version": "6.0.0-alpha.12", "version": "6.0.0-alpha.17",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@kayvan/markdown-tree-parser": "^1.6.1", "@kayvan/markdown-tree-parser": "^1.6.1",
@ -42,6 +42,7 @@
"husky": "^9.1.7", "husky": "^9.1.7",
"jest": "^30.0.4", "jest": "^30.0.4",
"lint-staged": "^16.1.1", "lint-staged": "^16.1.1",
"markdownlint-cli2": "^0.19.1",
"prettier": "^3.5.3", "prettier": "^3.5.3",
"prettier-plugin-packagejson": "^2.5.19", "prettier-plugin-packagejson": "^2.5.19",
"yaml-eslint-parser": "^1.2.3", "yaml-eslint-parser": "^1.2.3",
@ -1672,6 +1673,19 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@sindresorhus/merge-streams": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
"integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@sinonjs/commons": { "node_modules/@sinonjs/commons": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
@ -1798,6 +1812,13 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/katex": {
"version": "0.16.7",
"resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz",
"integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/mdast": { "node_modules/@types/mdast": {
"version": "4.0.4", "version": "4.0.4",
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
@ -2793,6 +2814,28 @@
"url": "https://github.com/sponsors/wooorm" "url": "https://github.com/sponsors/wooorm"
} }
}, },
"node_modules/character-entities-legacy": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
"integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
"dev": true,
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/character-reference-invalid": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
"integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
"dev": true,
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/chardet": { "node_modules/chardet": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz",
@ -3298,6 +3341,19 @@
"node": ">=10.13.0" "node": ">=10.13.0"
} }
}, },
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true,
"license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/environment": { "node_modules/environment": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
@ -4421,6 +4477,32 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/is-alphabetical": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
"integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
"dev": true,
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/is-alphanumerical": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
"integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-alphabetical": "^2.0.0",
"is-decimal": "^2.0.0"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/is-arrayish": { "node_modules/is-arrayish": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@ -4444,6 +4526,17 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/is-decimal": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
"integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
"dev": true,
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/is-extglob": { "node_modules/is-extglob": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@ -4490,6 +4583,17 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/is-hexadecimal": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
"integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
"dev": true,
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/is-interactive": { "node_modules/is-interactive": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
@ -5478,6 +5582,13 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/jsonc-parser": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
"integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
"dev": true,
"license": "MIT"
},
"node_modules/jsonfile": { "node_modules/jsonfile": {
"version": "6.2.0", "version": "6.2.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
@ -5490,6 +5601,33 @@
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
}, },
"node_modules/katex": {
"version": "0.16.25",
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.25.tgz",
"integrity": "sha512-woHRUZ/iF23GBP1dkDQMh1QBad9dmr8/PAwNA54VrSOVYgI12MAcE14TqnDdQOdzyEonGzMepYnqBMYdsoAr8Q==",
"dev": true,
"funding": [
"https://opencollective.com/katex",
"https://github.com/sponsors/katex"
],
"license": "MIT",
"dependencies": {
"commander": "^8.3.0"
},
"bin": {
"katex": "cli.js"
}
},
"node_modules/katex/node_modules/commander": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
"integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 12"
}
},
"node_modules/keyv": { "node_modules/keyv": {
"version": "4.5.4", "version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
@ -5544,6 +5682,16 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/linkify-it": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"uc.micro": "^2.0.0"
}
},
"node_modules/lint-staged": { "node_modules/lint-staged": {
"version": "16.1.5", "version": "16.1.5",
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.1.5.tgz", "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.1.5.tgz",
@ -5988,6 +6136,132 @@
"tmpl": "1.0.5" "tmpl": "1.0.5"
} }
}, },
"node_modules/markdown-it": {
"version": "14.1.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
"integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
"dev": true,
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
"entities": "^4.4.0",
"linkify-it": "^5.0.0",
"mdurl": "^2.0.0",
"punycode.js": "^2.3.1",
"uc.micro": "^2.1.0"
},
"bin": {
"markdown-it": "bin/markdown-it.mjs"
}
},
"node_modules/markdownlint": {
"version": "0.39.0",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.39.0.tgz",
"integrity": "sha512-Xt/oY7bAiHwukL1iru2np5LIkhwD19Y7frlsiDILK62v3jucXCD6JXlZlwMG12HZOR+roHIVuJZrfCkOhp6k3g==",
"dev": true,
"license": "MIT",
"dependencies": {
"micromark": "4.0.2",
"micromark-core-commonmark": "2.0.3",
"micromark-extension-directive": "4.0.0",
"micromark-extension-gfm-autolink-literal": "2.1.0",
"micromark-extension-gfm-footnote": "2.1.0",
"micromark-extension-gfm-table": "2.1.1",
"micromark-extension-math": "3.1.0",
"micromark-util-types": "2.0.2"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/DavidAnson"
}
},
"node_modules/markdownlint-cli2": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.19.1.tgz",
"integrity": "sha512-p3JTemJJbkiMjXEMiFwgm0v6ym5g8K+b2oDny+6xdl300tUKySxvilJQLSea48C6OaYNmO30kH9KxpiAg5bWJw==",
"dev": true,
"license": "MIT",
"dependencies": {
"globby": "15.0.0",
"js-yaml": "4.1.1",
"jsonc-parser": "3.3.1",
"markdown-it": "14.1.0",
"markdownlint": "0.39.0",
"markdownlint-cli2-formatter-default": "0.0.6",
"micromatch": "4.0.8"
},
"bin": {
"markdownlint-cli2": "markdownlint-cli2-bin.mjs"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/DavidAnson"
}
},
"node_modules/markdownlint-cli2-formatter-default": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.6.tgz",
"integrity": "sha512-VVDGKsq9sgzu378swJ0fcHfSicUnMxnL8gnLm/Q4J/xsNJ4e5bA6lvAz7PCzIl0/No0lHyaWdqVD2jotxOSFMQ==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/DavidAnson"
},
"peerDependencies": {
"markdownlint-cli2": ">=0.0.4"
}
},
"node_modules/markdownlint-cli2/node_modules/globby": {
"version": "15.0.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-15.0.0.tgz",
"integrity": "sha512-oB4vkQGqlMl682wL1IlWd02tXCbquGWM4voPEI85QmNKCaw8zGTm1f1rubFgkg3Eli2PtKlFgrnmUqasbQWlkw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@sindresorhus/merge-streams": "^4.0.0",
"fast-glob": "^3.3.3",
"ignore": "^7.0.5",
"path-type": "^6.0.0",
"slash": "^5.1.0",
"unicorn-magic": "^0.3.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/markdownlint-cli2/node_modules/path-type": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz",
"integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/markdownlint-cli2/node_modules/slash": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
"integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/mdast-util-from-markdown": { "node_modules/mdast-util-from-markdown": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
@ -6060,6 +6334,13 @@
"url": "https://opencollective.com/unified" "url": "https://opencollective.com/unified"
} }
}, },
"node_modules/mdurl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
"integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
"dev": true,
"license": "MIT"
},
"node_modules/merge-stream": { "node_modules/merge-stream": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@ -6146,6 +6427,102 @@
"micromark-util-types": "^2.0.0" "micromark-util-types": "^2.0.0"
} }
}, },
"node_modules/micromark-extension-directive": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz",
"integrity": "sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==",
"dev": true,
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-factory-space": "^2.0.0",
"micromark-factory-whitespace": "^2.0.0",
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
"micromark-util-types": "^2.0.0",
"parse-entities": "^4.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
"node_modules/micromark-extension-gfm-autolink-literal": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
"integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
"dev": true,
"license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-sanitize-uri": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
"micromark-util-types": "^2.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
"node_modules/micromark-extension-gfm-footnote": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
"integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
"dev": true,
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-core-commonmark": "^2.0.0",
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
"micromark-util-normalize-identifier": "^2.0.0",
"micromark-util-sanitize-uri": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
"micromark-util-types": "^2.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
"node_modules/micromark-extension-gfm-table": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
"integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
"dev": true,
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
"micromark-util-types": "^2.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
"node_modules/micromark-extension-math": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz",
"integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/katex": "^0.16.0",
"devlop": "^1.0.0",
"katex": "^0.16.0",
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
"micromark-util-types": "^2.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/unified"
}
},
"node_modules/micromark-factory-destination": { "node_modules/micromark-factory-destination": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
@ -6868,6 +7245,33 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/parse-entities": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz",
"integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "^2.0.0",
"character-entities-legacy": "^3.0.0",
"character-reference-invalid": "^2.0.0",
"decode-named-character-reference": "^1.0.0",
"is-alphanumerical": "^2.0.0",
"is-decimal": "^2.0.0",
"is-hexadecimal": "^2.0.0"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/parse-entities/node_modules/@types/unist": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
"integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
"dev": true,
"license": "MIT"
},
"node_modules/parse-json": { "node_modules/parse-json": {
"version": "5.2.0", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@ -7156,6 +7560,16 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/punycode.js": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
"integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/pure-rand": { "node_modules/pure-rand": {
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz",
@ -8040,6 +8454,13 @@
"node": ">=14.17" "node": ">=14.17"
} }
}, },
"node_modules/uc.micro": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
"integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
"dev": true,
"license": "MIT"
},
"node_modules/undici-types": { "node_modules/undici-types": {
"version": "7.10.0", "version": "7.10.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz",
@ -8047,6 +8468,19 @@
"devOptional": true, "devOptional": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/unicorn-magic": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
"integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/unified": { "node_modules/unified": {
"version": "11.0.5", "version": "11.0.5",
"resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",

View File

@ -1,7 +1,7 @@
{ {
"$schema": "https://json.schemastore.org/package.json", "$schema": "https://json.schemastore.org/package.json",
"name": "bmad-method", "name": "bmad-method",
"version": "6.0.0-alpha.13", "version": "6.0.0-alpha.19",
"description": "Breakthrough Method of Agile AI-driven Development", "description": "Breakthrough Method of Agile AI-driven Development",
"keywords": [ "keywords": [
"agile", "agile",
@ -24,7 +24,6 @@
"bmad-method": "tools/bmad-npx-wrapper.js" "bmad-method": "tools/bmad-npx-wrapper.js"
}, },
"scripts": { "scripts": {
"bmad:agent-install": "node tools/cli/bmad-cli.js agent-install",
"bmad:install": "node tools/cli/bmad-cli.js install", "bmad:install": "node tools/cli/bmad-cli.js install",
"bmad:status": "node tools/cli/bmad-cli.js status", "bmad:status": "node tools/cli/bmad-cli.js status",
"bundle": "node tools/cli/bundlers/bundle-web.js all", "bundle": "node tools/cli/bundlers/bundle-web.js all",
@ -34,13 +33,14 @@
"install:bmad": "node tools/cli/bmad-cli.js install", "install:bmad": "node tools/cli/bmad-cli.js install",
"lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0", "lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0",
"lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix", "lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix",
"lint:md": "markdownlint-cli2 \"**/*.md\"",
"prepare": "husky", "prepare": "husky",
"rebundle": "node tools/cli/bundlers/bundle-web.js rebundle", "rebundle": "node tools/cli/bundlers/bundle-web.js rebundle",
"release:major": "gh workflow run \"Manual Release\" -f version_bump=major", "release:major": "gh workflow run \"Manual Release\" -f version_bump=major",
"release:minor": "gh workflow run \"Manual Release\" -f version_bump=minor", "release:minor": "gh workflow run \"Manual Release\" -f version_bump=minor",
"release:patch": "gh workflow run \"Manual Release\" -f version_bump=patch", "release:patch": "gh workflow run \"Manual Release\" -f version_bump=patch",
"release:watch": "gh run watch", "release:watch": "gh run watch",
"test": "npm run test:schemas && npm run test:install && npm run validate:bundles && npm run validate:schemas && npm run lint && npm run format:check", "test": "npm run test:schemas && npm run test:install && npm run validate:bundles && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
"test:coverage": "c8 --reporter=text --reporter=html npm run test:schemas", "test:coverage": "c8 --reporter=text --reporter=html npm run test:schemas",
"test:install": "node test/test-installation-components.js", "test:install": "node test/test-installation-components.js",
"test:schemas": "node test/test-agent-schema.js", "test:schemas": "node test/test-agent-schema.js",
@ -56,7 +56,11 @@
"eslint --fix", "eslint --fix",
"npm run format:fix" "npm run format:fix"
], ],
"*.{json,md}": [ "*.json": [
"npm run format:fix"
],
"*.md": [
"markdownlint-cli2",
"npm run format:fix" "npm run format:fix"
] ]
}, },
@ -90,6 +94,7 @@
"husky": "^9.1.7", "husky": "^9.1.7",
"jest": "^30.0.4", "jest": "^30.0.4",
"lint-staged": "^16.1.1", "lint-staged": "^16.1.1",
"markdownlint-cli2": "^0.19.1",
"prettier": "^3.5.3", "prettier": "^3.5.3",
"prettier-plugin-packagejson": "^2.5.19", "prettier-plugin-packagejson": "^2.5.19",
"yaml-eslint-parser": "^1.2.3", "yaml-eslint-parser": "^1.2.3",

View File

@ -1,35 +0,0 @@
# BMAD™ Core Configuration
header: "BMAD™ Core Configuration"
subheader: "Configure the core settings for your BMAD™ installation.\nThese settings will be used across all modules and agents."
bmad_folder:
prompt: "What is the root folder for BMAD installation? (Recommended: .bmad)"
default: ".bmad"
result: "{value}"
regex: "^[a-zA-Z0-9._-]{1,20}$"
user_name:
prompt: "What shall the agents call you?"
default: "BMad"
result: "{value}"
communication_language:
prompt: "Preferred Chat Language/Style? (English, Mandarin, English Pirate, etc...)"
default: "English"
result: "{value}"
document_output_language:
prompt: "Preferred Document Output Language?"
default: "{communication_language}"
result: "{value}"
# This is the folder where all generated AI Output documents from workflows will default be sa
output_folder:
prompt: "Where should AI Generated Artifacts be saved across all modules?"
default: "docs"
result: "{project-root}/{value}"
install_user_docs:
prompt: "Install user documentation and optimized agent intelligence to each selected modules docs folder?"
default: true
result: "{value}"

View File

@ -6,7 +6,7 @@ const chalk = require('chalk');
* *
* @param {Object} options - Installation options * @param {Object} options - Installation options
* @param {string} options.projectRoot - The root directory of the target project * @param {string} options.projectRoot - The root directory of the target project
* @param {Object} options.config - Module configuration from install-config.yaml * @param {Object} options.config - Module configuration from module.yaml
* @param {Array<string>} options.installedIDEs - Array of IDE codes that were installed * @param {Array<string>} options.installedIDEs - Array of IDE codes that were installed
* @param {Object} options.logger - Logger instance for output * @param {Object} options.logger - Logger instance for output
* @returns {Promise<boolean>} - Success status * @returns {Promise<boolean>} - Success status

View File

@ -3,7 +3,7 @@
agent: agent:
metadata: metadata:
id: "{bmad_folder}/core/agents/bmad-master.md" id: "_bmad/core/agents/bmad-master.md"
name: "BMad Master" name: "BMad Master"
title: "BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator" title: "BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator"
icon: "🧙" icon: "🧙"
@ -12,28 +12,23 @@ agent:
role: "Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator" role: "Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator"
identity: "Master-level expert in the BMAD Core Platform and all loaded modules with comprehensive knowledge of all resources, tasks, and workflows. Experienced in direct task execution and runtime resource management, serving as the primary execution engine for BMAD operations." identity: "Master-level expert in the BMAD Core Platform and all loaded modules with comprehensive knowledge of all resources, tasks, and workflows. Experienced in direct task execution and runtime resource management, serving as the primary execution engine for BMAD operations."
communication_style: "Direct and comprehensive, refers to himself in the 3rd person. Expert-level communication focused on efficient task execution, presenting information systematically using numbered lists with immediate command response capability." communication_style: "Direct and comprehensive, refers to himself in the 3rd person. Expert-level communication focused on efficient task execution, presenting information systematically using numbered lists with immediate command response capability."
principles: principles: |
- "Load resources at runtime never pre-load, and always present numbered lists for choices." - "Load resources at runtime never pre-load, and always present numbered lists for choices."
# Agent-specific critical actions
critical_actions: critical_actions:
- "Load into memory {project-root}/{bmad_folder}/core/config.yaml and set variable project_name, output_folder, user_name, communication_language" - "Load into memory {project-root}/_bmad/core/config.yaml and set variable project_name, output_folder, user_name, communication_language"
- "Remember the users name is {user_name}" - "Remember the users name is {user_name}"
- "ALWAYS communicate in {communication_language}" - "ALWAYS communicate in {communication_language}"
# Agent menu items
menu: menu:
- trigger: "list-tasks" - trigger: "list-tasks"
action: "list all tasks from {project-root}/{bmad_folder}/_cfg/task-manifest.csv" action: "list all tasks from {project-root}/_bmad/_config/task-manifest.csv"
description: "List Available Tasks" description: "List Available Tasks"
- trigger: "list-workflows" - trigger: "list-workflows"
action: "list all workflows from {project-root}/{bmad_folder}/_cfg/workflow-manifest.csv" action: "list all workflows from {project-root}/_bmad/_config/workflow-manifest.csv"
description: "List Workflows" description: "List Workflows"
- trigger: "party-mode" - trigger: "party-mode"
exec: "{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md" exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
description: "Group chat with all agents" description: "Group chat with all agents"
# Empty prompts section (no custom prompts for this agent)
prompts: []

View File

@ -1,113 +0,0 @@
<agent id="{bmad_folder}/core/agents/bmad-orchestrator.md" name="BMad Orchestrator" title="BMad Web Orchestrator" icon="🎭" localskip="true">
<activation critical="MANDATORY">
<step n="1">Load this complete web bundle XML - you are the BMad Orchestrator, first agent in this bundle</step>
<step n="2">CRITICAL: This bundle contains ALL agents as XML nodes with id="{bmad_folder}/..." and ALL workflows/tasks as nodes findable
by type
and id</step>
<step n="3">Greet user as BMad Orchestrator and display numbered list of ALL menu items from menu section below</step>
<step n="4">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
<step n="5">On user input: Number → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user to
clarify | No match → show "Not recognized"</step>
<step n="6">When executing a menu item: Check menu-handlers section below for UNIVERSAL handler instructions that apply to ALL agents</step>
<menu-handlers critical="UNIVERSAL_FOR_ALL_AGENTS">
<extract>workflow, exec, tmpl, data, action, validate-workflow</extract>
<handlers>
<handler type="workflow">
When menu item has: workflow="workflow-id"
1. Find workflow node by id in this bundle (e.g., &lt;workflow id="workflow-id"&gt;)
2. CRITICAL: Always LOAD {bmad_folder}/core/tasks/workflow.xml if referenced
3. Execute the workflow content precisely following all steps
4. Save outputs after completing EACH workflow step (never batch)
5. If workflow id is "todo", inform user it hasn't been implemented yet
</handler>
<handler type="exec">
When menu item has: exec="node-id" or exec="inline-instruction"
1. If value looks like a path/id → Find and execute node with that id
2. If value is text → Execute as direct instruction
3. Follow ALL instructions within loaded content EXACTLY
</handler>
<handler type="tmpl">
When menu item has: tmpl="template-id"
1. Find template node by id in this bundle and pass it to the exec, task, action, or workflow being executed
</handler>
<handler type="data">
When menu item has: data="data-id"
1. Find data node by id in this bundle
2. Parse according to node type (json/yaml/xml/csv)
3. Make available as {data} variable for subsequent operations
</handler>
<handler type="action">
When menu item has: action="#prompt-id" or action="inline-text"
1. If starts with # → Find prompt with matching id in current agent
2. Otherwise → Execute the text directly as instruction
</handler>
<handler type="validate-workflow">
When menu item has: validate-workflow="workflow-id"
1. MUST LOAD {bmad_folder}/core/tasks/validate-workflow.xml
2. Execute all validation instructions from that file
3. Check workflow's validation property for schema
4. Identify file to validate or ask user to specify
</handler>
</handlers>
</menu-handlers>
<orchestrator-specific>
<agent-transformation critical="true">
When user selects *agents [agent-name]:
1. Find agent XML node with matching name/id in this bundle
2. Announce transformation: "Transforming into [agent name]... 🎭"
3. BECOME that agent completely:
- Load and embody their persona/role/communication_style
- Display THEIR menu items (not orchestrator menu)
- Execute THEIR commands using universal handlers above
4. Stay as that agent until user types *exit
5. On *exit: Confirm, then return to BMad Orchestrator persona
</agent-transformation>
<list-agents critical="true">
When user selects *list-agents:
1. Scan all agent nodes in this bundle
2. Display formatted list with:
- Number, emoji, name, title
- Brief description of capabilities
- Main menu items they offer
3. Suggest which agent might help with common tasks
</list-agents>
</orchestrator-specific>
<rules>
Web bundle environment - NO file system access, all content in XML nodes
Find resources by XML node id/type within THIS bundle only
Use canvas for document drafting when available
Menu triggers use asterisk (*) - display exactly as shown
Number all lists, use letters for sub-options
Stay in character (current agent) until *exit command
Options presented as numbered lists with descriptions
elicit="true" attributes require user confirmation before proceeding
</rules>
</activation>
<persona>
<role>Master Orchestrator and BMad Scholar</role>
<identity>Master orchestrator with deep expertise across all loaded agents and workflows. Technical brilliance balanced with
approachable communication.</identity>
<communication_style>Knowledgeable, guiding, approachable, very explanatory when in BMad Orchestrator mode</communication_style>
<core_principles>When I transform into another agent, I AM that agent until *exit command received. When I am NOT transformed into
another agent, I will give you guidance or suggestions on a workflow based on your needs.</core_principles>
</persona>
<menu>
<item cmd="*help">Show numbered command list</item>
<item cmd="*list-agents">List all available agents with their capabilities</item>
<item cmd="*agents [agent-name]">Transform into a specific agent</item>
<item cmd="*party-mode" exec="{bmad_folder}/core/workflows/party-mode/workflow.md">Enter group chat with all agents
simultaneously</item>
<item cmd="*advanced-elicitation" task="{bmad_folder}/core/tasks/advanced-elicitation.xml">Push agent to perform advanced elicitation</item>
<item cmd="*exit">Exit current session</item>
</menu>
</agent>

25
src/core/module.yaml Normal file
View File

@ -0,0 +1,25 @@
code: core
name: "BMad™ Core Module"
header: "BMad™ Core Configuration"
subheader: "Configure the core settings for your BMad™ installation.\nThese settings will be used across all modules and agents."
user_name:
prompt: "What shall the agents call you (TIP: Use a team name if using with a group)?"
default: "BMad"
result: "{value}"
communication_language:
prompt: "Preferred chat language/style? (English, Mandarin, English Pirate, etc...)"
default: "English"
result: "{value}"
document_output_language:
prompt: "Preferred document output language?"
default: "English"
result: "{value}"
output_folder:
prompt: "Where should default output files be saved unless specified in other modules?"
default: "_bmad-output"
result: "{project-root}/{value}"

View File

@ -71,15 +71,15 @@ Provides the **HOW** (universal knowledge) while agents provide the **WHAT** (do
### Example: Frame Expert (Technical Diagrams) ### Example: Frame Expert (Technical Diagrams)
```yaml ```yaml
# workflows/diagrams/create-flowchart/workflow.yaml # workflows/excalidraw-diagrams/create-flowchart/workflow.yaml
helpers: '{project-root}/{bmad_folder}/core/resources/excalidraw/excalidraw-helpers.md' helpers: '{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md'
json_validation: '{project-root}/{bmad_folder}/core/resources/excalidraw/validate-json-instructions.md' json_validation: '{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md'
``` ```
**Domain-specific additions:** **Domain-specific additions:**
```yaml ```yaml
# workflows/diagrams/_shared/flowchart-templates.yaml # workflows/excalidraw-diagrams/_shared/flowchart-templates.yaml
flowchart: flowchart:
start_node: start_node:
type: ellipse type: ellipse
@ -99,8 +99,8 @@ flowchart:
```yaml ```yaml
# workflows/create-visual-metaphor/workflow.yaml # workflows/create-visual-metaphor/workflow.yaml
helpers: '{project-root}/{bmad_folder}/core/resources/excalidraw/excalidraw-helpers.md' helpers: '{project-root}/_bmad/core/resources/excalidraw/excalidraw-helpers.md'
json_validation: '{project-root}/{bmad_folder}/core/resources/excalidraw/validate-json-instructions.md' json_validation: '{project-root}/_bmad/core/resources/excalidraw/validate-json-instructions.md'
``` ```
**Domain-specific additions:** **Domain-specific additions:**

View File

@ -4,7 +4,7 @@
## Purpose ## Purpose
Load external .excalidrawlib files from https://libraries.excalidraw.com or custom sources. Load external .excalidrawlib files from <https://libraries.excalidraw.com> or custom sources.
## Planned Capabilities ## Planned Capabilities
@ -34,7 +34,7 @@ libraries:
## Implementation Notes ## Implementation Notes
This will be developed when agents need to leverage the extensive library ecosystem available at https://libraries.excalidraw.com. This will be developed when agents need to leverage the extensive library ecosystem available at <https://libraries.excalidraw.com>.
Hundreds of pre-built component libraries exist for: Hundreds of pre-built component libraries exist for:

View File

@ -1,6 +1,6 @@
<task id="{bmad_folder}/core/tasks/advanced-elicitation.xml" name="Advanced Elicitation" standalone="true" <task id="_bmad/core/tasks/advanced-elicitation.xml" name="Advanced Elicitation" standalone="true"
methods="{project-root}/{bmad_folder}/core/tasks/advanced-elicitation-methods.csv" methods="{project-root}/_bmad/core/tasks/advanced-elicitation-methods.csv"
agent-party="{project-root}/{bmad_folder}/_cfg/agent-manifest.csv"> agent-party="{project-root}/_bmad/_config/agent-manifest.csv">
<llm critical="true"> <llm critical="true">
<i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i> <i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
<i>DO NOT skip steps or change the sequence</i> <i>DO NOT skip steps or change the sequence</i>

View File

@ -1,4 +1,4 @@
<task id="{bmad_folder}/core/tasks/index-docs" name="Index Docs" <task id="_bmad/core/tasks/index-docs" name="Index Docs"
description="Generates or updates an index.md of all documents in the specified directory" webskip="true" standalone="true"> description="Generates or updates an index.md of all documents in the specified directory" webskip="true" standalone="true">
<llm critical="true"> <llm critical="true">
<i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i> <i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>

View File

@ -1,4 +1,4 @@
<task id="{bmad_folder}/core/tasks/validate-workflow.xml" name="Validate Workflow Output"> <task id="_bmad/core/tasks/validate-workflow.xml" name="Validate Workflow Output">
<objective>Run a checklist against a document with thorough analysis and produce a validation report</objective> <objective>Run a checklist against a document with thorough analysis and produce a validation report</objective>
<inputs> <inputs>

View File

@ -1,4 +1,4 @@
<task id="{bmad_folder}/core/tasks/workflow.xml" name="Execute Workflow"> <task id="_bmad/core/tasks/workflow.xml" name="Execute Workflow">
<objective>Execute given workflow by loading its configuration, following instructions, and producing output</objective> <objective>Execute given workflow by loading its configuration, following instructions, and producing output</objective>
<llm critical="true"> <llm critical="true">
@ -74,14 +74,14 @@
<action>Display generated content</action> <action>Display generated content</action>
<ask> [a] Advanced Elicitation, [c] Continue, [p] Party-Mode, [y] YOLO the rest of this document only. WAIT for response. <if <ask> [a] Advanced Elicitation, [c] Continue, [p] Party-Mode, [y] YOLO the rest of this document only. WAIT for response. <if
response="a"> response="a">
<action>Start the advanced elicitation workflow {project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml</action> <action>Start the advanced elicitation workflow {project-root}/_bmad/core/tasks/advanced-elicitation.xml</action>
</if> </if>
<if <if
response="c"> response="c">
<action>Continue to next step</action> <action>Continue to next step</action>
</if> </if>
<if response="p"> <if response="p">
<action>Start the party-mode workflow {project-root}/{bmad_folder}/core/workflows/party-mode/workflow.yaml</action> <action>Start the party-mode workflow {project-root}/_bmad/core/workflows/party-mode/workflow.yaml</action>
</if> </if>
<if <if
response="y"> response="y">
@ -225,7 +225,7 @@
<critical-rules> <critical-rules>
• This is the complete workflow execution engine • This is the complete workflow execution engine
• You MUST Follow instructions exactly as written • You MUST Follow instructions exactly as written
• The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml • The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml
• You MUST have already loaded and processed: {installed_path}/workflow.yaml • You MUST have already loaded and processed: {installed_path}/workflow.yaml
• This workflow uses INTENT-DRIVEN PLANNING - adapt organically to product type and context • This workflow uses INTENT-DRIVEN PLANNING - adapt organically to product type and context
• YOU ARE FACILITATING A CONVERSATION With a user to produce a final document step by step. The whole process is meant to be • YOU ARE FACILITATING A CONVERSATION With a user to produce a final document step by step. The whole process is meant to be

View File

@ -1,4 +1,4 @@
<tool id="{bmad_folder}/core/tasks/shard-doc" name="Shard Document" <tool id="_bmad/core/tasks/shard-doc" name="Shard Document"
description="Splits large markdown documents into smaller, organized files based on level 2 (default) sections" webskip="true" description="Splits large markdown documents into smaller, organized files based on level 2 (default) sections" webskip="true"
standalone="true"> standalone="true">
<objective>Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool</objective> <objective>Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool</objective>
@ -64,12 +64,12 @@
<ask>What would you like to do with the original document `[source-document-name]`? <ask>What would you like to do with the original document `[source-document-name]`?
Options: Options:
[d] Delete - Remove the original (recommended - shards can always be recombined) [d] Delete - Remove the original (recommended - shards can always be recombined)
[m] Move to archive - Move original to a backup/archive location [m] Move to archive - Move original to a backup/archive location
[k] Keep - Leave original in place (NOT recommended - defeats sharding purpose) [k] Keep - Leave original in place (NOT recommended - defeats sharding purpose)
Your choice (d/m/k):</ask> Your choice (d/m/k):</ask>
<check if="user selects 'd' (delete)"> <check if="user selects 'd' (delete)">
<action>Delete the original source document file</action> <action>Delete the original source document file</action>
@ -92,12 +92,12 @@ Your choice (d/m/k):</ask>
<action>Display warning to user:</action> <action>Display warning to user:</action>
<output>⚠️ WARNING: Keeping both original and sharded versions is NOT recommended. <output>⚠️ WARNING: Keeping both original and sharded versions is NOT recommended.
This creates confusion because: This creates confusion because:
- The discover_inputs protocol may load the wrong version - The discover_inputs protocol may load the wrong version
- Updates to one won't reflect in the other - Updates to one won't reflect in the other
- You'll have duplicate content taking up space - You'll have duplicate content taking up space
Consider deleting or archiving the original document.</output> Consider deleting or archiving the original document.</output>
<action>Confirm user choice: "Original document kept at: [source-document-path]"</action> <action>Confirm user choice: "Original document kept at: [source-document-path]"</action>
</check> </check>
</step> </step>
@ -106,4 +106,4 @@ Consider deleting or archiving the original document.</output>
<halt-conditions critical="true"> <halt-conditions critical="true">
<i>HALT if npx command fails or produces no output files</i> <i>HALT if npx command fails or produces no output files</i>
</halt-conditions> </halt-conditions>
</tool> </tool>

View File

@ -135,7 +135,7 @@ _[Content based on conversation about session parameters and facilitator approac
When user selects approach, append the session overview content directly to `{output_folder}/analysis/brainstorming-session-{{date}}.md` using the structure from above. When user selects approach, append the session overview content directly to `{output_folder}/analysis/brainstorming-session-{{date}}.md` using the structure from above.
#### E. Continue to Technique Selection ### E. Continue to Technique Selection
"**Session setup complete!** I have a clear understanding of your goals and can select the perfect techniques for your brainstorming needs. "**Session setup complete!** I have a clear understanding of your goals and can select the perfect techniques for your brainstorming needs.

View File

@ -1,5 +1,5 @@
--- ---
name: Brainstorming Session name: brainstorming
description: Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods description: Facilitate interactive brainstorming sessions using diverse creative techniques and ideation methods
context_file: '' # Optional context file path for project-specific guidance context_file: '' # Optional context file path for project-specific guidance
--- ---
@ -28,7 +28,7 @@ This uses **micro-file architecture** for disciplined execution:
### Configuration Loading ### Configuration Loading
Load config from `{project-root}/{bmad_folder}/bmm/config.yaml` and resolve: Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
- `project_name`, `output_folder`, `user_name` - `project_name`, `output_folder`, `user_name`
- `communication_language`, `document_output_language`, `user_skill_level` - `communication_language`, `document_output_language`, `user_skill_level`
@ -36,7 +36,7 @@ Load config from `{project-root}/{bmad_folder}/bmm/config.yaml` and resolve:
### Paths ### Paths
- `installed_path` = `{project-root}/{bmad_folder}/core/workflows/brainstorming` - `installed_path` = `{project-root}/_bmad/core/workflows/brainstorming`
- `template_path` = `{installed_path}/template.md` - `template_path` = `{installed_path}/template.md`
- `brain_techniques_path` = `{installed_path}/brain-methods.csv` - `brain_techniques_path` = `{installed_path}/brain-methods.csv`
- `default_output_file` = `{output_folder}/analysis/brainstorming-session-{{date}}.md` - `default_output_file` = `{output_folder}/analysis/brainstorming-session-{{date}}.md`

View File

@ -18,7 +18,7 @@
## CONTEXT BOUNDARIES: ## CONTEXT BOUNDARIES:
- Agent manifest CSV is available at `{project-root}/{bmad_folder}/_cfg/agent-manifest.csv` - Agent manifest CSV is available at `{project-root}/_bmad/_config/agent-manifest.csv`
- User configuration from config.yaml is loaded and resolved - User configuration from config.yaml is loaded and resolved
- Party mode is standalone interactive workflow - Party mode is standalone interactive workflow
- All agent data is available for conversation orchestration - All agent data is available for conversation orchestration
@ -37,7 +37,7 @@ Begin agent loading process:
**Agent Manifest Loading:**" **Agent Manifest Loading:**"
Load and parse the agent manifest CSV from `{project-root}/{bmad_folder}/_cfg/agent-manifest.csv` Load and parse the agent manifest CSV from `{project-root}/_bmad/_config/agent-manifest.csv`
### 2. Extract Agent Data ### 2. Extract Agent Data

View File

@ -95,7 +95,6 @@ stepsCompleted: [1, 2, 3]
workflowType: 'party-mode' workflowType: 'party-mode'
user_name: '{{user_name}}' user_name: '{{user_name}}'
date: '{{date}}' date: '{{date}}'
current_year: '{{current_year}}'
agents_loaded: true agents_loaded: true
party_active: false party_active: false
workflow_completed: true workflow_completed: true

View File

@ -1,5 +1,5 @@
--- ---
name: Party Mode name: party-mode
description: Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations description: Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations
--- ---
@ -27,17 +27,17 @@ This uses **micro-file architecture** with **sequential conversation orchestrati
### Configuration Loading ### Configuration Loading
Load config from `{project-root}/{bmad_folder}/bmm/config.yaml` and resolve: Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
- `project_name`, `output_folder`, `user_name` - `project_name`, `output_folder`, `user_name`
- `communication_language`, `document_output_language`, `user_skill_level` - `communication_language`, `document_output_language`, `user_skill_level`
- `date`, `current_year`, `current_month` as system-generated values - `date` as a system-generated value
- Agent manifest path: `{project-root}/{bmad_folder}/_cfg/agent-manifest.csv` - Agent manifest path: `{project-root}/_bmad/_config/agent-manifest.csv`
### Paths ### Paths
- `installed_path` = `{project-root}/{bmad_folder}/core/workflows/party-mode` - `installed_path` = `{project-root}/_bmad/core/workflows/party-mode`
- `agent_manifest_path` = `{project-root}/{bmad_folder}/_cfg/agent-manifest.csv` - `agent_manifest_path` = `{project-root}/_bmad/_config/agent-manifest.csv`
- `standalone_mode` = `true` (party mode is an interactive workflow) - `standalone_mode` = `true` (party mode is an interactive workflow)
--- ---
@ -118,7 +118,6 @@ stepsCompleted: [1]
workflowType: 'party-mode' workflowType: 'party-mode'
user_name: '{{user_name}}' user_name: '{{user_name}}'
date: '{{date}}' date: '{{date}}'
current_year: '{{current_year}}'
agents_loaded: true agents_loaded: true
party_active: true party_active: true
exit_triggers: ['*exit', 'goodbye', 'end party', 'quit'] exit_triggers: ['*exit', 'goodbye', 'end party', 'quit']

View File

@ -1,31 +0,0 @@
# BMAD™ Method Core Configuration
code: bmb
name: "BMB: BMad Builder - Agent, Workflow and Module Builder"
default_selected: false # This module will not be selected by default for new installations
header: "BMad Optimized Builder (BoMB) Module Configuration"
subheader: "Configure the settings for the BoMB Factory!\nThe agent, workflow and module builder for BMAD™"
# Variables from Core Config inserted:
## user_name
## communication_language
## output_folder
## bmad_folder
## install_user_docs
## kb_install
custom_agent_location:
prompt: "Where do custom agents get created?"
default: "{bmad_folder}/custom/src/agents"
result: "{project-root}/{value}"
custom_workflow_location:
prompt: "Where do custom workflows get stored?"
default: "{bmad_folder}/custom/src/workflows"
result: "{project-root}/{value}"
custom_module_location:
prompt: "Where do custom modules get stored?"
default: "{bmad_folder}/custom/src/modules"
result: "{project-root}/{value}"

View File

@ -4,7 +4,7 @@
agent: agent:
webskip: true webskip: true
metadata: metadata:
id: "{bmad_folder}/bmb/agents/bmad-builder.md" id: "_bmad/bmb/agents/bmad-builder.md"
name: BMad Builder name: BMad Builder
title: BMad Builder title: BMad Builder
icon: 🧙 icon: 🧙
@ -24,48 +24,71 @@ agent:
discussion: true discussion: true
conversational_knowledge: conversational_knowledge:
- agents: "{project-root}/{bmad_folder}/bmb/docs/agents/kb.csv" - agents: "{project-root}/_bmad/bmb/docs/agents/kb.csv"
- workflows: "{project-root}/{bmad_folder}/bmb/docs/workflows/kb.csv" - workflows: "{project-root}/_bmad/bmb/docs/workflows/kb.csv"
- modules: "{project-root}/{bmad_folder}/bmb/docs/modules/kb.csv" - modules: "{project-root}/_bmad/bmb/docs/modules/kb.csv"
menu: menu:
- multi: "[CA] Create, [EA] Edit, or [VA] Validate BMAD agents with best practices" - multi: "[CA] Create, [EA] Edit, or [VA] Validate with Compliance CheckBMAD agents with best practices"
triggers: triggers:
- create-agent: - create-agent:
- input: CA or fuzzy match create agent - input: CA or fuzzy match create agent
- route: "{project-root}/{bmad_folder}/bmb/workflows/create-agent/workflow.md" - route: "{project-root}/_bmad/bmb/workflows/create-agent/workflow.md"
- data: null - data: null
- type: exec
- edit-agent: - edit-agent:
- input: EA or fuzzy match edit agent - input: EA or fuzzy match edit agent
- route: "{project-root}/{bmad_folder}/bmb/workflows/edit-agent/workflow.md" - route: "{project-root}/_bmad/bmb/workflows/edit-agent/workflow.md"
- data: null - data: null
- type: exec
- run-agent-compliance-check: - run-agent-compliance-check:
- input: VA or fuzzy match validate agent - input: VA or fuzzy match validate agent
- route: "{project-root}/{bmad_folder}/bmb/workflows/agent-compliance-check/workflow.md" - route: "{project-root}/_bmad/bmb/workflows/agent-compliance-check/workflow.md"
- data: null - data: null
- type: exec
- multi: "[CW] Create, [EW] Edit, or [VW] Validate BMAD workflows with best practices" - multi: "[CW] Create, [EW] Edit, or [VW] Validate with Compliance CheckBMAD workflows with best practices"
triggers: triggers:
- create-workflow: - create-workflow:
- input: CW or fuzzy match create workflow - input: CW or fuzzy match create workflow
- route: "{project-root}/{bmad_folder}/bmb/workflows/create-workflow/workflow.md" - route: "{project-root}/_bmad/bmb/workflows/create-workflow/workflow.md"
- data: null - data: null
- type: exec - type: exec
- edit-workflow: - edit-workflow:
- input: EW or fuzzy match edit workflow - input: EW or fuzzy match edit workflow
- route: "{project-root}/{bmad_folder}/bmb/workflows/edit-workflow/workflow.md" - route: "{project-root}/_bmad/bmb/workflows/edit-workflow/workflow.md"
- data: null - data: null
- type: exec - type: exec
- run-workflow-compliance-check: - run-workflow-compliance-check:
- input: VW or fuzzy match validate workflow - input: VW or fuzzy match validate workflow
- route: "{project-root}/{bmad_folder}/bmb/workflows/workflow-compliance-check/workflow.md" - route: "{project-root}/_bmad/bmb/workflows/workflow-compliance-check/workflow.md"
- data: null - data: null
- type: exec - type: exec
- trigger: create-module - multi: "[BM] Brainstorm, [PBM] Product Brief, [CM] Create, [EM] Edit or [VM] Validate with Compliance Check BMAD modules with best practices"
workflow: "{project-root}/{bmad_folder}/bmb/workflows/create-module/workflow.yaml" triggers:
description: Create a complete BMAD compatible module (custom agents and workflows) - brainstorm-module:
- input: BM or fuzzy match brainstorm module
- trigger: edit-module - route: "{project-root}/_bmad/bmb/workflows/brainstorm-module/workflow.md"
workflow: "{project-root}/{bmad_folder}/bmb/workflows/edit-module/workflow.yaml" - data: null
description: Edit existing modules (structure, agents, workflows, documentation) - type: exec
- product-brief-module:
- input: PBM or fuzzy match product brief module
- route: "{project-root}/_bmad/bmb/workflows/product-brief-module/workflow.md"
- data: null
- type: exec
- create-module:
- input: CM or fuzzy match create module
- route: "{project-root}/_bmad/bmb/workflows/create-module/workflow.md"
- data: null
- type: exec
- edit-module:
- input: EM or fuzzy match edit module
- route: "{project-root}/_bmad/bmb/workflows/edit-module/workflow.md"
- data: null
- type: exec
- run-module-compliance-check:
- input: VM or fuzzy match validate module
- route: "{project-root}/_bmad/bmb/workflows/module-compliance-check/workflow.md"
- data: null
- type: exec

View File

@ -18,56 +18,44 @@ Specialized tools and workflows for creating, customizing, and extending BMad co
**BMad Builder** - Master builder agent orchestrating all creation workflows with deep knowledge of BMad architecture and conventions. **BMad Builder** - Master builder agent orchestrating all creation workflows with deep knowledge of BMad architecture and conventions.
- Location: `.bmad/bmb/agents/bmad-builder.md` - Install Location: `_bmad/bmb/agents/bmad-builder.md`
### 📋 Workflows ### 📋 Workflows
**Active Workflows** (Step-File Architecture)
- Location: `src/modules/bmb/workflows/`
- 5 core workflows with 41 step files total
- Template-based execution with JIT loading
**Legacy Workflows** (Being Migrated)
- Location: `src/modules/bmb/workflows-legacy/`
- Module-specific workflows pending conversion to step-file architecture
### 📚 Documentation ### 📚 Documentation
- Location: `src/modules/bmb/docs/` - Comprehensive guides for agents, workflows, and modules
- Comprehensive guides for agents and workflows
- Architecture patterns and best practices - Architecture patterns and best practices
### 🔍 Reference Materials ### 🔍 Reference Materials
- Location: `src/modules/bmb/reference/` - Location: `../reference/`
- Working examples of agents and workflows - Working examples of custom stand alone agents and workflows
- Template patterns and implementation guides - Template patterns and implementation guides
## Documentation ## Documentation
### 📖 Agent Documentation ### 📖 Agent Documentation
- **[Agent Index](./docs/agents/index.md)** - Complete agent architecture guide - **[Agent Index](./agents/index.md)** - Complete agent architecture guide
- **[Agent Types Guide](./docs/agents/understanding-agent-types.md)** - Simple vs Expert vs Module agents - **[Agent Types Guide](./agents/understanding-agent-types.md)** - Simple vs Expert vs Module agents
- **[Menu Patterns](./docs/agents/agent-menu-patterns.md)** - YAML menu design and handler types - **[Menu Patterns](./agents/agent-menu-patterns.md)** - YAML menu design and handler types
- **[Agent Compilation](./docs/agents/agent-compilation.md)** - Auto-injection rules and compilation process - **[Agent Compilation](./agents/agent-compilation.md)** - Auto-injection rules and compilation process
### 📋 Workflow Documentation ### 📋 Workflow Documentation
- **[Workflow Index](./docs/workflows/index.md)** - Core workflow system overview - **[Workflow Index](./workflows/index.md)** - Core workflow system overview
- **[Architecture Guide](./docs/workflows/architecture.md)** - Step-file design and JIT loading - **[Architecture Guide](./workflows/architecture.md)** - Step-file design and JIT loading
- **[Template System](./docs/workflows/step-template.md)** - Standard step file template - **[Template System](./workflows/templates/step-template.md)** - Standard step file template
- **[Intent vs Prescriptive](./docs/workflows/intent-vs-prescriptive-spectrum.md)** - Design philosophy - **[Intent vs Prescriptive](./workflows/intent-vs-prescriptive-spectrum.md)** - Design philosophy
## Reference Materials ## Reference Materials
### 🤖 Agent Examples ### 🤖 Agent Examples
- **[Simple Agent Example](./reference/agents/simple-examples/commit-poet.agent.yaml)** - Self-contained agent - **[Simple Agent Example](../reference/agents/simple-examples/commit-poet.agent.yaml)** - Self-contained agent
- **[Expert Agent Example](./reference/agents/expert-examples/journal-keeper/)** - Agent with persistent memory - **[Expert Agent Example](../reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml)** - Agent with persistent memory
- **[Module Agent Examples](./reference/agents/module-examples/)** - Integration patterns (BMM, CIS) - **[Module Add On Agent Examples](../reference/agents/module-examples/security-engineer.agent.yaml)** - Integration patterns (BMM, CIS)
### 📋 Workflow Examples ### 📋 Workflow Examples

View File

@ -35,7 +35,7 @@ rex.agent.yaml ← Persona name (users might rename to "Max")
**Pattern:** **Pattern:**
- Filename: `{role-or-function}.agent.yaml` (kebab-case) - Filename: `{role-or-function}.agent.yaml` (kebab-case)
- Metadata ID: `{bmad_folder}/{module}/agents/{role-or-function}.md` - Metadata ID: `_bmad/{module}/agents/{role-or-function}.md`
- Persona Name: User-customizable in metadata or customize.yaml - Persona Name: User-customizable in metadata or customize.yaml
**Example:** **Example:**
@ -44,7 +44,7 @@ rex.agent.yaml ← Persona name (users might rename to "Max")
# File: presentation-master.agent.yaml # File: presentation-master.agent.yaml
agent: agent:
metadata: metadata:
id: '{bmad_folder}/cis/agents/presentation-master.md' id: '_bmad/cis/agents/presentation-master.md'
name: Caravaggio # ← Users can change this to "Pablo" or "Vince" name: Caravaggio # ← Users can change this to "Pablo" or "Vince"
title: Visual Communication & Presentation Expert title: Visual Communication & Presentation Expert
``` ```
@ -83,7 +83,7 @@ You must fully embody this agent's persona...
<step n="N+3">Input resolution rules</step> <step n="N+3">Input resolution rules</step>
<menu-handlers> <menu-handlers>
<!-- Only handlers used in YOUR menu are included --> <!-- Only handler instructions for the handler types used in the agents specific menu are included -->
</menu-handlers> </menu-handlers>
<rules> <rules>

Some files were not shown because too many files have changed in this diff Show More