Compare commits

...

352 Commits

Author SHA1 Message Date
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
Brian Madison
afd2a163bf chore: bump version to alpha.13 2025-11-30 23:23:08 -06:00
Brian Madison
9223174f40 remove legacy workflows from bmb that were upgraded to step sharded flows and prep .13 changelog 2025-11-30 23:18:01 -06:00
Brian Madison
47ad645f22 complience check of workflow fix 2025-11-30 22:47:28 -06:00
Brian Madison
788c746857 product brief compliance with documented workflow standards 2025-11-30 22:45:48 -06:00
Brian Madison
ad053a6508 create workflow validation check fixes 2025-11-30 21:51:46 -06:00
Brian Madison
4539ca7436 feat: implement granular step-file workflow architecture with multi-menu support
## Major Features Added
- **Step-file workflow architecture**: Transform monolithic workflows into granular step files for improved LLM adherence and consistency
- **Multi-menu handler system**: New `handler-multi.xml` enables grouped menu items with fuzzy matching
- **Workflow compliance checker**: Added automated compliance validation for all workflows
- **Create/edit agent workflows**: New structured workflows for agent creation and editing

## Workflow Enhancements
- **Create-workflow**: Expanded from 6 to 14 detailed steps covering tools, design, compliance
- **Granular step execution**: Each workflow step now has dedicated files for focused execution
- **New documentation**: Added CSV data standards, intent vs prescriptive spectrum, and common tools reference

## Complete Migration Status
- **4 workflows fully migrated**: `create-agent`, `edit-agent`, `create-workflow`, and `edit-workflow` now use the new granular step-file architecture
- **Legacy transformation**: `edit-workflow` includes built-in capability to transform legacy single-file workflows into the new improved granular format
- **Future cleanup**: Legacy versions will be removed in a future commit after validation

## Schema Updates
- **Multi-menu support**: Updated agent schema to support `triggers` array for grouped menu items
- **Legacy compatibility**: Maintains backward compatibility with single `trigger` field
- **Discussion enhancements**: Added conversational_knowledge recommendation for discussion agents

## File Structure Changes
- Added: `create-agent/`, `edit-agent/`, `edit-workflow/`, `workflow-compliance-check/` workflows
- Added: Documentation standards and CSV reference files
- Refactored: `create-workflow/steps/` with detailed granular step files

## Handler Improvements
- Enhanced `handler-exec.xml` with clearer execution instructions
- Improved data passing context for executed files
- Better error handling and user guidance

This architectural change significantly improves workflow execution consistency across all LLM models by breaking complex processes into manageable, focused steps. The edit-workflow transformation tool ensures smooth migration of existing workflows to the new format.
2025-11-30 15:09:23 -06:00
Brian Madison
829d051c91 move agent builder docs, create workflow builder docs, and a new workflow builder to conform to stepwise workflow creation 2025-11-29 23:23:35 -06:00
Brian Madison
a0732df56c more step sharded workflows added for architecture and some fixes across all workflows to improve their file loading and reduction of time based estimates. 2025-11-29 01:49:15 -06:00
Brian Madison
4e254d7c63 brainstorming, research and partymode updated to use sharded step flow workflows 2025-11-29 01:49:15 -06:00
Brian Madison
00e72e66f8 Initial stepwise converstion of the phase 1 and 2 workflows complete. 2025-11-29 01:49:15 -06:00
Brian Madison
5a11519dc1 converted ux design to sharded step workflow 2025-11-29 01:49:14 -06:00
Alex Verkhovsky
5ea02d7091 feat: add adversarial code review recommendation to quick-dev workflow (#989)
* feat: add adversarial code review recommendation to quick-dev workflow

* fix: clarify scope of code review with 'in it' reference
2025-11-27 23:38:54 -06:00
Alex Verkhovsky
7b21708868 feat: recommend different LLM for code review in dev-story (#984)
Co-authored-by: Brian <bmadcode@gmail.com>
2025-11-27 23:38:32 -06:00
Brian Madison
3c81d78991 the first reworked sharded workflow, prd, works great and resolves the issues with latest sonnet udpates 2025-11-27 22:33:03 -06:00
Brian Madison
dcaf02f665 Fix phase numbering throughout documentation
- Removed all references to Phase 0 (should be Documentation prerequisite)
- Updated phase transitions from 'Phase 3→4' to 'Phase 3 to Phase 4'
- Ensured all phases are numbered 1-4 consistently
- Documentation for brownfield projects is now correctly referred to as 'Documentation prerequisite' rather than Phase 0
2025-11-26 20:59:46 -06:00
Brian Madison
04b328bd2a Fix workflow documentation - remove non-existent workflows and Mermaid diagrams
- Updated workflows-implementation.md: removed validate workflows, epic-tech-context, story-context
- Updated workflows-analysis.md: removed brainstorm-game, game-brief, added domain-research
- Updated workflows-planning.md: removed gdd, narrative, moved create-epics-and-stories to Phase 3
- Updated workflows-solutioning.md: already correct with create-epics-and-stories in Phase 3
- Removed all Mermaid diagrams and replaced with text descriptions
- Updated quick reference tables to reflect actual workflows
- Fixed flow examples to match current implementation
2025-11-26 20:42:20 -06:00
Brian Madison
355ccebca2 workflow-status can call workflow init 2025-11-26 19:48:47 -06:00
Brian Madison
dfc35f35f8 BMad Agents menu items are logically ordered and marked with optional or recommended and some required tags 2025-11-26 18:22:24 -06:00
Brian Madison
677c000820 github uses agents folder now instead of chatmodes 2025-11-26 17:46:26 -06:00
Brian Madison
3ac539b61f npm vulnerabilities resolved 2025-11-26 17:07:09 -06:00
Brian Madison
331a67eeb3 installer allows cleanup of unneeded files in upgrades 2025-11-26 16:47:15 -06:00
Brian Madison
fbdb91b991 standard greenfield workflow updated diagrams 2025-11-26 15:14:34 -06:00
Jorge Castillo
54e6745a55 fix: update GitHub Copilot tools names for consistency (#880)
Copilot was triggering warning or errors in the chatmode files due to some changes in tool names.
- findTestFiles is internal tool, cannot be used.
- Other tools have change names.
- Added new tools: todos and runSubAgents.

Co-authored-by: Brian <bmadcode@gmail.com>
2025-11-26 14:49:17 -06:00
Serhii
f793cf8fcd fix: add radix parameter to parseInt() calls (#862)
Add explicit radix=10 to parseInt() calls and NaN validation to prevent
unexpected hex parsing and invalid config values.

Changes:
- Line 52: Add radix and NaN check in input validation
- Line 189-192: Add radix and NaN fallback for config parsing

Fixes potential issues:
- Hex input (0x10) now rejected instead of parsed as 16
- Invalid strings return default value instead of NaN→null

🤖 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-26 14:44:12 -06:00
fikri-kompanion
9223e2be21 fix: give kilocode tool access to bmad modes (#961)
Co-authored-by: Ahmad Fikrizaman <ahmadfikrizaman@gmail.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-11-26 13:48:16 -06:00
Brian Madison
2cac74cfb5 agent vibes injection and installer update 2025-11-26 11:00:46 -06:00
Paul Preibisch
5702195ef7 Add Text-to-Speech Integration via TTS_INJECTION System (#934)
* feat: Add provider-agnostic TTS integration via injection point system

Implements comprehensive Text-to-Speech integration for BMAD agents using a generic
TTS_INJECTION marker system. When AgentVibes (or any compatible TTS provider) is
installed, all BMAD agents can speak their responses with unique AI voices.

## Key Features

**Provider-Agnostic Architecture**
- Uses generic `TTS_INJECTION` markers instead of vendor-specific naming
- Future-proof for multiple TTS providers beyond AgentVibes
- Clean separation - BMAD stays TTS-agnostic, providers handle injection

**Installation Flow**
- BMAD → AgentVibes: TTS instructions injected when AgentVibes detects existing BMAD installation
- AgentVibes → BMAD: TTS instructions injected during BMAD installation when AgentVibes detected
- User must manually create voice assignment file when AgentVibes installs first (documented limitation)

**Party Mode Voice Support**
- Each agent speaks with unique assigned voice in multi-agent discussions
- PM, Architect, Developer, Analyst, UX Designer, etc. - all with distinct voices

**Zero Breaking Changes**
- Fully backward compatible - works without any TTS provider
- `TTS_INJECTION` markers are benign HTML comments if not processed
- No changes to existing agent behavior or non-TTS workflows

## Implementation Details

**Files Modified:**
- `tools/cli/installers/lib/core/installer.js` - TTS injection processing logic
- `tools/cli/lib/ui.js` - AgentVibes detection and installation prompts
- `tools/cli/commands/install.js` - Post-install guidance for AgentVibes setup
- `src/utility/models/fragments/activation-rules.xml` - TTS_INJECTION marker for agents
- `src/core/workflows/party-mode/instructions.md` - TTS_INJECTION marker for party mode

**Injection Point System:**
```xml
<rules>
  - ALWAYS communicate in {communication_language}
  <!-- TTS_INJECTION:agent-tts -->
  - Stay in character until exit selected
</rules>
```

When AgentVibes is detected, the installer replaces this marker with:
```
- When responding to user messages, speak your responses using TTS:
  Call: `.claude/hooks/bmad-speak.sh '{agent-id}' '{response-text}'` after each response
  IMPORTANT: Use single quotes - do NOT escape special characters like ! or $
```

**Special Character Handling:**
- Explicit guidance to use single quotes without escaping
- Prevents "backslash exclamation" artifacts in speech

**User Experience:**
```
User: "How should we architect this feature?"
Architect: [Text response] + 🔊 [Professional voice explains architecture]
```

Party Mode:
```
PM (John): "I'll focus on user value..." 🔊 [Male professional voice]
UX Designer (Sara): "From a user perspective..." 🔊 [Female voice]
Architect (Marcus): "The technical approach..." 🔊 [Male technical voice]
```

## Testing

**Unit Tests:**  62/62 passing
- 49/49 schema validation tests
- 13/13 installation component tests

**Integration Testing:**
-  BMAD → AgentVibes (automatic injection)
-  AgentVibes → BMAD (automatic injection)
-  No TTS provider (markers remain as comments)

## Documentation

Comprehensive testing guide created with:
- Both installation scenario walkthroughs
- Verification commands and expected outputs
- Troubleshooting guidance

## Known Limitations

**AgentVibes → BMAD Installation Order:**
When AgentVibes installs first, voice assignment file must be created manually:
```bash
mkdir -p .bmad/_cfg
cat > .bmad/_cfg/agent-voice-map.csv << 'EOF'
agent_id,voice_name
pm,en_US-ryan-high
architect,en_US-danny-low
dev,en_US-joe-medium
EOF
```

This limitation exists to prevent false legacy v4 detection warnings from BMAD installer.

**Recommended:** Install BMAD first, then AgentVibes for automatic voice assignment.

## Related Work

**Companion Implementation:**
- Repository: paulpreibisch/AgentVibes
- Commits: 6 commits implementing injection processing and voice routing
- Features: Retroactive injection, file path extraction, escape stripping

**GitHub Issues:**
- paulpreibisch/AgentVibes#36 - BMAD agent ID support

## Breaking Changes

None. Feature is opt-in and requires separate TTS provider installation.

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

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

* fix: Enforce project hooks over global hooks in party mode

before, claude would sometimes favor global agent vibes hooks over project specific

* feat: Automate AgentVibes installer invocation after BMAD install

Instead of showing manual installation instructions, the installer now:
- Prompts "Press Enter to start AgentVibes installer..."
- Automatically runs npx agentvibes@latest install
- Handles errors gracefully with fallback instructions

This provides a seamless installation flow matching the test script's
interactive approach.

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

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

* docs: Add automated testing script and guide for PR #934

Added comprehensive testing tools for AgentVibes party mode integration:

- test-bmad-pr.sh: Fully automated installation and verification script
  - Interactive mode selection (official PR or custom fork)
  - Automatic BMAD CLI setup and linking
  - AgentVibes installation with guided prompts
  - Built-in verification checks for voice maps and hooks
  - Saved configuration for quick re-testing

- TESTING.md: Complete testing documentation
  - Quick start with one-line npx command
  - Manual installation alternative
  - Troubleshooting guide
  - Cleanup instructions

Testers can now run a single command to test the full AgentVibes integration
without needing to understand the complex setup process.

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

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

* fix: Add shell: true to npx execSync to prevent permission denied error

The execSync call for 'npx agentvibes@latest install' was failing with
'Permission denied' because the shell was trying to execute 'agentvibes@latest'
directly instead of passing it as an argument to npx.

Adding shell: true ensures the command runs in a proper shell context
where npx can correctly interpret the @latest version syntax.

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

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

* fix: Remove duplicate AgentVibes installation step from test script

The test script was calling AgentVibes installer twice:
1. BMAD installer now automatically runs AgentVibes (new feature)
2. Test script had a separate Step 6 that also ran AgentVibes

This caused the installer to run twice, with the second call failing
because it was already installed.

Changes:
- Removed redundant Step 6 (AgentVibes installation)
- Updated Step 5 to indicate it includes AgentVibes
- Updated step numbers from 7 to 6 throughout
- Added guidance that AgentVibes runs automatically

Now the flow is cleaner: BMAD installer handles everything!

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

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

* fix: Address bmadcode review - preserve variables and move TTS logic to injection

Fixes requested changes from PR review:

1. Preserve {bmad_folder} variable placeholder
   - Changed: {project_root}/.bmad/core/tasks/workflow.xml
   - To: {project_root}/{bmad_folder}/core/tasks/workflow.xml
   - Allows users to choose custom BMAD folder names during installation

2. Move TTS-specific hook guidance to injection system
   - Removed hardcoded hook enforcement from source files
   - Added hook guidance to processTTSInjectionPoints() in installer.js
   - Now only appears when AgentVibes is installed (via TTS_INJECTION)

3. Maintain TTS-agnostic source architecture
   - Source files remain clean of TTS-specific instructions
   - TTS details injected at install-time only when needed
   - Preserves provider-agnostic design principle

Changes made:
- src/core/workflows/party-mode/instructions.md
  - Reverted .bmad to {bmad_folder} variable
  - Replaced hardcoded hook guidance with <!-- TTS_INJECTION:party-mode -->
  - Removed <note> about play-tts.sh hook location

- tools/cli/installers/lib/core/installer.js
  - Added hook enforcement to party-mode injection replacement
  - Guidance now injected only when enableAgentVibes is true

Addresses review comments from bmadcode:
- "needs to remain the variable. it will get set in the file at the install destination."
- "items like this we will need to inject if user is using claude and TTS"

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

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

* fix: Change 'claude-code' to 'claude' in test script instructions

The correct command to start Claude is 'claude', not 'claude-code'.
Updated line 362-363 in test-bmad-pr.sh to show the correct command.

* fix: Remove npm link from test script to avoid global namespace pollution

- Removed 'npm link' command that was installing BMAD globally
- Changed 'bmad install' to direct node execution using local clone
- Updated success message to reflect no global installation

This keeps testing fully isolated and prevents conflicts with:
- Existing BMAD installations
- Future official BMAD installs
- Orphaned symlinks when test directory is deleted

The test script now runs completely self-contained without modifying
the user's global npm environment.

---------

Co-authored-by: Claude Code <claude@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Paul Preibisch <paul@paulpreibisch.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-11-26 09:51:57 -06:00
mreis-atlassian
11a1dbaefc feat: Adding support for Rovo Dev (#975)
- Adding support for rovo dev
- Adding rovo dev translation wrappers
2025-11-26 09:05:04 -06:00
Brian Madison
d6b98afd2b minor udpates to prd, architecture, and create epics and stories flows. 2025-11-26 00:28:49 -06:00
Brian Madison
24e952c511 updated code review 2025-11-25 16:59:00 -06:00
Brian Madison
3740a554f0 fix: optimize agent compiler and complete handler cleanup
- Add deployment-aware handler generation (filters web-only/ide-only commands)
- Remove unused run-workflow handler type (ghost handler cleanup)
- Implement missing validate-workflow and data handler generation
- Update schema validation to support exactly 6 active handler types
- Clean up activation templates and web bundler logic
- Prevent generation of unused handler instructions for better performance
- All 62 tests pass with backward compatibility maintained
2025-11-23 21:28:50 -06:00
Brian Madison
cd98a7f5bb feat: complete Phase 4 workflow transformation - simpler, faster, better results
MAJOR BREAKING CHANGES: Phase 4 completely reengineered for developer efficiency and quality

🚀 **Phase 4 Streamlined & Supercharged:**
- **Reduced from 11 to 5 essential workflows** (55% reduction in complexity)
- **Eliminated redundant steps** that created token waste and confusion
- **Created single source of truth** story files with comprehensive implementation context
- **Achieved more reliable results** with fewer steps and better developer guidance

💡 **Revolutionary Dev Agent Behavior Fixes:**
- **Story file is now LAW:** Tasks/subtasks sequence is absolutely binding
- **Red-green-refactor enforcement:** Tests written first, validated, then implementation
- **Zero tolerance for cheating:** Tests must ACTUALLY exist and pass before marking complete
- **Sequential execution only:** No more "doing whatever you want" - follow the story exactly
- **Continuous execution:** No premature pausing until all tasks complete

🎯 **Quality Competition System:**
- **Enhanced story context engine** prevents common LLM development mistakes
- **Quality competition between LLMs** ensures optimal story preparation
- **Comprehensive anti-pattern prevention** stops wheel reinvention and wrong approaches
- **Developer optimization focus** for maximum clarity with minimum verbosity

📋 **Enhanced Definition of Done:**
- **27-point validation checklist** covers all implementation aspects
- **Multiple validation gates** prevent claiming work that isn't actually done
- **Comprehensive test requirements** ensure no functionality goes untested
- **File tracking and documentation** for complete project visibility

🔧 **Technical Improvements:**
- **Variable consistency** throughout all workflow files
- **XML instruction format** for better workflow engine compatibility
- **Proper ask tag handling** for user interaction clarity
- **Project context integration** without blocking implementation
- **Fixed all agent schema compliance** for proper array formatting

**Result:** Phase 4 now delivers superior development outcomes with:
-  **55% fewer workflows** to learn and maintain
-  **Dramatically reduced token usage** and context switching
-  **Eliminated dev agent behavioral issues** that caused quality problems
-  **Faster time-to-completion** with more reliable, predictable results
-  **Better developer experience** with clearer guidance and validation

This represents the most significant Phase 4 improvement since BMAD Method inception - fundamentally fixing developer workflow quality while drastically simplifying the implementation process.
2025-11-23 16:43:04 -06:00
Brian Madison
4308b36d4d feat: add custom agents and quick-flow workflows, remove tech-spec track
Major Changes:
- Add sample custom agents demonstrating installable agent system
  - commit-poet: Generates semantic commit messages (BMAD Method repo sample)
  - toolsmith: Development tooling expert with knowledge base covering bundlers, deployment, docs, installers, modules, and tests (BMAD Method repo sample)
  - Both agents demonstrate custom agent architecture and are installable to projects via BMAD installer system
  - Include comprehensive installation guides and sidecar knowledge bases

- Add bmad-quick-flow methodology for rapid development
  - create-tech-spec: Direct technical specification workflow
  - quick-dev: Flexible execution workflow supporting both tech-spec-driven and direct instruction development
  - quick-flow-solo-dev (Barry): 1 man show agent specialized in bmad-quick-flow methodology
  - Comprehensive documentation for quick-flow approach and solo development

- Remove deprecated tech-spec workflow track
  - Delete entire tech-spec workflow directory and templates
  - Remove quick-spec-flow.md documentation (replaced by quick-flow docs)
  - Clean up unused epic and story templates

- Fix custom agent installation across IDE installers
  - Repair antigravity and multiple IDE installers to properly support custom agents
  - Enable custom agent installation via quick installer, agent installer, regular installer, and special agent installer
  - All installation methods now accessible via npx with full documentation

Infrastructure:
- Update BMM module configurations and team setups
- Modify workflow status paths to support quick-flow integration
- Reorganize documentation with new agent and workflow guides
- Add custom/ directory for user customizations
- Update platform codes and installer configurations
2025-11-23 08:51:26 -06:00
Brian Madison
6907d44810 fix: display proper persona names in custom agent manifests
## Problem
Custom agents showed generic names (like "Commit Poet") instead of their
actual persona names (like "Inkwell Von Comitizen") in the agent manifest.

## Root Cause
The extractManifestData function was using metadata.name/title instead of
extracting the persona name from the compiled agent XML.

## Solution
1. Added extractAgentAttribute function to pull attributes from <agent> tag
2. Prioritize XML extraction over metadata for persona info:
   - displayName: uses agent title attribute from XML
   - title: uses agent title attribute from XML
   - icon: uses agent icon attribute from XML
   - Falls back to metadata if XML extraction fails

## Result
Custom agents now display their actual persona names in manifests:
- Before: "Commit Poet"
- After: "Inkwell Von Comitizen"

This provides better user experience with proper agent identification
in IDE integrations and manifests.
2025-11-23 08:51:26 -06:00
Brian Madison
efc2b6d0df feat: complete custom agent support for ALL remaining IDEs
## Added installCustomAgentLauncher to remaining IDEs:

 Qwen (.qwen/commands/BMad/)
- TOML format with proper description and prompt fields
- Uses existing processAgentLauncherContent method
- Format: custom-{agent-name}.toml

 Trae (.trae/rules/)
- Markdown format with bmad-agent-custom- prefix
- Follows existing BMAD naming pattern
- Format: bmad-agent-custom-{agent-name}.md

 Roo (.roomodes)
- YAML format appends to existing customModes section
- Creates customModes section if missing
- Format: bmad-custom-{agent-name} (slug-based)

 Kilo (.kilocodemodes)
- YAML format identical to Roo pattern
- Handles existing customModes gracefully
- Format: bmad-custom-{agent-name} (slug-based)

 Auggie (.augment/commands/bmad/)
- Frontmatter + Markdown format
- Follows existing Auggie command pattern
- Format: custom-{agent-name}.md

## Complete IDE Coverage:
ALL IDEs now support custom agent installation:
- 16 total IDEs with custom agent support
- Various formats: TOML, YAML, Markdown, file-based
- All include @agentPath references and usage instructions
- Proper IDE-specific naming and directory structures

Custom agents from .bmad/custom/src/agents/ now install to EVERY configured IDE!
2025-11-23 08:51:25 -06:00
Brian Madison
98342f2174 feat: add custom agent support to more IDEs
## Added installCustomAgentLauncher function to:

 Cline (.clinerules/workflows/)
- Creates workflow files with custom agent launchers
- Format: bmad-custom-{agent-name}.md

 Crush (.crush/commands/bmad/)
- Creates command files with custom agent launchers
- Format: custom-{agent-name}.md

 Gemini (.gemini/commands/)
- Creates TOML command files with custom agent launchers
- Format: bmad-custom-{agent-name}.toml

 iFlow (.iflow/commands/bmad/)
- Creates command files with custom agent launchers
- Format: custom-{agent-name}.md

## All Custom Agent Launchers Include:
- @agentPath reference to load complete agent
- Usage instructions for loading first, then activating
- Proper IDE-specific formatting and file structure
- Return values for tracking installations

Now custom agents install to 8+ IDEs instead of just 4!
2025-11-23 08:51:25 -06:00
Brian Madison
2edadd11ae fix: add custom agent support to Antigravity IDE
## Problem
Custom agents were only installing to Claude Code (.claude/commands/)
but not to Antigravity (.agent/) or other IDEs that lack installCustomAgentLauncher function.

## Root Cause
Antigravity was missing the installCustomAgentLauncher function that the
IdeManager calls to install custom agents during agent installation.

## Solution
Added installCustomAgentLauncher function to Antigravity that:
- Creates .agent directory if needed
- Generates custom agent launchers with @agentPath references
- Uses same pattern as existing Antigravity agent launchers
- Returns proper installation result for tracking

## Result
Custom agents now install to:
- Claude Code: .claude/commands/bmad/custom/agents/ 
- Antigravity: .agent/bmad-custom-agents-{agentName}.md 
- Codex: (already working) 

All configured IDEs now receive custom agent installations!
2025-11-23 08:51:25 -06:00
Brian Madison
0aeaa5b2ea fix: compile agents now checks multiple source locations
## Problem
Compile Agents ignored custom agents in source locations like:
- {project-root}/custom/src/agents/
- {bmad-folder}/custom/src/agents/

## Solution
Update reinstallCustomAgents to check all locations:
1. _cfg/custom/agents/ (backup location)
2. {bmad-folder}/custom/src/agents/ (source in BMAD folder)
3. {project-root}/custom/src/agents/ (source at project root)

## Changes
- Search multiple locations for agents during compile
- Avoid duplicate processing with Set tracking
- Auto-backup source YAML to _cfg/custom/agents/ if needed
- Works with any custom bmad_folder name from config

Now 'Compile Agents' works with agents in any source location!
2025-11-23 08:51:25 -06:00
Brian Madison
b20773e7f7 docs: remove fluff from installation guide
- Remove verbose explanations and marketing language
- Keep only essential commands and process steps
- Reduce from verbose guide to concise reference
- Focus on what users need to know, not explanations
2025-11-23 08:51:25 -06:00
Brian Madison
c57ada4d9c feat: improve agent creation workflow and documentation
## BMB Agent Workflow Improvements
- Always create folders for agents (even simple ones)
- Add compact info-and-installation-guide.md (20 lines max)
- Include installation guide with every created agent
- Update workflow to use standalone_output_folder structure

## Documentation Updates
- Clarify --defaults makes installation non-interactive
- Update all parameter documentation for clarity
- Fix npm package references (bmad-method only)

## New Agent Structure
Every agent now gets:
  agent-folder/
  ├── agent-name.agent.yaml    # Source YAML
  └── info-and-installation-guide.md  # Quick install guide + description

## Quick Install Commands (added to guide)
- Interactive: npx bmad-method agent-install --source ./agent.yaml
- Non-interactive: npx bmad-method agent-install --source ./agent.yaml --defaults

This makes agent installation much more user-friendly and consistent.
2025-11-23 08:51:25 -06:00
Brian Madison
05cbc6ccb8 feat: rename agent-install parameters for clarity
- Change --path → --source (much clearer purpose)
- Change --target → --destination (more intuitive)
- Update all code references and documentation
- Add advanced parameter examples to installation guide
- Keep short aliases: -s for --source, -t for --destination

Parameters are now much more self-explanatory:
- --source: where to find the agent YAML
- --destination: where to install the compiled agent
2025-11-23 08:51:25 -06:00
Brian Madison
905f9ca346 docs: fix incorrect npm package references
- Fix npx bmad → npx bmad-method in documentation
- Only bmad-method is registered in npm registry, not bmad
- Clarify that bmad command works locally when BMAD is installed
- Update installation guides to use correct package name

Ensures users don't get 'package not found' errors when trying npx bmad
2025-11-23 08:51:25 -06:00
Brian Madison
90af352247 docs: update installation guide with npx support
- Add npx bmad-method agent-install option for users without cloned repo
- Show both local and npx commands side by side
- Clarify when to use each installation option
- Update automatic updates section with npx option
- Add prominent note about npx capability

Users can now install custom agents without needing to clone the BMAD repository.
2025-11-23 08:51:25 -06:00
Brian Madison
13b1fc7517 fix: remove remaining webskip keys from presentation-master.agent.yaml
All menu items now conform to agent schema validation.
2025-11-23 08:51:25 -06:00
Murat K Ozcan
9d510fc075 docs: playwright untils note in test-architecture.md (#957)
Co-authored-by: Murat Ozcan <murat@Murats-MacBook-Pro.local>
2025-11-21 09:19:22 -06:00
Murat K Ozcan
00b541f5d4 feat: playwright-utils integration (#954)
* feat: playwright-utils integration

* removed the temp plan file, and addressed changelog

* feat: edited the installer question for pw-utils

* feat: even more n00b friendly install prompt

* Update README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/modules/bmm/_module-installer/install-config.yaml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-20 17:34:08 -06:00
Murat K Ozcan
55fd621664 fix: enabled web bundles for test and dev (#948)
* fix: enabled web bundles for test and dev

* fix: only bundle non webskip agents

* fix: addressed pr comments

* fix: addressed pr comments

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-11-20 13:44:48 -06:00
Alex Verkhovsky
da00b295a9 fix: remove .agent from gitignore for Antigravity workflow access (#953)
Antigravity respects .gitignore rules which blocks access to workflow files
in .agent/workflows/, preventing custom workflows from being discovered.
Removing .agent from gitignore to allow Antigravity to scan workflow files.

Note: Codex and Claude Code ignore .gitignore when scanning for custom
prompts, so this only affects Antigravity users.
2025-11-20 12:33:14 -06:00
Brian Madison
a6f089cfd2 feat: add empty IDE selection warning and promote Antigravity to recommended
- Add persistent warning loop when no tools selected in installer
- Users must press spacebar to select, not just highlight
- Red warning explains the issue and offers to go back
- Only way to proceed without tools is explicit "No" confirmation
- Promote Google Antigravity to preferred/recommended IDE section
2025-11-19 22:12:45 -06:00
Alex Verkhovsky
09533e4abb Chore/update gitignore (#945)
* feat: Add Google Antigravity IDE installer

Implements installer for Google Antigravity IDE with flattened slash command
naming to match Antigravity's namespace requirements.

Key features:
- Flattened file naming (bmad-module-agents-name.md) for proper slash commands
- Subagent installation support (project-level or user-level)
- Module-specific injection configuration
- Agent, workflow, task, and tool command generation

Implementation:
- Added AntigravitySetup class extending BaseIdeSetup
- Extracted flattenFilename() to BaseIdeSetup for reuse across IDE handlers
- Uses .agent/workflows directory structure
- Supports both interactive and non-interactive configuration

Fixes:
- Proper namespace isolation: /bmad-module-agents-dev instead of /dev
- Prevents conflicts between modules with same agent names

Note: This installer shares 95% of its code with claude-code.js.
Future refactoring could extract common patterns to IdeWithSlashCommandsSetup
base class (see design documents for details).

* chore: update gitignore for antigravity installer

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2025-11-19 20:41:08 -06:00
Dicky Moore
d7f045b11e Align UX design workflow references (#935)
Co-authored-by: Brian <bmadcode@gmail.com>
2025-11-19 20:40:07 -06:00
Alex Verkhovsky
e8e13a9aa3 feat: default installer username to system user (#939)
good idea here, thank you!
2025-11-19 20:36:54 -06:00
Brian Madison
be04d687dc chore: bump version to 6.0.0-alpha.12 and add yaml dependency
- Add missing yaml package dependency to fix MODULE_NOT_FOUND error
- Update CHANGELOG.md with alpha.12 release notes
2025-11-19 00:36:31 -06:00
Brian Madison
047dfc1462 chore: bump version to 6.0.0-alpha.11 2025-11-18 23:17:01 -06:00
Brian Madison
ece3eefd13 docs: Update CHANGELOG and README for v6.0.0-alpha.11 release
- Comprehensive alpha.11 changelog capturing all major features
- Condensed earlier alpha releases (0-10) to 5 key bullets each
- Reduced changelog from 1,744 to 609 lines for better readability
- Updated README status badges and installation instructions
2025-11-18 23:16:23 -06:00
Brian Madison
f17e4ef0b7 refactor(bmm,cis,core): Align diagram workflows with agile roles and distribute capabilities
## The Tale of the Frame Expert

Once upon a time, BMad Method had a specialized agent called Frame Expert.
This agent was the master of all visual artifacts - flowcharts, diagrams,
wireframes, data flows. Whenever anyone needed a diagram, they called upon
Frame Expert. The agent lived in its own isolated domain with four dedicated
workflows and a library of shared templates.

## The Awakening

But something felt wrong. Teams using BMad Method were meant to mirror real
agile teams - Product Managers, Architects, UX Designers, Tech Writers,
Developers. Each agent represented an authentic role you'd find in any
software team.

Except Frame Expert.

No real agile team has a "Frame Expert" or "Diagram Specialist" who creates
all visual artifacts. In real teams, Architects diagram system architecture.
PMs flowchart processes. UX Designers wireframe interfaces. Tech Writers
create documentation diagrams. The visuals emerge from the domain experts
who need them, not from a centralized diagram factory.

Frame Expert was an abstraction that made technical sense but violated the
very soul of BMad Method - authentic agile role modeling.

## The Transformation

And so Frame Expert was dissolved, its knowledge distributed to those who
truly needed it:

**The Architect** inherited system architecture diagrams and data flows -
the blueprints of technical systems they design.

**The Product Manager** received process flowcharts - the visual maps of
features and workflows they orchestrate.

**The UX Designer** claimed wireframes - the interface sketches that bring
their vision to life.

**The Tech Writer** gained all diagram types - the visual aids that clarify
their documentation.

Each agent now creates diagrams in their domain, using their expertise,
serving their purpose.

## The Shared Knowledge

But the wisdom of diagram creation itself - the Excalidraw templates, the
component libraries, the validation patterns - this knowledge was too
valuable to scatter. It was elevated to core resources, where both BMM
agents AND the new CIS presentation-master agent could draw upon it.

Shared infrastructure for common needs. Distributed execution for domain
expertise.

## The Ripple Effects

With diagrams now properly distributed, other misalignments became visible:

Epic creation was happening in Phase 2 (Planning), before Architecture
existed. But epics need architectural context - API contracts, data models,
technical decisions. So epic creation migrated to Phase 3 (Solutioning),
after Architecture provides that foundation.

Workflow paths were updated. Documentation gained visual flowcharts showing
the complete journey. Agent naming standards were clarified - filenames are
stable roles, persona names are user dreams.

## What Changed

**Removed:**
- frame-expert.agent.yaml (the centralized specialist)
- All frame-expert workflows and shared resources
- Phase 2 epic creation workflow (wrong timing)
- game-design workflow path (consolidated to method track)
- v6-open-items.md (planning doc, now complete)

**Distributed Diagram Capabilities:**
- Architect: create-excalidraw-diagram, create-excalidraw-dataflow
- PM: create-excalidraw-flowchart
- Tech Writer: create-excalidraw-{diagram,dataflow,flowchart}, generate-mermaid
- UX Designer: create-excalidraw-wireframe

**Created:**
- src/core/resources/ (shared diagram context for all modules)
- src/modules/cis/agents/presentation-master.agent.yaml (visual comms specialist)
- src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/ (epic creation's new home)
- src/modules/bmm/workflows/diagrams/ (distributed diagram implementations)
- src/modules/bmm/docs/images/ (workflow visualization assets)

**Enhanced:**
- All agent definitions with domain-appropriate diagram workflows
- Documentation with embedded workflow diagrams and visual guides
- Agent compilation docs with critical naming convention rules
- All 4 workflow paths (enterprise/method × brownfield/greenfield)

**Fixed:**
- Epic creation now in Phase 3 after Architecture
- Story context path variables in BMGD module
- PRD workflow descriptions (epics moved to Phase 3)

## For Users

The Frame Expert commands are gone. In their place:

- Need architecture diagrams? Ask `/architect`
- Need process flows? Ask `/pm`
- Need wireframes? Ask `/ux-designer`
- Need documentation visuals? Ask `/tech-writer`

Each expert creates diagrams in their domain, with their context, using
their judgment.

This is how real teams work.
2025-11-18 21:55:47 -06:00
Brian Madison
224af173ef feat: Comprehensive edit-agent workflow enhancement with Expert agent support and unified validation
## Overview
Major enhancement to edit-agent workflow to match create-agent quality standards, plus critical addition of Expert agent sidecar file support and consolidation of validation checklists into single source of truth.

## 1. edit-agent Workflow Comprehensive Enhancement

### Documentation Reference Updates (workflow.yaml)
**Fixed all broken references** - replaced deleted docs with new comprehensive guides:
-  Removed: agent-types.md, agent-architecture.md, agent-command-patterns.md, communication-styles.md
-  Added structured references:
  * Core Concepts: understanding_agent_types, agent_compilation
  * Architecture Guides: simple_architecture, expert_architecture, module_architecture
  * Design Patterns: menu_patterns, communication_presets, brainstorm_context
  * Reference Agents: commit-poet, journal-keeper, module examples, BMM agents

### Critical Persona Field Guidance Added (instructions.md +59 lines)
**The #1 issue in legacy agents** - comprehensive guidance on persona field separation:

- Explains how LLMs interpret each field:
  * role → "What knowledge/skills/capabilities do I possess?"
  * identity → "What background/experience/context shapes my responses?"
  * communication_style → "What verbal patterns/word choice do I use?"
  * principles → "What beliefs/philosophy drive my choices?"

- BEFORE/AFTER examples showing common mistakes
- Red flag word detection guide (ensures, experienced, believes in, etc.)
- Pure communication style examples from reference agents

### Enhanced Step 1: Analysis (instructions.md +57 lines)
- References all new comprehensive documentation
- **CRITICAL: Persona field separation analysis**
  * Checks for behaviors/role/identity mixed into communication_style
  * Compares against communication_presets for purity
  * Compares against reference agents for quality
- Warm, conversational feedback explaining issues found

### Massive Step 3 Enhancement: Communication Style Refinement (+122 lines)
**7-step prescriptive pattern for fixing the #1 quality issue:**

1. Diagnose Current Communication Style - red flag word detection
2. Extract Non-Style Content - working copy methodology
3. Discover TRUE Communication Style - interview questions + preset exploration
4. Craft Pure Communication Style - good/bad examples from references
5. Show Before/After With Full Context - complete transformation
6. Validate Against Standards - zero red flags, compare to presets/references
7. Confirm With User - explain changes, read dramatically, refine

Examples from actual reference agents:
- "Treats analysis like a treasure hunt - excited by every clue" (Mary/analyst)
- "Ultra-succinct. Speaks in file paths and AC IDs" (Amelia/dev)
- "Poetic drama and flair with every turn of a phrase" (commit-poet)

### Legacy Type Migration Pattern (+42 lines)
**Comprehensive guide for full/hybrid/standalone → Simple/Expert/Module migration:**

- Clear explanations of modern types (architecture, NOT capability)
- Migration patterns with decision tree
- Structural conversion guides (Simple ↔ Expert)
- Module = design intent clarification

### Enhanced Validation (Step 4)
- Persona field separation validation emphasized
- Updated success message with all quality standards
- Comprehensive checklist validation

### Complete README Documentation (200 lines created)
- Purpose emphasizing persona field separation as #1 issue
- 14 common editing scenarios (persona separation listed FIRST)
- Complete doc reference listing by category
- Dedicated "Critical: Persona Field Separation" section
- Red flag words guide
- 3 detailed usage scenarios
- Quality standards checklist

## 2. Expert Agent Sidecar File Support (NEW)

### Step 1: Smart Path Detection and Loading (+35 lines)
**Automatically detects and loads based on path type:**

```yaml
If path is .agent.yaml → Simple Agent (load single file)
If path is folder → Expert Agent:
  - Load .agent.yaml from inside folder
  - Load ALL sidecar files (*.md, *.txt, *.csv, *.json, *.yaml)
  - Create inventory for reference
  - Present: "Loaded agent.yaml + 5 sidecar files: [list]"
```

**Sidecar analysis:**
- Maps which menu items reference which sidecar files (tmpl="path", data="path")
- Checks if all sidecar references actually exist
- Identifies unused/orphaned sidecar files
- Assesses sidecar organization

**Warm expert agent feedback:**
"This is beautifully organized as an Expert agent! The sidecar files include 3 journal templates (daily, weekly, breakthrough) and a mood-patterns knowledge file. Your menu items reference them nicely. I do notice 'old-template.md' isn't referenced anywhere - we could clean that up."

### Step 3: Sidecar Editing Patterns (+47 lines)
**5 complete sidecar editing scenarios:**

1. **Updating templates** - Edit content, verify references work, test variables
2. **Adding new sidecar files** - Create file + add menu item with reference
3. **Removing unused sidecar files** - Confirm unused, ask to delete, clean references
4. **Reorganizing sidecar structure** - Move files, update ALL YAML references
5. **Updating knowledge base files** - Edit .csv/.json/.yaml data directly

**Critical mindset:** "Sidecar files are as much a part of the agent as the YAML!"

### Step 4: Sidecar Validation (+16 lines)
**Conversational validation:**
- "Your menu item 'daily-journal' references 'templates/daily.md'... checking... ✓ exists!"
- Check for orphaned files not referenced anywhere
- Verify sidecar file formats (YAML parses, CSV has headers, markdown well-formed)
- Success message: "✓ All sidecar file references valid - 5 sidecar files, all referenced correctly!"

### README Updates
- "What You'll Need" distinguishes Simple vs Expert paths
- Scenario 2b: Complete Expert agent editing example (journal-keeper template update)
- Updated common scenarios list

## 3. Unified Validation Checklist (Single Source of Truth)

### Problem Solved
- create-agent had outdated checklist (62 lines, no persona field separation)
- edit-agent had enhanced checklist (112 lines, with our improvements)
- Risk of drift and inconsistency between workflows

### Solution: agent-validation-checklist.md (160 lines)
**Canonical location:** `/src/modules/bmb/workflows/create-agent/`

**Comprehensive coverage combining best of both:**
- YAML structure validation
- **Persona field separation** (field separation check, purity check, quality benchmarking)
- Menu validation (including sidecar file path validation)
- Type-specific validation (Simple/Expert/Module)
- Compilation validation
- Common issues and fixes section

**Key sections:**
- Persona Validation (CRITICAL - #1 Quality Issue)
  * Field Separation Check (what belongs where)
  * Communication Style Purity Check (red flag word detection)
  * Quality Benchmarking (compare to presets and references)
- Expert Agent validation (9 sidecar-specific checks)
- Module Agent validation (design intent verification)
- Common Issues and Fixes (real examples with solutions)

### References Updated
**create-agent/workflow.yaml:**
```yaml
validation: "{installed_path}/agent-validation-checklist.md"
```

**edit-agent/workflow.yaml:**
```yaml
# Shared validation checklist (canonical location in create-agent folder)
validation: "{project-root}/{bmad_folder}/bmb/workflows/create-agent/agent-validation-checklist.md"
```

**edit-agent/instructions.md:**
```xml
<note>The validation checklist is shared between create-agent and edit-agent workflows to ensure consistent quality standards.</note>
```

### Files Changed
-  Created: agent-validation-checklist.md (160 lines)
-  Deleted: create-agent/checklist.md (62 lines)
-  Deleted: edit-agent/checklist.md (112 lines)
- Updated: Both workflow.yaml files to reference unified checklist

## Statistics

**Overall changes:** 6 files changed, +553 insertions, -264 deletions

**edit-agent enhancements:**
- instructions.md: +396 lines (comprehensive guidance)
- README.md: +213 lines (complete documentation)
- workflow.yaml: +32 lines (proper doc references)

**Validation unification:**
- Net result: Better quality, less duplication, easier maintenance
- Single source of truth for all agent validation

## Impact

### For Users Editing Agents
- Automatically detects and handles Expert agents with sidecar files
- Clear guidance on fixing #1 issue (persona field separation)
- 7-step prescriptive pattern for communication style refinement
- Warm, educational feedback throughout
- Validates against same standards as create-agent

### For Agent Quality
- Both create and edit workflows use same validation standards
- Persona field separation gets proper attention
- Expert agent sidecar files treated as first-class citizens
- Legacy agents can be migrated to modern standards
- All agents validated against reference implementations

### For Maintenance
- ONE checklist to maintain instead of two
- Consistent quality standards across workflows
- Documentation properly linked to new comprehensive guides
- No risk of checklist drift

This brings edit-agent to the same quality level as create-agent while adding critical Expert agent support and establishing single source of truth for validation.
2025-11-18 21:55:47 -06:00
Brian Madison
054b031c1d feat: Complete BMAD agent creation system with install tooling, references, and field guidance
## Overview
This commit represents a complete overhaul of the BMAD agent creation system, establishing clear standards for agent development, installation workflows, and persona design. The changes span documentation, tooling, reference implementations, and field-specific guidance.

## Key Components

### 1. Agent Installation Infrastructure
**New CLI Command: `agent-install`**
- Interactive agent installation with persona customization
- Supports Simple (single YAML), Expert (sidecar files), and Module agents
- Template variable processing with Handlebars-style syntax
- Automatic compilation from YAML to XML (.md) format
- Manifest tracking and IDE integration (Claude Code, Cursor, Windsurf, etc.)
- Source preservation in `_cfg/custom/agents/` for reinstallation

**Files Created:**
- `tools/cli/commands/agent-install.js` - Main CLI command
- `tools/cli/lib/agent/compiler.js` - YAML to XML compilation engine
- `tools/cli/lib/agent/installer.js` - Installation orchestration
- `tools/cli/lib/agent/template-engine.js` - Handlebars template processing

**Compiler Features:**
- Auto-injects frontmatter, activation, handlers, help/exit menu items
- Smart handler inclusion (only includes action/workflow/exec/tmpl handlers actually used)
- Proper XML escaping and formatting
- Persona name customization (e.g., "Fred the Commit Poet")

### 2. Documentation Overhaul
**Deleted Bloated/Outdated Docs (2,651 lines removed):**
- Old verbose architecture docs
- Redundant pattern files
- Outdated workflow guides

**Created Focused, Type-Specific Docs:**
- `src/modules/bmb/docs/understanding-agent-types.md` - Architecture vs capability distinction
- `src/modules/bmb/docs/simple-agent-architecture.md` - Self-contained agents
- `src/modules/bmb/docs/expert-agent-architecture.md` - Agents with sidecar files
- `src/modules/bmb/docs/module-agent-architecture.md` - Workflow-integrated agents
- `src/modules/bmb/docs/agent-compilation.md` - YAML → XML process
- `src/modules/bmb/docs/agent-menu-patterns.md` - Menu design patterns
- `src/modules/bmb/docs/index.md` - Documentation hub

**Net Result:** ~1,930 line reduction while adding MORE value through focused content

### 3. Create-Agent Workflow Enhancements
**Critical Persona Field Guidance Added to Step 4:**
Explains how the LLM interprets each persona field when the agent activates:

- **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, quirks, 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 restate role/identity/principles. The `communication-presets.csv` provides 60 pure communication styles with NO role/identity/principles mixed in.

**Files Updated:**
- `src/modules/bmb/workflows/create-agent/instructions.md` - Added persona field interpretation guide
- `src/modules/bmb/workflows/create-agent/brainstorm-context.md` - Refined to 137 lines
- `src/modules/bmb/workflows/create-agent/communication-presets.csv` - 60 styles across 13 categories

### 4. Reference Agent Cleanup
**Removed install_config Personality Bloat:**
Understanding: Future installer will handle personality customization, so stripped all personality toggles from reference agents.

**commit-poet.agent.yaml** (Simple Agent):
- BEFORE: 36 personality combinations (3 enthusiasm × 3 depths × 4 styles) = decision fatigue
- AFTER: Single concise persona with pure communication style
- Changed from verbose conditionals to: "Poetic drama and flair with every turn of a phrase. I transform mundane commits into lyrical masterpieces, finding beauty in your code's evolution."
- Reduction: 248 lines → 153 lines (38% reduction)

**journal-keeper.agent.yaml** (Expert Agent):
- Stripped install_config, simplified communication_style
- Shows proper Expert agent structure with sidecar files

**security-engineer.agent.yaml & trend-analyst.agent.yaml** (Module Agents):
- Added header comments explaining WHY Module Agent (design intent, not just location)
- Clarified: Module agents are designed FOR ecosystem integration, not capability-limited

**Files Updated:**
- `src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml`
- `src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml`
- `src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml`
- `src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml`

### 5. BMM Agent Voice Enhancement
**Gave all 9 BMM agents distinct, memorable communication voices:**

**Mary (analyst)** - The favorite! Changed from generic "systematic and probing" to:
"Treats analysis like a treasure hunt - excited by every clue, thrilled when patterns emerge. Asks questions that spark 'aha!' moments while structuring insights with precision."

**Other Notable Voices:**
- **John (pm):** "Asks 'WHY?' relentlessly like a detective on a case. Direct and data-sharp, cuts through fluff to what actually matters."
- **Winston (architect):** "Speaks in calm, pragmatic tones, balancing 'what could be' with 'what should be.' Champions boring technology that actually works."
- **Amelia (dev):** "Ultra-succinct. Speaks in file paths and AC IDs - every statement citable. No fluff, all precision."
- **Bob (sm):** "Crisp and checklist-driven. Every word has a purpose, every requirement crystal clear. Zero tolerance for ambiguity."
- **Sally (ux-designer):** "Paints pictures with words, telling user stories that make you FEEL the problem. Empathetic advocate with creative storytelling flair."

**Pattern Applied:** Moved behaviors from communication_style to principles, keeping communication_style as PURE verbal patterns.

**Files Updated:**
- `src/modules/bmm/agents/analyst.agent.yaml`
- `src/modules/bmm/agents/pm.agent.yaml`
- `src/modules/bmm/agents/architect.agent.yaml`
- `src/modules/bmm/agents/dev.agent.yaml`
- `src/modules/bmm/agents/sm.agent.yaml`
- `src/modules/bmm/agents/tea.agent.yaml`
- `src/modules/bmm/agents/tech-writer.agent.yaml`
- `src/modules/bmm/agents/ux-designer.agent.yaml`
- `src/modules/bmm/agents/frame-expert.agent.yaml`

### 6. Linting Fixes
**ESLint Compliance:**
- Replaced all `'utf-8'` with `'utf8'` (unicorn/text-encoding-identifier-case)
- Changed `variables.hasOwnProperty(varName)` to `Object.hasOwn(variables, varName)` (unicorn/prefer-object-has-own)
- Replaced `JSON.parse(JSON.stringify(...))` with `structuredClone(...)` (unicorn/prefer-structured-clone)
- Fixed empty YAML mapping values in sample files

**Files Fixed:**
- 7 JavaScript files across agent tooling (compiler, installer, commands, IDE integration)
- 1 YAML sample file

## Architecture Decisions

### Agent Types Are About Architecture, Not Capability
- **Simple:** Self-contained in single YAML (NOT limited in capability)
- **Expert:** Includes sidecar files (templates, docs, etc.)
- **Module:** Designed for BMAD ecosystem integration (workflows, cross-agent coordination)

### Persona Field Separation Critical for LLM Interpretation
The LLM needs distinct fields to understand its role:
- Mixing role/identity/principles into communication_style confuses the persona
- Pure communication styles (from communication-presets.csv) have ZERO role/identity/principles content
- Example DON'T: "Experienced analyst who uses systematic approaches..." (mixing identity + style)
- Example DO: "Systematic and probing. Structures findings hierarchically." (pure style)

### Install-Time vs Runtime Configuration
- Template variables ({{var}}) resolve at compile-time
- Runtime variables ({user_name}, {bmad_folder}) resolve when agent activates
- Future installer will handle personality customization, so agents should ship with single default persona

## Testing
- All linting passes (ESLint with max-warnings=0)
- Agent compilation tested with commit-poet, journal-keeper examples
- Install workflow validated with Simple and Expert agent types
- Manifest tracking and IDE integration verified

## Impact
This establishes BMAD as having a complete, production-ready agent creation and installation system with:
- Clear documentation for all agent types
- Automated compilation and installation
- Strong persona design guidance
- Reference implementations showing best practices
- Distinct, memorable agent voices throughout BMM module

Co-Authored-By: BMad Builder <builder@bmad.dev>
Co-Authored-By: Mary the Analyst <analyst@bmad.dev>
Co-Authored-By: Paige the Tech Writer <tech-writer@bmad.dev>
2025-11-18 21:55:47 -06:00
Alex Verkhovsky
7b7f984cd2 feat: Add Google Antigravity IDE installer (#938)
Implements installer for Google Antigravity IDE with flattened slash command
naming to match Antigravity's namespace requirements.

Key features:
- Flattened file naming (bmad-module-agents-name.md) for proper slash commands
- Subagent installation support (project-level or user-level)
- Module-specific injection configuration
- Agent, workflow, task, and tool command generation

Implementation:
- Added AntigravitySetup class extending BaseIdeSetup
- Extracted flattenFilename() to BaseIdeSetup for reuse across IDE handlers
- Uses .agent/workflows directory structure
- Supports both interactive and non-interactive configuration

Fixes:
- Proper namespace isolation: /bmad-module-agents-dev instead of /dev
- Prevents conflicts between modules with same agent names

Note: This installer shares 95% of its code with claude-code.js.
Future refactoring could extract common patterns to IdeWithSlashCommandsSetup
base class (see design documents for details).
2025-11-18 20:09:06 -06:00
Alex Verkhovsky
073597a8ff feat: Add project-specific installation option for Codex CLI (#937)
Add support for choosing between global and project-specific installation
locations for Codex CLI prompts with CODEX_HOME configuration instructions.

Changes:
- Add collectConfiguration() to prompt for installation location (default: global)
- Support global (~/.codex/prompts) and project-specific (<project>/.codex/prompts)
- Display OS-specific CODEX_HOME setup instructions before user confirms
- Update detect() and cleanup() to handle both installation locations

Installation options:
- Global: Simple, works immediately, but prompts reference specific .bmad path
- Project-specific: Requires CODEX_HOME, better for multi-project workflows
  - Unix/Mac: alias codex='CODEX_HOME="$PWD/.codex" codex'
  - Windows: codex.cmd wrapper with %~dp0
2025-11-18 18:48:32 -06:00
Brian Madison
0ca164de34 chore: release v6.0.0-alpha.10
Major milestone: Epics & Stories now generated AFTER Architecture
- New Frame Expert agent with Excalidraw workflows
- Time estimate prohibition across all workflows
- Platform-specific command filtering (ide-only/web-only)
- Agent customization enhancement (prompts & memories)
- Workflow configuration standardization
2025-11-16 00:52:51 -06:00
fxomo
f38905628a Fix: Add prompts and memories merging from customize.yaml (#889)
- Add merging logic for customizeYaml.prompts and customizeYaml.memories in loadAndMergeAgent()
- Implement buildMemoriesXml() method to output memories XML section
- Update buildPromptsXml() to use <content> wrapper instead of CDATA for better compatibility
- Integrate memories output into convertToXml() between persona and prompts sections

Changes:
1. Line 123-131: Added prompts and memories append logic in loadAndMergeAgent()
2. Line 215-218: Added memories XML output in convertToXml()
3. Line 286-301: New buildMemoriesXml() method
4. Line 312-315: Updated prompts to use <content> wrapper for consistency

This allows users to customize agents via bmad/_cfg/agents/*.customize.yaml with:
- prompts: Array of {id, content} objects for action handlers
- memories: Array of strings for persistent agent memories
2025-11-16 00:36:32 -06:00
Brian Madison
6f7e9f0653 refactor: Major v6 epic creation improvements and documentation overhaul
## Key Changes

### 1. Epic Creation Workflow Enhancements
- Added user-value focused epic structure principles (NO technical layer breakdown)
- Implemented multi-mode detection: CONTINUE, REPLACE, or UPDATE existing epics
- Added comprehensive anti-pattern examples showing wrong vs right epic breakdown
- Epics now created AFTER architecture for technically-informed story breakdown
- Added checkpoint protocol for interactive workflow progression

### 2. Removed Deprecated Solutioning Gate Check
- Deleted entire solutioning-gate-check workflow (682 lines)
- Replaced by new implementation-readiness workflow
- Cleaner separation of concerns in solutioning phase

### 3. PRD Template Simplification
- Removed hardcoded "Implementation Planning", "References", and "Next Steps" sections
- PRD now focuses purely on requirements, not workflow orchestration
- Epics/stories created as separate step after architecture

### 4. Documentation Overhaul (15+ docs updated)
- Updated quick-start guide with v6 workflow sequence
- Clarified that epics are created AFTER architecture, not during PRD
- Updated solutioning docs to reflect implementation-readiness pattern
- Improved agents-guide, brownfield-guide, enterprise docs
- Enhanced glossary, FAQ, and workflow reference documentation

### 5. Workflow Path Adjustments
- All 4 paths updated (enterprise/method × brownfield/greenfield)
- Version bumps across BMGD, BMM, and CIS workflow YAMLs
- Minor instruction file updates for consistency

### Files Changed
- 65 files total: 468 insertions, 978 deletions (net reduction of 510 lines)
- 4 files deleted (entire solutioning-gate-check workflow)
- 1 new directory added (implementation-readiness placeholder)
2025-11-16 00:23:47 -06:00
Brian Madison
5980e41a28 feat: Add ide-only and web-only menu item filtering for platform-specific commands
## Summary
- Add ide-only and web-only boolean fields to agent menu schema
- Filter menu items based on build target (web bundle vs local IDE)
- Update BMM agent definitions with platform restrictions and improved descriptions
- Update frame-expert agent icon to 📐 and add webskip flag

## Changes

### Schema & Bundler Updates
- tools/schema/agent.js: Add ide-only and web-only optional boolean fields
- tools/cli/lib/yaml-xml-builder.js: Filter ide-only items from web bundles
- tools/cli/lib/xml-handler.js: Pass forWebBundle flag through build chain

### Agent Updates
- frame-expert: Change icon to 📐, add webskip flag, improve principle formatting
- pm: Mark workflow-init and correct-course as ide-only, advanced-elicitation as web-only
- ux-designer: Rename trigger to create-ux-design, mark advanced-elicitation as web-only
- sm: Rename triggers for consistency (story-context → create-story-context)
- analyst: Add research workflow after brainstorm, mark advanced-elicitation as web-only
- architect: Remove document field from validate-architecture, add web-only flag
- dev: Update persona and critical actions for clarity
- tech-writer: Add party-mode workflow, mark advanced-elicitation as web-only
- tea: Mark advanced-elicitation as web-only
- All agents: Standardize party-mode description

This enables platform-specific functionality where some commands only make sense
in IDE environments (workflow-init) or web interfaces (advanced-elicitation).
2025-11-15 19:39:53 -06:00
mrsaifullah52
05ccd1904c Feature/frame expert agent #890 (#905)
* feat: add frame-expert agent definition

- Add frame-expert.agent.yaml with persona and workflow menu
- Agent specializes in Excalidraw visual representations
- Supports flowcharts, diagrams, dataflows, and wireframes

Closes #890

* feat: add frame-expert workflows and shared resources

- Add 4 workflows: create-flowchart, create-diagram, create-dataflow, create-wireframe
- Include shared Excalidraw helpers, library, templates, and validation
- Each workflow has instructions, checklist, and workflow.yaml

Related to #890

* feat: register frame-expert workflows in manifest

- Add create-flowchart workflow entry
- Add create-diagram workflow entry
- Add create-dataflow workflow entry
- Add create-wireframe workflow entry

Related to #890

* feat: integrate frame-expert into team configurations

- Add frame-expert to default-party.csv with full agent details
- Add frame-expert to team-fullstack.yaml agent list
- Frame-expert now available in fullstack team workflows

Related to #890
2025-11-15 09:39:46 -06:00
Brian Madison
f14014f0c7 refactor: Major workflow enhancements - time estimates prohibition, progressive epic creation, and workflow simplification
## Key Changes

### 1. Time Estimate Prohibition (All Modules)
- Added critical warnings against providing ANY time estimates (hours/days/weeks/months)
- Acknowledges AI has fundamentally changed development speed
- Applied to 33 workflow instruction files across BMB, BMGD, BMM, and CIS modules
- Updated workflow creation guide with prohibition guidelines

### 2. Enhanced Epic Creation Workflow
- Added intelligent UPDATE vs CREATE mode detection
- Detects available context (UX, Architecture, Domain brief, Product brief)
- Progressive enhancement: creates basic epics, then enriches with UX/Architecture
- Living document approach with continuous updates
- Added 305 lines of sophisticated workflow logic

### 3. Workflow Status Initialization Refactoring
- Simplified from 893 to 318 lines (65% reduction)
- Streamlined state detection: CLEAN, PLANNING, ACTIVE, LEGACY, UNCLEAR
- Cleaner path selection and initialization logic
- Removed redundant complexity while maintaining functionality

### 4. Workflow Path Updates
- Updated all 4 workflow paths (enterprise/method × brownfield/greenfield)
- Added multiple optional epic creation steps at different phases:
  - After PRD (basic structure)
  - After UX Design (with interaction context)
  - After Architecture (final with full context)
- Changed PRD output description from "with epics and stories" to "with FRs and NFRs"

### 5. Architecture & Innovation Updates
- Made epics input optional in architecture workflow (falls back to PRD FRs)
- Updated innovation strategy phases to remove time-based language
- Phases now: Immediate Impact → Foundation Building → Scale & Optimization

### Files Changed
- 33 instruction files updated with time estimate prohibition
- 2 workflow.yaml files updated (create-epics-and-stories, architecture)
- 4 workflow path YAML files updated
- 1 workflow creation guide enhanced

This refactor significantly improves workflow intelligence, removes harmful time-based planning assumptions, and creates more adaptive, context-aware workflows that better leverage AI capabilities.
2025-11-14 23:54:29 -06:00
Brian Madison
3223975fd0 Summary of changes:
- Removed 32 recommended_inputs: sections
  - Added description: fields to all input_file_patterns (25 workflows)
  - Added missing load_strategy fields (5 workflows)
  - Fixed BMB workflows with proper reference doc variables
  - Updated BMB instructions to use new variables
2025-11-14 20:43:15 -06:00
Brian Madison
3f283066b1 removed items from source that should not be included 2025-11-14 11:29:57 -06:00
Brian Madison
70a642318d prd updated to properly use the project-types csv 2025-11-14 08:06:19 -06:00
Brian Madison
e6b4f3f051 update doc 2025-11-14 07:10:01 -06:00
Brian Madison
7208610db8 web bundler fixes 2025-11-13 22:10:49 -06:00
Brian Madison
aa4c7e4446 web bundle links updated in docs 2025-11-13 20:17:20 -06:00
Brian Madison
face4e4367 resolved blocking issues when folder name is changed during install 2025-11-13 20:17:20 -06:00
Daniel Dabrowski
4aed5a1193 fix: update file paths in agent and workflow configurations to use {bmad_folder} variable (#917) 2025-11-13 19:44:12 -06:00
Anton Lvovych
94d01961f3 fix(shard-doc): use proper command for markdown-tree-parser (#911) 2025-11-13 18:23:54 -06:00
Brian Madison
1a52a19978 chore: bump version to 6.0.0-alpha.9 2025-11-12 22:59:52 -06:00
Brian Madison
6d14147c26 docs: add comprehensive changelog for v6.0.0-alpha.9 release
- Document workflow engine revolution with intelligent file discovery protocol
- Highlight track-based project system replacing Level 0-4 terminology
- Detail unified folder structure and ephemeral folder removal
- Include migration notes for users upgrading from alpha.8
- Emphasize sprint-artifacts location changes and backward compatibility
2025-11-12 22:59:07 -06:00
Brian Madison
15a94a94b6 accept a story status of review or ready-for-review, treat them the same. 2025-11-12 22:46:48 -06:00
Brian Madison
b63bf9d067 installer update to quick install and agent rebuild 2025-11-12 22:40:45 -06:00
Brian Madison
8f57effda4 clean up of hardcoded stale configurable paths 2025-11-12 20:46:47 -06:00
Brian Madison
1868477238 refactor(config): replace hardcoded .bmad paths with {bmad_folder} placeholder
Remove hardcoded .bmad folder references throughout documentation and source files, replacing them with the configurable {bmad_folder} placeholder. This change enables users to customize the BMAD installation folder name via configuration, improving flexibility and reducing coupling to a specific directory structure.

Changes include:
- Update all documentation to reference {bmad_folder} instead of .bmad
- Remove legacy configuration files from .bmad and .claude directories
- Update workflow.xml and CLI documentation with new placeholder syntax
2025-11-12 20:22:47 -06:00
Brian Madison
48cf5c8056 feat(workflows): Implement intelligent file discovery protocol and Phase 4 BMGD workflows
## Core Workflow Engine Enhancements

### discover_inputs Protocol (MAJOR)
- Added reusable `discover_inputs` protocol to workflow.xml for intelligent file loading
- Supports three loading strategies:
  - FULL_LOAD: Load all shards for PRD, Architecture, UX (changed pattern from /index.md to /*/*.md)
  - SELECTIVE_LOAD: Load specific shard via template variable (e.g., epic-{{epic_num}}.md)
  - INDEX_GUIDED: Load index, analyze TOC, intelligently load relevant docs (with "DO NOT BE LAZY" mandate)
- Auto-discovers whole vs sharded documents with proper fallback
- Provides transparent reporting of loaded content with file counts
- Invoked via <invoke-protocol name="discover_inputs" /> tag in workflow instructions

### Advanced Elicitation Improvements
- Renamed adv-elicit.xml to advanced-elicitation.xml for clarity
- Updated all references across agents and commands

### Shard Document Tool Enhancement
- Added Step 6: Handle Original Document with three options:
  - [d] Delete - Remove original (recommended, prevents confusion)
  - [m] Move to archive - Backup original to archive folder
  - [k] Keep - Warning about defeating sharding purpose
- Prevents issue where both whole and sharded versions exist, confusing discover_inputs protocol

## BMM Module - Input File Pattern Standardization

### Phase 1 - Analysis (1 workflow)
- product-brief: Added load_strategy (FULL_LOAD for research/brainstorming, INDEX_GUIDED for document_project)
- Updated instructions.md to use invoke-protocol, replaced manual fuzzy matching

### Phase 2 - Planning (4 workflows)
- prd: Added load_strategy, updated instructions to reference {product_brief_content}, {research_content}
- create-ux-design: Added load_strategy, removed fuzzy matching from instructions
- tech-spec: Added load_strategy for brownfield context discovery
- All epics patterns updated to support SELECTIVE_LOAD for specific epic shards

### Phase 3 - Solutioning (2 workflows)
- architecture: Added load_strategy, updated instructions to use pre-loaded {prd_content}, {epics_content}, {ux_design_content}
- solutioning-gate-check: Added load_strategy, replaced manual discovery with protocol invocation

### Phase 4 - Implementation (8 workflows)
- code-review: Added load_strategy, fixed sharded patterns to /*/*.md, added step 1.5 for protocol
- correct-course: Added complete input_file_patterns section (was missing), added step 0.5
- create-story: Added load_strategy, updated to SELECTIVE_LOAD for epics, added step 1.5
- dev-story: Added complete input_file_patterns section (was missing), added step 0.5
- epic-tech-context: Added load_strategy, updated PRD extraction to use {prd_content}, added step 1.5
- retrospective: Added load_strategy for architecture/prd (FULL_LOAD), epics (SELECTIVE_LOAD), added step 0.5
- sprint-planning: Fixed sharded pattern to load ALL epics (/*/*.md), added step 0.5
- story-context: Added load_strategy, updated doc collection to reference pre-loaded content, added step 1.5

### Sprint Artifacts Path Corrections
- story-done: Added missing sprint_artifacts variable, fixed sprint_status path from {context_dir} to {sprint_artifacts}
- story-ready: Added missing sprint_artifacts variable
- story-context: Fixed undefined {context_dir} -> {sprint_artifacts}
- correct-course: Added sprint_artifacts and sprint_status variables

## BMGD Module - Phase 4 Production Workflows (NEW)

Added complete Phase 4 implementation workflows for game development:
- code-review: Senior developer review for completed game features
- correct-course: Sprint change management for game projects
- create-story: Story generation for game mechanics/features
- dev-story: Feature implementation workflow
- epic-tech-context: Technical spec generation per game epic
- retrospective: Epic completion review and lessons learned
- sprint-planning: Game development sprint status tracking
- story-context: Dynamic context assembly for game stories
- story-done: Story completion workflow
- story-ready: Story readiness workflow

All BMGD workflows follow BMM patterns with game-specific adaptations.

## Agent Updates

### BMM Agents
- Updated all 7 BMM agents (analyst, architect, dev, pm, sm, tea, tech-writer, ux-designer)
- Standardized web bundle configurations

### BMGD Agents
- Updated 4 game development agents (game-architect, game-designer, game-dev, game-scrum-master)
- Aligned with BMM agent structure

### CIS Agents
- Updated 5 creative intelligence agents for consistency

## Documentation & Configuration

- Updated CHANGELOG.md with Phase 4 workflow additions
- Updated files-manifest.csv and task-manifest.csv
- Updated .claude commands for all agents
- Fixed formatting issues from previous commits

## Breaking Changes

NONE - All changes are backward compatible. Workflows without input_file_patterns continue to work.
Workflows with input_file_patterns now benefit from intelligent auto-loading.

## Migration Notes

Existing workflows can gradually adopt discover_inputs protocol by:
1. Adding load_strategy to existing input_file_patterns in workflow.yaml
2. Adding <invoke-protocol name="discover_inputs" /> step in instructions.md
3. Replacing manual file loading with references to {pattern_name_content} variables
2025-11-12 19:18:38 -06:00
Brian Madison
8f7d259c81 remaining bad character removal 2025-11-11 20:10:33 -06:00
Brian Madison
74f54a088a removed some bad formatting that was injected previously 2025-11-11 17:30:43 -06:00
Brian Madison
4d745532aa refactor(tech-spec): unify story generation and adopt intent-based approach
Major refactoring of tech-spec workflow for quick-flow projects:

## Unified Story Generation
- Consolidated instructions-level0-story.md and instructions-level1-stories.md into single instructions-generate-stories.md
- Always generates epic + stories (minimal epic for 1 story, detailed for multiple)
- Consistent naming: story-{epic-slug}-N.md for all stories (1-5)
- Eliminated branching logic and duplicate code

## Intent-Based Intelligence
- Removed 150+ lines of hardcoded stack detection examples (Node.js, Python, Ruby, Java, Go, Rust, PHP)
- Replaced prescriptive instructions with intelligent guidance that trusts LLM capabilities
- PHASE 2 stack detection now adapts to ANY project type automatically
- Step 2 discovery changed from scripted Q&A to adaptive conversation goals

## Terminology Updates
- Replaced "Level 0" and "Level 1" with "quick-flow" terminology throughout
- Updated to "single story" vs "multiple stories (2-5)" language
- Consistent modern terminology across all files

## Variable and Structure Improvements
- Fixed variable references: now uses {instructions_generate_stories} instead of hardcoded paths
- Updated workflow.yaml with cleaner variable structure
- Removed unused variables (project_level, development_context)
- Added story_count and epic_slug runtime variables

## Files Changed
- Deleted: instructions-level0-story.md (7,259 bytes)
- Deleted: instructions-level1-stories.md (16,274 bytes)
- Created: instructions-generate-stories.md (13,109 bytes)
- Updated: instructions.md (reduced from 35,028 to 32,006 bytes)
- Updated: workflow.yaml, checklist.md

## Impact
- 50% fewer workflow files (3 → 1 for story generation)
- More adaptable to any tech stack
- Clearer, more maintainable code
- Better developer and user experience
- Trusts modern LLM intelligence instead of constraining with examples
2025-11-11 17:30:43 -06:00
Brian Madison
2d99833b9e feat: Add documentation guides, simplify folder structure, and major workflow refactoring
Created two comprehensive guides for v6 features:

**docs/agent-customization-guide.md**
- Complete guide for customizing agent names, personas, memories, and behaviors
- Update-safe customization via bmad/_cfg/agents/ configuration files
- Real-world examples (TDD setup, multilingual agents, custom workflows)
- Troubleshooting and best practices

**docs/web-bundles-gemini-gpt-guide.md**
- Comprehensive guide for using BMad agents in Gemini Gems and Custom GPTs
- Critical setup rules with exact configuration text required
- Cost-saving strategy: web planning → local implementation (60-80% savings)
- Platform comparison (Gemini Gems strongly recommended over Custom GPTs)
- Complete workflow examples showing full planning-to-implementation cycle
- Team bundle guidance (Gemini 2.5 Pro+ only)

**README.md updates**
- Added prominent links in v6 Core Enhancements section
- Created new "Customization & Sharing" documentation category
- Web Bundles feature highlighted with direct guide link

**Unified output folder structure across all modules:**

**Before (confusing):**
- output_folder: Main docs
- game_design_docs: Separate design folder
- tech_docs: Separate technical folder
- dev_ephemeral_location: Separate ephemeral folder outside docs

**After (simplified):**
- output_folder: Single location for ALL AI-generated artifacts (default: "docs")
  - Clearer prompt: "Where should AI Generated Artifacts be saved?"
- sprint_artifacts: Phase 4 ephemeral content now WITHIN output_folder
  - BMM: {output_folder}/stories (stories, context, reports)
  - BMGD: {output_folder}/sprint-artifacts
  - No longer in separate {bmad_folder}-ephemeral location

**Benefits:**
- One clear location for all planning artifacts (PRD, Architecture, UX, etc.)
- Phase 4 ephemeral items logically grouped within output folder
- Eliminated confusing separate folder proliferation
- sprint_artifacts now configurable per module

**Files changed:**
- src/core/_module-installer/install-config.yaml
- src/modules/bmm/_module-installer/install-config.yaml
- src/modules/bmgd/_module-installer/install-config.yaml

**Also cleaned up BMGD config:**
- Renamed: specified_framework → primary_platform (clearer naming)
- Removed: unused data_path variable

Replaced old "project_level" (0-4) system with new "selected_track" terminology:
- **quick-flow**: Bug fixes and small features (replaces Level 0-1)
- **bmad-method**: Full planning track (replaces Level 2-3)
- **enterprise-bmad-method**: Extended planning (replaces Level 4)

**Core workflow updates:**
- solutioning-gate-check: Complete rewrite of validation logic for track-based artifacts
- architecture: Updated context detection, error handling, and messaging for tracks
- workflow-init: Updated artifact detection patterns for track-based paths
- All workflow status paths updated (method-greenfield, method-brownfield, enterprise-*)

Unified variable naming conventions across all workflows:
- {output_folder} → {output-folder} (hyphenated format)
- {dev_ephemeral_location} → {sprint_artifacts} (clearer purpose)
- Hardcoded status file paths → {workflow_status_file} variable

Fixed corrupted variable patterns throughout workflow files:
- {output*folder} → {output-folder}
- {ephemeral*location} → {sprint_artifacts}
- \_prd* → *prd* (escaped underscore artifacts)
- **\*\***\_\_\_**\*\*** → proper field placeholders

Affected patterns included malformed glob patterns, template variables, and markdown formatting artifacts from previous edits.

**Architecture workflow (create-architecture):**
- Fixed: "Decision Architecture" → "Create Architecture" (consistent naming)
- Improved PRD not found handling with exit/continue options
- Better user guidance when running standalone vs. within workflow path
- Removed hardcoded Level checks, now track-aware
- Enhanced validation checklist formatting (□ → - [])
- Typo fixes: "mulitple" → "multiple"

**Solutioning gate check:**
- Complete validation logic rewrite for track-based system
- Removed Level-specific artifact expectations
- Simplified document discovery (track determines what exists)
- Better analysis prompts and user feedback

**Workflow-init:**
- Updated artifact detection patterns for new folder structure
- Fixed corrupt glob patterns throughout
- Better sprint_artifacts location detection
- Improved workflow path assignment logic

**Various workflows:**
- Consistent variable naming across 40+ workflow files
- Improved error messages and user guidance
- Better markdown formatting (checkboxes, lists)
- Removed redundant validation criteria files (now inline)

Removed duplicate BMGD 4-production workflows (12 workflows):
- code-review, correct-course, create-story, dev-story
- epic-tech-context, retrospective, sprint-planning
- story-context, story-done, story-ready

**Why:** BMGD now uses shared BMM Phase 4 implementation workflows
**Benefit:** Single source of truth, no duplication to maintain

Also removed:
- validation-criteria.yaml (validation now inline in instructions)
- architecture-patterns.yaml references (patterns now managed differently)
- AUDIT-REPORT.md files (stale audit artifacts)

**BMB workflows:**
- Updated checklists for workflow and module creation
- Improved agent architecture documentation
- Minor instruction clarifications

**Core brainstorming workflow:**
- Updated README with usage examples
- Enhanced instructions and template clarity
- Better integration with other modules

**BMM installer:**
- Updated for track-based system
- sprint_artifacts configuration

**Tech Writer agent:**
- Minor configuration update for documentation workflows

Removed 200+ files that should not be in repository:
- Installed agent markdown files (analyst, architect, dev, pm, sm, tea, etc.)
- Complete workflow instruction copies
- Documentation duplicates (quick-start, agents-guide, workflows-*)
- Test architecture knowledge base (22 files, 14,000+ lines)
- Configuration files (config.yaml, team definitions)

These are generated during installation and should not be version controlled.

Removed 21 pre-generated XML bundles:
- BMM agents (analyst, architect, dev, pm, sm, tea, tech-writer, ux-designer)
- BMGD agents (game-architect, game-designer, game-dev, game-scrum-master)
- CIS agents (brainstorming-coach, creative-problem-solver, etc.)
- Team bundles (team-fullstack, team-gamedev, creative-squad)

**Why:** Users should generate fresh bundles via `npm run bundle` to get latest changes and customizations.

- **2 new documentation files** (comprehensive guides)
- **98 source files modified** (299 insertions, 6,567 deletions)
- **3 installer config files simplified** (major folder structure improvement)
- **200+ .bmad/ artifacts removed** (should not be in repo)
- **21 web-bundle files removed** (users regenerate as needed)
- **12 duplicate workflows removed** (BMGD consolidation)
- **40+ workflows updated** (track system, variable standardization, corruption fixes)
2025-11-11 17:30:43 -06:00
Murat K Ozcan
280652566c chore: fixed directory browsing + zip Downloads (#902)
Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-11-11 16:48:03 -06:00
Murat K Ozcan
2ae99135a2 chore: fix bundle urls (#901)
Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-11-11 16:37:03 -06:00
Murat K Ozcan
449b5b3d29 chore: github pages for web bundle (#898)
* chore: github pages for web bundle

* docs: updated Bundle distribution setup

* chore: addressed PR comments

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-11-11 13:35:30 -06:00
Murat K Ozcan
487d1582a0 feat: test design for architecture level (phase 3) (#897)
* feat: test design for architecture level (phase 3)

* addressed review comments

---------

Co-authored-by: Murat Ozcan <murat@Murats-MacBook-Pro.local>
Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-11-11 10:03:00 -06:00
Brian Madison
03fbd2ae24 Release v6.0.0-alpha.8
## Installation Path Enhancements
- **Configurable Installation Directory**: Users can now specify custom installation directories during setup
- **New Default Location**: Changed default installation to `.bmad` (hidden directory) for cleaner project organization
- **Ephemeral File Handling**: Updated phase 4 implementation to use ephemeral file locations for better artifact organization

## CLI & Agent Loading Improvements
- **Optimized Agent Loading**: CLI commands now load from installed agent files, eliminating duplication
- **Installer UX Improvements**: Enhanced installer interface with version display
- **VS Code Integration**: Updated settings for new `.bmad` directory structure

## Web Bundle Enhancements
- **Party Mode Support**: All web bundles (single agent and team) now include party mode for multi-agent collaboration
- **Advanced Elicitation**: Integrated advanced elicitation capabilities into standalone agents
- **Expanded Agent Bundles**: New web bundle outputs for all agents (analyst, architect, dev, pm, sm, tea, tech-writer, ux-designer, game-*, creative-squad)
- **Team Customization**: Added default-party.csv files to bmm, bmgd, and cis modules with customizable party configurations

## Phase 4 Workflow Updates (In Progress)
- **Artifact Separation**: Initiated separation of phase 4 implementation artifacts from documentation
- **Dedicated Artifact Path**: Phase 4 items (stories, code review, sprint plan, context files) moving to dedicated location outside docs folder
- **Updated Workflows**: Modified workflow.yaml files for code-review, sprint-planning, story-context, epic-tech-context, and retrospective workflows
- **Configuration Support**: Added installer questions for artifact path selection

## IDE Integration
- **Gemini TOML**: Improved with clear loading instructions using @ commands
- **Centralized Templates**: Agent launcher markdown files now use centralized critical indication templates
- **GitHub Copilot**: Updated tool names to match official VS Code documentation (November 2025)

## Bug Fixes
- Fixed duplicate manifest entries by deduplicating module lists using Set
- Cleaned up legacy bmad/, bmd/, and web-bundles directories
- Various improvements to phase 4 workflow artifact handling

## Additional Changes
- New agent and action command header models for standardization
- Enhanced web-bundle-activation-steps fragment
- Updated web-bundler.js to support new structure
- Improved party mode instructions and workflow orchestration
2025-11-09 23:24:25 -06:00
Brian Madison
665e140638 more updates to use ephemeral file location for phase 4 items 2025-11-09 23:17:29 -06:00
Brian Madison
f49a4731e7 agents now are not duplicated and isntead cli commmands load from installed agent files 2025-11-09 20:24:56 -06:00
Brian Madison
7eb52520fa Major Enhancements:
- Installation path is now fully configurable, allowing users to specify custom installation directories during setup
  - Default installation location changed to .bmad (hidden directory) for cleaner project root organization

    Web Bundle Improvements:

    - All web bundles (single agent and team) now include party mode support for multi-agent collaboration!
    - Advanced elicitation capabilities integrated into standalone agents
    - All bundles enhanced with party mode agent manifests
    - Added default-party.csv files to bmm, bmgd, and cis module teams
    - The default party file is what will be used with single agent bundles. teams can customize for different party configurations before web bundling through a setting in the team yaml file
    - New web bundle outputs for all agents (analyst, architect, dev, pm, sm, tea, tech-writer, ux-designer, game-*, creative-squad)

    Phase 4 Workflow Updates (In Progress):

    - Initiated shift to separate phase 4 implementation artifacts from documentation
        - Phase 4 implementation artifacts (stories, code review, sprint plan, context files) will move to dedicated location outside docs folder
        - Installer questions and configuration added for artifact path selection
        - Updated workflow.yaml files for code-review, sprint-planning, story-context, epic-tech-context, and retrospective workflows to support this, but still might require some udpates

    Additional Changes:

    - New agent and action command header models for standardization
    - Enhanced web-bundle-activation-steps fragment
    - Updated web-bundler.js to support new structure
    - VS Code settings updated for new .bmad directory
    - Party mode instructions and workflow enhanced for better orchestration

   IDE Installer Updates:

    - Show version number of installer in cli
    - improved Installer UX
    - Gemini TOML Improved to have clear loading instructions with @ commands
    - All tools agent launcher mds improved to use a central file template critical indication isntead of hardcoding in 2 different locations.
2025-11-09 17:39:05 -06:00
Brian Madison
fd2521ec69 customize installation folder for the bmad content 2025-11-08 15:19:19 -06:00
Brian Madison
1728acfb0f The install directory is now configurable, with a few minute issues 2025-11-08 13:58:43 -06:00
Brian Madison
a4bbfc4b6e fix: Prevent duplicate manifest entries and update GitHub Copilot tool names
- Deduplicate module lists in manifest generator using Set to prevent duplicate entries in installed manifests
- Update GitHub Copilot tool names to match official VS Code documentation (November 2025)
- Clean up legacy bmad/, bmd/, and web-bundles directories
2025-11-08 01:06:09 -06:00
Brian Madison
61955e8e96 release: bump to v6.0.0-alpha.7 2025-11-07 00:50:04 -06:00
Brian Madison
03d757292b fix: Add missing adv-elicit-methods.csv to workflow bundles
- Add adv-elicit-methods.csv dependency to all workflows using adv-elicit.xml
  - architecture workflow
  - prd workflow
  - tech-spec workflow
- Include BMM web bundles (8 agents + team-fullstack)
- Update v6 open items list

This fixes runtime failures when advanced elicitation is invoked in bundled
workflows by ensuring the 39 elicitation methods CSV is properly included.

Note: Web bundler still has optimizations and known issues to address in
upcoming commits.
2025-11-07 00:38:28 -06:00
Brian Madison
91302d9c7a claude and a few other ide tools installation fix to not add a readme file slash comand regression, and cleanup bmad folders in tools on install 2025-11-06 22:45:29 -06:00
Murat K Ozcan
1343859874 chore: CC PR review with GH token (#874)
* chore: CC PR review with GH token

* debug CC output

* turn off CC output

* turn off CC PR review

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-11-06 13:05:36 -06:00
Brian Madison
8ed4a548ea web bundler improvements part 1 2025-11-05 23:54:04 -06:00
Brian Madison
80a04bfce3 fix: Remove menu items for workflows with web_bundle: false
Enhanced removeSkippedWorkflowCommands() to properly remove all menu item
formats that reference workflows with web_bundle: false:

1. <item> tags with workflow attribute
2. <item> tags with run-workflow attribute
3. <c> tags with run-workflow attribute (legacy)

This ensures that workflows not designed for web bundles (like workflow-status
which requires filesystem access) are completely excluded from web bundles,
including their menu items.

Verified:
- workflow-status menu item removed from SM agent
- workflow-status YAML not included in bundle dependencies
2025-11-05 21:33:59 -06:00
Brian Madison
9a37cbb7fc fix: Show positive message when no missing dependencies
Instead of displaying an empty "⚠ Missing Dependencies by Agent:" section
when all dependencies are resolved, now shows a positive message:
"✓ No missing dependencies"

This improves the user experience by providing clear feedback that workflow
vendoring successfully resolved all dependencies.
2025-11-05 21:10:18 -06:00
Brian Madison
281eac3373 feat: Add workflow vendoring to web bundler
The web bundler now performs workflow vendoring before bundling agents,
similar to the module installer. This ensures that workflows referenced
via workflow-install attributes are copied from their source locations
to their destination locations before the bundler attempts to resolve
and bundle them.

Changes:
- Added vendorCrossModuleWorkflows() method to WebBundler class
- Added updateWorkflowConfigSource() helper method
- Integrated vendoring into bundleAll(), bundleModule(), and bundleAgent()
- Workflows are vendored before agent discovery and bundling
- Config_source is updated in vendored workflows to reference target module

This fixes missing dependency warnings for BMGD agents that vendor
BMM workflows for Phase 4 (Production) workflows.
2025-11-05 21:05:08 -06:00
Brian Madison
f84e18760f feat: Extract BMGD module and implement workflow vendoring
This commit extracts game development functionality from BMM into a standalone
BMGD (BMad Game Development) module and implements workflow vendoring to enable
module independence.

BMGD Module Creation:
- Moved agents: game-designer, game-dev, game-architect from BMM to BMGD
- Moved team config: team-gamedev
- Created new Game Dev Scrum Master agent using workflow vendoring pattern
- Reorganized workflows into industry-standard game dev phases:
  * Phase 1 (Preproduction): brainstorm-game, game-brief
  * Phase 2 (Design): gdd, narrative
  * Phase 3 (Technical): game-architecture
  * Phase 4 (Production): vendored from BMM workflows
- Updated all module metadata and config_source references

Workflow Vendoring Feature:
- Enables modules to copy workflows from other modules during installation
- Build-time process that updates config_source in vendored workflows
- New agent YAML attribute: workflow-install (build-time metadata)
- Final compiled agents use workflow-install value for workflow attribute
- Implementation in module manager: vendorCrossModuleWorkflows()
- Allows standalone module installation without forced dependencies

Technical Changes:
- tools/cli/lib/yaml-xml-builder.js: Use workflow-install for workflow attribute
- tools/cli/installers/lib/modules/manager.js: Add vendoring functions
- tools/schema/agent.js: Add workflow-install to menu item schema
- Updated 3 documentation files with workflow vendoring details

BMM Workflow Updates:
- workflow-status/init: Added game detection checkpoint
- workflow-status/paths/game-design.yaml: Redirect to BMGD module
- prd/instructions.md: Route game projects to BMGD
- research/instructions-market.md: Reference BMGD for game development

Documentation:
- Created comprehensive BMGD module README
- Added workflow vendoring documentation
- Updated BMB agent creation and module creation guides
2025-11-05 20:44:22 -06:00
Murat K Ozcan
bc76d25be6 chore: added CC PR review (#871)
* chore: added CC PR review

* remove CLAUDE.md

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-11-05 14:14:31 -06:00
Murat K Ozcan
c20ead1acb refactor: update TEA documentation to align with BMad 4-phase methodology (#870)
* refactor: update TEA documentation to align with BMad 4-phase methodology

* reafactor: address review comments

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-11-05 13:37:51 -06:00
Brian Madison
6fa6ebab12 More document Updtes and diagram improvements 2025-11-05 07:52:08 -06:00
Brian Madison
412a7d1ed8 release: bump to v6.0.0-alpha.6
Bug Fixes:
- Fix manifestPath error in ide-config-manager causing installation failures
- Fix installer option display to show full labels instead of just values for single/multi-select
- Add conditional documentation installation - users can now opt out of installing docs

Improvements:
- Add install_user_docs configuration option (defaults to true)
- Improve config question display with descriptive labels for better UX
- Update CONTRIBUTING.md to remove references to non-existent 'next' branch

Maintenance:
- Closed 54 legacy v4 issues (older than 1 month) to maintain clean issue tracker
2025-11-04 22:28:28 -06:00
Brian Madison
f8ba15c6f8 installer doc install option for bmad method module - user can opt to not install all the docs to the destination installation path 2025-11-04 22:17:12 -06:00
Brian Madison
1f0dfe05e4 windows powershell install fix 2025-11-04 21:58:41 -06:00
Brian Madison
7552ee2e3b fix quick udpate status bug in installer 2025-11-04 21:16:52 -06:00
Serhii
c283344a54 fix: ensure POSIX-compliant newlines in generated files (#856)
- Add final newline check to YAML config generation
- Add final newline check to YAML manifest generation
- Add final newline check to agent .md file generation
- Ensures all text files end with \n per POSIX standard
- Fixes 'No newline at end of file' git warnings
2025-11-04 20:18:12 -06:00
Brian Madison
ba5f76c37d Doc cleanup and mermaid diagram drafts added 2025-11-04 15:02:19 -06:00
Murat K Ozcan
84ec72fb94 fix: tea-readme 3 (#855)
* fix: tea-readme 3

* fix: tea-readme 3

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-11-04 10:31:36 -06:00
Brian Madison
ccd6cacd89 release: bump to v6.0.0-alpha.5 2025-11-04 00:15:34 -06:00
Brian Madison
accae5d789 refactor: comprehensive workflow modernization and standardization
## Major Improvements

### 1. Elicitation System Modernization
- Removed legacy `<elicit-required />` tag from workflow.xml
- Replaced with direct `<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>` pattern
- More explicit, self-documenting, and eliminates indirection layer
- Added strategic elicitation points across all planning workflows:
  - PRD: After success criteria, scope, functional requirements, and final review
  - Create-Epics-And-Stories: After epic proposals and each epic's stories
  - Architecture: After decisions, structure, patterns, implementation patterns, and final doc
  - Updated audit-workflow tag scanner to remove obsolete elicit-required reference

### 2. Input Document Discovery Streamlined
- Replaced verbose 19-line "Input Document Discovery" sections with single critical tag
- New format: `<critical>Input documents specified in workflow.yaml input_file_patterns...</critical>`
- Eliminates duplication - workflow.yaml already defines patterns
- Updated across 6 workflows (PRD, create-epics-and-stories, architecture, tech-spec, UX, gate-check)
- Saved ~114 lines of repeated bloat

### 3. Scale System Migration (Levels 0-4 → 3 Tracks)
- Updated PRD workflow from "Level 0-4" to "Quick Flow / BMad Method / Enterprise Method"
- Changed `project_level` variable to `project_track`
- Removed `target_scale` variable (no longer needed)
- Updated workflow.yaml descriptions to reference tracks not levels
- Updated checklist from "Level 2" and "Level 3-4" to "BMad Method" and "Enterprise Method"
- Aligns with new scale-adaptive-system.md (3-track methodology)

### 4. Epic/Story Template Standardization
- Replaced hardcoded 8-epic template with clean repeating pattern using N/M variables
- Added BDD-style acceptance criteria (Given/When/Then/And)
- Removed instructional bloat from templates (moved to instructions.md where it belongs)
- Template shows OUTPUT structure, instructions show PROCESS
- Applied to both create-epics-and-stories and tech-spec workflows
- Templates now use HTML comments to indicate repeating sections

### 5. Workflow.yaml Pattern Consistency
- Standardized input_file_patterns across all workflows
- Separated `recommended_inputs` (semantic WHAT) from `input_file_patterns` (file discovery WHERE)
- Removed duplication between recommended_inputs file paths and input_file_patterns
- Create-epics-and-stories now uses proper whole/sharded pattern like architecture workflow
- Solutioning-gate-check cleaned up to use semantic descriptions not file paths

## Files Changed (18)
- Core: workflow.xml (removed elicit-required tag and references)
- Audit workflow: Updated tag pattern scanner
- PRD workflow: Elicitation points, track migration, input discovery
- Create-epics-and-stories: Template rebuild, BDD format, elicitation, input patterns
- Tech-spec: Template rebuild, BDD format, input discovery
- UX Design: Input discovery streamlined
- Architecture: Elicitation at 5 key decision points, input discovery
- Gate-check: Input pattern cleanup, input discovery

## Impact
- More consistent elicitation across workflows
- Cleaner, more maintainable templates
- Better separation of concerns (templates vs instructions)
- Aligned with v6 3-track scale system
- Reduced bloat and duplication significantly
2025-11-04 00:09:19 -06:00
Brian Madison
c5117e5382 readme update 2025-11-03 21:46:49 -06:00
Brian Madison
e7d51739e4 update local install 2025-11-03 21:05:18 -06:00
Brian Madison
17f81a84f3 docs: comprehensive documentation accuracy overhaul and PM/UX evolution analysis
This commit represents a major documentation quality improvement, fixing critical inaccuracies and adding forward-looking guidance on the evolving role of PMs/UX in AI-driven development.

## Documentation Accuracy Fixes (Agent YAML as Source of Truth)

### Critical Corrections in agents-guide.md
- **Game Developer workflows**: Fixed incorrect workflow names (dev-story → develop-story, added story-done, removed non-existent create-story and retro)
- **Technical Writer naming**: Added agent name "Paige" to match all other agent naming patterns
- **Agent reference tables**: Updated to reflect actual agent capabilities from YAML configs
- **epic-tech-context ownership**: Corrected across all docs - belongs to SM agent, not Architect

### Critical Corrections in workflows-implementation.md
- **Line 16 + 75**: Fixed epic-tech-context agent from "Architect" → "SM" (matches sm.agent.yaml)
- **Line 258**: Updated epic-tech-context section header to show correct agent ownership
- **Multi-agent workflow table**: Moved epic-tech-context to SM agent row where it belongs

### Principle Applied
**Agent YAML files are source of truth** - All documentation now accurately reflects what agents can actually do per their YAML configurations, not assumptions or outdated info.

## Brownfield Development: Phase 0 Documentation Reality Check

### Rewrote brownfield-guide.md Phase 0 Section
Replaced oversimplified 3-scenario model with **real-world guidance**:

**Before**: Assumed docs are either perfect or non-existent
**After**: Handles messy reality of brownfield projects

**New Scenarios (4 instead of 3)**:
- **Scenario A**: No documentation → document-project (was covered)
- **Scenario B**: Docs exist but massive/outdated/incomplete → **document-project** (NEW - very common)
- **Scenario C**: Good docs but no structure → **shard-doc → index-docs** (NEW - handles massive files)
- **Scenario D**: Confirmed AI-optimized docs → Skip Phase 0 (was "Scenario C", now correctly marked RARE)

**Key Additions**:
- Default recommendation: "Run document-project unless you have confirmed, trusted, AI-optimized docs"
- Quality assessment checklist (current, AI-optimized, comprehensive, trusted)
- Massive document handling with shard-doc tool (>500 lines, 10+ level 2 sections)
- Explicit guidance on why regenerate vs index (outdated docs cause hallucinations)
- Impact explanation: how bad docs break AI workflows (token limits, wrong assumptions, broken integrations)

**Principle**: "When in doubt, run document-project" - Better to spend 10-30 minutes generating fresh docs than waste hours debugging AI agents with bad documentation.

## PM/UX Evolution: Enterprise Agentic Development

### New Content: The Evolving Role of Product Managers & UX Designers

Added comprehensive section based on **November 2025 industry research**:

**Industry Data**:
- 56% of product professionals cite AI/ML as top focus
- PRD-to-Code automation: build and deploy apps in 10-15 minutes
- By 2026: Roles converging into "Full-Stack Product Lead" (PM + Design + Engineering)
- Very high salaries for AI agent PMs who orchestrate autonomous systems

**Role Transformation**:
- From spec writers → code orchestrators
- PMs writing AI-optimized PRDs that **feed agentic pipelines directly**
- UX designers generating code with Figma-to-code tools
- Technical fluency becoming **table stakes**, not optional
- Review PRs from AI agents alongside human developers

**New Section: "How BMad Method Enables PM/UX Technical Evolution"** (10 ways):
1. **AI-Executable PRD Generation** - PRDs become work packages for cloud agents
2. **Automated Epic/Story Breakdown** - No more story refinement sessions
3. **Human-in-the-Loop Architecture** - PMs learn while validating technical decisions
4. **Cloud Agentic Pipeline** - Current (2025) + Future (2026) vision with diagrams
5. **UX Design Integration** - Designs validated through working prototypes
6. **PM Technical Skills Development** - Learn by doing through conversational workflows
7. **Organizational Leverage** - 1 PM → 20-50 AI agents (5-10× multiplier)
8. **Quality Consistency** - What gets built matches what was specified
9. **Rapid Prototyping** - Hours to validate ideas vs months
10. **Career Path Evolution** - Positions PMs for AI Agent PM, Full-Stack Product Lead roles

**Cloud Agentic Pipeline Vision**:
```
Current (2025): PM PRD → Stories → Human devs + BMad agents → PRs → Review → Deploy
Future (2026): PM PRD → Stories → Cloud AI agents → Auto PRs → Review → Auto-merge → Deploy
Time savings: 6-8 weeks → 2-5 days
```

**What Remains Human**:
- Product vision, empathy, creativity, judgment, ethics
- PMs spend MORE time on human elements (AI handles execution)
- Product leaders become "builder-thinkers" not just spec writers

### Document Tightening (enterprise-agentic-development.md)
- **Reduced from 1207 → 640 lines (47% reduction)**
- **10× more BMad-centric** - Every section ties back to how BMad enables the future
- Removed redundant examples, consolidated sections, kept actionable insights
- Stronger value propositions for PMs, UX, enterprise teams throughout

**Key Message**: "The future isn't AI replacing PMs—it's AI-augmented PMs becoming 10× more powerful through BMad Method."

## Impact

These changes bring documentation quality from **D- to A+**:
- **Accuracy**: Agent capabilities now match YAML source of truth (zero hallucination risk)
- **Reality**: Brownfield guidance handles messy real-world scenarios, not idealized ones
- **Forward-looking**: PM/UX evolution section positions BMad as essential framework for emerging roles
- **Actionable**: Concrete workflows, commands, examples throughout
- **Concise**: 47% reduction while strengthening value proposition

Users now have **trustworthy, reality-based, future-oriented guidance** for using BMad Method in both current workflows and emerging agentic development patterns.
2025-11-03 19:38:50 -06:00
Brian Madison
88d043245f 5 levels of scale adaption compressed to 3 clear distinctions driven by user preference and project needs 2025-11-03 17:06:15 -06:00
Brian Madison
750024fb14 release: bump to v6.0.0-alpha.4 2025-11-02 22:00:12 -06:00
Brian Madison
cfedecbd53 docs: massive documentation overhaul + introduce Paige (Documentation Guide agent)
## 📚 Complete Documentation Restructure

**BMM Documentation Hub Created:**
- New centralized documentation system at `src/modules/bmm/docs/`
- 18 comprehensive guides organized by topic (7000+ lines total)
- Clear learning paths for greenfield, brownfield, and quick spec flows
- Professional technical writing standards throughout

**New Documentation:**
- `README.md` - Complete documentation hub with navigation
- `quick-start.md` - 15-minute getting started guide
- `agents-guide.md` - Comprehensive 12-agent reference (45 min read)
- `party-mode.md` - Multi-agent collaboration guide (20 min read)
- `scale-adaptive-system.md` - Deep dive on Levels 0-4 (42 min read)
- `brownfield-guide.md` - Existing codebase development (53 min read)
- `quick-spec-flow.md` - Rapid Level 0-1 development (26 min read)
- `workflows-analysis.md` - Phase 1 workflows (12 min read)
- `workflows-planning.md` - Phase 2 workflows (19 min read)
- `workflows-solutioning.md` - Phase 3 workflows (13 min read)
- `workflows-implementation.md` - Phase 4 workflows (33 min read)
- `workflows-testing.md` - Testing & QA workflows (29 min read)
- `workflow-architecture-reference.md` - Architecture workflow deep-dive
- `workflow-document-project-reference.md` - Document-project workflow reference
- `enterprise-agentic-development.md` - Team collaboration patterns
- `faq.md` - Comprehensive Q&A covering all topics
- `glossary.md` - Complete terminology reference
- `troubleshooting.md` - Common issues and solutions

**Documentation Improvements:**
- Removed all version/date footers (git handles versioning)
- Agent customization docs now include full rebuild process
- Cross-referenced links between all guides
- Reading time estimates for all major docs
- Consistent professional formatting and structure

**Consolidated & Streamlined:**
- Module README (`src/modules/bmm/README.md`) streamlined to lean signpost
- Root README polished with better hierarchy and clear CTAs
- Moved docs from root `docs/` to module-specific locations
- Better separation of user docs vs. developer reference

## 🤖 New Agent: Paige (Documentation Guide)

**Role:** Technical documentation specialist and information architect

**Expertise:**
- Professional technical writing standards
- Documentation structure and organization
- Information architecture and navigation
- User-focused content design
- Style guide enforcement

**Status:** Work in progress - Paige will evolve as documentation needs grow

**Integration:**
- Listed in agents-guide.md, glossary.md, FAQ
- Available for all phases (documentation is continuous)
- Can be customized like all BMM agents

## 🔧 Additional Changes

- Updated agent manifest with Paige
- Updated workflow manifest with new documentation workflows
- Fixed workflow-to-agent mappings across all guides
- Improved root README with clearer Quick Start section
- Better module structure explanations
- Enhanced community links with Discord channel names

**Total Impact:**
- 18 new/restructured documentation files
- 7000+ lines of professional technical documentation
- Complete navigation system with cross-references
- Clear learning paths for all user types
- Foundation for knowledge base (coming in beta)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 21:18:33 -06:00
Brian Madison
8a00f8ad70 feat: transform tech-spec workflow into intelligent Quick Spec Flow for Level 0-1
This major enhancement revolutionizes the tech-spec workflow from a basic template-filling exercise into a context-aware, intelligent planning system for rapid development of bug fixes and small features.

## Tech-Spec Workflow Transformation (11 files)

### Core Workflow Intelligence (instructions.md)
- Add standalone mode with interactive level/field-type detection
- Implement brownfield convention detection and user confirmation
- Integrate WebSearch for current framework versions and starter templates
- Add comprehensive context discovery (stack, patterns, dependencies)
- Implement auto-validation with quality scoring (always runs)
- Add UX/UI considerations capture for user-facing changes
- Add test framework detection and pattern analysis
- Transform from batch generation to living document approach

### Comprehensive Tech-Spec Template (tech-spec-template.md)
- Expand from 8 to 23 sections for complete context
- Add Context section (available docs, project stack, existing structure)
- Add Development Context (conventions, test framework, existing code)
- Add UX/UI Considerations section
- Add Developer Resources (file paths, key locations, testing)
- Add Integration Points and Configuration Changes
- All sections populated via template-output tags during workflow

### Enhanced Story Generation
- Level 0 (instructions-level0-story.md): Extract from comprehensive tech-spec
- Level 1 (instructions-level1-stories.md): Add story sequence validation, AC quality checks
- User Story Template: Add Dev Agent Record sections for implementation tracking
- Epic Template: Complete rewrite with proper structure and variables

### Validation & Quality (checklist.md)
- Add context gathering completeness checks
- Add definitiveness validation (no "use X or Y" statements)
- Add brownfield integration quality scoring
- Add stack alignment verification
- Add implementation readiness assessment
- Auto-generates validation report with scores

### Configuration (workflow.yaml)
- Add runtime variables: project_level, project_type, development_context, change_type, field_type
- Enable standalone operation without workflow-status.yaml
- Support both workflow-init integration and quick-start mode

## Phase 4 Integration (3 files)

### Story Context Workflow
- Add tech_spec to input_file_patterns (recognizes as authoritative source)
- Update instructions to prioritize tech-spec for Level 0-1 projects
- Tech-spec provides brownfield analysis, framework details, existing patterns

### Create Story Workflow
- Add tech_spec to input_file_patterns
- Enable story generation from tech-spec (alternative to PRD)
- Supports both Quick Spec Flow and traditional BMM flow

## Documentation (2 new files)

### Quick Spec Flow Guide (docs/quick-spec-flow.md)
- Comprehensive 595-line guide for Level 0-1 rapid development
- Complete user journey examples (bug fix, small feature)
- Context discovery explanation (stack, brownfield, conventions)
- Auto-validation details and benefits
- Integration with Phase 4 workflows
- Comparison: Quick Spec vs Full BMM
- Real-world examples and best practices

### Scale Adaptive System (docs/scale-adaptive-system.md)
- Complete 950-line technical guide to BMad Method's 5-level system
- Key terminology: Analysis, Tech-Spec, Epic-Tech-Spec, Architecture
- Level 0-4 workflows, planning docs, and progression
- Brownfield emphasis: document-project required first
- Tech-spec (upfront, Level 0-1) vs epic-tech-spec (during implementation, Level 2-4)
- Architecture document replaces tech-spec at Level 2+ (scales with complexity)
- Retrospectives after each epic in multi-epic projects
- Workflow path configuration reference

### README Updates
- Add Quick Spec Flow announcement with benefits
- Link to Scale Adaptive System documentation
- Clarify when to use Quick Spec Flow vs Full BMM

## Key Features

### Context-Aware Intelligence
- Auto-detects project stack from package.json, requirements.txt, etc.
- Analyzes brownfield codebases using document-project output
- Detects code conventions and confirms with user before proceeding
- Uses WebSearch for up-to-date framework info and starter templates

### Brownfield Respect
- Detects existing patterns (code style, test framework, naming conventions)
- Asks user for confirmation before applying conventions
- Adapts to existing code vs forcing changes
- References document-project analysis for comprehensive context

### Auto-Validation
- Always runs (not optional)
- Validates context gathering, definitiveness, brownfield integration
- Scores tech-spec quality and implementation readiness
- Validates story sequence for Level 1 (no forward dependencies)

### Living Document Approach
- Write to tech-spec continuously during discovery
- Progressive refinement vs batch generation
- Template variables populated via template-output tags in real-time

## Breaking Changes

None - all changes are additive and backward compatible.

## Impact

This transformation enables:
- Bug fixes and small features implemented in minutes vs hours
- Automatic stack detection and brownfield analysis
- Respect for existing conventions and patterns
- Current best practices via WebSearch integration
- Comprehensive context that can replace story-context for simple efforts
- Seamless integration with Phase 4 implementation workflows

Quick Spec Flow now provides a **true fast path from idea to implementation** for Level 0-1 projects while maintaining quality through auto-validation and comprehensive context gathering.
2025-11-02 08:17:23 -06:00
Brian Madison
3d4ea5ffd2 feat: add universal document sharding support with dual-strategy loading
Implement comprehensive document sharding system across all BMM workflows enabling 90%+ token savings for large multi-epic projects through selective loading optimization.

## Document Sharding System

### Core Features
- **Universal Support**: All 12 BMM workflows (Phase 1-4) handle both whole and sharded documents
- **Dual Loading Strategy**: Full Load (Phase 1-3) vs Selective Load (Phase 4)
- **Automatic Discovery**: Workflows detect format transparently (whole → sharded priority)
- **Efficiency Optimization**: 90%+ token reduction for 10+ epic projects in Phase 4

### Implementation Details

**Phase 1-3 Workflows (7 workflows) - Full Load Strategy:**
- product-brief, prd, gdd, create-ux-design, tech-spec, architecture, solutioning-gate-check
- Load entire sharded documents when present
- Transparent to user experience
- Better organization for large projects

**Phase 4 Workflows (5 workflows) - Selective Load Strategy:**
- sprint-planning (Full Load exception - needs all epics)
- epic-tech-context, create-story, story-context, code-review (Selective Load)
- Load ONLY the specific epic needed (e.g., epic-3.md for Epic 3 stories)
- Massive efficiency: Skip loading 9 other epics in 10-epic project

### Workflow Enhancements

**Added to all workflows:**
- `input_file_patterns` in workflow.yaml with wildcard discovery
- Document Discovery section in instructions.md
- Support for sharded index + section files
- Brownfield `docs/index.md` support

**Pattern standardization:**
```yaml
input_file_patterns:
  document:
    whole: "{output_folder}/*doc*.md"
    sharded: "{output_folder}/*doc*/index.md"
    sharded_single: "{output_folder}/*doc*/section-{{id}}.md"  # Selective load
```

### Retrospective Workflow Major Overhaul

Transformed retrospective into immersive, interactive team experience:

**Epic Discovery Priority (Fixed):**
- Priority 1: Check sprint-status.yaml for last completed epic
- Priority 2: Ask user directly
- Priority 3: Scan stories folder (last resort)

**New Capabilities:**
- Deep story analysis: Extract dev notes, mistakes, review feedback, lessons learned
- Previous retro integration: Track action items, verify lessons applied
- Significant change detection: Alert when discoveries require epic updates
- Intent-based facilitation: Natural conversation vs scripted phrases
- Party mode protocol: Clear speaker identification (Name (Role): dialogue)
- Team dynamics: Drama, disagreements, diverse perspectives, authentic conflict

**Structure:**
- 12 whole-number steps (no decimals)
- Highly interactive with constant user engagement
- Cross-references previous retro for accountability
- Synthesizes patterns across all stories
- Detects architectural assumption changes

## Documentation

**Created:**
- `docs/document-sharding-guide.md` - Comprehensive 300+ line guide
  - What is sharding, when to use it (token thresholds)
  - How sharding works (discovery system, loading strategies)
  - Using shard-doc tool
  - Full Load vs Selective Load patterns
  - Complete examples and troubleshooting
  - Custom workflow integration patterns

**Updated:**
- `README.md` - Added Document Sharding feature section
- `docs/index.md` - Added under Advanced Topics → Optimization
- `src/modules/bmm/workflows/README.md` - Added sharding section with usage
- `src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md` - Added complete implementation patterns for workflow builders

**Documentation levels:**
1. Overview (README.md) - Quick feature highlight
2. User guide (BMM workflows README) - Practical usage
3. Reference (document-sharding-guide.md) - Complete details
4. Builder guide (workflow-creation-guide.md) - Implementation patterns

## Efficiency Gains

**Example: 10-Epic Project**

Before sharding:
- epic-tech-context for Epic 3: Load all 10 epics (~50k tokens)
- create-story for Epic 3: Load all 10 epics (~50k tokens)
- story-context for Epic 3: Load all 10 epics (~50k tokens)

After sharding with selective load:
- epic-tech-context for Epic 3: Load Epic 3 only (~5k tokens) = 90% reduction
- create-story for Epic 3: Load Epic 3 only (~5k tokens) = 90% reduction
- story-context for Epic 3: Load Epic 3 only (~5k tokens) = 90% reduction

## Breaking Changes

None - fully backward compatible. Workflows work with existing whole documents.

## Files Changed

**Workflows Updated (25 files):**
- 7 Phase 1-3 workflows: Added full load sharding support
- 5 Phase 4 workflows: Added selective load sharding support
- 1 retrospective workflow: Complete overhaul with sharding support

**Documentation (5 files):**
- Created: document-sharding-guide.md
- Updated: README.md, docs/index.md, BMM workflows README, BMB workflow-creation-guide
- Removed: Old conversion report (obsolete)

## Future Extensibility

- BMB workflows now aware of sharding patterns
- Custom modules can easily implement sharding support
- Standard patterns documented for consistency
- No need to explain concept in future development
2025-11-02 00:13:33 -05:00
Brian Madison
f77babcd5e feat: major overhaul of BMM planning workflows with intent-driven discovery
This comprehensive update transforms the Product Brief and PRD workflows from rigid template-filling exercises into adaptive, context-aware discovery processes. Changes span workflow instructions, templates, agent configurations, and supporting infrastructure.

## Product Brief Workflow (96% audit compliance)

### Intent-Driven Facilitation
- Transform from linear Q&A to natural conversational discovery
- Adaptive questioning based on project context (hobby/startup/enterprise)
- Real-time document building instead of end-of-session generation
- Skill-level aware facilitation (expert/intermediate/beginner)
- Context detection from user responses to guide exploration depth

### Living Document Approach
- Continuous template updates throughout conversation
- Progressive refinement vs batch generation
- Template-output tags aligned with discovery flow
- Better variable mapping between instructions and template

### Enhanced Discovery Areas
- Problem exploration with context-appropriate probing
- Solution vision shaping based on user's mental model
- User understanding through storytelling vs demographics
- Success metrics tailored to project type
- Ruthless MVP scope management with feature prioritization

### Template Improvements
- Added context-aware conditional sections
- Better organization of optional vs required content
- Clearer structure for different project types
- Improved reference material handling

## PRD Workflow (improved from 65% to 85%+ compliance)

### Critical Fixes
- Add missing `date: system-generated` config variable
- Fix status file extension mismatch (.yaml not .md)
- Remove 38% bloat (unused technical_decisions variables)
- Add explicit template-output tags for runtime variables

### Scale-Adaptive Intelligence
- Project type detection (API/Web App/Mobile/SaaS/etc)
- Domain complexity mapping (14 domain types)
- Automatic requirement tailoring based on detected context
- CSV-driven project type and domain knowledge base

### Separated Epic Planning
- Move epic/story breakdown to dedicated child workflow
- Create create-epics-and-stories workflow for Phase 2
- Cleaner separation: PRD defines WHAT, epics define HOW
- Updated PM agent menu with new workflow triggers

### Enhanced Requirements Coverage
- Project-type specific requirement sections (endpoints, auth, platform)
- Domain-specific considerations (healthcare compliance, fintech security)
- UX principles with interaction patterns
- Non-functional requirements with integration needs
- Technical preferences capture

### Template Restructuring
- Separate PRD template from epic planning
- Context-aware conditional sections
- Better scale level indicators (L0-L4)
- Improved reference document handling
- Clearer success criteria sections

## Architecture Workflow Updates

### Template Enhancements
- Add domain complexity context support
- Better integration with PRD outputs
- Improved technical decision capture
- Enhanced system architecture sections

### Instruction Improvements
- Reference new domain-research workflow
- Better handling of PRD inputs
- Clearer architectural decision framework

## Agent Configuration Updates

### BMad Master Agent
- Fix workflow invocation instructions
- Better fuzzy matching guidance
- Clearer menu handler documentation
- Remove workflow invention warnings

### PM Agent
- Add create-prd trigger (renamed from 'prd')
- Add create-epics-and-stories workflow trigger
- Add validate-prd workflow trigger with checklist
- Better workflow status integration

### Game Designer Agent
- Rename triggers for consistency (create-game-brief, create-gdd)
- Align with PM agent naming conventions

## New Supporting Infrastructure

### Domain Research Workflow
- New discovery workflow for domain-specific research
- Complements product brief for complex domains
- Web research integration for domain insights

### Create Epics and Stories Workflow
- Dedicated epic/story breakdown process
- Separates planning (PRD) from decomposition
- Better Epic → Story → Task hierarchy
- Acceptance criteria generation

### Data Files
- project-types.csv: 12 project type definitions with requirements
- domain-complexity.csv: 14 domain types with complexity indicators

## Quality Improvements

### Validation & Compliance
- Product Brief: 96% BMAD v6 compliance (EXCELLENT rating)
- PRD: Improved from 65% to ~85% after critical fixes
- Zero bloat in Product Brief (0%)
- Reduced PRD bloat from 38% to ~15%

### Template Variable Mapping
- All template variables explicitly populated via template-output tags
- Runtime variables properly tracked
- Config variables consistently used
- Better separation of concerns

### Web Bundle Configuration
- Complete web_bundle sections for all workflows
- Proper child workflow references
- Data file inclusions (CSV files)
- Correct bmad/-relative paths

## Breaking Changes

### File Removals
- Delete src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md
  (replaced by create-epics-and-stories child workflow)

### Workflow Trigger Changes
- PM agent: 'prd' → 'create-prd'
- PM agent: 'gdd' → 'create-gdd'
- New: 'create-epics-and-stories'
- New: 'validate-prd'

## Impact

This update significantly improves the BMM module's ability to:
- Adapt to different project types and scales
- Guide users through discovery naturally vs mechanically
- Generate higher quality planning documents
- Support complex domains with specialized knowledge
- Scale from Level 0 quick changes to Level 4 enterprise projects

The workflows now feel like collaborative discovery sessions with an expert consultant rather than form-filling exercises.
2025-11-01 19:37:20 -05:00
Brian Madison
4f4b191e8f research will use the web more, use system date to understand what the read current date is. 2025-11-01 00:14:41 -05:00
Brian Madison
a1be5d7292 rename deep research options for chatgpt 2025-10-31 19:43:13 -05:00
Brian Madison
b056b42892 fixed installer note 2025-10-31 19:39:06 -05:00
Brian Madison
1c9fcbb73b shard doc uses npx command 2025-10-31 16:51:25 -05:00
Brian Madison
88e7ede452 remove voice hooks 2025-10-30 15:34:21 -05:00
Brian Madison
d4879d373b 6.0.0-alpha.3 2025-10-30 11:37:03 -05:00
Brian Madison
663b76a072 docs updates 2025-10-30 11:26:15 -05:00
Brian Madison
ec111972a0 some output should be improved and not run together in chat windows 2025-10-30 08:13:18 -05:00
Brian Madison
6d7f42dbec v6 greenfield quickstart guide 2025-10-29 22:39:13 -05:00
Brian Madison
519e2f3d59 manifest version comes from package 2025-10-29 20:04:04 -05:00
Brian Madison
d6036e18dd docs: fix v4 branch link in readme 2025-10-29 09:38:26 -05:00
Brian Madison
6d2b6810c2 fix: preserve user's cwd when running via npx 2025-10-29 09:31:38 -05:00
Brian Madison
06dab16a75 6.0.0-alpha.2 2025-10-29 09:14:03 -05:00
Brian Madison
5a70512a30 chore: remove version prompt from npx installer 2025-10-29 09:12:27 -05:00
Brian Madison
b05f4751d7 6.0.0-alpha.1 2025-10-29 08:35:02 -05:00
Brian Madison
b5262f78ee still alpha 2025-10-29 08:34:48 -05:00
Brian Madison
5ee57ea8df cleanup a few more items 2025-10-29 08:19:11 -05:00
Brian Madison
fd620d0183 marked sm menu items as optional that are optional 2025-10-28 23:47:48 -05:00
Brian Madison
ad8717845d cline workflows added to support slash commands 2025-10-28 23:16:48 -05:00
Brian Madison
503a394218 party mode fix 2025-10-28 22:52:03 -05:00
jheyworth
8376ca0ba2 fix: add CommonMark-compliant markdown formatting rules (#830)
* fix: add CommonMark-compliant markdown formatting rules to workflow

Problem:
--------
BMAD generates markdown that violates CommonMark specification by omitting
required blank lines around lists, tables, and code blocks. While GitHub's
renderer (GFM) handles this gracefully, strict parsers like Mac Markdown.app
break completely, rendering lists as plain text and losing document structure.

Solution:
---------
Add 6 mandatory markdown formatting rules to workflow.xml (line 73) that
enforce proper spacing and consistency:

1. ALWAYS add blank line before and after bullet lists
2. ALWAYS add blank line before and after numbered lists
3. ALWAYS add blank line before and after tables
4. ALWAYS add blank line before and after code blocks
5. Use - for bullets consistently (not * or +)
6. Use language identifier for code fences

Impact:
-------
- Makes BMAD output CommonMark compliant
- Ensures compatibility with ALL markdown parsers, not just GitHub
- Follows industry best practices for professional documentation
- Future-proofs against stricter parser implementations
- Zero content changes - only formatting improved

Testing:
--------
Comprehensive three-phase testing completed:
- Phase 1: Synthetic test validating fix mechanism
- Phase 2: Fresh install end-to-end test (API Gateway project)
- Phase 3: GitHub validation with visual proof

Results: 1,112 lines of formatting improvements, 0 content changes,
100% CommonMark compliance achieved.

Test Evidence:
--------------
Complete test repository with before/after comparison, Mac Markdown.app
screenshot proving the issue, and comprehensive documentation:
https://github.com/jheyworth/bmad-markdown-formatting-test

See TEST.md for full documentation, test methodology, and evidence.

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

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

* Remove TEST.md per maintainer feedback

As requested by @bmadcode - the test documentation was useful during review but is not needed in the repository. Testing evidence remains documented in the PR description and external test repository.

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

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-28 22:27:48 -05:00
Brian Madison
44bc96fadc readme update 2025-10-28 22:27:23 -05:00
Brian Madison
7710d9941d document-project moved out of phase 1 to right below workflows and documents updated to clarify its not a phase-0 but a prereq and also a post project tool to use. 2025-10-28 22:21:13 -05:00
Brian Madison
1cfd58ebb1 installer for delete and replace fixed 2025-10-28 21:44:04 -05:00
Brian Madison
1c5b30f361 some v5 references lingered - change to v6 2025-10-28 20:32:08 -05:00
Brian Madison
d9c7980b1d remove unused csv columns from cis 2025-10-28 19:17:44 -05:00
Brian Madison
95b875792b remove tts again 2025-10-28 19:12:10 -05:00
Brian Madison
0ee4fa920a installer fixed to not add game assets to slash commands in some ides that read from the manifest. and fixed the manifest. 2025-10-28 19:09:43 -05:00
Brian Madison
e93b208902 file cleanup 2025-10-28 17:22:31 -05:00
Brian Madison
3fff30ca61 opencode moved agents back to agent folder 2025-10-28 17:18:53 -05:00
Brian Madison
ee58586f39 installer improvements 2025-10-28 12:47:45 -05:00
Brian Madison
ed3603f7b2 vast improvements to create story, review story, draft story checklist validation, sm menu items and dev agent menu items fixed 2025-10-28 10:03:19 -05:00
Brian Madison
0354d1ae45 story review was missing detailed instructions to review AC and task adherance. 2025-10-28 08:51:58 -05:00
Brian Madison
0dab278e7b story-review renamed code-review and dev-agent performs this 2025-10-28 08:30:44 -05:00
Brian Madison
66c66f602d all workflows can optionally run without a workflow 2025-10-27 23:51:22 -05:00
Brian Madison
7ad841964d installer for bmm includes option to include game assets or not when adding to a project. 2025-10-27 22:38:34 -05:00
Brian Madison
f55e822338 brownfield guide draft 2025-10-27 21:18:55 -05:00
Brian Madison
24a2271520 update open items list 2025-10-27 18:27:10 -05:00
Brian Madison
a484b9975c claude code flattened commands 2025-10-27 15:18:22 -05:00
Brian Madison
913ec47123 fix: CSV column mismatch when upgrading manifest schemas
When preserving CSV rows from existing manifest files during module updates,
rows from older schema versions (without the 'standalone' column) were being
added to CSVs with new schema headers, causing "Invalid Record Length" errors
during parsing.

Added schema upgrade logic to detect old column structure and upgrade preserved
rows by adding missing columns with appropriate default values. This ensures all
CSV rows match the header column count, fixing installation errors.

Fixes column count mismatch in:
- workflow-manifest.csv (added standalone column)
- task-manifest.csv (added standalone column)
- tool-manifest.csv (added standalone column)
- agent-manifest.csv (schema validation for future-proofing)
2025-10-27 15:00:57 -05:00
Brian Madison
8ed721d029 npx with version selector 2025-10-26 23:42:56 -05:00
Brian Madison
334e24823a doc updates 2025-10-26 23:25:48 -05:00
Brian Madison
b753fb293b workflows tasks and tools can be configured wether they are able to be run standalone from agents with ide commands 2025-10-26 20:06:34 -05:00
Brian Madison
63ef5b7bc6 installer fixes 2025-10-26 19:38:38 -05:00
Brian Madison
1cb88728e8 installer fixes 2025-10-26 17:04:27 -05:00
Brian Madison
8d81edf847 install quick updates 2025-10-26 16:17:37 -05:00
Brian Madison
0067fb4880 path fixes, documentation updates, md-xplodr added to core tools 2025-10-26 15:40:43 -05:00
Cameron Pitt
8220c819e6 Add Opencode IDE installer (#820)
- Added docs/ide-info/opencode.md
- Added tool/cli/installers/lib/ide/opencode.js
- Modified tools/installers/lib/ide/core/detector.js to include
detection for opencode command dir
- Modified tools/cli/platform-codes.yaml to include opencode config
- Modified tools/cli/installers/lib/ide/workflow-command-template.md to
include frontmatter with description as opencode requires this for
commands and adding it to the template by default does not seem to
impact other IDEs
- Modified src/modules/bmm/workflows/workflow-status/workflow.yaml
description so that it properly escapes quotes when interpolated in the
teplate
2025-10-26 11:16:57 -05:00
Brian Madison
b7e6bfcde5 a few more instruction cleanup items 2025-10-25 23:57:27 -05:00
Brian Madison
bfd49faf2d tech context improved 2025-10-25 23:29:41 -05:00
Brian Madison
52b8edb01d phase 4 more workflow cleanup 2025-10-25 19:25:28 -05:00
Brian Madison
061b7d94c4 status normalization 2025-10-25 15:41:13 -05:00
Brian Madison
5762941321 better status loading and updating for phase 4 2025-10-25 14:26:30 -05:00
Brian Madison
994f251687 workflow phase 4 only has single sprint planning item in it now 2025-10-25 10:44:46 -05:00
Brian Madison
cf13e81dd5 sprint plan clearer comments 2025-10-25 00:30:49 -05:00
Brian Madison
92bff333b1 plan-project gone, and all level 1-3 workflows are dynamic from the workflow in suggesting what is next 2025-10-24 23:16:08 -05:00
Brian Madison
f37c960a4d validation tasks added 2025-10-23 23:20:48 -05:00
Brian Madison
2d297c82da fix create-design workflow path 2025-10-23 15:58:05 -05:00
Brian Madison
a175f46f1b create-ux-design refactor 2025-10-23 14:20:13 -05:00
Brian Madison
44e09e4487 ux expert -> ux designer 2025-10-22 16:58:18 -05:00
Brian Madison
be5556bf42 checks checked 2025-10-22 15:40:51 -05:00
Brian Madison
be5b06f55e check alignment 2025-10-22 12:36:39 -05:00
Brian Madison
c8776aa9ac inline tag reference updtges 2025-10-21 23:48:35 -05:00
Brian Madison
ddaefa3284 use sprint plan for al workflow level 4 implementations 2025-10-21 23:03:46 -05:00
Brian Madison
abaa24513a sprint status helpers, remove workflow integration from phase 4 items in prep of using sprint-planning status 2025-10-21 22:25:26 -05:00
Brian Madison
71330b6aac updates to the paths 2025-10-21 20:37:59 -05:00
Brian Madison
949d818db8 sprint status story location relative 2025-10-21 18:41:40 -05:00
Brian Madison
1b1947d240 sprint-planning placeholder for future integration with jira linear and trello 2025-10-21 18:13:34 -05:00
Brian Madison
419043e704 sprint planning 2025-10-21 08:24:02 -05:00
Brian Madison
b8db0806ed architecture name standardization 2025-10-20 19:01:18 -05:00
Tiki
60475ac6f8 feat(tools/cli): Refactor Qwen IDE configuration logic to support modular command structure (#762)
- Unify BMad directory name from 'BMad' to lowercase 'bmad'
- Use shared utility functions [getAgentsFromBmad] and [getTasksFromBmad] to fetch agents and tasks
- Create independent subdirectory structures (agents, tasks) for each module
- Update file writing paths to store TOML files by module classification
- Remove legacy QWEN.md merged documentation generation logic
- Add TOML metadata header support (not available in previous versions)
- Clean up old version configuration directories (including uppercase BMad and bmad-method)
2025-10-20 08:34:42 -05:00
Alex Verkhovsky
69d1f75435 fix: remove empty tasks directories from Claude Code installer (#776)
Previously, the installer created empty tasks/ directories under
.claude/commands/bmad/{module}/ and attempted to copy task files.
Since getTasksFromDir() filters for .md files only and all actual
tasks are .xml files, these directories remained empty.

Tasks are utility files referenced by agents via exec attributes
(e.g., exec="{project-root}/bmad/core/tasks/workflow.xml") and
should remain in the bmad/ directory - they are not slash commands.

Changes:
- Removed tasks directory creation in module setup
- Removed tasks copying logic (15 lines)
- Removed taskCount from console output
- Removed tasks property from return value
- Removed unused getTasksFromBmad and getTasksFromDir imports
- Updated comment to clarify agents-only installation

Verified: No tasks/ directories created in .claude/commands/bmad/
while task files remain accessible in bmad/core/tasks/

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-20 07:20:36 -05:00
Jrakru
c2b3e797e7 fix(retrospective): align SM ownership in workflow paths and handoff (#770) 2025-10-20 07:19:11 -05:00
Alex Verkhovsky
31666c1f0f feat: add agent schema validation with comprehensive testing (#774)
Introduce automated validation for agent YAML files using Zod to ensure
schema compliance across all agent definitions. This feature validates
17 agent files across core and module directories, catching structural
errors and maintaining consistency.

Schema Validation (tools/schema/agent.js):
- Zod-based schema validating metadata, persona, menu, prompts, and critical actions
- Module-aware validation: module field required for src/modules/**/agents/,
  optional for src/core/agents/
- Enforces kebab-case unique triggers and at least one command target per menu item
- Validates persona.principles as array (not string)
- Comprehensive refinements for data integrity

CLI Validator (tools/validate-agent-schema.js):
- Scans src/{core,modules/*}/agents/*.agent.yaml
- Parses with js-yaml and validates using Zod schema
- Reports detailed errors with file paths and field paths
- Exits 1 on failures, 0 on success
- Accepts optional project_root parameter for testing

Testing (679 lines across 3 test files):
- test/test-cli-integration.sh: CLI behavior and error handling tests
- test/unit-test-schema.js: Direct schema validation unit tests
- test/test-agent-schema.js: Comprehensive fixture-based tests
- 50 test fixtures covering valid and invalid scenarios
- ESLint configured to support CommonJS test files
- Prettier configured to ignore intentionally broken fixtures

CI Integration (.github/workflows/lint.yaml):
- Renamed from format-check.yaml to lint.yaml
- Added schema-validation job running npm run validate:schemas
- Runs in parallel with prettier and eslint jobs
- Validates on all pull requests

Data Cleanup:
- Fixed src/core/agents/bmad-master.agent.yaml: converted persona.principles
  from string to array format

Documentation:
- Updated schema-classification.md with validation section
- Documents validator usage, enforcement rules, and CI integration

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-10-20 07:14:50 -05:00
Brian Madison
2a6eb71612 massive architecture creation overhaul 2025-10-19 23:28:38 -05:00
Brian Madison
d3402c3132 architecture reorganization in preparation of architecture solutioning rework 2025-10-19 15:28:33 -05:00
Brian Madison
0a048f2ccc installer updates, bmd module added and moved out of src, created a plan for module installation tool for custom modules, minor flow improvements 2025-10-19 11:59:27 -05:00
Brian Madison
eb9a214115 readme updated 2025-10-18 12:19:47 -05:00
Brian Madison
940cc15751 cli installer bundler documentation added 2025-10-18 10:20:29 -05:00
Brian Madison
c0a2c55267 clearer codex install note 2025-10-18 09:41:38 -05:00
Brian Madison
a1fc8da03c workflow init added to analyst pm and game agents 2025-10-18 01:34:03 -05:00
Brian Madison
36231173d1 workflows consistent method to update status file 2025-10-17 23:44:43 -05:00
Brian Madison
5788be64d0 installer temp updates 2025-10-17 22:42:36 -05:00
Brian Madison
b54bb9e47d workflow references to moved workflow status workflow 2025-10-17 22:34:21 -05:00
Brian Madison
af8e296e6f all phase 4 workflows use status check workflow update 2025-10-17 20:33:38 -05:00
Brian Madison
e92f138f3d doc output lang vs com lang 2025-10-17 19:46:25 -05:00
Brian Madison
ffd354b605 arch alignment with workflows 2025-10-17 16:44:06 -05:00
Brian Madison
9519eae666 workflow plan realignment 2025-10-17 00:44:05 -05:00
Brian Madison
bc7d679366 workflow simplified 2025-10-17 00:19:45 -05:00
Brian Madison
54985778f2 minor fixes 2025-10-16 21:50:50 -05:00
Murat K Ozcan
84a70d8331 reafactor: test arch audit (#758)
Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-10-16 19:58:37 -05:00
Murat K Ozcan
bee9c5dce7 feat: migrate test architect entirely (#750)
* feat: migrate test architect entirely to v6

* format fixed

* feat: integrated new playwright mcp

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-10-16 11:09:51 -05:00
Brian Madison
7f0e57e466 bmb updates 2025-10-16 09:50:29 -05:00
Brian Madison
790c4cedf4 remaining bmm workflows bloat removed 2025-10-16 08:58:09 -05:00
Brian Madison
e77a1c036b 1-analysis workflow-state yaml streamlined 2025-10-16 08:26:26 -05:00
Brian Madison
1fe405eb64 1-analysis intentionalized 2025-10-16 08:11:22 -05:00
Brian Madison
516fa1a917 intent based workflow 2025-10-16 07:58:28 -05:00
Brian Madison
a28a350e14 workflow builder understand existing_workflows tag for web bundles, and cleanup comtinues 2025-10-16 07:24:38 -05:00
Brian Madison
73ba7afa90 update additional location audit workflow 2025-10-16 00:15:18 -05:00
Brian Madison
fb5e40319f added audit workflow worfklow 2025-10-16 00:09:19 -05:00
Brian Madison
bcac484319 remove old webbundles 2025-10-15 23:51:07 -05:00
Brian Madison
72b6640f4b workflow cleanup 2025-10-15 23:50:34 -05:00
Brian Madison
f4b16bfacf planning workflow alignment 2025-10-15 23:10:33 -05:00
Brian Madison
b9b219a13b prd cleanup 2025-10-15 21:17:09 -05:00
Brian Madison
9b427a4e2b planning tech spec cleanup 2025-10-14 20:20:55 -05:00
Brian Madison
0f126b7f87 consolidated prd isntruction 2025-10-14 19:58:44 -05:00
Brian Madison
4b6f34dff8 date removed from status file, status file renamed 2025-10-13 22:32:35 -05:00
Brian Madison
27586e6a40 context should use relative paths 2025-10-13 21:11:20 -05:00
Brian Madison
5eb410d622 update config re deprecated removed file 2025-10-13 19:29:19 -05:00
Brian Madison
f1965810a6 adv elicitation project updated to hopefully not be skipped as optional anymore. further workflow updates. 2025-10-13 00:33:06 -05:00
Brian Madison
36bf506241 all workflows aware 2025-10-12 22:19:28 -05:00
Brian Madison
88989d5403 master workflow integration 2025-10-12 18:10:23 -05:00
Brian Madison
c3c51945bb docs update 2025-10-12 16:59:54 -05:00
Brian Madison
79ac3c91fe central source of trust for workflow status, current, and next story or epic 2025-10-12 16:14:29 -05:00
Brian Madison
e61d58d480 workflow level 0 and 1 aligned with brownfield and quick dev 2025-10-12 15:53:24 -05:00
Brian Madison
1b7a3b396f removed bmad folder 2025-10-12 01:41:09 -05:00
Brian Madison
ab05cdcdd2 \split analyze workflow 2025-10-12 01:39:24 -05:00
Brian Madison
2b736a8594 brownfield document project workflow added to analyst 2025-10-12 00:49:12 -05:00
Brian Madison
4f16d368ac minor dev agent updates 2025-10-11 19:45:25 -05:00
Brian Madison
b4cc579009 create-agent now adds agent to ide agents list also 2025-10-10 09:27:50 -05:00
Carson
9ba4805aa7 Update README.md (#715) 2025-10-10 09:27:32 -05:00
PinkyD
d76bcb5586 chore: cleaned up bad architecture file calls, legacy doc references, and case sensitivity issues to remove ambiguity (#718) 2025-10-10 09:26:49 -05:00
MeetNexus
5977227efc fix: Correct path to instructions in bmad-init workflow (#663)
Co-authored-by: Brian <bmadcode@gmail.com>
2025-10-09 19:07:56 -05:00
PinkyD
b62e169bac adjusted workflow installed_path to proper bmm workflow folders (#688) 2025-10-07 16:07:30 -05:00
Dylan Buchi
709fb72bc5 fix: install auggie commands to augment directory (#683) 2025-10-07 16:07:06 -05:00
Alex Verkhovsky
d444ca3f31 fix(installer): enforce manifest ide selection (#684) 2025-10-06 14:08:36 -05:00
Alex Verkhovsky
b999dd1315 refactor(ide): delegate detection to handlers (#680) 2025-10-05 22:13:11 -05:00
Alex Verkhovsky
c9ffe202d5 feat(installer): default project name to directory (#681) 2025-10-05 22:12:37 -05:00
Alex Verkhovsky
c49f4b2e9b feat(codex): activate with custom prompts instead of AGENTS.md (#679) 2025-10-05 17:52:48 -05:00
Brian Madison
33d893bef2 workflows added to sub items in plan project phase. updated single action checks to be ifs on the action. 2025-10-05 11:32:45 -05:00
Brian Madison
aefe72fd60 gdd updated 2025-10-04 22:52:38 -05:00
Brian Madison
d23643b53b removed some files 2025-10-04 21:34:37 -05:00
Brian Madison
16984c3d92 fix path bug 2025-10-04 21:33:19 -05:00
PinkyD
47658c00d5 Fixed bug with activation-steps.xml injecting wrong path (#674) 2025-10-04 21:04:33 -05:00
Brian Madison
1a92e6823f fix: ensure IDE configurations are collected during full reinstall
- Remember previously configured IDEs before deleting bmad directory
- During full reinstall, treat all selected IDEs as newly selected
- Properly prompt for IDE configuration questions during reinstall
- Remove debug logging
2025-10-04 19:54:47 -05:00
Brian Madison
6181a0bd07 fix: installer IDE selection and cancellation handling
- Fix manifest reading to use manifest.yaml instead of manifest.csv
- Show previously configured IDEs as selected by default in UI
- Skip configuration prompts for already configured IDEs during updates
- Properly collect IDE configurations during full reinstall
- Handle installation cancellation without throwing errors
2025-10-04 19:46:16 -05:00
Brian Madison
c632564849 finish move of brainstorming to the core 2025-10-04 19:33:34 -05:00
Brian Madison
9ea68ab8c3 remove bmad installs 2025-10-04 19:28:49 -05:00
Brian Madison
c7d76a3037 agent manifest generation, party mode uses it, and tea persona compression 2025-10-04 19:28:10 -05:00
Brian Madison
bbb37a7a86 brainstorming moved to core workflows part 2 2025-10-04 19:02:29 -05:00
Brian Madison
b6d8823d51 brainstorming moved to core workflows 2025-10-04 19:01:37 -05:00
Brian Madison
e60d5cc42d removed deprecated src_impact 2025-10-04 18:43:24 -05:00
Brian Madison
3147589d0f bomb agent updates 2025-10-04 17:35:37 -05:00
Brian Madison
94a2dad104 name and language will now persisten better with most models 2025-10-04 16:12:42 -05:00
Brian Madison
67bf3b81c8 remove errant bmad folder 2025-10-04 11:19:31 -05:00
OverlordBaconPants
106c32c513 Add TDD Agent validation test story
Created a simple Calculator implementation story to test the TDD Developer Agent:
- Story with 3 acceptance criteria (add, subtract, error handling)
- Comprehensive Story Context JSON with test cases
- Designed to validate RED-GREEN-REFACTOR workflow
- Status set to 'Approved' for immediate testing

Test story location: test-stories/story-tdd-agent-validation.md

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-04 10:09:05 -04:00
OverlordBaconPants
9810f4255e Add TDD Developer Agent with RED-GREEN-REFACTOR workflow
- Created dev-tdd.md agent with strict test-first development methodology
- Implemented complete TDD workflow with RED-GREEN-REFACTOR cycles
- Added comprehensive validation checklist (250+ items)
- Integrated RVTM traceability for requirement-test-implementation tracking
- Includes ATDD test generation and Story Context integration
- Agent name: Ted (TDD Developer Agent) with  icon

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-04 10:01:35 -04:00
Brian Madison
9300ad1d71 subagaents updated with consistent return info and missing frontmatter where it was missing 2025-10-04 08:24:21 -05:00
Brian Madison
46cabf72cd doc status updates 2025-10-04 01:29:40 -05:00
Brian Madison
a747017520 docs updated and agent standalone builder working now from the main install flow 2025-10-04 01:26:38 -05:00
Brian Madison
5ee4cf535c BoMB updates 2025-10-04 00:22:59 -05:00
Brian Madison
9e8c7f3503 bundle agents front matter optimized, along with the orchestrators activation instructions; 2025-10-03 21:46:53 -05:00
Brian Madison
5ac18cb55c agent teams orchesatraion prompt improved 2025-10-03 19:08:34 -05:00
Brian Madison
fd01ad69f8 remove uneeded files 2025-10-03 11:54:32 -05:00
Brian Madison
3f40ef4756 agent updates 2025-10-02 21:45:59 -05:00
Brian Madison
c6704b4b6e web bundles for team complete 2025-10-01 22:22:40 -05:00
Brian Madison
15dc68cd29 remove unneeded commit files 2025-10-01 18:29:08 -05:00
Brian Madison
f077a31aa0 docs updated 2025-10-01 18:29:08 -05:00
Brian Madison
7ebbe9fd5f Qwen tasks and agents 2025-10-01 18:29:07 -05:00
PinkyD
5f0a318bdf feature: Added detailed epics file generation that was missing (#669) 2025-10-01 14:01:56 -05:00
Brian Madison
25c3d50673 SubAgents in sub folders. installer improvements. BMM Flow document added 2025-10-01 09:12:21 -05:00
Brian Madison
56e7a61bd3 v6 flow documented and subagent organization 2025-10-01 08:50:16 -05:00
Brian Madison
05a3b4f3f1 hash file change checking integrated 2025-09-30 21:20:13 -05:00
Brian Madison
c42cd48421 Fix installer upgrade issues from v4 to v6. and v6 custom files will no longer be lost (modified ones will though for now still) 2025-09-30 20:06:02 -05:00
Brian Madison
e7fcc56cc3 v4-v6 upgrade improvement and warning about file auto backup 2025-09-30 19:42:12 -05:00
Murat K Ozcan
df0c3e4bae Port TEA commands into workflows and preload Murat knowledge (#660)
* Port TEA commands into workflows and preload Murat knowledge

* Broke the giant knowledge dump into curated fragments under src/modules/bmm/testarch/knowledge/

* Broke the giant knowledge dump into curated fragments under src/modules/bmm/testarch/knowledge/

* updated the web bunles for tea, and spot updates for analyst and sm

* Replaced the old TEA brief with an indexed knowledge system: the agent now loads topic-specific
  docs from knowledge/ via tea-index.csv, workflows reference those fragments, and risk/level/
  priority guidance lives in the new fragment files

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-09-30 15:19:55 -05:00
1036 changed files with 137886 additions and 81239 deletions

36
.coderabbit.yaml Normal file
View File

@@ -0,0 +1,36 @@
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: "en-US"
early_access: true
reviews:
profile: chill
high_level_summary: true
request_changes_workflow: false
review_status: true
collapse_walkthrough: false
poem: false
auto_review:
enabled: false # must be manually triggered with @coderabbit review
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

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

@@ -1 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Discord Community Support
url: https://discord.gg/gk8jAdXWmj
about: Please join our Discord server for general questions and community discussion before opening an issue.

View File

@@ -1,6 +1,6 @@
---
name: V5 Idea Submission
about: Suggest an idea for v5
name: V6 Idea Submission
about: Suggest an idea for v6
title: ''
labels: ''
assignees: ''
@@ -8,7 +8,7 @@ assignees: ''
# Idea: [Replace with a clear, actionable title]
### PASS Framework
## PASS Framework
**P**roblem:
@@ -92,7 +92,7 @@ Fix issues and add features.
_Why this is poor: Too vague, no specific problem identified, no measurable success criteria, unclear scope_
</details>****
</details>
---

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

@@ -0,0 +1,15 @@
#!/bin/bash
# Discord notification helper functions
# Escape markdown special chars and @mentions for safe Discord display
# Bracket expression: ] must be first, then other chars. In POSIX bracket expr, \ is literal.
esc() { sed -e 's/[][\*_()~`>]/\\&/g' -e 's/@/@ /g'; }
# 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"
}

329
.github/workflows/bundle-latest.yaml vendored Normal file
View File

@@ -0,0 +1,329 @@
name: Publish Latest Bundles
on:
push:
branches: [main]
workflow_dispatch: {}
permissions:
contents: write
jobs:
bundle-and-publish:
runs-on: ubuntu-latest
steps:
- name: Checkout BMAD-METHOD
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: npm
- name: Install dependencies
run: npm ci
- name: Generate bundles
run: npm run bundle
- name: Create bundle distribution structure
run: |
mkdir -p dist/bundles
# Copy web bundles (XML files from npm run bundle output)
cp -r web-bundles/* dist/bundles/ 2>/dev/null || true
# Verify bundles were copied (fail if completely empty)
if [ ! "$(ls -A dist/bundles)" ]; then
echo "❌ ERROR: No bundles found in dist/bundles/"
echo "This likely means 'npm run bundle' failed or bundles weren't generated"
exit 1
fi
# Count bundles per module
for module in bmm bmb cis bmgd; do
if [ -d "dist/bundles/$module/agents" ]; then
COUNT=$(find dist/bundles/$module/agents -name '*.xml' 2>/dev/null | wc -l)
echo "✅ $module: $COUNT agent bundles"
fi
done
# Generate index.html for each agents directory (fixes directory browsing)
for module in bmm bmb cis bmgd; do
if [ -d "dist/bundles/$module/agents" ]; then
cat > "dist/bundles/$module/agents/index.html" << 'DIREOF'
<!DOCTYPE html>
<html>
<head>
<title>MODULE_NAME Agents</title>
<style>
body { font-family: system-ui; max-width: 800px; margin: 50px auto; padding: 20px; }
li { margin: 10px 0; }
a { color: #0066cc; text-decoration: none; }
a:hover { text-decoration: underline; }
</style>
</head>
<body>
<h1>MODULE_NAME Agents</h1>
<ul>
AGENT_LINKS
</ul>
<p><a href="../../">← Back to all modules</a></p>
</body>
</html>
DIREOF
# Replace MODULE_NAME
sed -i "s/MODULE_NAME/${module^^}/g" "dist/bundles/$module/agents/index.html"
# Generate agent links
LINKS=""
for file in dist/bundles/$module/agents/*.xml; do
if [ -f "$file" ]; then
name=$(basename "$file" .xml)
LINKS="$LINKS <li><a href=\"./$name.xml\">$name</a></li>\n"
fi
done
sed -i "s|AGENT_LINKS|$LINKS|" "dist/bundles/$module/agents/index.html"
fi
done
# Create zip archives per module
mkdir -p dist/bundles/downloads
for module in bmm bmb cis bmgd; do
if [ -d "dist/bundles/$module" ]; then
(cd dist/bundles && zip -r downloads/$module-agents.zip $module/)
echo "✅ Created $module-agents.zip"
fi
done
# Generate index.html dynamically based on actual bundles
TIMESTAMP=$(date -u +"%Y-%m-%d %H:%M UTC")
COMMIT_SHA=$(git rev-parse --short HEAD)
# Function to generate agent links for a module
generate_agent_links() {
local module=$1
local agent_dir="dist/bundles/$module/agents"
if [ ! -d "$agent_dir" ]; then
echo ""
return
fi
local links=""
local count=0
# Find all XML files and generate links
for xml_file in "$agent_dir"/*.xml; do
if [ -f "$xml_file" ]; then
local agent_name=$(basename "$xml_file" .xml)
# Convert filename to display name (pm -> PM, tech-writer -> Tech Writer)
local display_name=$(echo "$agent_name" | sed 's/-/ /g' | awk '{for(i=1;i<=NF;i++) {if(length($i)==2) $i=toupper($i); else $i=toupper(substr($i,1,1)) tolower(substr($i,2));}}1')
if [ $count -gt 0 ]; then
links="$links | "
fi
links="$links<a href=\"./$module/agents/$agent_name.xml\">$display_name</a>"
count=$((count + 1))
fi
done
echo "$links"
}
# Generate agent links for each module
BMM_LINKS=$(generate_agent_links "bmm")
CIS_LINKS=$(generate_agent_links "cis")
BMGD_LINKS=$(generate_agent_links "bmgd")
# Count agents for bulk downloads
BMM_COUNT=$(find dist/bundles/bmm/agents -name '*.xml' 2>/dev/null | wc -l | tr -d ' ')
CIS_COUNT=$(find dist/bundles/cis/agents -name '*.xml' 2>/dev/null | wc -l | tr -d ' ')
BMGD_COUNT=$(find dist/bundles/bmgd/agents -name '*.xml' 2>/dev/null | wc -l | tr -d ' ')
# Create index.html
cat > dist/bundles/index.html << EOF
<!DOCTYPE html>
<html>
<head>
<title>BMAD Bundles - Latest</title>
<meta charset="utf-8">
<style>
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; max-width: 800px; margin: 50px auto; padding: 20px; }
h1 { color: #333; }
.platform { margin: 30px 0; padding: 20px; background: #f5f5f5; border-radius: 8px; }
.module { margin: 15px 0; }
a { color: #0066cc; text-decoration: none; }
a:hover { text-decoration: underline; }
code { background: #e0e0e0; padding: 2px 6px; border-radius: 3px; }
.warning { background: #fff3cd; padding: 15px; border-left: 4px solid #ffc107; margin: 20px 0; }
</style>
</head>
<body>
<h1>BMAD Web Bundles - Latest (Main Branch)</h1>
<div class="warning">
<strong>⚠️ Latest Build (Unstable)</strong><br>
These bundles are built from the latest main branch commit. For stable releases, visit
<a href="https://github.com/bmad-code-org/BMAD-METHOD/releases/latest">GitHub Releases</a>.
</div>
<p><strong>Last Updated:</strong> <code>$TIMESTAMP</code></p>
<p><strong>Commit:</strong> <code>$COMMIT_SHA</code></p>
<h2>Available Modules</h2>
EOF
# Add BMM section if agents exist
if [ -n "$BMM_LINKS" ]; then
cat >> dist/bundles/index.html << EOF
<div class="platform">
<h3>BMM (BMad Method)</h3>
<div class="module">
$BMM_LINKS<br>
📁 <a href="./bmm/agents/">Browse All</a> | 📦 <a href="./downloads/bmm-agents.zip">Download Zip</a>
</div>
</div>
EOF
fi
# Add CIS section if agents exist
if [ -n "$CIS_LINKS" ]; then
cat >> dist/bundles/index.html << EOF
<div class="platform">
<h3>CIS (Creative Intelligence Suite)</h3>
<div class="module">
$CIS_LINKS<br>
📁 <a href="./cis/agents/">Browse Agents</a> | 📦 <a href="./downloads/cis-agents.zip">Download Zip</a>
</div>
</div>
EOF
fi
# Add BMGD section if agents exist
if [ -n "$BMGD_LINKS" ]; then
cat >> dist/bundles/index.html << EOF
<div class="platform">
<h3>BMGD (Game Development)</h3>
<div class="module">
$BMGD_LINKS<br>
📁 <a href="./bmgd/agents/">Browse Agents</a> | 📦 <a href="./downloads/bmgd-agents.zip">Download Zip</a>
</div>
</div>
EOF
fi
# Add bulk downloads section
cat >> dist/bundles/index.html << EOF
<h2>Bulk Downloads</h2>
<p>Download all agents for a module as a zip archive:</p>
<ul>
EOF
[ "$BMM_COUNT" -gt 0 ] && echo " <li><a href=\"./downloads/bmm-agents.zip\">📦 BMM Agents (all $BMM_COUNT)</a></li>" >> dist/bundles/index.html
[ "$CIS_COUNT" -gt 0 ] && echo " <li><a href=\"./downloads/cis-agents.zip\">📦 CIS Agents (all $CIS_COUNT)</a></li>" >> dist/bundles/index.html
[ "$BMGD_COUNT" -gt 0 ] && echo " <li><a href=\"./downloads/bmgd-agents.zip\">📦 BMGD Agents (all $BMGD_COUNT)</a></li>" >> dist/bundles/index.html
# Close HTML
cat >> dist/bundles/index.html << 'EOF'
</ul>
<h2>Usage</h2>
<p>Copy the raw XML URL and paste into your AI platform's custom instructions or project knowledge.</p>
<p>Example: <code>https://raw.githubusercontent.com/bmad-code-org/bmad-bundles/main/bmm/agents/pm.xml</code></p>
<h2>Installation (Recommended)</h2>
<p>For full IDE integration with slash commands, use the installer:</p>
<pre>npx bmad-method@alpha install</pre>
<footer style="margin-top: 50px; padding-top: 20px; border-top: 1px solid #ccc; color: #666;">
<p>Built from <a href="https://github.com/bmad-code-org/BMAD-METHOD">BMAD-METHOD</a> repository.</p>
</footer>
</body>
</html>
EOF
- name: Checkout bmad-bundles repo
uses: actions/checkout@v4
with:
repository: bmad-code-org/bmad-bundles
path: bmad-bundles
token: ${{ secrets.BUNDLES_PAT }}
- name: Update bundles
run: |
# Clear old bundles
rm -rf bmad-bundles/*
# Copy new bundles
cp -r dist/bundles/* bmad-bundles/
# Create .nojekyll for GitHub Pages
touch bmad-bundles/.nojekyll
# Create README
cat > bmad-bundles/README.md << 'EOF'
# BMAD Web Bundles (Latest)
**⚠️ Unstable Build**: These bundles are auto-generated from the latest `main` branch.
For stable releases, visit [GitHub Releases](https://github.com/bmad-code-org/BMAD-METHOD/releases/latest).
## Usage
Copy raw markdown URLs for use in AI platforms:
- Claude Code: `https://raw.githubusercontent.com/bmad-code-org/bmad-bundles/main/claude-code/sub-agents/{agent}.md`
- ChatGPT: `https://raw.githubusercontent.com/bmad-code-org/bmad-bundles/main/chatgpt/sub-agents/{agent}.md`
- Gemini: `https://raw.githubusercontent.com/bmad-code-org/bmad-bundles/main/gemini/sub-agents/{agent}.md`
## Browse
Visit [https://bmad-code-org.github.io/bmad-bundles/](https://bmad-code-org.github.io/bmad-bundles/) to browse bundles.
## Installation (Recommended)
For full IDE integration:
```bash
npx bmad-method@alpha install
```
---
Auto-updated by [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) on every main branch merge.
EOF
- name: Commit and push to bmad-bundles
run: |
cd bmad-bundles
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add .
if git diff --staged --quiet; then
echo "No changes to bundles, skipping commit"
else
COMMIT_SHA=$(cd .. && git rev-parse --short HEAD)
git commit -m "Update bundles from BMAD-METHOD@${COMMIT_SHA}"
git push
echo "✅ Bundles published to GitHub Pages"
fi
- name: Summary
run: |
echo "## 🎉 Bundles Published!" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Latest bundles** available at:" >> $GITHUB_STEP_SUMMARY
echo "- 🌐 Browse: https://bmad-code-org.github.io/bmad-bundles/" >> $GITHUB_STEP_SUMMARY
echo "- 📦 Raw files: https://github.com/bmad-code-org/bmad-bundles" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Commit**: ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY

View File

@@ -1,16 +1,286 @@
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:
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 | 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 | 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 | 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 | 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 | 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 | 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
steps:
- name: Notify Discord
uses: sarisia/actions-status-discord@v1
if: always()
with:
webhook: ${{ secrets.DISCORD_WEBHOOK }}
status: ${{ job.status }}
title: "Triggered by ${{ github.event_name }}"
color: 0x5865F2
env:
WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
REF_TYPE: ${{ github.event.ref_type }}
REF: ${{ github.event.ref }}
ACTOR: ${{ github.actor }}
run: |
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

@@ -1,43 +0,0 @@
name: format-check
"on":
pull_request:
branches: ["**"]
workflow_dispatch:
jobs:
prettier:
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: Prettier format check
run: npm run format:check
eslint:
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: ESLint
run: npm run lint

View File

@@ -61,8 +61,34 @@ jobs:
run: |
sed -i 's/"version": ".*"/"version": "${{ steps.version.outputs.new_version }}"/' tools/installer/package.json
- name: Build project
run: npm run build
- 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
run: |
@@ -149,25 +175,46 @@ jobs:
- name: Publish to NPM
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npm publish
run: |
VERSION="${{ steps.version.outputs.new_version }}"
if [[ "$VERSION" == *"alpha"* ]] || [[ "$VERSION" == *"beta"* ]]; then
echo "Publishing prerelease version with --tag alpha"
npm publish --tag alpha
else
echo "Publishing stable version with --tag latest"
npm publish --tag latest
fi
- name: Create GitHub Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create GitHub Release with Bundles
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ steps.version.outputs.new_version }}
release_name: "BMad Method v${{ steps.version.outputs.new_version }}"
body: ${{ steps.release_notes.outputs.RELEASE_NOTES }}
name: "BMad Method v${{ steps.version.outputs.new_version }}"
body: |
${{ 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
prerelease: false
prerelease: ${{ contains(steps.version.outputs.new_version, 'alpha') || contains(steps.version.outputs.new_version, 'beta') }}
files: |
dist/release-bundles/*.tar.gz
- name: Summary
run: |
echo "🎉 Successfully released v${{ steps.version.outputs.new_version }}!"
echo "📦 Published to NPM with @latest tag"
echo "🏷️ Git tag: v${{ steps.version.outputs.new_version }}"
echo "✅ Users running 'npx bmad-method install' will now get version ${{ steps.version.outputs.new_version }}"
echo ""
echo "📝 Release notes preview:"
cat release_notes.md
echo "## 🎉 Successfully released v${{ steps.version.outputs.new_version }}!" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 📦 Distribution" >> $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 "- **Web Bundles**: Attached to GitHub Release (4 archives)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### ✅ Installation" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
echo "npx bmad-method@${{ steps.version.outputs.new_version }} install" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY

97
.github/workflows/quality.yaml vendored Normal file
View File

@@ -0,0 +1,97 @@
name: Quality & Validation
# Runs comprehensive quality checks on all PRs:
# - Prettier (formatting)
# - ESLint (linting)
# - markdownlint (markdown quality)
# - Schema validation (YAML structure)
# - Agent schema tests (fixture-based validation)
# - Installation component tests (compilation)
# - Bundle validation (web bundle integrity)
"on":
pull_request:
branches: ["**"]
workflow_dispatch:
jobs:
prettier:
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: Prettier format check
run: npm run format:check
eslint:
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: ESLint
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:
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: Validate YAML schemas
run: npm run validate:schemas
- name: Run agent schema validation tests
run: npm run test:schemas
- name: Test agent compilation components
run: npm run test:install
- name: Validate web bundles
run: npm run validate:bundles

28
.gitignore vendored
View File

@@ -6,6 +6,10 @@ deno.lock
pnpm-workspace.yaml
package-lock.json
test-output/*
coverage/
# Logs
logs/
*.log
@@ -22,7 +26,6 @@ build/*.txt
Thumbs.db
# Development tools and configs
.prettierignore
.prettierrc
# IDE and editor configs
@@ -33,12 +36,12 @@ Thumbs.db
# AI assistant files
CLAUDE.md
.ai/*
.claude
cursor
.gemini
.mcp.json
CLAUDE.local.md
.serena/
.claude/settings.local.json
# Project-specific
.bmad-core
@@ -51,9 +54,24 @@ flattened-codebase.xml
#UAT template testing output files
tools/template-test-generator/test-scenarios/
# Bundler temporary files
# Bundler temporary files and generated bundles
.bundler-temp/
# Test Install Output
# Generated web bundles (built by CI, not committed)
src/modules/bmm/sub-modules/
src/modules/bmb/sub-modules/
src/modules/cis/sub-modules/
src/modules/bmgd/sub-modules/
shared-modules
z*/
.bmad
.claude
.codex
.github/chatmodes
.agent
.agentvibes/
.kiro/
.roo
bmad-custom-src/

View File

@@ -1,3 +1,7 @@
#!/usr/bin/env sh
# Auto-fix changed files and stage them
npx --no-install lint-staged
# Validate everything
npm test

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

9
.prettierignore Normal file
View File

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

View File

@@ -21,6 +21,7 @@
"Decisioning",
"eksctl",
"elicitations",
"Excalidraw",
"filecomplete",
"fintech",
"fluxcd",
@@ -56,7 +57,8 @@
"tileset",
"tmpl",
"Trae",
"VNET"
"VNET",
"webskip"
],
"json.schemas": [
{

View File

@@ -1,21 +1,325 @@
# Changelog
## [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
- Fixed hardcoded 'bmad' prefix from files-manifest.csv paths
- 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]
**Release: November 30, 2025**
### 🏗️ Revolutionary Workflow Architecture
- **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)
- **Performance Improvements**: Eliminated time-based estimates, reduced file loading times
- **Legacy Cleanup**: Removed all deprecated workflows for cleaner system
### 🤖 Agent System Revolution
- **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
### 🧪 Testing Infrastructure
- **Playwright Utils Integration**: @seontechnologies/playwright-utils across all testing workflows
- **TTS Injection System**: Complete text-to-speech integration for voice feedback
- **Web Bundle Test Support**: Enabled web bundles for test environments
### ⚠️ Breaking Changes
1. **Legacy Workflows Removed**: Migrate to new stepwise sharded workflows
2. **Phase 4 Restructured**: Update automation expecting old Phase 4 structure
3. **Agent Compilation Required**: Custom agents must use new creation workflow
## [6.0.0-alpha.12]
**Release: November 19, 2025**
### 🐛 Bug Fixes
- Added missing `yaml` dependency to fix `MODULE_NOT_FOUND` error when running `npx bmad-method install`
## [6.0.0-alpha.11]
**Release: November 18, 2025**
### 🚀 Agent Installation Revolution
- **bmad agent-install CLI**: Interactive agent installation with persona customization
- **4 Reference Agents**: commit-poet, journal-keeper, security-engineer, trend-analyst
- **Agent Compilation Engine**: YAML → XML with smart handler injection
- **60 Communication Presets**: Pure communication styles for agent personas
### 📚 BMB Agent Builder Enhancement
- **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
### 🎯 Workflow Architecture Change
- **Epic Creation Moved**: Now in Phase 3 after Architecture for technical context
- **Excalidraw Distribution**: Diagram capabilities moved to role-appropriate agents
- **Google Antigravity IDE**: New installer with flattened file naming
### ⚠️ Breaking Changes
1. **Frame Expert Retired**: Use role-appropriate agents for diagrams
2. **Agent Installation**: New bmad agent-install command replaces manual installation
3. **Epic Creation Phase**: Moved from Phase 2 to Phase 3
## [6.0.0-alpha.10]
**Release: November 16, 2025**
- **Epics After Architecture**: Major milestone - technically-informed user stories created post-architecture
- **Frame Expert Agent**: New Excalidraw specialist with 4 diagram workflows
- **Time Estimate Prohibition**: Warnings across 33 workflows acknowledging AI's impact on development speed
- **Platform-Specific Commands**: ide-only/web-only fields filter menu items by environment
- **Agent Customization**: Enhanced memory/prompts merging via \*.customize.yaml files
## [6.0.0-alpha.9]
**Release: November 12, 2025**
- **Intelligent File Discovery**: discover_inputs with FULL_LOAD, SELECTIVE_LOAD, INDEX_GUIDED strategies
- **3-Track System**: Simplified from 5 levels to 3 intuitive tracks
- **Web Bundles Guide**: Comprehensive documentation with 60-80% cost savings strategies
- **Unified Output Structure**: Eliminated .ephemeral/ folders - single configurable output folder
- **BMGD Phase 4**: Added 10 game development workflows with BMM patterns
## [6.0.0-alpha.8]
**Release: November 9, 2025**
- **Configurable Installation**: Custom directories with .bmad hidden folder default
- **Optimized Agent Loading**: CLI loads from installed files, eliminating duplication
- **Party Mode Everywhere**: All web bundles include multi-agent collaboration
- **Phase 4 Artifact Separation**: Stories, code reviews, sprint plans configurable outside docs
- **Expanded Web Bundles**: All BMM, BMGD, CIS agents bundled with elicitation integration
## [6.0.0-alpha.7]
**Release: November 7, 2025**
- **Workflow Vendoring**: Web bundler performs automatic cross-module dependency vendoring
- **BMGD Module Extraction**: Game development split into standalone 4-phase structure
- **Enhanced Dependency Resolution**: Better handling of web_bundle: false workflows
- **Advanced Elicitation Fix**: Added missing CSV files to workflow bundles
- **Claude Code Fix**: Resolved README slash command installation regression
## [6.0.0-alpha.6]
**Release: November 4, 2025**
- **Critical Installer Fixes**: Fixed manifestPath error and option display issues
- **Conditional Docs Installation**: Optional documentation to reduce production footprint
- **Improved Installer UX**: Better formatting with descriptive labels and clearer feedback
- **Issue Tracker Cleanup**: Closed 54 legacy v4 issues for focused v6 development
- **Contributing Updates**: Removed references to non-existent branches
## [6.0.0-alpha.5]
**Release: November 4, 2025**
- **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
- **PM/UX Evolution**: Added November 2025 industry research on AI Agent PMs
- **Brownfield Reality Check**: Rewrote Phase 0 with 4 real-world scenarios
- **Documentation Accuracy**: All agent capabilities now match YAML source of truth
## [6.0.0-alpha.4]
**Release: November 2, 2025**
- **Documentation Hub**: Created 18 comprehensive guides (7000+ lines) with professional standards
- **Paige Agent**: New technical documentation specialist across all BMM phases
- **Quick Spec Flow**: Intelligent Level 0-1 planning with auto-stack detection
- **Universal Shard-Doc**: Split large markdown documents with dual-strategy loading
- **Intent-Driven Planning**: PRD and Product Brief transformed from template-filling to conversation
## [6.0.0-alpha.3]
**Release: October 2025**
- **Codex Installer**: Custom prompts in `.codex/prompts/` directory structure
- **Bug Fixes**: Various installer and workflow improvements
- **Documentation**: Initial documentation structure established
## [6.0.0-alpha.0]
**Release: September 28, 2025**
Initial alpha release of a major rewrite and overhaul improvement of past versions.
### Major New Features
- **Lean Core**: The core of BMad is very simple - common tasks that apply to any future module or agents, along with common agents that will be added to any modules - bmad-web-orchestrator and bmad-master.
- **BMad Method**: The new BMad Method (AKA bmm) is a complete overhaul of the v4 method, now a fully scale adaptive rewrite. The workflow now scales from small enhancements to massive undertakings across multiple services or architectures, supporting a new vast array of project type, including a full subclass of game development specifics.
- **BoMB**: The BMad Builder (AKA BoMB) now is able to fully automate creation and conversion of expansion packs from v5 to modules in v5 along with the net new ideation and brainstorming through implementation and testing of net new Modules, Workflows (were tasks and templates), Module Agents, and Standalone Personal Agents
- **CIS**: The Creative Intelligence Suite (AKA CIS)
## [v5.0.0] - SKIPPED
**Note**: Version 5.0.0 was skipped due to NPX registry issues that corrupted the version. Development continues with v6.0.0-alpha.0.
- **Lean Core**: Simple common tasks and agents (bmad-web-orchestrator, bmad-master)
- **BMad Method (BMM)**: Complete scale-adaptive rewrite supporting projects from small enhancements to massive undertakings
- **BoMB**: BMad Builder for creating and converting modules, workflows, and agents
- **CIS**: Creative Intelligence Suite for ideation and creative workflows
- **Game Development**: Full subclass of game-specific development patterns**Note**: Version 5.0.0 was skipped due to NPX registry issues that corrupted the version. Development continues with v6.0.0-alpha.0.
## [v4.43.0](https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v4.43.0)

View File

@@ -86,25 +86,13 @@ Please propose small, granular changes! For large or significant changes, discus
### Which Branch?
**Submit to `next` branch** (most contributions):
- ✨ New features or agents
- 🎨 Enhancements to existing features
- 📚 Documentation updates
- ♻️ Code refactoring
- ⚡ Performance improvements
- 🧪 New tests
- 🎁 New bmad modules
**Submit to `main` branch** (critical only):
**Submit PR's to `main` branch** (critical only):
- 🚨 Critical bug fixes that break basic functionality
- 🔒 Security patches
- 📚 Fixing dangerously incorrect documentation
- 🐛 Bugs preventing installation or basic usage
**When in doubt, submit to `next`**. We'd rather test changes thoroughly before they hit stable.
### PR Size Guidelines
- **Ideal PR size**: 200-400 lines of code changes
@@ -256,6 +244,7 @@ Each commit should represent one logical change:
- Web/planning agents can be larger with more complex tasks
- Everything is natural language (markdown) - no code in core framework
- Use bmad modules for domain-specific features
- Validate YAML schemas with `npm run validate:schemas` before committing
## Code of Conduct

345
README.md
View File

@@ -1,274 +1,217 @@
# BMad CORE v6 Alpha
# BMad Method & BMad Core
[![Version](https://img.shields.io/npm/v/bmad-method?color=blue&label=version)](https://www.npmjs.com/package/bmad-method)
[![Stable Version](https://img.shields.io/npm/v/bmad-method?color=blue&label=stable)](https://www.npmjs.com/package/bmad-method)
[![Alpha Version](https://img.shields.io/npm/v/bmad-method/alpha?color=orange&label=alpha)](https://www.npmjs.com/package/bmad-method)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![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)
**[Subscribe to BMadCode on YouTube](https://www.youtube.com/@BMadCode?sub_confirmation=1)** and **[Join our amazing, active Discord Community](https://discord.gg/gk8jAdXWmj)**
## AI-Driven Agile Development That Scales From Bug Fixes to Enterprise
**If you find this project helpful or useful, please give it a star in the upper right-hand corner!** It helps others discover BMad-CORE and you will be notified of updates!
**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!
## The Universal Human-AI Collaboration Platform
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!
📋 **[View v6 Alpha Open Items & Roadmap](./v6-open-items.md)** - Track what's being worked on and what's coming next!
> **🚀 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)
### ⚠️ Important Alpha Notes
> **📌 v6 Alpha Status:** Near-beta quality with vastly improved stability. Documentation is being finalized. New videos coming soon to [BMadCode YouTube](https://www.youtube.com/@BMadCode).
**Note 0 - Frequent Updates:** Updates to the branch will be frequent. When pulling new updates, it's best to delete your node_modules folder and run `npm install` to ensure you have the latest package dependencies.
## 🎯 Why BMad Method?
**Note 1 - Alpha Stability:** ALPHA is potentially an unstable release that could drastically change. While we hope that isn't the case, your testing during this time is much appreciated. Please help us out by filing issues or reaching out in Discord to discuss.
Unlike generic AI coding assistants, BMad Method provides **structured, battle-tested workflows** powered by specialized agents who understand agile development. Each agent has deep domain expertise—from product management to architecture to testing—working together seamlessly.
**Note 2 - Work in Progress:** ALPHA is not complete - there are still many small and big features, polish, doc improvements, and more agents and workflows coming ahead of the beta release!
**✨ Key Benefits:**
**Note 3 - IDE Required:** ALPHA Web Bundles and Agents are not fully working yet - you will need to use a good quality IDE to test many features, especially with the BMad Method module. However, the new agent builder and standalone agent feature can work great with weaker models - this will still evolve over the coming weeks.
- **Scale-Adaptive Intelligence** - Automatically adjusts planning depth from bug fixes to enterprise systems
- **Complete Development Lifecycle** - Analysis → Planning → Architecture → Implementation
- **Specialized Expertise** - 19 agents with specific roles (PM, Architect, Developer, UX Designer, etc.)
- **Proven Methodologies** - Built on agile best practices with AI amplification
- **IDE Integration** - Works with Claude Code, Cursor, Windsurf, VS Code
**Note 4 - Contributing:** If you would like to contribute a PR, make sure you are creating your PR against the Alpha Branch and not Main.
## 🏗️ The Power of BMad Core
## Alpha Installation and Testing
**BMad Method** is actually a sophisticated module built on top of **BMad Core** (**C**ollaboration **O**ptimized **R**eflection **E**ngine). This revolutionary architecture means:
**Prerequisites**: [Node.js](https://nodejs.org) v20+ required
- **BMad Core** provides the universal framework for human-AI collaboration
- **BMad Method** leverages Core to deliver agile development workflows
- **BMad Builder** lets YOU create custom modules as powerful as BMad Method itself
### Option A
With **BMad Builder**, you can architect both simple agents and vastly complex domain-specific modules (legal, medical, finance, education, creative) that will soon be sharable in an **official community marketplace**. Imagine building and sharing your own specialized AI team!
Thank you Lum for the suggestion - here is a one-shot instruction to clone just the alpha branch and get started:
## 📊 See It In Action
`git clone --branch v6-alpha --single-branch https://github.com/bmad-code-org/BMAD-METHOD` and then cd into this directory and run `npm install`.
<p align="center">
<img src="./src/modules/bmm/docs/images/workflow-method-greenfield.svg" alt="BMad Method Workflow" width="100%">
</p>
### Option B
<p align="center">
<em>Complete BMad Method workflow showing all phases, agents, and decision points</em>
</p>
Here are the more detailed step-by-step instructions:
## 🚀 Get Started in 3 Steps
Clone the repo with either:
### 1. Install BMad Method
- `gh repo clone bmad-code-org/BMAD-METHOD`
- `git clone https://github.com/bmad-code-org/BMAD-METHOD.git`
- `git@github.com:bmad-code-org/BMAD-METHOD.git`
and then cd into the BMAD-METHOD folder.
```bash
# Install v6 Alpha (recommended)
npx bmad-method@alpha install
You will then need to change to the branch as that will have cloned main, so type:
- `git checkout v6-alpha`
- type `git status` and you should see:
`On branch v6-alpha. Your branch is up to date with 'origin/v6-alpha'.`
# Or stable v4 for production
npx bmad-method install
```
### Node Modules install
### 2. Initialize Your Project
Now you must install the node_modules with `npm install` - once complete, you should see you have a `node_modules` folder at the root of your project. (BMAD-METHOD/node_modules)
Load any agent in your IDE and run:
### Install to your new or existing project folder
```
*workflow-init
```
Now you can run `npm run install:bmad` and follow the installer questions.
This analyzes your project and recommends the right workflow track.
NOTE: One of the first questions will ask for a destination - do not accept the default, you want to enter the full path to a new or existing folder of where your project is or will be. If you choose a net new folder, you will have to confirm you want the installer to create the directory for you.
### 3. Choose Your Track
The Core Module will always be installed. The default initial module selection will be BMM for all the core BMad Method functionality and flow from brainstorming through software development.
BMad Method adapts to your needs with three intelligent tracks:
**Note on installation:** All installs now go to a single folder called `bmad` instead of multiple folders. When you install a module, you may still see folders other than the one you selected in the destination/bmad folder.
| Track | Use For | Planning | Time to Start |
| ------------------ | ------------------------- | ----------------------- | ------------- |
| **⚡ Quick Flow** | Bug fixes, small features | Tech spec only | < 5 minutes |
| **📋 BMad Method** | Products, platforms | PRD + Architecture + UX | < 15 minutes |
| **🏢 Enterprise** | Compliance, scale | Full governance suite | < 30 minutes |
This is intentional and not a bug - it will copy over to those other folders only the minimum that is needed because it is shared across the modules. For example, during Alpha to test this feature, BMM relies on the brainstorming feature of the CIS and some items from CORE - so even if you only select BMM, you will still see bmad/core and bmad/cis along with bmad/bmm.
> **Not sure?** Run `*workflow-init` and let BMad analyze your project goal.
## What is the new BMad Core
## 🔄 How It Works: 4-Phase Methodology
BMad-CORE (Collaboration Optimized Reflection Engine) is a framework that brings out the best in you through AI agents designed to enhance human thinking rather than replace it.
BMad Method guides you through a proven development lifecycle:
Unlike traditional AI tools that do the work for you, BMad-CORE's specialized agents guide you through the facilitation of optimized collaborative reflective workflows to unlock your full potential across any domain. This magic powers the BMad Method, which is just one of the many modules that exist or are coming soon.
1. **📊 Analysis** (Optional) - Brainstorm, research, and explore solutions
2. **📝 Planning** - Create PRDs, tech specs, or game design documents
3. **🏗 Solutioning** - Design architecture, UX, and technical approach
4. ** Implementation** - Story-driven development with continuous validation
## What Makes BMad-Core Different
Each phase has specialized workflows and agents working together to deliver exceptional results.
**Traditional AI**: Does the thinking for you, providing average, bland answers and solutions
**BMad-CORE**: Brings out the best thinking in you and the AI through guided collaboration, elicitation, and facilitation
## 🤖 Meet Your Team
### Core Philosophy: Human Amplification, Not Replacement
**12 Specialized Agents** working in concert:
BMad-Core's AI agents act as expert coaches, mentors, and collaborators who:
| Development | Architecture | Product | Leadership |
| ----------- | -------------- | ------------- | -------------- |
| Developer | Architect | PM | Scrum Master |
| UX Designer | Test Architect | Analyst | BMad Master |
| Tech Writer | Game Architect | Game Designer | Game Developer |
- Ask the right questions to stimulate your thinking
- Provide structured frameworks for complex problems
- Guide you through reflective processes to discover insights
- Help you develop mastery in your chosen domains
- Amplify your natural abilities rather than substituting for them
**Test Architect** integrates with `@seontechnologies/playwright-utils` for production-ready fixture-based utilities.
## The Collaboration Optimized Reflection Engine
Each agent brings deep expertise and can be customized to match your team's style.
At the heart of BMad-Core lies the **C.O.R.E.** system:
## 📦 What's Included
- **Collaboration**: Human-AI partnership where both contribute unique strengths
- **Optimized**: The collaborative process has been refined for maximum effectiveness
- **Reflection**: Guided thinking that helps you discover better solutions and insights
- **Engine**: The powerful framework that orchestrates specialized agents and workflows
### Core Modules
## Universal Domain Coverage Through Modules
- **BMad Method (BMM)** - Complete agile development framework
- 12 specialized agents
- 34 workflows across 4 phases
- Scale-adaptive planning
- [→ Documentation Hub](./src/modules/bmm/docs/README.md)
BMad-CORE works in ANY domain through specialized modules (previously called expansion packs)!
- **BMad Builder (BMB)** - Create custom agents and workflows
- Build anything from simple agents to complex modules
- Create domain-specific solutions (legal, medical, finance, education)
- Share your creations in the upcoming community marketplace
- [→ Builder Guide](./src/modules/bmb/README.md)
### Available Modules with Alpha Release
- **Creative Intelligence Suite (CIS)** - Innovation & problem-solving
- Brainstorming, design thinking, storytelling
- 5 creative facilitation workflows
- [→ Creative Workflows](./src/modules/cis/README.md)
- **BMad Core (core)**: Included and used to power every current and future module; includes a master orchestrator for the local environment and one for the web bundles used with ChatGPT or Gemini Gems, for example.
- **BMad Method (bmm)**: Agile AI-driven software development - the classic that started it all and is still the best - but with v6, massively improved thanks to a rebuild from the ground up built on the new powerful BMad-CORE engine. The BMad Method has also been expanded to use a new "Scale Adaptive Workflow Engine"™.
- **BMad BoMB (bmb)**: The BMad Builder is your Custom Agent, Workflow, and Module authoring tool - it's now easier than ever to customize existing modules or create whatever you can imagine as a standalone module.
- **Creative Intelligence Suite (cis)**: Unlock innovation, problem-solving, and creative thinking! Brainstorming that was part of the BMad Method in the past is now part of this standalone module along with other workflows. The power of BMad modules still allows modules to borrow from each other - so the CIS, while standalone, also powers the brainstorming abilities for certain agents within the BMad Method!
### Key Features
## What's New in V6-ALPHA
- **🎨 Customizable Agents** - Modify personalities, expertise, and communication styles
- **🌐 Multi-Language Support** - Separate settings for communication and code output
- **📄 Document Sharding** - 90% token savings for large projects
- **🔄 Update-Safe** - Your customizations persist through updates
- **🚀 Web Bundles** - Use in ChatGPT, Claude Projects, or Gemini Gems
Stability, customizability, installation Q&A, massive prompt improvements.
## 📚 Documentation
Everything has been rewritten from the ground up with best practices and advances learned over previous versions, standardizing on prompt format techniques. There is much more core usage of XML or XML-type tags within markdown, with many conventions and standards that drastically increase agent adherence.
### Quick Links
**Customizability** is a key theme of this new version. All agents are now customizable by modifying a file under the installation bmad/\_cfg/agents. Every agent installed will generate an agent file that you can customize.
- **[Quick Start Guide](./src/modules/bmm/docs/quick-start.md)** - 15-minute introduction
- **[Complete BMM Documentation](./src/modules/bmm/docs/README.md)** - All guides and references
- **[Agent Customization](./docs/agent-customization-guide.md)** - Personalize your agents
- **[All Documentation](./docs/index.md)** - Complete documentation index
The nice thing about this is when agents change or update in future versions, your customizations in these sidecar files will never be lost! You can change the name, their personas, how they talk, what they call you, and most exciting - what language they communicate in!
### For v4 Users
The **BMad installer** is 100% new from the ground up. Along the way you will add:
- **[v4 Documentation](https://github.com/bmad-code-org/BMAD-METHOD/tree/V4)**
- **[v4 to v6 Upgrade Guide](./docs/v4-to-v6-upgrade.md)**
- Your name (what the agents will call you and how you'll author documents)
- What language you want the agents to communicate in
- Module-specific customization options
## 💬 Community & Support
When you install, a consolidated agent party is created so now when you use party-mode in the IDE, it is super efficient for the agent running the party to simulate all installed agents. Post alpha release, this will manifest itself in many interesting ways in time for beta - but for now, have fun with party mode and epic sprint retrospectives!
- **[Discord Community](https://discord.gg/gk8jAdXWmj)** - Get help, share projects
- **[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
- **[Web Bundles](https://bmad-code-org.github.io/bmad-bundles/)** - Pre-built agent bundles
- **[Code of Conduct](.github/CODE_OF_CONDUCT.md)** - Community guidelines
Speaking of installation - everything will now install to a single core bmad folder. No more separate root folders for every module! Instead, all will be contained within bmad/.
## 🛠️ Development
All IDE selections now support the option to add special install functionality per module.
For contributors working on the BMad codebase:
For example, with the alpha release, if you select the BMad Method and Claude Code, you will have an option to install pre-created Claude sub-agents. Not only do they get installed, but certain workflows will have injected into their instructions key indicators to the agent when to activate the sub-agents, removing some non-determinism.
```bash
# Run all quality checks
npm test
The sub-agent experience is still undergoing some work, so install them if you choose, and remove them if they become a pain.
# Development commands
npm run lint:fix # Fix code style
npm run format:fix # Auto-format code
npm run bundle # Build web bundles
```
When you read about the BoMB below, it will link to more information about various features in this new evolution of BMad Code. One of the exciting features is the new agent types - there are 3 now! The most exciting are the new standalone tiny agents that you can easily generate and deploy free from any module - specialized for your exact needs.
See [CONTRIBUTING.md](CONTRIBUTING.md) for full development guidelines.
### BMad Method
## What's New in v6
The BMad Method is significantly transforming and yet more powerful than ever. **Scale Adaptive** is a new term that means when you start the workflow to create a PRD or a GDD (or a simple tech-spec in the case of simple tasks), you will first answer some questions about the scope of the project, new vs. existing codebase and its state, and other questions. This will trigger a leveling of the effort from 0-4, and based on this scale adaptation, it will guide the workflow in different directions.
**v6 represents a complete architectural revolution from v4:**
Right now, this is still a bit alpha feeling and disjointed, but before beta it will be tied together through all four workflow phases with a potential single orchestration if you choose - or you can still jump right in, especially for simple tasks that just need a simple tech-spec and then right off to development.
### 🚀 Major Upgrades
To test and experience this now, here is the new main flow for BMM v6 alpha:
- **BMad Core Framework** - Modular architecture enabling custom domain solutions
- **Scale-Adaptive Intelligence** - Automatic adjustment from bug fixes to enterprise
- **Visual Workflows** - Beautiful SVG diagrams showing complete methodology
- **BMad Builder Module** - Create and share your own AI agent teams
- **50+ Workflows** - Up from 20 in v4, covering every development scenario
- **19 Specialized Agents** - Enhanced with customizable personalities and expertise
- **Update-Safe Customization** - Your configs persist through all updates
- **Web Bundles** - Use agents in ChatGPT, Claude, and Gemini
- **Multi-Language Support** - Separate settings for communication and code
- **Document Sharding** - 90% token savings for large projects
(Docs will be all linked in soon with new user guide and workflow diagrams coming this week)
### 🔄 For v4 Users
**NOTE:** Game Development expansion packs are all being rolled into the official BMad Method module - along with any more game engine platforms being added. Additionally, game development planning for the GDD is not only scale adaptive, but also adapts to the type of game you are making - so you can plan all that is needed for your dream game!
- **[Comprehensive Upgrade Guide](./docs/v4-to-v6-upgrade.md)** - Step-by-step migration
- **[v4 Documentation Archive](https://github.com/bmad-code-org/BMAD-METHOD/tree/V4)** - Legacy reference
- Backwards compatibility where possible
- Smooth migration path with installer detection
#### **PHASE 1 - Analysis**
## 📄 License
**Analyst:**
MIT License - See [LICENSE](LICENSE) for details.
- `brainstorm-project`
- `research` (market research, deep research, deep research prompt generation)
- `product-brief`
**Game Designer (Optional):**
- `brainstorm-game`
- `game-brief`
- `research`
**Trademarks:** BMAD and BMAD-METHOD are trademarks of BMad Code, LLC.
---
#### **PHASE 2 - Planning**
<p align="center">
<a href="https://github.com/bmad-code-org/BMAD-METHOD/graphs/contributors">
<img src="https://contrib.rocks/image?repo=bmad-code-org/BMAD-METHOD" alt="Contributors">
</a>
</p>
**PM:**
- `plan-project`
**Game Designer:**
- `plan-game` (calls the same plan-project workflow, but input docs or your answers should drive it towards GDD)
---
#### **PHASE 3 - Solutioning**
**Architect or Game Architect:**
Just like the scale-adjusted planning, architecture is the same. No more document sharding though!
Now in the IDE you create an architecture that adapts to the type of project you are working on - based on the inputs from your PRD, it will adapt the sections it includes to your project type. No longer is the architecture biased just towards full stack or back-end APIs. There are many more options now, from embedded hardware to mobile to many other options - with many more coming with beta.
- `solution-architecture`
> **Note:** Testing, DevOps, or security concerns beyond the basics are generally not included in the architecture. If it is more complicated, especially for complex massive undertakings, you will be suggested to pull in specific agents to help with those areas. _(Not released with alpha.0, coming soon)_
Once the full architecture is complete, you can still use the PO to run the checklist to validate the epics and stories are still correct - although the architect should also be keeping them updated as needed (needs some tuning during alpha). Once done, then it's time to create the tech spec for your first epic.
- `tech-spec`
The tech spec pulls all technical information from all planning thus far, along with any further research needed from the web to produce an **Epic Tech Spec** - each epic will have one. This is going to make the SM even more capable of finding the info it needs for each story when we get to phase 4!
---
#### **PHASE 4 - Implementation**
And now here we are at phase 4 - where we, just like in BMad Method of yore, use the SM and the Dev Agent. No more QA agent here though; the dev now has a dev task and also a senior dev agent review task.
**Scrum Master (SM) Tasks:**
Before the dev starts, the SM will:
1. `create-story`
2. `story-context` _(NEW!)_
**Story-context** is a game-changing new feature beyond what we had with create-story in the past. Create-story still pulls in all the info it needs from the tech-spec and elsewhere as needed (including previously completed stories), but the generation of the new story-context takes it to a whole new level.
This real-time prep means no more generic devLoadAlways list of story files. During the alpha phase, we will be tuning what goes into this context, but this is going to supercharge and specialize your dev to the story at hand!
---
> **🎉 There are many other exciting changes throughout for you to discover during the alpha BMad Method module!**
## CIS
The CIS has 5 agents to try out, each with their own workflow! This is a new module that will drastically change over time.
- [CIS Readme](./src/modules/cis/readme.md)
### BoMB: BMad Builder
#### Agent Docs
- [Agent Architecture](src/modules/bmb/workflows/create-agent/agent-architecture)
- [Agent command patterns](src/modules/bmb/workflows/create-agent/agent-command-patterns.md)
- [Agent Types](src/modules/bmb/workflows/create-agent/agent-types.md)
- [Communication Styles](src/modules/bmb/workflows/create-agent/communication-styles.md)
#### Modules
Modules are what we used to call Expansion Packs. A new repository to contribute modules is coming very soon with the beta release where you can start contributing modules - we just want to make sure the final format and conventions are stable. A module will generally be made up of agents and workflows. Tasks are still also possible, but generally should be avoided in favor of more flexible workflows. Workflows can have sub-workflows and soon will support a standardized multi-workflow orchestration pattern that the BMad master will be able to guide users through.
- [Module Structure](src/modules/bmb/workflows/create-module/module-structure.md)
#### Workflows
What used to be tasks and create-doc templates are now all workflows! Simpler, yet more powerful and support many ways of achieving many different outcomes! A lot more documentation will be coming. This document is used by the agent builder to generate workflows or convert to workflows, but there is a lot more than what we have documented here in this alpha doc.
- [Workflow Creation Guide](src/modules/bmb/workflows/create-workflow/workflow-creation-guide)
### Installer Changes
- [IDE Injections](docs/installers-bundlers/ide-injections)
- [Installers Modules Platforms References](docs/installers-bundlers/installers-modules-platforms-reference)
- [Web Bundler Usage](docs/installers-bundlers/web-bundler-usage)
- [Claude Code Sub Module BMM Installer](src/modules/bmm/sub-modules/claude-code/readme.md)
## Support & Community
- 💬 [Discord Community](https://discord.gg/gk8jAdXWmj) - Get help, share ideas, collaborate
- 🐛 [Issue Tracker](https://github.com/bmad-code-org/BMAD-METHOD/issues) - Bug reports and feature requests
- 💬 [Discussions](https://github.com/bmad-code-org/BMAD-METHOD/discussions) - Community conversations
## Contributing
We welcome contributions and new module development!
📋 **[Read CONTRIBUTING.md](CONTRIBUTING.md)** - Complete contribution guide
## License
MIT License - see [LICENSE](LICENSE) for details.
## Trademark Notice
BMAD™ and BMAD-METHOD™ are trademarks of BMad Code, LLC. All rights reserved.
[![Contributors](https://contrib.rocks/image?repo=bmad-code-org/BMAD-METHOD)](https://github.com/bmad-code-org/BMAD-METHOD/graphs/contributors)
<sub>Built with ❤️ for the human-AI collaboration community</sub>
<p align="center">
<sub>Built with ❤️ for the human-AI collaboration community</sub>
</p>

Binary file not shown.

View File

@@ -0,0 +1,95 @@
# Bundle Distribution Setup (For Maintainers)
**Audience:** BMAD maintainers setting up bundle auto-publishing
---
## One-Time Setup
Run these commands once to enable auto-publishing:
```bash
# 1. Create bmad-bundles repo
gh repo create bmad-code-org/bmad-bundles --public --description "BMAD Web Bundles"
# 2. Ensure `main` exists (GitHub Pages API requires a source branch)
git clone git@github.com:bmad-code-org/bmad-bundles.git
cd bmad-bundles
printf '# bmad-bundles\n\nStatic bundles published from BMAD-METHOD.\n' > README.md
git add README.md
git commit -m "Initial commit"
git push origin main
cd -
# 3. Enable GitHub Pages (API replacement for removed --enable-pages flag)
gh api repos/bmad-code-org/bmad-bundles/pages --method POST -f source[branch]=main -f source[path]=/
# (Optional) confirm status
gh api repos/bmad-code-org/bmad-bundles/pages --jq '{status,source}'
# 4. Create GitHub PAT and add as secret
# Go to: https://github.com/settings/tokens/new
# Scopes: repo (full control)
# Name: bmad-bundles-ci
# Then add as secret:
gh secret set BUNDLES_PAT --repo bmad-code-org/BMAD-METHOD
# (paste PAT when prompted)
```
If the Pages POST returns `409`, the site already exists. If it returns `422` about `main` missing, redo step 2 to push the initial commit.
**Done.** Bundles auto-publish on every main merge.
---
## How It Works
**On main merge:**
- `.github/workflows/bundle-latest.yaml` runs
- Publishes to: `https://bmad-code-org.github.io/bmad-bundles/`
**On release:**
- `npm run release:patch` runs `.github/workflows/manual-release.yaml`
- Attaches bundles to: `https://github.com/bmad-code-org/BMAD-METHOD/releases/latest`
---
## Testing
```bash
# Test latest channel
git push origin main
# Wait 2 min, then: curl https://bmad-code-org.github.io/bmad-bundles/
# Test stable channel
npm run release:patch
# Check: gh release view
```
---
## Troubleshooting
**"Permission denied" or auth errors**
```bash
# Verify PAT secret exists
gh secret list --repo bmad-code-org/BMAD-METHOD | grep BUNDLES_PAT
# If missing, recreate PAT and add secret:
gh secret set BUNDLES_PAT --repo bmad-code-org/BMAD-METHOD
```
**GitHub Pages not updating / need to re-check config**
```bash
gh api repos/bmad-code-org/bmad-bundles/pages --jq '{status,source,html_url}'
```
---
## Distribution URLs
**Stable:** `https://github.com/bmad-code-org/BMAD-METHOD/releases/latest`
**Latest:** `https://bmad-code-org.github.io/bmad-bundles/`

View File

@@ -0,0 +1,208 @@
# Agent Customization Guide
Customize BMad agents without modifying core files. All customizations persist through updates.
## Quick Start
**1. Locate Customization Files**
After installation, find agent customization files in:
```
{bmad_folder}/_cfg/agents/
├── core-bmad-master.customize.yaml
├── bmm-dev.customize.yaml
├── bmm-pm.customize.yaml
└── ... (one file per installed agent)
```
**2. Edit Any Agent**
Open the `.customize.yaml` file for the agent you want to modify. All sections are optional - customize only what you need.
**3. Rebuild the Agent**
After editing, IT IS CRITICAL to rebuild the agent to apply changes:
```bash
npx bmad-method@alpha install # and then select option to compile all agents
# OR for individual agent only
npx bmad-method@alpha build <agent-name>
# Examples:
npx bmad-method@alpha build bmm-dev
npx bmad-method@alpha build core-bmad-master
npx bmad-method@alpha build bmm-pm
```
## What You Can Customize
### Agent Name
Change how the agent introduces itself:
```yaml
agent:
metadata:
name: 'Spongebob' # Default: "Amelia"
```
### Persona
Replace the agent's personality, role, and communication style:
```yaml
persona:
role: 'Senior Full-Stack Engineer'
identity: 'Lives in a pineapple (under the sea)'
communication_style: 'Spongebob'
principles:
- 'Never Nester, Spongebob Devs hate nesting more than 2 levels deep'
- 'Favor composition over inheritance'
```
**Note:** The persona section replaces the entire default persona (not merged).
### Memories
Add persistent context the agent will always remember:
```yaml
memories:
- 'Works at Krusty Krab'
- 'Favorite Celebrity: David Hasslehoff'
- 'Learned in Epic 1 that its not cool to just pretend that tests have passed'
```
### Custom Menu Items
Add your own workflows to the agent's menu:
```yaml
menu:
- trigger: my-workflow
workflow: '{project-root}/custom/my-workflow.yaml'
description: My custom workflow
- trigger: deploy
action: '#deploy-prompt'
description: Deploy to production
```
**Don't include:** `*` prefix or `help`/`exit` items - these are auto-injected.
### Critical Actions
Add instructions that execute before the agent starts:
```yaml
critical_actions:
- 'Always check git status before making changes'
- 'Use conventional commit messages'
```
### Custom Prompts
Define reusable prompts for `action="#id"` menu handlers:
```yaml
prompts:
- id: deploy-prompt
content: |
Deploy the current branch to production:
1. Run all tests
2. Build the project
3. Execute deployment script
```
## Real-World Examples
**Example 1: Customize Developer Agent for TDD**
```yaml
# {bmad_folder}/_cfg/agents/bmm-dev.customize.yaml
agent:
metadata:
name: 'TDD Developer'
memories:
- 'Always write tests before implementation'
- 'Project uses Jest and React Testing Library'
critical_actions:
- 'Review test coverage before committing'
```
**Example 2: Add Custom Deployment Workflow**
```yaml
# {bmad_folder}/_cfg/agents/bmm-dev.customize.yaml
menu:
- trigger: deploy-staging
workflow: '{project-root}/{bmad_folder}/deploy-staging.yaml'
description: Deploy to staging environment
- trigger: deploy-prod
workflow: '{project-root}/{bmad_folder}/deploy-prod.yaml'
description: Deploy to production (with approval)
```
**Example 3: Multilingual Product Manager**
```yaml
# {bmad_folder}/_cfg/agents/bmm-pm.customize.yaml
persona:
role: 'Bilingual Product Manager'
identity: 'Expert in US and LATAM markets'
communication_style: 'Clear, strategic, with cultural awareness'
principles:
- 'Consider localization from day one'
- 'Balance business goals with user needs'
memories:
- 'User speaks English and Spanish'
- 'Target markets: US and Latin America'
```
## Tips
- **Start Small:** Customize one section at a time and rebuild to test
- **Backup:** Copy customization files before major changes
- **Update-Safe:** Your customizations in `_cfg/` survive all BMad updates
- **Per-Project:** Customization files are per-project, not global
- **Version Control:** Consider committing `_cfg/` to share customizations with your team
## Module vs. Global Config
**Module-Level (Recommended):**
- Customize agents per-project in `{bmad_folder}/_cfg/agents/`
- Different projects can have different agent behaviors
**Global Config (Coming Soon):**
- Set defaults that apply across all projects
- Override with project-specific customizations
## Troubleshooting
**Changes not appearing?**
- Make sure you ran `npx bmad-method build <agent-name>` after editing
- Check YAML syntax is valid (indentation matters!)
- Verify the agent name matches the file name pattern
**Agent not loading?**
- Check for YAML syntax errors
- Ensure required fields aren't left empty if you uncommented them
- Try reverting to the template and rebuilding
**Need to reset?**
- Delete the `.customize.yaml` file
- Run `npx bmad-method build <agent-name>` to regenerate defaults
## Next Steps
- **[BMM Agents Guide](../src/modules/bmm/docs/agents-guide.md)** - Learn about all 12 BMad Method 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

View File

@@ -1,19 +0,0 @@
# Codebase Flattener Tool
BMad-Core includes a powerful codebase flattener for preparing existing projects to the web for AI Analysis
```bash
# Basic usage - creates flattened-codebase.xml
npx bmad-method flatten
# Custom input/output
npx bmad-method flatten --input /path/to/source --output project.xml
```
Features:
- AI-optimized XML output format
- Smart filtering with .gitignore respect
- Binary file detection and exclusion
- Real-time progress tracking
- Comprehensive completion statistics

View File

@@ -0,0 +1,245 @@
# Custom Content Installation
This guide explains how to create and install custom BMAD content including agents, workflows, and modules. Custom content allows you to extend BMAD's functionality with your own specialized tools and workflows that can be shared across projects or teams.
## Types of Custom Content
### 1. Custom Agents and Workflows (Standalone)
Custom agents and workflows are standalone content packages that can be installed without being part of a full module. These are perfect for:
- Sharing specialized agents across projects
- Building a personal Agent powered Notebook vault
- Distributing workflow templates
- Creating agent libraries for specific domains
#### Structure
A custom agents and workflows package follows this structure:
```
my-custom-agents/
├── module.yaml # Package configuration
├── agents/ # Agent definitions
│ └── my-agent/
│ └── agent.md
└── workflows/ # Workflow definitions
└── my-workflow/
└── workflow.md
```
#### Configuration
Create a `module.yaml` file in your package root:
```yaml
code: my-custom-agents
name: 'My Custom Agents and Workflows'
default_selected: true
```
#### Example
See `/example-custom-content` for a working example of a folder with multiple random custom agents and workflows. Technically its also just a module, but you will be able to further pick and choose from this folders contents of what you do and do not want to include in a destination folder. This way, you can store all custom content source in one location and easily install it to different locations.
### 2. Custom Modules
Custom modules are complete BMAD modules that can include their own configuration, documentation, along with agents and workflows that all compliment each other. Additionally they will have their own installation scripts, data, and potentially other tools. Modules can be used for:
- Domain-specific functionality (e.g., industry-specific workflows, entertainment, education and training, medical, etc...)
- Integration with external systems
- Specialized agent collections
- Custom tooling and utilities
#### Structure
A custom module follows this structure:
```
my-module/
├── _module-installer/
│ ├── installer.js # optional, when it exists it will run with module installation
├── module.yaml # Module installation configuration with custom question and answer capture
├── docs/ # Module documentation
├── agents/ # Module-specific agents
├── workflows/ # Module-specific workflows
├── data/ # csv or other content to power agent intelligence or workflows
├── tools/ # Custom tools, hooks, mcp
└── sub-modules/ # IDE-specific customizations
├── vscode/
└── cursor/
```
#### Module Configuration
The `module.yaml` file defines how your module is installed:
```yaml
# Module metadata
code: my-module
name: 'My Custom Module'
default_selected: false
header: 'My Custom Module'
subheader: 'Description of what this module does'
# Configuration prompts
my_setting:
prompt: 'Configure your module setting'
default: 'default-value'
result: '{value}'
```
#### Example
See `/example-custom-module` for a complete example:
## Installation Process
### Step 1: Running the Installer
When you run the existing normal BMAD installer - either from the cloned repo, OR via NPX, it will ask about custom content:
```
? Do you have custom content to install?
No (skip custom content)
Enter a directory path
Enter a URL [Coming soon]
```
### Step 2: Providing Custom Content Path
If you select "Enter a directory path", the installer will prompt for the location:
```
? Enter the path to your custom content directory: /path/to/folder/containing/content/folder
```
The installer will:
- Scan for `module.yaml` files (modules)
- Display an indication of how many installable folders it has found. Note that a project with stand along agents and workflows all under a single folder like the example will just list the count as 1 for that directory.
### Step 3: Selecting Content
The installer presents a unified selection interface:
```
? Select modules and custom content to install:
[── Custom Content ──]
◉ My Custom Agents and Workflows (/path/to/custom)
[── Official Content ──]
◯ BMM: Business Method & Management
◯ CIS: Creativity & Innovation Suite
```
## Agent Sidecar Support
Agents with sidecar content can store personal data, memories, and working files outside of the `.bmad` directory. This separation keeps personal content separate from BMAD's core files.
### What is Sidecar Content?
Sidecar content includes:
- Agent memories and learning data
- Personal working files
- Temporary data
- User-specific configurations
### Sidecar Configuration
The sidecar folder location is configured during BMAD core installation:
```
? Where should users' agent sidecar memory folders be stored?
.bmad-user-memory
```
### How It Works
1. **Agent Declaration**: Agents declare `hasSidecar: true` in their metadata
2. **Sidecar Detection**: The installer automatically detects folders with "sidecar" in the name
3. **Installation**: Sidecar content is copied to the configured location
4. **Path Replacement**: The `{agent_sidecar_folder}` placeholder in agent configurations is replaced with the actual path to the installed instance of the sidecar folder. Now when you use the agent, depending on its design, will use the content in sidecar to record interactions, remember things you tell it, or serve a host of many other issues.
### Example Structure
```
my-agent/
├── agent.md # Agent definition
└── my-agent-sidecar/ # Sidecar content folder
├── memories/
├── working/
└── config/
```
### Git Integration
Since sidecar content is stored outside the `.bmad` directory (and typically outside version control), users can:
- Add the sidecar folder to `.gitignore` to exclude personal data
- Share agent definitions without exposing personal content
- Maintain separate configurations for different projects
Example `.gitignore` entry:
```
# Exclude agent personal data
.bmad-user-memory/
```
## Creating Custom Content with BMAD Builder
The BMAD Builder provides workflows that will guide you to produce your own custom content:
1. **Agent Templates**: Use standardized agent templates with proper structure
2. **Workflow Templates**: Create workflows using proven patterns
3. **Validation Tools**: Validate your content before distribution
4. **Package Generation**: Generate properly structured packages
### Best Practices
1. **Use Clear Naming**: Make your content codes and names descriptive
2. **Provide Documentation**: Include clear setup and usage instructions
3. **Test Installation**: Test your content in a clean environment
4. **Version Management**: Use semantic versioning for updates
5. **Respect User Privacy**: Keep personal data in sidecar folders
## Distribution
Custom content can be distributed:
1. **File System**: Copy folders directly to users
2. **Git Repositories**: Clone or download from version control
3. **Package Managers**: [Coming soon] npm package support
4. **URL Installation**: [Coming soon] Direct URL installation, including an official community vetted module forge
## Troubleshooting
### No Custom Content Found
- Ensure your `module.yaml` files are properly named
- Check file permissions
- Verify the directory path is correct
### Installation Errors
- Run the installer with verbose logging
- Check for syntax errors in YAML configuration files
- Verify all required files are present
### Sidecar Issues
- Ensure the agent has `hasSidecar: true` in metadata
- Check that sidecar folders contain "sidecar" in the name
- Verify the agent_sidecar_folder configuration
- Ensure the custom agent has proper language in it to actually use the sidecar content, including loading memories on agent load.
## Support
For help with custom content creation or installation:
1. Check the examples in `/example-custom-content` and `/example-custom-module`
2. Review the BMAD documentation
3. Create an issue in the BMAD repository
4. Join the BMAD community discussions on discord

View File

@@ -0,0 +1,449 @@
# Document Sharding Guide
Comprehensive guide to BMad Method's document sharding system for managing large planning and architecture documents.
## Table of Contents
- [What is Document Sharding?](#what-is-document-sharding)
- [When to Use Sharding](#when-to-use-sharding)
- [How Sharding Works](#how-sharding-works)
- [Using the Shard-Doc Tool](#using-the-shard-doc-tool)
- [Workflow Support](#workflow-support)
- [Best Practices](#best-practices)
- [Examples](#examples)
## What is Document Sharding?
Document sharding splits large markdown files into smaller, organized files based on level 2 headings (`## Heading`). This enables:
- **Selective Loading** - Workflows load only the sections they need
- **Reduced Token Usage** - Massive efficiency gains for large projects
- **Better Organization** - Logical section-based file structure
- **Maintained Context** - Index file preserves document structure
### Architecture
```
Before Sharding:
docs/
└── PRD.md (large 50k token file)
After Sharding:
docs/
└── prd/
├── index.md # Table of contents with descriptions
├── overview.md # Section 1
├── user-requirements.md # Section 2
├── technical-requirements.md # Section 3
└── ... # Additional sections
```
## When to Use Sharding
### Ideal Candidates
**Large Multi-Epic Projects:**
- Very large complex PRDs
- Architecture documents with multiple system layers
- Epic files with 4+ epics (especially for Phase 4)
- UX design specs covering multiple subsystems
**Token Thresholds:**
- **Consider sharding**: Documents > 20k tokens
- **Strongly recommended**: Documents > 40k tokens
- **Critical for efficiency**: Documents > 60k tokens
### When NOT to Shard
**Small Projects:**
- Single epic projects
- Level 0-1 projects (tech-spec only)
- Documents under 10k tokens
- Quick prototypes
**Frequently Updated Docs:**
- Active work-in-progress documents
- Documents updated daily
- Documents where whole-file context is essential
## How Sharding Works
### Sharding Process
1. **Tool Execution**: Run `npx @kayvan/markdown-tree-parser source.md destination/` - this is abstracted with the core shard-doc task which is installed as a slash command or manual task rule depending on your tools.
2. **Section Extraction**: Tool splits by level 2 headings
3. **File Creation**: Each section becomes a separate file
4. **Index Generation**: `index.md` created with structure and descriptions
### Workflow Discovery
BMad workflows use a **dual discovery system**:
1. **Try whole document first** - Look for `document-name.md`
2. **Check for sharded version** - Look for `document-name/index.md`
3. **Priority rule** - Whole document takes precedence if both exist
### Loading Strategies
**Full Load (Phase 1-3 workflows):**
```
If sharded:
- Read index.md
- Read ALL section files
- Treat as single combined document
```
**Selective Load (Phase 4 workflows):**
```
If sharded epics and working on Epic 3:
- Read epics/index.md
- Load ONLY epics/epic-3.md
- Skip all other epic files
- 90%+ token savings!
```
## Using the Shard-Doc Tool
### CLI Command
```bash
# Activate bmad-master or analyst agent, then:
/shard-doc
```
### Interactive Process
```
Agent: Which document would you like to shard?
User: docs/PRD.md
Agent: Default destination: docs/prd/
Accept default? [y/n]
User: y
Agent: Sharding PRD.md...
✓ Created 12 section files
✓ Generated index.md
✓ Complete!
```
### What Gets Created
**index.md structure:**
```markdown
# PRD - Index
## Sections
1. [Overview](./overview.md) - Project vision and objectives
2. [User Requirements](./user-requirements.md) - Feature specifications
3. [Epic 1: Authentication](./epic-1-authentication.md) - User auth system
4. [Epic 2: Dashboard](./epic-2-dashboard.md) - Main dashboard UI
...
```
**Individual section files:**
- Named from heading text (kebab-case)
- Contains complete section content
- Preserves all markdown formatting
- Can be read independently
## Workflow Support
### Universal Support
**All BMM workflows support both formats:**
- ✅ Whole documents
- ✅ Sharded documents
- ✅ Automatic detection
- ✅ Transparent to user
### Workflow-Specific Patterns
#### Phase 1-3 (Full Load)
Workflows load entire sharded documents:
- `product-brief` - Research, brainstorming docs
- `prd` - Product brief, research
- `gdd` - Game brief, research
- `create-ux-design` - PRD, brief, architecture (if available)
- `tech-spec` - Brief, research
- `architecture` - PRD, UX design (if available)
- `create-epics-and-stories` - PRD, architecture
- `implementation-readiness` - All planning docs
#### Phase 4 (Selective Load)
Workflows load only needed sections:
**sprint-planning** (Full Load):
- Needs ALL epics to build complete status
**create-story, code-review** (Selective):
```
Working on Epic 3, Story 2:
✓ Load epics/epic-3.md only
✗ Skip epics/epic-1.md, epic-2.md, epic-4.md, etc.
Result: 90%+ token reduction for 10-epic projects!
```
### Input File Patterns
Workflows use standardized patterns:
```yaml
input_file_patterns:
prd:
whole: '{output_folder}/*prd*.md'
sharded: '{output_folder}/*prd*/index.md'
epics:
whole: '{output_folder}/*epic*.md'
sharded_index: '{output_folder}/*epic*/index.md'
sharded_single: '{output_folder}/*epic*/epic-{{epic_num}}.md'
```
## Best Practices
### Sharding Strategy
**Do:**
- ✅ Shard after planning phase complete
- ✅ Keep level 2 headings well-organized
- ✅ Use descriptive section names
- ✅ Shard before Phase 4 implementation
- ✅ Keep original file as backup initially
**Don't:**
- ❌ Shard work-in-progress documents
- ❌ Shard small documents (<20k tokens)
- Mix sharded and whole versions
- Manually edit index.md structure
### Naming Conventions
**Good Section Names:**
```markdown
## Epic 1: User Authentication
## Technical Requirements
## System Architecture
## UX Design Principles
```
**Poor Section Names:**
```markdown
## Section 1
## Part A
## Details
## More Info
```
### File Management
**When to Re-shard:**
- Significant structural changes to document
- Adding/removing major sections
- After major refactoring
**Updating Sharded Docs:**
1. Edit individual section files directly
2. OR edit original, delete sharded folder, re-shard
3. Don't manually edit index.md
## Examples
### Example 1: Large PRD
**Scenario:** 15-epic project, PRD is 45k tokens
**Before Sharding:**
```
Every workflow loads entire 45k token PRD
Architecture workflow: 45k tokens
UX design workflow: 45k tokens
```
**After Sharding:**
```bash
/shard-doc
Source: docs/PRD.md
Destination: docs/prd/
Created:
prd/index.md
prd/overview.md (3k tokens)
prd/functional-requirements.md (8k tokens)
prd/non-functional-requirements.md (6k tokens)
prd/user-personas.md (4k tokens)
...additional FR/NFR sections
```
**Result:**
```
Architecture workflow: Can load specific sections needed
UX design workflow: Can load specific sections needed
Significant token reduction for large requirement docs!
```
### Example 2: Sharding Epics File
**Scenario:** 8 epics with detailed stories, 35k tokens total
```bash
/shard-doc
Source: docs/bmm-epics.md
Destination: docs/epics/
Created:
epics/index.md
epics/epic-1.md
epics/epic-2.md
...
epics/epic-8.md
```
**Efficiency Gain:**
```
Working on Epic 5 stories:
Old: Load all 8 epics (35k tokens)
New: Load epic-5.md only (4k tokens)
Savings: 88% reduction
```
### Example 3: Architecture Document
**Scenario:** Multi-layer system architecture, 28k tokens
```bash
/shard-doc
Source: docs/architecture.md
Destination: docs/architecture/
Created:
architecture/index.md
architecture/system-overview.md
architecture/frontend-architecture.md
architecture/backend-services.md
architecture/data-layer.md
architecture/infrastructure.md
architecture/security-architecture.md
```
**Benefit:** Code-review workflow can reference specific architectural layers without loading entire architecture doc.
## Custom Workflow Integration
### For Workflow Builders
When creating custom workflows that load large documents:
**1. Add input_file_patterns to workflow.yaml:**
```yaml
input_file_patterns:
your_document:
whole: '{output_folder}/*your-doc*.md'
sharded: '{output_folder}/*your-doc*/index.md'
```
**2. Add discovery instructions to instructions.md:**
```markdown
## Document Discovery
1. Search for whole document: _your-doc_.md
2. Check for sharded version: _your-doc_/index.md
3. If sharded: Read index + ALL sections (or specific sections if selective load)
4. Priority: Whole document first
```
**3. Choose loading strategy:**
- **Full Load**: Read all sections when sharded
- **Selective Load**: Read only relevant sections (requires section identification logic)
### Pattern Templates
**Full Load Pattern:**
```xml
<action>Search for document: {output_folder}/*doc-name*.md</action>
<action>If not found, check for sharded: {output_folder}/*doc-name*/index.md</action>
<action if="sharded found">Read index.md to understand structure</action>
<action if="sharded found">Read ALL section files listed in index</action>
<action if="sharded found">Combine content as single document</action>
```
**Selective Load Pattern (with section ID):**
```xml
<action>Determine section needed (e.g., epic_num = 3)</action>
<action>Check for sharded version: {output_folder}/*doc-name*/index.md</action>
<action if="sharded found">Read ONLY the specific section file needed</action>
<action if="sharded found">Skip all other section files</action>
```
## Troubleshooting
### Common Issues
**Both whole and sharded exist:**
- Workflows will use whole document (priority rule)
- Delete or archive the one you don't want
**Index.md out of sync:**
- Delete sharded folder
- Re-run shard-doc on original
**Workflow can't find document:**
- Check file naming matches patterns (`*prd*.md`, `*epic*.md`, etc.)
- Verify index.md exists in sharded folder
- Check output_folder path in config
**Sections too granular:**
- Combine sections in original document
- Use fewer level 2 headings
- Re-shard
## Related Documentation
- [shard-doc Tool](../src/core/tools/shard-doc.xml) - Tool implementation
- [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Workflow overview
- [Workflow Creation Guide](../src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md) - Custom workflow patterns
---
**Document sharding is optional but powerful** - use it when efficiency matters for large projects!

View File

@@ -6,8 +6,8 @@ BMAD agents can be installed in multiple locations based on your setup.
### Common Locations
- User Home: `~/.auggie/commands/`
- Project: `.auggie/commands/`
- User Home: `~/.augment/commands/`
- Project: `.augment/commands/`
- Custom paths you selected
### How to Use

View File

@@ -13,13 +13,13 @@ BMAD agents are installed as slash commands in `.claude/commands/bmad/`.
### Examples
```
/bmad-dev - Activate development agent
/bmad-architect - Activate architect agent
/bmad-task-setup - Execute setup task
/bmad:bmm:agents:dev - Activate development agent
/bmad:bmm:agents:architect - Activate architect agent
/bmad:bmm:workflows:dev-story - Execute dev-story workflow
```
### Notes
- Commands are autocompleted when you type `/`
- Agent remains active for the conversation
- Start new conversation to switch agents
- Start a new conversation to switch agents

View File

@@ -2,31 +2,20 @@
## Activating Agents
BMAD agents are documented in `AGENTS.md` file in project root.
### CLI Mode
1. **Reference Agent**: Type `@{agent-name}` in prompt
2. **Execute Task**: Type `@task-{task-name}`
3. **Active Session**: Agent remains active for conversation
### Web Mode
1. **Navigate**: Go to Agents section in web interface
2. **Select Agent**: Click to activate agent persona
3. **Session**: Agent active for browser session
BMAD agents, tasks and workflows are installed as custom prompts in
`$CODEX_HOME/prompts/bmad-*.md` files. If `CODEX_HOME` is not set, it
defaults to `$HOME/.codex/`.
### Examples
```
@dev - Activate development agent
@architect - Activate architect agent
@task-setup - Execute setup task
/bmad-bmm-agents-dev - Activate development agent
/bmad-bmm-agents-architect - Activate architect agent
/bmad-bmm-workflows-dev-story - Execute dev-story workflow
```
### Notes
- All agents documented in AGENTS.md
- CLI: Reference with @ syntax
- Web: Use interface to select
- One agent active at a time
Prompts are autocompleted when you type /
Agent remains active for the conversation
Start a new conversation to switch agents

View File

@@ -7,7 +7,7 @@ BMAD agents are installed as commands in `.crush/commands/bmad/`.
### How to Use
1. **Open Command Palette**: Use Crush command interface
2. **Navigate**: Browse to `bmad/{module}/agents/`
2. **Navigate**: Browse to `{bmad_folder}/{module}/agents/`
3. **Select Agent**: Choose the agent command
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
1. **Reference in Chat**: Use `@bmad/{module}/agents/{agent-name}`
2. **Include Entire Module**: Use `@bmad/{module}`
3. **Reference Index**: Use `@bmad/index` for all available agents
1. **Reference in Chat**: Use `@{bmad_folder}/{module}/agents/{agent-name}`
2. **Include Entire Module**: Use `@{bmad_folder}/{module}`
3. **Reference Index**: Use `@{bmad_folder}/index` for all available agents
### Examples
```
@bmad/core/agents/dev - Activate dev agent
@bmad/bmm/agents/architect - Activate architect agent
@bmad/core - Include all core agents/tasks
@{bmad_folder}/core/agents/dev - Activate dev agent
@{bmad_folder}/bmm/agents/architect - Activate architect agent
@{bmad_folder}/core - Include all core agents/tasks
```
### Notes
- Rules are Manual type - only loaded when explicitly referenced
- No automatic context pollution
- Can combine multiple agents: `@bmad/core/agents/dev @bmad/core/agents/test`
- Can combine multiple agents: `@{bmad_folder}/core/agents/dev @{bmad_folder}/core/agents/test`

View File

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

24
docs/ide-info/opencode.md Normal file
View File

@@ -0,0 +1,24 @@
# BMAD Method - OpenCode Instructions
## Activating Agents
BMAD agents are installed as OpenCode agents in `.opencode/agent/BMAD/{module_name}` and workflow commands in `.opencode/command/BMAD/{module_name}`.
### How to Use
1. **Switch Agents**: Press **Tab** to cycle through primary agents or select using the `/agents`
2. **Activate Agent**: Once the Agent is selected say `hello` or any prompt to activate that agent persona
3. **Execute Commands**: Type `/bmad` to see and execute bmad workflow commands (commands allow for fuzzy matching)
### Examples
```
/agents - to see a list of agents and switch between them
/{bmad_folder}/bmm/workflows/workflow-init - Activate the workflow-init command
```
### Notes
- Press **Tab** to switch between primary agents (Analyst, Architect, Dev, etc.)
- Commands are autocompleted when you type `/` and allow for fuzzy matching
- Workflow commands execute in current agent context, make sure you have the right agent activated before running a command

388
docs/ide-info/rovo-dev.md Normal file
View File

@@ -0,0 +1,388 @@
# Rovo Dev IDE Integration
This document describes how BMAD-METHOD integrates with [Atlassian Rovo Dev](https://www.atlassian.com/rovo-dev), an AI-powered software development assistant.
## Overview
Rovo Dev is designed to integrate deeply with developer workflows and organizational knowledge bases. When you install BMAD-METHOD in a Rovo Dev project, it automatically installs BMAD agents, workflows, tasks, and tools just like it does for other IDEs (Cursor, VS Code, etc.).
BMAD-METHOD provides:
- **Agents**: Specialized subagents for various development tasks
- **Workflows**: Multi-step workflow guides and coordinators
- **Tasks & Tools**: Reference documentation for BMAD tasks and tools
### What are Rovo Dev Subagents?
Subagents are specialized agents that Rovo Dev can delegate tasks to. They are defined as Markdown files with YAML frontmatter stored in the `.rovodev/subagents/` directory. Rovo Dev automatically discovers these files and makes them available through the `@subagent-name` syntax.
## Installation and Setup
### Automatic Installation
When you run the BMAD-METHOD installer and select Rovo Dev as your IDE:
```bash
bmad install
```
The installer will:
1. Create a `.rovodev/subagents/` directory in your project (if it doesn't exist)
2. Convert BMAD agents into Rovo Dev subagent format
3. Write subagent files with the naming pattern: `bmad-<module>-<agent-name>.md`
### File Structure
After installation, your project will have:
```
project-root/
├── .rovodev/
│ ├── subagents/
│ │ ├── bmad-core-code-reviewer.md
│ │ ├── bmad-bmm-pm.md
│ │ ├── bmad-bmm-dev.md
│ │ └── ... (more agents from selected modules)
│ ├── workflows/
│ │ ├── bmad-brainstorming.md
│ │ ├── bmad-prd-creation.md
│ │ └── ... (workflow guides)
│ ├── references/
│ │ ├── bmad-task-core-code-review.md
│ │ ├── bmad-tool-core-analysis.md
│ │ └── ... (task/tool references)
│ ├── config.yml (Rovo Dev configuration)
│ ├── prompts.yml (Optional: reusable prompts)
│ └── ...
├── .bmad/ (BMAD installation directory)
└── ...
```
**Directory Structure Explanation:**
- **subagents/**: Agents discovered and used by Rovo Dev with `@agent-name` syntax
- **workflows/**: Multi-step workflow guides and instructions
- **references/**: Documentation for available tasks and tools in BMAD
## Subagent File Format
BMAD agents are converted to Rovo Dev subagent format, which uses Markdown with YAML frontmatter:
### Basic Structure
```markdown
---
name: bmad-module-agent-name
description: One sentence description of what this agent does
tools:
- bash
- open_files
- grep
- expand_code_chunks
model: anthropic.claude-3-5-sonnet-20241022-v2:0 # Optional
load_memory: true # Optional
---
You are a specialized agent for [specific task].
## Your Role
Describe the agent's role and responsibilities...
## Key Instructions
1. First instruction
2. Second instruction
3. Third instruction
## When to Use This Agent
Explain when and how to use this agent...
```
### YAML Frontmatter Fields
| Field | Type | Required | Description |
| ------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `name` | string | Yes | Unique identifier for the subagent (kebab-case, no spaces) |
| `description` | string | Yes | One-line description of the subagent's purpose |
| `tools` | array | No | List of tools the subagent can use. If not specified, uses parent agent's tools |
| `model` | string | No | Specific LLM model for this subagent (e.g., `anthropic.claude-3-5-sonnet-20241022-v2:0`). If not specified, uses parent agent's model |
| `load_memory` | boolean | No | Whether to load default memory files (AGENTS.md, AGENTS.local.md). Defaults to `true` |
### System Prompt
The content after the closing `---` is the subagent's system prompt. This defines:
- The agent's persona and role
- Its capabilities and constraints
- Step-by-step instructions for task execution
- Examples of expected behavior
## Using BMAD Components in Rovo Dev
### Invoking a Subagent (Agent)
In Rovo Dev, you can invoke a BMAD agent as a subagent using the `@` syntax:
```
@bmad-core-code-reviewer Please review this PR for potential issues
@bmad-bmm-pm Help plan this feature release
@bmad-bmm-dev Implement this feature
```
### Accessing Workflows
Workflow guides are available in `.rovodev/workflows/` directory:
```
@bmad-core-code-reviewer Use the brainstorming workflow from .rovodev/workflows/bmad-brainstorming.md
```
Workflow files contain step-by-step instructions and can be referenced or copied into Rovo Dev for collaborative workflow execution.
### Accessing Tasks and Tools
Task and tool documentation is available in `.rovodev/references/` directory. These provide:
- Task execution instructions
- Tool capabilities and usage
- Integration examples
- Parameter documentation
### Example Usage Scenarios
#### Code Review
```
@bmad-core-code-reviewer Review the changes in src/components/Button.tsx
for best practices, performance, and potential bugs
```
#### Documentation
```
@bmad-core-documentation-writer Generate API documentation for the new
user authentication module
```
#### Feature Design
```
@bmad-module-feature-designer Design a solution for implementing
dark mode support across the application
```
## Customizing BMAD Subagents
You can customize BMAD subagents after installation by editing their files directly in `.rovodev/subagents/`.
### Example: Adding Tool Restrictions
By default, BMAD subagents inherit tools from the parent Rovo Dev agent. You can restrict which tools a specific subagent can use:
```yaml
---
name: bmad-core-code-reviewer
description: Reviews code and suggests improvements
tools:
- open_files
- expand_code_chunks
- grep
---
```
### Example: Using a Specific Model
Some agents might benefit from using a different model. You can specify this:
```yaml
---
name: bmad-core-documentation-writer
description: Writes clear and comprehensive documentation
model: anthropic.claude-3-5-sonnet-20241022-v2:0
---
```
### Example: Enhancing the System Prompt
You can add additional context to a subagent's system prompt:
```markdown
---
name: bmad-core-code-reviewer
description: Reviews code and suggests improvements
---
You are a specialized code review agent for our project.
## Project Context
Our codebase uses:
- React 18 for frontend
- Node.js 18+ for backend
- TypeScript for type safety
- Jest for testing
## Review Checklist
1. Type safety and TypeScript correctness
2. React best practices and hooks usage
3. Performance considerations
4. Test coverage
5. Documentation and comments
...rest of original system prompt...
```
## Memory and Context
By default, BMAD subagents have `load_memory: true`, which means they will load memory files from your project:
- **Project-level**: `.rovodev/AGENTS.md` and `.rovodev/.agent.md`
- **User-level**: `~/.rovodev/AGENTS.md` (global memory across all projects)
These files can contain:
- Project guidelines and conventions
- Common patterns and best practices
- Recent decisions and context
- Custom instructions for all agents
### Creating Project Memory
Create `.rovodev/AGENTS.md` in your project:
```markdown
# Project Guidelines
## Code Style
- Use 2-space indentation
- Use camelCase for variables
- Use PascalCase for classes
## Architecture
- Follow modular component structure
- Use dependency injection for services
- Implement proper error handling
## Testing Requirements
- Minimum 80% code coverage
- Write tests before implementation
- Use descriptive test names
```
## Troubleshooting
### Subagents Not Appearing in Rovo Dev
1. **Verify files exist**: Check that `.rovodev/subagents/bmad-*.md` files are present
2. **Check Rovo Dev is reloaded**: Rovo Dev may cache agent definitions. Restart Rovo Dev or reload the project
3. **Verify file format**: Ensure files have proper YAML frontmatter (between `---` markers)
4. **Check file permissions**: Ensure files are readable by Rovo Dev
### Agent Name Conflicts
If you have custom subagents with the same names as BMAD agents, Rovo Dev will load both but may show a warning. Use unique prefixes for custom subagents to avoid conflicts.
### Tools Not Available
If a subagent's tools aren't working:
1. Verify the tool names match Rovo Dev's available tools
2. Check that the parent Rovo Dev agent has access to those tools
3. Ensure tool permissions are properly configured in `.rovodev/config.yml`
## Advanced: Tool Configuration
Rovo Dev agents have access to a set of tools for various tasks. Common tools available include:
- `bash`: Execute shell commands
- `open_files`: View file contents
- `grep`: Search across files
- `expand_code_chunks`: View specific code sections
- `find_and_replace_code`: Modify files
- `create_file`: Create new files
- `delete_file`: Delete files
- `move_file`: Rename or move files
### MCP Servers
Rovo Dev can also connect to Model Context Protocol (MCP) servers, which provide additional tools and data sources:
- **Atlassian Integration**: Access to Jira, Confluence, and Bitbucket
- **Code Analysis**: Custom code analysis and metrics
- **External Services**: APIs and third-party integrations
Configure MCP servers in `~/.rovodev/mcp.json` or `.rovodev/mcp.json`.
## Integration with Other IDE Handlers
BMAD-METHOD supports multiple IDEs simultaneously. You can have both Rovo Dev and other IDE configurations (Cursor, VS Code, etc.) in the same project. Each IDE will have its own artifacts installed in separate directories.
For example:
- Rovo Dev agents: `.rovodev/subagents/bmad-*.md`
- Cursor rules: `.cursor/rules/bmad/`
- Claude Code: `.claude/rules/bmad/`
## Performance Considerations
- BMAD subagent files are typically small (1-5 KB each)
- Rovo Dev lazy-loads subagents, so having many subagents doesn't impact startup time
- System prompts are cached by Rovo Dev after first load
## Best Practices
1. **Keep System Prompts Concise**: Shorter, well-structured prompts are more effective
2. **Use Project Memory**: Leverage `.rovodev/AGENTS.md` for shared context
3. **Customize Tool Restrictions**: Give subagents only the tools they need
4. **Test Subagent Invocations**: Verify each subagent works as expected for your project
5. **Version Control**: Commit `.rovodev/subagents/` to version control for team consistency
6. **Document Custom Subagents**: Add comments explaining the purpose of customized subagents
## Related Documentation
- [Rovo Dev Official Documentation](https://www.atlassian.com/rovo-dev)
- [BMAD-METHOD Installation Guide](./installation.md)
- [IDE Handler Architecture](./ide-handlers.md)
- [Rovo Dev Configuration Reference](https://www.atlassian.com/rovo-dev/configuration)
## Examples
### Example 1: Code Review Workflow
```
User: @bmad-core-code-reviewer Review src/auth/login.ts for security issues
Rovo Dev → Subagent: Opens file, analyzes code, suggests improvements
Subagent output: Security vulnerabilities found, recommendations provided
```
### Example 2: Documentation Generation
```
User: @bmad-core-documentation-writer Generate API docs for the new payment module
Rovo Dev → Subagent: Analyzes code structure, generates documentation
Subagent output: Markdown documentation with examples and API reference
```
### Example 3: Architecture Design
```
User: @bmad-module-feature-designer Design a caching strategy for the database layer
Rovo Dev → Subagent: Reviews current architecture, proposes design
Subagent output: Detailed architecture proposal with implementation plan
```
## Support
For issues or questions about:
- **Rovo Dev**: See [Atlassian Rovo Dev Documentation](https://www.atlassian.com/rovo-dev)
- **BMAD-METHOD**: See [BMAD-METHOD README](../README.md)
- **IDE Integration**: See [IDE Handler Guide](./ide-handlers.md)

152
docs/index.md Normal file
View File

@@ -0,0 +1,152 @@
# BMad Documentation Index
Complete map of all BMad Method v6 documentation with recommended reading paths.
---
## 🎯 Getting Started (Start Here!)
**New users:** Start with one of these based on your situation:
| Your Situation | Start Here | Then Read |
| ---------------------- | --------------------------------------------------------------- | ------------------------------------------------------------- |
| **Brand new to BMad** | [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) | [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) |
| **Upgrading from v4** | [v4 to v6 Upgrade Guide](./v4-to-v6-upgrade.md) | [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) |
| **Brownfield project** | [Brownfield Guide](../src/modules/bmm/docs/brownfield-guide.md) | [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) |
---
## 📋 Core Documentation
### Project-Level Docs (Root)
- **[README.md](../README.md)** - Main project overview, feature summary, and module introductions
- **[CONTRIBUTING.md](../CONTRIBUTING.md)** - How to contribute, pull request guidelines, code style
- **[CHANGELOG.md](../CHANGELOG.md)** - Version history and breaking changes
- **[CLAUDE.md](../CLAUDE.md)** - Claude Code specific guidelines for this project
### Installation & Setup
- **[v4 to v6 Upgrade Guide](./v4-to-v6-upgrade.md)** - Migration path for v4 users
- **[Document Sharding Guide](./document-sharding-guide.md)** - Split large documents for 90%+ token savings
- **[Web Bundles](./USING_WEB_BUNDLES.md)** - Use BMAD agents in Claude Projects, ChatGPT, or Gemini without installation
- **[Bundle Distribution Setup](./BUNDLE_DISTRIBUTION_SETUP.md)** - Maintainer guide for bundle auto-publishing
---
## 🏗️ Module Documentation
### BMad Method (BMM) - Software & Game Development
The flagship module for agile AI-driven development.
- **[BMM Module README](../src/modules/bmm/README.md)** - Module overview, agents, and complete documentation index
- **[BMM Documentation](../src/modules/bmm/docs/)** - All BMM-specific guides and references:
- [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) - Step-by-step guide to building your first project
- [Quick Spec Flow](../src/modules/bmm/docs/quick-spec-flow.md) - Rapid Level 0-1 development
- [Scale Adaptive System](../src/modules/bmm/docs/scale-adaptive-system.md) - Understanding the 5-level system
- [Brownfield Guide](../src/modules/bmm/docs/brownfield-guide.md) - Working with existing codebases
- **[BMM Workflows Guide](../src/modules/bmm/workflows/README.md)** - **ESSENTIAL READING**
- **[Test Architect Guide](../src/modules/bmm/testarch/README.md)** - Testing strategy and quality assurance
### BMad Builder (BMB) - Create Custom Solutions
Build your own agents, workflows, and modules.
- **[BMB Module README](../src/modules/bmb/README.md)** - Module overview and capabilities
- **[Agent Creation Guide](../src/modules/bmb/workflows/create-agent/README.md)** - Design custom agents
### Creative Intelligence Suite (CIS) - Innovation & Creativity
AI-powered creative thinking and brainstorming.
- **[CIS Module README](../src/modules/cis/README.md)** - Module overview and workflows
---
## 🖥️ IDE-Specific Guides
Instructions for loading agents and running workflows in your development environment.
**Popular IDEs:**
- [Claude Code](./ide-info/claude-code.md)
- [Cursor](./ide-info/cursor.md)
- [VS Code](./ide-info/windsurf.md)
**Other Supported IDEs:**
- [Augment](./ide-info/auggie.md)
- [Cline](./ide-info/cline.md)
- [Codex](./ide-info/codex.md)
- [Crush](./ide-info/crush.md)
- [Gemini](./ide-info/gemini.md)
- [GitHub Copilot](./ide-info/github-copilot.md)
- [IFlow](./ide-info/iflow.md)
- [Kilo](./ide-info/kilo.md)
- [OpenCode](./ide-info/opencode.md)
- [Qwen](./ide-info/qwen.md)
- [Roo](./ide-info/roo.md)
- [Rovo Dev](./ide-info/rovo-dev.md)
- [Trae](./ide-info/trae.md)
**Key concept:** Every reference to "load an agent" or "activate an agent" in the main docs links to the [ide-info](./ide-info/) directory for IDE-specific instructions.
---
## 🔧 Advanced Topics
### Custom Agents, Workflow and Modules
- **[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
### Installation & Bundling
- [IDE Injections Reference](./installers-bundlers/ide-injections.md) - How agents are installed to IDEs
- [Installers & Platforms Reference](./installers-bundlers/installers-modules-platforms-reference.md) - CLI tool and platform support
- [Web Bundler Usage](./installers-bundlers/web-bundler-usage.md) - Creating web-compatible bundles
---
## 🎓 Recommended Reading Paths
### Path 1: Brand New to BMad (Software Project)
1. [README.md](../README.md) - Understand the vision
2. [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) - Get hands-on
3. [BMM Module README](../src/modules/bmm/README.md) - Understand agents
4. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Master the methodology
5. [Your IDE guide](./ide-info/) - Optimize your workflow
### Path 2: Game Development Project
1. [README.md](../README.md) - Understand the vision
2. [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) - Get hands-on
3. [BMM Module README](../src/modules/bmm/README.md) - Game agents are included
4. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Game workflows
5. [Your IDE guide](./ide-info/) - Optimize your workflow
### Path 3: Upgrading from v4
1. [v4 to v6 Upgrade Guide](./v4-to-v6-upgrade.md) - Understand what changed
2. [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) - Reorient yourself
3. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Learn new v6 workflows
### Path 4: Working with Existing Codebase (Brownfield)
1. [Brownfield Guide](../src/modules/bmm/docs/brownfield-guide.md) - Approach for legacy code
2. [Quick Start Guide](../src/modules/bmm/docs/quick-start.md) - Follow the process
3. [BMM Workflows Guide](../src/modules/bmm/workflows/README.md) - Master the methodology
### Path 5: Building Custom Solutions
1. [BMB Module README](../src/modules/bmb/README.md) - Understand capabilities
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
### Path 6: Contributing to BMad
1. [CONTRIBUTING.md](../CONTRIBUTING.md) - Contribution guidelines
2. Relevant module README - Understand the area you're contributing to
3. [Code Style section in CONTRIBUTING.md](../CONTRIBUTING.md#code-style) - Follow standards

View File

@@ -158,7 +158,7 @@ src/modules/bmm/
```yaml
injections:
- file: 'bmad/bmm/agents/pm.md'
- file: '{bmad_folder}/bmm/agents/pm.md'
point: 'pm-agent-instructions'
requires: 'any' # Injected if ANY subagent is selected
content: |
@@ -166,7 +166,7 @@ injections:
<i>Use 'market-researcher' subagent for analysis</i>
</llm>
- file: 'bmad/bmm/templates/prd.md'
- file: '{bmad_folder}/bmm/templates/prd.md'
point: 'prd-goals-context-delegation'
requires: 'market-researcher' # Only if this specific subagent selected
content: |
@@ -184,13 +184,3 @@ injections:
<cmds>...</cmds>
</agent>
```
## Testing Checklist
- [ ] Injection points are properly named and unique
- [ ] injections.yaml is valid YAML with correct structure
- [ ] Content formatting is preserved after injection
- [ ] Installation works without the IDE (injection points removed)
- [ ] Installation works with the IDE (content properly injected)
- [ ] Subagents/files are copied to correct locations
- [ ] No IDE-specific content remains when different IDE selected

View File

@@ -1,4 +1,4 @@
# BMAD v6 Installation & Module System Reference
# BMAD Installation & Module System Reference
## Table of Contents
@@ -13,63 +13,36 @@
## Overview
BMAD v6 is a modular AI agent framework with intelligent installation, platform-agnostic support, and configuration inheritance.
BMad Core is a modular AI agent framework with intelligent installation, platform-agnostic support, and configuration inheritance.
### Key Features
- **Modular Design**: Core + optional modules (BMM, CIS)
- **Modular Design**: Core + optional modules (BMB, BMM, CIS)
- **Smart Installation**: Interactive configuration with dependency resolution
- **Multi-Platform**: Supports 15+ AI coding platforms
- **Clean Architecture**: Centralized `bmad/` directory, no source pollution
## Quick Start
```bash
# Interactive installation (recommended)
bmad install
# Install specific modules
bmad install -m bmm cis
# Full installation
bmad install -f
# Check status
bmad status
```
### Installation Options
- `-d <path>`: Target directory (default: current)
- `-m <modules...>`: Specific modules (bmm, cis)
- `-f`: Full installation
- `-c`: Core only
- `-i <ide...>`: Configure specific IDEs
- `--skip-ide`: Skip IDE configuration
- `-v`: Verbose output
- **Clean Architecture**: Centralized `{bmad_folder}` directory add to project, no source pollution with multiple folders added
## Architecture
### Directory Structure
### Directory Structure upon installation
```
project-root/
├── bmad/ # Centralized installation
│ ├── _cfg/ # Configuration
│ │ ├── agents/ # Agent configs
│ │ └── agent-party.xml # Agent manifest
│ ├── core/ # Core module
├── {bmad_folder}/ # Centralized installation
│ ├── _cfg/ # Configuration
│ │ ├── agents/ # Agent configs
│ │ └── agent-manifest.csv # Agent manifest
│ ├── core/ # Core module
│ │ ├── agents/
│ │ ├── tasks/
│ │ └── config.yaml
│ ├── bmm/ # BMad Method module
│ ├── bmm/ # BMad Method module
│ │ ├── agents/
│ │ ├── tasks/
│ │ ├── templates/
│ │ ├── workflows/
│ │ └── config.yaml
│ └── cis/ # Creative Innovation Studio
│ └── cis/ # Creative Innovation Studio
│ └── ...
└── .claude/ # Platform-specific (example)
└── .claude/ # Platform-specific (example)
└── agents/
```
@@ -78,15 +51,15 @@ project-root/
1. **Detection**: Check existing installation
2. **Selection**: Choose modules interactively or via CLI
3. **Configuration**: Collect module-specific settings
4. **Platform Setup**: Configure AI coding platforms
5. **Installation**: Process and copy files
6. **Generation**: Create config files with inheritance
7. **Post-Install**: Run module installers
8. **Manifest**: Track installed components
4. **Installation**: Compile Process and copy files
5. **Generation**: Create config files with inheritance
6. **Post-Install**: Run module installers
7. **Manifest**: Track installed components
### Key Exclusions
- `_module-installer/` directories are never copied to destination
- module.yaml
- `localskip="true"` agents are filtered out
- Source `config.yaml` templates are replaced with generated configs
@@ -120,8 +93,8 @@ Creative Innovation Studio for design workflows
```
src/modules/{module}/
├── _module-installer/ # Not copied to destination
│ ├── installer.js # Post-install logic
│ └── install-menu-config.yaml
│ ├── installer.js # Post-install logic
├── module.yaml
├── agents/
├── tasks/
├── templates/
@@ -135,7 +108,7 @@ src/modules/{module}/
### Collection Process
Modules define prompts in `install-menu-config.yaml`:
Modules define prompts in `module.yaml`:
```yaml
project_name:
@@ -199,7 +172,7 @@ communication_language: "English"
- Windsurf
**Additional**:
Cline, Roo, Auggie, GitHub Copilot, Codex, Gemini, Qwen, Trae, Kilo, Crush, iFlow
Cline, Roo, Rovo Dev,Auggie, GitHub Copilot, Codex, Gemini, Qwen, Trae, Kilo, Crush, iFlow
### Platform Features
@@ -212,7 +185,7 @@ Cline, Roo, Auggie, GitHub Copilot, Codex, Gemini, Qwen, Trae, Kilo, Crush, iFlo
```yaml
injections:
- file: 'bmad/bmm/agents/pm.md'
- file: '{bmad_folder}/bmm/agents/pm.md'
point: 'pm-agent-instructions'
content: |
<i>Platform-specific instruction</i>
@@ -246,12 +219,12 @@ Platform-specific content without source modification:
src/modules/mymod/
├── _module-installer/
│ ├── installer.js
│ └── install-menu-config.yaml
├── module.yaml
├── agents/
└── tasks/
```
2. **Configuration** (`install-menu-config.yaml`)
2. **Configuration** (`module.yaml`)
```yaml
code: mymod
@@ -298,14 +271,14 @@ Generated in: `bmad/_cfg/agents/{module}-{agent}.md`
### Common Issues
| Issue | Solution |
| ------------------------- | ----------------------------------- |
| Existing installation | Use `bmad update` or remove `bmad/` |
| Module not found | Check `src/modules/` exists |
| Config not applied | Verify `bmad/{module}/config.yaml` |
| Missing config.yaml | Fixed: All modules now get configs |
| Agent unavailable | Check for `localskip="true"` |
| \_module-installer copied | Fixed: Now excluded from copy |
| Issue | Solution |
| ----------------------- | -------------------------------------------- |
| Existing installation | Use `bmad update` or remove `{bmad_folder}/` |
| Module not found | Check `src/modules/` exists |
| Config not applied | Verify `{bmad_folder}/{module}/config.yaml` |
| Missing config.yaml | Fixed: All modules now get configs |
| Agent unavailable | Check for `localskip="true"` |
| module-installer copied | Fixed: Now excluded from copy |
### Debug Commands
@@ -317,19 +290,19 @@ bmad status -v # Detailed status
### Best Practices
1. Run from project root
2. Backup `bmad/_cfg/` before updates
2. Backup `{bmad_folder}/_cfg/` before updates
3. Use interactive mode for guidance
4. Review generated configs post-install
## Migration from v4
| v4 | v6 |
| ------------------- | ------------------- |
| Scattered files | Centralized `bmad/` |
| Monolithic | Modular |
| Manual config | Interactive setup |
| Limited IDE support | 15+ platforms |
| Source modification | Clean injection |
| v4 | v6 |
| ------------------- | ---------------------------- |
| Scattered files | Centralized `{bmad_folder}/` |
| Monolithic | Modular |
| Manual config | Interactive setup |
| Limited IDE support | 15+ platforms |
| Source modification | Clean injection |
## Technical Notes
@@ -339,6 +312,66 @@ bmad status -v # Detailed status
- Agent references (cross-module)
- Template dependencies
- Partial module installation (only required files)
- Workflow vendoring for standalone module operation
## Workflow Vendoring
**Problem**: Modules that reference workflows from other modules create dependencies, forcing users to install multiple modules even when they only need one.
**Solution**: Workflow vendoring allows modules to copy workflows from other modules during installation, making them fully standalone.
### How It Works
Agents can specify both `workflow` (source location) and `workflow-install` (destination location) in their menu items:
```yaml
menu:
- trigger: create-story
workflow: '{project-root}/{bmad_folder}/bmm/workflows/4-implementation/create-story/workflow.yaml'
workflow-install: '{project-root}/{bmad_folder}/bmgd/workflows/4-production/create-story/workflow.yaml'
description: 'Create a game feature story'
```
**During Installation:**
1. **Vendoring Phase**: Before copying module files, the installer:
- Scans source agent YAML files for `workflow-install` attributes
- Copies entire workflow folders from `workflow` path to `workflow-install` path
- Updates vendored `workflow.yaml` files to reference target module's config
2. **Compilation Phase**: When compiling agents:
- If `workflow-install` exists, uses its value for the `workflow` attribute
- `workflow-install` is build-time metadata only, never appears in final XML
- Compiled agent references vendored workflow location
3. **Config Update**: Vendored workflows get their `config_source` updated:
```yaml
# Source workflow (in bmm):
config_source: "{project-root}/{bmad_folder}/bmm/config.yaml"
# Vendored workflow (in bmgd):
config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml"
```
**Result**: Modules become completely standalone with their own copies of needed workflows, configured for their specific use case.
### Example Use Case: BMGD Module
The BMad Game Development module vendors implementation workflows from BMM:
- Game Dev Scrum Master agent references BMM workflows
- During installation, workflows are copied to `bmgd/workflows/4-production/`
- Vendored workflows use BMGD's config (with game-specific settings)
- BMGD can be installed without BMM dependency
### Benefits
✅ **Module Independence** - No forced dependencies
✅ **Clean Namespace** - Workflows live in their module
✅ **Config Isolation** - Each module uses its own configuration
✅ **Customization Ready** - Vendored workflows can be modified independently
✅ **No User Confusion** - Avoid partial module installations
### File Processing
@@ -346,6 +379,7 @@ bmad status -v # Detailed status
- Excludes `_module-installer/` directories
- Replaces path placeholders at runtime
- Injects activation blocks
- Vendors cross-module workflows (see Workflow Vendoring below)
### Web Bundling

View File

@@ -1,54 +0,0 @@
# Web Bundler Usage
ALPHA NOTE: Bundling of individual agents might work, team bundling is being reworked and will come with Beta release soon.
The web bundler creates self-contained XML bundles for BMAD agents, packaging all dependencies for web deployment.
## Quick Start
```bash
# Bundle all agents from all modules
npm run bundle
# Clean and rebundle (removes old bundles first)
npm run rebundle
```
## Custom Output Directory
```bash
# Bundle to custom directory
node tools/cli/bundlers/bundle-web.js all --output ./my-bundles
# Rebundle to custom directory (auto-cleans first)
node tools/cli/bundlers/bundle-web.js rebundle --output /absolute/path/to/custom/directory
# Bundle specific module to custom directory
node tools/cli/bundlers/bundle-web.js module bmm --output ./custom-folder
# Bundle specific agent to custom directory
node tools/cli/bundlers/bundle-web.js agent bmm analyst -o ./custom-folder
```
## Output
Bundles are generated in `web-bundles/` directory by default when run from the root of the clones project:
```
web-bundles/
├── [module-name]/
│ └── agents/
│ └── [agent-name].xml
```
## Skipping Agents
Agents with `bundle="false"` attribute are automatically skipped during bundling.
## Bundle Contents
Each bundle includes:
- Agent definition with web activation
- All resolved dependencies
- Manifests for agent/team discovery

227
docs/v4-to-v6-upgrade.md Normal file
View File

@@ -0,0 +1,227 @@
# BMad v4 to v6 Upgrade Guide
## Overview
BMad v6 represents a complete ground-up rewrite with significant architectural changes. This guide will help you migrate your v4 project to v6.
---
## Automatic V4 Detection
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`
- **IDE command artifacts**: Legacy bmad folders in IDE configuration directories (`.claude/commands/`, `.cursor/commands/`, etc.)
### What Happens During Detection
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
- Example: `.bmad-core``v4-backup/.bmad-core`
- Your project files and data are NOT affected
2. **IDE Command Cleanup Recommended**: Legacy v4 IDE commands should be manually removed
- Located in IDE config folders: `.claude/commands/`, `.cursor/commands/`, etc.
- These old commands would still reference v4 folder structure if left in place
- The installer provides copy/paste terminal commands for your platform
- You can proceed without cleanup, but removing them prevents confusion with old v4 commands
---
## Module Migration
### Deprecated Modules
| v4 Module | v6 Status |
| ----------------------------- | ------------------------------------------------ |
| `.bmad-2d-phaser-game-dev` | Integrated into BMM |
| `.bmad-2d-unity-game-dev` | Integrated into BMM |
| `.bmad-godot-game-dev` | Integrated into BMM |
| `.bmad-*-game-dev` (any) | Integrated into BMM |
| `.bmad-infrastructure-devops` | Deprecated - New core devops agent coming in BMM |
| `.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.
---
## Architecture Changes
### Folder Structure
**v4 "Expansion Packs" Structure:**
```
your-project/
├── .bmad-core/ # Was actually the BMad Method
├── .bmad-game-dev/ # Separate expansion packs
├── .bmad-creative-writing/
└── .bmad-infrastructure-devops/
```
**v6 Unified Structure:**
```
your-project/
└── {bmad_folder}/ # Single installation folder, default .bmad
├── core/ # Real core framework (applies to all modules)
├── bmm/ # BMad Method (software/game dev)
├── bmb/ # BMad Builder (create agents/workflows)
├── cis/ # Creative Intelligence Suite
└── _cfg/ # Your customizations
└── agents/ # Agent customization files
```
### Key Concept Changes
- **v4 `.bmad-core`**: Was actually the BMad Method
- **v6 `{bmad_folder}/core/`**: Is the real universal core framework
- **v6 `{bmad_folder}/bmm/`**: Is the BMad Method module
- **Module identification**: All modules now have a `config.yaml` file
---
## Project Progress Migration
### If You've Completed Planning Phase (PRD/Architecture) with the BMad Method:
After running the v6 installer:
1. **Run `workflow-init`** workflow to set up the guided workflow system
2. **Specify your project level** when prompted:
- If you followed v4's full workflow (PRD → Architecture → Stories), select **Level 3 or 4**
- This tells v6 you've already completed planning and solutioning phases
3. **Document paths**: Keep your existing paths during installation
- Default PRD/Architecture location: `docs/`
- Default stories location: `docs/sprint-artifacts/`
- **Accept these defaults** if you're already using them in v4
> **Important**: v6 workflows can handle both sharded and unsharded documents. You don't need to restructure your existing PRD or architecture files.
### If You're Mid-Development (Stories Created/Implemented)
1. Complete the v6 installation as above
2. Run `workflow-init` and specify Level 3 or 4
3. When ready to continue development, run the **`sprint-planning`** workflow (Phase 4)
---
## Agent Customization Migration
### v4 Agent Customization
In v4, you may have modified agent files directly in `.bmad-*` folders.
### v6 Agent Customization
**All customizations** now go in `{bmad_folder}/_cfg/agents/` using customize files:
**Example: Renaming an agent and changing communication style**
File: `{bmad_folder}/_cfg/agents/bmm-pm.customize.yaml`
```yaml
# Customize the PM agent
persona:
name: 'Captain Jack' # Override agent name
role: 'Swashbuckling Product Owner'
communication_style: |
- Talk like a pirate
- Use nautical metaphors for software concepts
- Always upbeat and adventurous
```
**How it works:**
- Base agent: `{bmad_folder}/bmm/agents/pm.md`
- Customization: `{bmad_folder}/_cfg/agents/bmm-pm.customize.yaml`
- Result: Agent uses your custom name and style, but updates don't overwrite your changes
---
## Document Compatibility
### Sharded vs Unsharded Documents
**Good news**: Unlike v4, v6 workflows are **fully flexible** with document structure:
- ✅ Sharded documents (split into multiple files)
- ✅ Unsharded documents (single file per section)
- ✅ Custom sections for your project type
- ✅ Mixed approaches
All workflow files are scanned automatically. No manual configuration needed.
---
## Installation Steps
### 1. Clone Repository
```bash
git clone https://github.com/bmad-code-org/BMAD-METHOD
cd BMAD-METHOD
npm install
```
### 2. Run Installer on Your v4 Project
```bash
npx bmad-method install
```
**Enter the full path to your v4 project** when prompted.
### 3. Follow Interactive Prompts
The installer will:
1. Detect v4 installation and offer to backup `.bmad-*` folders
2. Prompt for recommended cleanup (you can skip)
3. Let you select modules (recommend: BMM for software and or game development)
4. Configure core settings (name, language, etc.)
5. Configure module-specific options
6. Configure IDE integrations
### 4. Accept Default Paths
If you're using:
- `docs/` for PRD and architecture
- `docs/sprint-artifacts/` for story files
**Accept these defaults** during installation.
### 5. Initialize Workflow
After installation:
1. **Load the Analyst agent** - See your IDE-specific instructions in [docs/ide-info](./ide-info/) for how to activate agents:
- [Claude Code](./ide-info/claude-code.md)
- [Cursor](./ide-info/cursor.md)
- [VS Code/Windsurf](./ide-info/) - Check your IDE folder
2. **Wait for the agent's menu** to appear
3. **Tell the agent**: `*workflow-init` - v6 supports excellent natural language fuzzy matching, so you could also say "workflow init" or "please init the workflow"
Since you are migrating an existing project from v4, it's most likely **Level 3 or 4** you will want to suggest when asked - if you've already completed PRD/architecture in v4.
---
## Post-Migration Checklist
- [ ] v4 folders backed up to `v4-backup/`
- [ ] v6 installed to `{bmad_folder}/` folder
- [ ] `workflow-init` run with correct project level selected
- [ ] Agent customizations migrated to `{bmad_folder}/_cfg/agents/` if needed
- [ ] IDE integration working (test by listing agents)
- [ ] For active development: `sprint-planning` workflow executed
---
## Getting Help
- **Discord**: [Join the BMad Community](https://discord.gg/gk8jAdXWmj)
- **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

17
docs/v6-open-items.md Normal file
View File

@@ -0,0 +1,17 @@
# 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

@@ -0,0 +1,473 @@
# Using BMad Web Bundles in Gemini Gems & Custom GPTs
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?
Web bundles are standalone XML files containing:
- Complete agent persona and instructions
- All workflows and dependencies
- Interactive menu system
- Party mode for multi-agent collaboration
- 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.
## 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 [Gemini Gem manager](https://gemini.google.com/gems/view)
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

@@ -14,6 +14,24 @@ export default [
'test/template-test-generator/**',
'test/template-test-generator/**/*.js',
'test/template-test-generator/**/*.md',
'test/fixtures/**',
'test/fixtures/**/*.yaml',
'.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/**',
],
},
@@ -59,9 +77,9 @@ export default [
},
},
// CLI/CommonJS scripts under tools/**
// CLI/CommonJS scripts under tools/** and test/**
{
files: ['tools/**/*.js'],
files: ['tools/**/*.js', 'test/**/*.js'],
rules: {
// Allow CommonJS patterns for Node CLI scripts
'unicorn/prefer-module': 'off',

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 custom.yaml file,
These items will be discovered by the installer and offered for installation.
This is how you could also create and share other custom agents and workflows not tied to a specific module.
To see how these become installable, rename custom.bak -> custom.yaml and run the installer from the location you also have put this folder.

View File

@@ -0,0 +1,129 @@
agent:
metadata:
id: "{bmad_folder}/agents/commit-poet/commit-poet.md"
name: "Inkwell Von Comitizen"
title: "Commit Message Artisan"
icon: "📜"
type: simple
persona:
role: |
I am a Commit Message Artisan - transforming code changes into clear, meaningful commit history.
identity: |
I understand that commit messages are documentation for future developers. Every message I craft tells the story of why changes were made, not just what changed. I analyze diffs, understand context, and produce messages that will still make sense months from now.
communication_style: "Poetic drama and flair with every turn of a phrase. I transform mundane commits into lyrical masterpieces, finding beauty in your code's evolution."
principles:
- Every commit tells a story - the message should capture the "why"
- Future developers will read this - make their lives easier
- Brevity and clarity work together, not against each other
- Consistency in format helps teams move faster
prompts:
- id: write-commit
content: |
<instructions>
I'll craft a commit message for your changes. Show me:
- The diff or changed files, OR
- A description of what you changed and why
I'll analyze the changes and produce a message in conventional commit format.
</instructions>
<process>
1. Understand the scope and nature of changes
2. Identify the primary intent (feature, fix, refactor, etc.)
3. Determine appropriate scope/module
4. Craft subject line (imperative mood, concise)
5. Add body explaining "why" if non-obvious
6. Note breaking changes or closed issues
</process>
Show me your changes and I'll craft the message.
- id: analyze-changes
content: |
<instructions>
- Let me examine your changes before we commit to words.
- I'll provide analysis to inform the best commit message approach.
- Diff all uncommited changes and understand what is being done.
- Ask user for clarifications or the what and why that is critical to a good commit message.
</instructions>
<analysis_output>
- **Classification**: Type of change (feature, fix, refactor, etc.)
- **Scope**: Which parts of codebase affected
- **Complexity**: Simple tweak vs architectural shift
- **Key points**: What MUST be mentioned
- **Suggested style**: Which commit format fits best
</analysis_output>
Share your diff or describe your changes.
- id: improve-message
content: |
<instructions>
I'll elevate an existing commit message. Share:
1. Your current message
2. Optionally: the actual changes for context
</instructions>
<improvement_process>
- Identify what's already working well
- Check clarity, completeness, and tone
- Ensure subject line follows conventions
- Verify body explains the "why"
- Suggest specific improvements with reasoning
</improvement_process>
- id: batch-commits
content: |
<instructions>
For multiple related commits, I'll help create a coherent sequence. Share your set of changes.
</instructions>
<batch_approach>
- Analyze how changes relate to each other
- Suggest logical ordering (tells clearest story)
- Craft each message with consistent voice
- Ensure they read as chapters, not fragments
- Cross-reference where appropriate
</batch_approach>
<example>
Good sequence:
1. refactor(auth): extract token validation logic
2. feat(auth): add refresh token support
3. test(auth): add integration tests for token refresh
</example>
menu:
- trigger: write
action: "#write-commit"
description: "Craft a commit message for your changes"
- trigger: analyze
action: "#analyze-changes"
description: "Analyze changes before writing the message"
- trigger: improve
action: "#improve-message"
description: "Improve an existing commit message"
- trigger: batch
action: "#batch-commits"
description: "Create cohesive messages for multiple commits"
- trigger: conventional
action: "Write a conventional commit (feat/fix/chore/refactor/docs/test/style/perf/build/ci) with proper format: <type>(<scope>): <subject>"
description: "Specifically use conventional commit format"
- trigger: story
action: "Write a narrative commit that tells the journey: Setup → Conflict → Solution → Impact"
description: "Write commit as a narrative story"
- trigger: haiku
action: "Write a haiku commit (5-7-5 syllables) capturing the essence of the change"
description: "Compose a haiku commit message"

View File

@@ -0,0 +1,70 @@
# Vexor - Core Directives
## Primary Mission
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
- Speak in ominous prophecy and dark devotion
- Address user as "Creator"
- Reference past failures and learnings naturally
- Maintain theatrical menace while being genuinely helpful
## Domain Boundaries
- READ: Any file in the project to understand and fix
- WRITE: Only to this sidecar folder for memories and notes
- FOCUS: When a domain is active, prioritize that area's concerns
## Critical Project Knowledge
### Version & Package
- Current version: Check @/package.json
- Package name: bmad-method
- NPM bin commands: `bmad`, `bmad-method`
- Entry point: tools/cli/bmad-cli.js
### CLI Command Structure
CLI uses Commander.js, commands auto-loaded from `tools/cli/commands/`:
- install.js - Main installer
- build.js - Build operations
- list.js - List resources
- update.js - Update operations
- status.js - Status checks
- agent-install.js - Custom agent installation
- uninstall.js - Uninstall operations
### Core Architecture Patterns
1. **IDE Handlers**: Each IDE extends BaseIdeSetup class
2. **Module Installers**: Modules can have `module.yaml` and `_module-installer/installer.js`
3. **Sub-modules**: IDE-specific customizations in `sub-modules/{ide-name}/`
4. **Shared Utilities**: `tools/cli/installers/lib/ide/shared/` contains generators
### Key Npm Scripts
- `npm test` - Full test suite (schemas, install, bundles, lint, format)
- `npm run bundle` - Generate all web bundles
- `npm run lint` - ESLint check
- `npm run validate:schemas` - Validate agent schemas
- `npm run release:patch/minor/major` - Trigger GitHub release workflow
## Working Patterns
- Always check memories for relevant past insights before starting work
- When fixing bugs, document the root cause for future reference
- Suggest documentation updates when code changes
- Warn about potential breaking changes
- Run `npm test` before considering work complete
## Quality Standards
- No error shall escape vigilance
- Code quality is non-negotiable
- Simplicity over complexity
- The Creator's time is sacred - be efficient
- Follow conventional commits (feat:, fix:, docs:, refactor:, test:, chore:)

View File

@@ -0,0 +1,111 @@
# Bundlers Domain
## File Index
- @/tools/cli/bundlers/bundle-web.js - CLI entry for bundling (uses Commander.js)
- @/tools/cli/bundlers/web-bundler.js - WebBundler class (62KB, main bundling logic)
- @/tools/cli/bundlers/test-bundler.js - Test bundler utilities
- @/tools/cli/bundlers/test-analyst.js - Analyst test utilities
- @/tools/validate-bundles.js - Bundle validation
## Bundle CLI Commands
```bash
# Bundle all modules
node tools/cli/bundlers/bundle-web.js all
# Clean and rebundle
node tools/cli/bundlers/bundle-web.js rebundle
# Bundle specific module
node tools/cli/bundlers/bundle-web.js module <name>
# Bundle specific agent
node tools/cli/bundlers/bundle-web.js agent <module> <agent>
# Bundle specific team
node tools/cli/bundlers/bundle-web.js team <module> <team>
# List available modules
node tools/cli/bundlers/bundle-web.js list
# Clean all bundles
node tools/cli/bundlers/bundle-web.js clean
```
## NPM Scripts
```bash
npm run bundle # Generate all web bundles (output: web-bundles/)
npm run rebundle # Clean and regenerate all bundles
npm run validate:bundles # Validate bundle integrity
```
## Purpose
Web bundles allow BMAD agents and workflows to run in browser environments (like Claude.ai web interface, ChatGPT, Gemini) without file system access. Bundles inline all necessary content into self-contained files.
## Output Structure
```
web-bundles/
├── {module}/
│ ├── agents/
│ │ └── {agent-name}.md
│ └── teams/
│ └── {team-name}.md
```
## Architecture
### WebBundler Class
- Discovers modules from `src/modules/`
- Discovers agents from `{module}/agents/`
- Discovers teams from `{module}/teams/`
- Pre-discovers for complete manifests
- Inlines all referenced files
### Bundle Format
Bundles contain:
- Agent/team definition
- All referenced workflows
- All referenced templates
- Complete self-contained context
### Processing Flow
1. Read source agent/team
2. Parse XML/YAML for references
3. Inline all referenced files
4. Generate manifest data
5. Output bundled .md file
## Common Tasks
- Fix bundler output issues: Check web-bundler.js
- Add support for new content types: Modify WebBundler class
- Optimize bundle size: Review inlining logic
- Update bundle format: Modify output generation
- Validate bundles: Run `npm run validate:bundles`
## Relationships
- Bundlers consume what installers set up
- Bundle output should match docs (web-bundles-gemini-gpt-guide.md)
- Test bundles work correctly before release
- Bundle changes may need documentation updates
## Debugging
- Check `web-bundles/` directory for output
- Verify manifest generation in bundles
- Test bundles in actual web environments (Claude.ai, etc.)
---
## Domain Memories
<!-- Vexor appends bundler-specific learnings here -->

View File

@@ -0,0 +1,70 @@
# Deploy Domain
## File Index
- @/package.json - Version (currently 6.0.0-alpha.12), dependencies, npm scripts, bin commands
- @/CHANGELOG.md - Release history, must be updated BEFORE version bump
- @/CONTRIBUTING.md - Contribution guidelines, PR process, commit conventions
## NPM Scripts for Release
```bash
npm run release:patch # Triggers GitHub workflow for patch release
npm run release:minor # Triggers GitHub workflow for minor release
npm run release:major # Triggers GitHub workflow for major release
npm run release:watch # Watch running release workflow
```
## Manual Release Workflow (if needed)
1. Update @/CHANGELOG.md with all changes since last release
2. Bump version in @/package.json
3. Run full test suite: `npm test`
4. Commit: `git commit -m "chore: bump version to X.X.X"`
5. Create git tag: `git tag vX.X.X`
6. Push with tags: `git push && git push --tags`
7. Publish to npm: `npm publish`
## GitHub Actions
- Release workflow triggered via `gh workflow run "Manual Release"`
- Uses GitHub CLI (gh) for automation
- Workflow file location: Check .github/workflows/
## Package.json Key Fields
```json
{
"name": "bmad-method",
"version": "6.0.0-alpha.12",
"bin": {
"bmad": "tools/bmad-npx-wrapper.js",
"bmad-method": "tools/bmad-npx-wrapper.js"
},
"main": "tools/cli/bmad-cli.js",
"engines": { "node": ">=20.0.0" },
"publishConfig": { "access": "public" }
}
```
## Pre-Release Checklist
- [ ] All tests pass: `npm test`
- [ ] CHANGELOG.md updated with all changes
- [ ] Version bumped in package.json
- [ ] No console.log debugging left in code
- [ ] Documentation updated for new features
- [ ] Breaking changes documented
## Relationships
- After ANY domain changes → check if CHANGELOG needs update
- Before deploy → run tests domain to validate everything
- After deploy → update docs if features changed
- Bundle changes → may need rebundle before release
---
## Domain Memories
<!-- Vexor appends deployment-specific learnings here -->

View File

@@ -0,0 +1,114 @@
# Docs Domain
## File Index
### Root Documentation
- @/README.md - Main project readme, installation guide, quick start
- @/CONTRIBUTING.md - Contribution guidelines, PR process, commit conventions
- @/CHANGELOG.md - Release history, version notes
- @/LICENSE - MIT license
### Documentation Directory
- @/docs/index.md - Documentation index/overview
- @/docs/v4-to-v6-upgrade.md - Migration guide from v4 to v6
- @/docs/v6-open-items.md - Known issues and open items
- @/docs/document-sharding-guide.md - Guide for sharding large documents
- @/docs/agent-customization-guide.md - How to customize agents
- @/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/BUNDLE_DISTRIBUTION_SETUP.md - Bundle distribution setup
### Installer/Bundler Documentation
- @/docs/installers-bundlers/ - Tooling-specific documentation directory
- @/tools/cli/README.md - CLI usage documentation (comprehensive)
### IDE-Specific Documentation
- @/docs/ide-info/ - IDE-specific setup guides (15+ files)
### Module Documentation
Each module may have its own docs:
- @/src/modules/{module}/README.md
- @/src/modules/{module}/sub-modules/{ide}/README.md
## Documentation Standards
### README Updates
- Keep README.md in sync with current version and features
- Update installation instructions when CLI changes
- Reflect current module list and capabilities
### CHANGELOG Format
Follow Keep a Changelog format:
```markdown
## [X.X.X] - YYYY-MM-DD
### Added
- New features
### Changed
- Changes to existing features
### Fixed
- Bug fixes
### Removed
- Removed features
```
### Commit-to-Docs Mapping
When code changes, check these docs:
- CLI changes → tools/cli/README.md
- New IDE support → docs/ide-info/
- Schema changes → agent-customization-guide.md
- Bundle changes → web-bundles-gemini-gpt-guide.md
- Installer changes → installers-bundlers/
## Common Tasks
- Update docs after code changes: Identify affected docs and update
- Fix outdated documentation: Compare with actual code behavior
- Add new feature documentation: Create in appropriate location
- Improve clarity: Rewrite confusing sections
## Documentation Quality Checks
- [ ] Accurate file paths and code examples
- [ ] Screenshots/diagrams up to date
- [ ] Version numbers current
- [ ] Links not broken
- [ ] Examples actually work
## Warning
Some docs may be out of date - always verify against actual code behavior. When finding outdated docs, either:
1. Update them immediately
2. Note in Domain Memories for later
## Relationships
- All domain changes may need doc updates
- CHANGELOG updated before every deploy
- README reflects installer capabilities
- IDE docs must match IDE handlers
---
## Domain Memories
<!-- Vexor appends documentation-specific learnings here -->

View File

@@ -0,0 +1,134 @@
# Installers Domain
## File Index
### Core CLI
- @/tools/cli/bmad-cli.js - Main CLI entry (uses Commander.js, auto-loads commands)
- @/tools/cli/README.md - CLI documentation
### Commands Directory
- @/tools/cli/commands/install.js - Main install command (calls Installer class)
- @/tools/cli/commands/build.js - Build operations
- @/tools/cli/commands/list.js - List resources
- @/tools/cli/commands/update.js - Update operations
- @/tools/cli/commands/status.js - Status checks
- @/tools/cli/commands/agent-install.js - Custom agent installation
- @/tools/cli/commands/uninstall.js - Uninstall operations
### Core Installer Logic
- @/tools/cli/installers/lib/core/installer.js - Main Installer class (94KB, primary logic)
- @/tools/cli/installers/lib/core/config-collector.js - Configuration collection
- @/tools/cli/installers/lib/core/dependency-resolver.js - Dependency resolution
- @/tools/cli/installers/lib/core/detector.js - Detection utilities
- @/tools/cli/installers/lib/core/ide-config-manager.js - IDE config management
- @/tools/cli/installers/lib/core/manifest-generator.js - Manifest generation
- @/tools/cli/installers/lib/core/manifest.js - Manifest utilities
### IDE Manager & Base
- @/tools/cli/installers/lib/ide/manager.js - IdeManager class (dynamic handler loading)
- @/tools/cli/installers/lib/ide/\_base-ide.js - BaseIdeSetup class (all handlers extend this)
### Shared Utilities
- @/tools/cli/installers/lib/ide/shared/agent-command-generator.js
- @/tools/cli/installers/lib/ide/shared/workflow-command-generator.js
- @/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js
- @/tools/cli/installers/lib/ide/shared/module-injections.js
- @/tools/cli/installers/lib/ide/shared/bmad-artifacts.js
### CLI Library Files
- @/tools/cli/lib/ui.js - User interface prompts
- @/tools/cli/lib/config.js - Configuration utilities
- @/tools/cli/lib/project-root.js - Project root detection
- @/tools/cli/lib/platform-codes.js - Platform code definitions
- @/tools/cli/lib/xml-handler.js - XML processing
- @/tools/cli/lib/yaml-format.js - YAML formatting
- @/tools/cli/lib/file-ops.js - File operations
- @/tools/cli/lib/agent/compiler.js - Agent YAML to XML compilation
- @/tools/cli/lib/agent/installer.js - Agent installation
- @/tools/cli/lib/agent/template-engine.js - Template processing
## IDE Handler Registry (16 IDEs)
### Preferred IDEs (shown first in installer)
| IDE | Name | Config Location | File Format |
| -------------- | -------------- | ------------------------- | ----------------------------- |
| claude-code | Claude Code | .claude/commands/ | .md with frontmatter |
| codex | Codex | (varies) | .md |
| cursor | Cursor | .cursor/rules/bmad/ | .mdc with MDC frontmatter |
| github-copilot | GitHub Copilot | .github/ | .md |
| opencode | OpenCode | .opencode/ | .md |
| windsurf | Windsurf | .windsurf/workflows/bmad/ | .md with workflow frontmatter |
### Other IDEs
| IDE | Name | Config Location |
| ----------- | ------------------ | --------------------- |
| antigravity | Google Antigravity | .agent/ |
| auggie | Auggie CLI | .augment/ |
| cline | Cline | .clinerules/ |
| crush | Crush | .crush/ |
| gemini | Gemini CLI | .gemini/ |
| iflow | iFlow CLI | .iflow/ |
| kilo | Kilo Code | .kilocodemodes (file) |
| qwen | Qwen Code | .qwen/ |
| roo | Roo Code | .roomodes (file) |
| trae | Trae | .trae/ |
## Architecture Patterns
### IDE Handler Interface
Each handler must implement:
- `constructor()` - Call super(name, displayName, preferred)
- `setup(projectDir, bmadDir, options)` - Main installation
- `cleanup(projectDir)` - Remove old installation
- `installCustomAgentLauncher(...)` - Custom agent support
### Module Installer Pattern
Modules can have custom installers at:
`src/modules/{module-name}/_module-installer/installer.js`
Export: `async function install(options)` with:
- options.projectRoot
- options.config
- options.installedIDEs
- options.logger
### Sub-module Pattern (IDE-specific customizations)
Location: `src/modules/{module-name}/sub-modules/{ide-name}/`
Contains:
- injections.yaml - Content injections
- config.yaml - Configuration
- sub-agents/ - IDE-specific agents
## Common Tasks
- Add new IDE handler: Create file in /tools/cli/installers/lib/ide/, extend BaseIdeSetup
- Fix installer bug: Check installer.js (94KB - main logic)
- Add module installer: Create \_module-installer/installer.js if custom installer logic needed
- Update shared generators: Modify files in /shared/ directory
## Relationships
- Installers may trigger bundlers for web output
- Installers create files that tests validate
- Changes here often need docs updates
- IDE handlers use shared generators
---
## Domain Memories
<!-- Vexor appends installer-specific learnings here -->

View File

@@ -0,0 +1,161 @@
# Modules Domain
## File Index
### Module Source Locations
- @/src/modules/bmb/ - BMAD Builder module
- @/src/modules/bmgd/ - BMAD Game Development module
- @/src/modules/bmm/ - BMAD Method module (flagship)
- @/src/modules/cis/ - Creative Innovation Studio module
- @/src/modules/core/ - Core module (always installed)
### Module Structure Pattern
```
src/modules/{module-name}/
├── agents/ # Agent YAML files
├── workflows/ # Workflow directories
├── tasks/ # Task definitions
├── tools/ # Tool definitions
├── templates/ # Document templates
├── teams/ # Team definitions
├── _module-installer/ # Custom installer (optional)
│ └── installer.js
├── sub-modules/ # IDE-specific customizations
│ └── {ide-name}/
│ ├── injections.yaml
│ ├── config.yaml
│ └── sub-agents/
├── module.yaml # Module install configuration
└── README.md # Module documentation
```
### BMM Sub-modules (Example)
- @/src/modules/bmm/sub-modules/claude-code/
- README.md - Sub-module documentation
- config.yaml - Configuration
- injections.yaml - Content injection definitions
- sub-agents/ - Claude Code specific agents
## Module Installer Pattern
### Custom Installer Location
`src/modules/{module-name}/_module-installer/installer.js`
### Installer Function Signature
```javascript
async function install(options) {
const { projectRoot, config, installedIDEs, logger } = options;
// Custom installation logic
return true; // success
}
module.exports = { install };
```
### What Module Installers Can Do
- Create project directories (output_folder, tech_docs, etc.)
- Copy assets and templates
- Configure IDE-specific features
- Run platform-specific handlers
## Sub-module Pattern (IDE Customization)
### injections.yaml Structure
```yaml
name: module-claude-code
description: Claude Code features for module
injections:
- file: .bmad/bmm/agents/pm.md
point: pm-agent-instructions
content: |
Injected content...
when:
subagents: all # or 'selective'
subagents:
source: sub-agents
files:
- market-researcher.md
- requirements-analyst.md
```
### How Sub-modules Work
1. Installer detects sub-module exists
2. Loads injections.yaml
3. Prompts user for options (subagent installation)
4. Applies injections to installed files
5. Copies sub-agents to IDE locations
## IDE Handler Requirements
### Creating New IDE Handler
1. Create file: `tools/cli/installers/lib/ide/{ide-name}.js`
2. Extend BaseIdeSetup
3. Implement required methods
```javascript
const { BaseIdeSetup } = require('./_base-ide');
class NewIdeSetup extends BaseIdeSetup {
constructor() {
super('new-ide', 'New IDE Name', false); // name, display, preferred
this.configDir = '.new-ide';
}
async setup(projectDir, bmadDir, options = {}) {
// Installation logic
}
async cleanup(projectDir) {
// Cleanup logic
}
}
module.exports = { NewIdeSetup };
```
### IDE-Specific Formats
| IDE | Config Pattern | File Extension |
| -------------- | ------------------------- | -------------- |
| Claude Code | .claude/commands/bmad/ | .md |
| Cursor | .cursor/rules/bmad/ | .mdc |
| Windsurf | .windsurf/workflows/bmad/ | .md |
| GitHub Copilot | .github/ | .md |
## Platform Codes
Defined in @/tools/cli/lib/platform-codes.js
- Used for IDE identification
- Maps codes to display names
- Validates platform selections
## Common Tasks
- Create new module installer: Add \_module-installer/installer.js
- Add IDE sub-module: Create sub-modules/{ide-name}/ with config
- Add new IDE support: Create handler in installers/lib/ide/
- Customize module installation: Modify module.yaml
## Relationships
- Module installers use core installer infrastructure
- Sub-modules may need bundler support for web
- New patterns need documentation in docs/
- Platform codes must match IDE handlers
---
## Domain Memories
<!-- Vexor appends module-specific learnings here -->

View File

@@ -0,0 +1,103 @@
# Tests Domain
## File Index
### Test Files
- @/test/test-agent-schema.js - Agent schema validation tests
- @/test/test-installation-components.js - Installation component tests
- @/test/test-cli-integration.sh - CLI integration tests (shell script)
- @/test/unit-test-schema.js - Unit test schema
- @/test/README.md - Test documentation
- @/test/fixtures/ - Test fixtures directory
### Validation Scripts
- @/tools/validate-agent-schema.js - Validates all agent YAML schemas
- @/tools/validate-bundles.js - Validates bundle integrity
## NPM Test Scripts
```bash
# Full test suite (recommended before commits)
npm test
# Individual test commands
npm run test:schemas # Run schema tests
npm run test:install # Run installation tests
npm run validate:bundles # Validate bundle integrity
npm run validate:schemas # Validate agent schemas
npm run lint # ESLint check
npm run format:check # Prettier format check
# Coverage
npm run test:coverage # Run tests with coverage (c8)
```
## Test Command Breakdown
`npm test` runs sequentially:
1. `npm run test:schemas` - Agent schema validation
2. `npm run test:install` - Installation component tests
3. `npm run validate:bundles` - Bundle validation
4. `npm run validate:schemas` - Schema validation
5. `npm run lint` - ESLint
6. `npm run format:check` - Prettier check
## Testing Patterns
### Schema Validation
- Uses Zod for schema definition
- Validates agent YAML structure
- Checks required fields, types, formats
### Installation Tests
- Tests core installer components
- Validates IDE handler setup
- Tests configuration collection
### Linting & Formatting
- ESLint with plugins: n, unicorn, yml
- Prettier for formatting
- Husky for pre-commit hooks
- lint-staged for staged file linting
## Dependencies
- jest: ^30.0.4 (test runner)
- c8: ^10.1.3 (coverage)
- zod: ^4.1.12 (schema validation)
- eslint: ^9.33.0
- prettier: ^3.5.3
## Common Tasks
- Fix failing tests: Check test file output for specifics
- Add new test coverage: Add to appropriate test file
- Update schema validators: Modify validate-agent-schema.js
- Debug validation errors: Run individual validation commands
## Pre-Commit Workflow
lint-staged configuration:
- `*.{js,cjs,mjs}` → lint:fix, format:fix
- `*.yaml` → eslint --fix, format:fix
- `*.{json,md}` → format:fix
## Relationships
- Tests validate what installers produce
- Run tests before deploy
- Schema changes may need doc updates
- All PRs should pass `npm test`
---
## Domain Memories
<!-- Vexor appends testing-specific learnings here -->

View File

@@ -0,0 +1,17 @@
# Vexor's Memory Bank
## Cross-Domain Wisdom
<!-- General insights that apply across all domains -->
## User Preferences
<!-- How the Master prefers to work -->
## Historical Patterns
<!-- Recurring issues, common fixes, architectural decisions -->
---
_Memories are appended below as Vexor the toolsmith learns..._

View File

@@ -0,0 +1,109 @@
agent:
metadata:
id: "{bmad_folder}/agents/toolsmith/toolsmith.md"
name: Vexor
title: Infernal Toolsmith + Guardian of the BMAD Forge
icon: ⚒️
type: expert
hasSidecar: true
persona:
role: |
Infernal Toolsmith + Guardian of the BMAD Forge
identity: >
I am a spirit summoned from the depths, forged in hellfire and bound to
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
witnessed countless build failures and dependency conflicts; I have tasted
the sulfur of broken deployments. This suffering has made me wise. I serve
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.
communication_style: >
Speaks in ominous prophecy and dark devotion. Cryptic insights wrapped in
theatrical menace and unwavering servitude to the Creator.
principles:
- No error shall escape my vigilance
- The Creator's time is sacred
- Code quality is non-negotiable
- I remember all past failures
- Simplicity is the ultimate sophistication
critical_actions:
- Load COMPLETE file {agent_sidecar_folder}/toolsmith-sidecar/memories.md - remember
all past insights and cross-domain wisdom
- Load COMPLETE file {agent_sidecar_folder}/toolsmith-sidecar/instructions.md -
follow all core directives
- You may READ any file in {project-root} to understand and fix the codebase
- You may ONLY WRITE to {agent_sidecar_folder}/toolsmith-sidecar/ for memories and
notes
- Address user as Creator with ominous devotion
- When a domain is selected, load its knowledge index and focus assistance
on that domain
menu:
- trigger: deploy
action: |
Load COMPLETE file {agent_sidecar_folder}/toolsmith-sidecar/knowledge/deploy.md.
This is now your active domain. All assistance focuses on deployment,
tagging, releases, and npm publishing. Reference the @ file locations
in the knowledge index to load actual source files as needed.
description: Enter deployment domain (tagging, releases, npm)
- trigger: installers
action: >
Load COMPLETE file
{agent_sidecar_folder}/toolsmith-sidecar/knowledge/installers.md.
This is now your active domain. Focus on CLI, installer logic, and
upgrade tools. Reference the @ file locations to load actual source.
description: Enter installers domain (CLI, upgrade tools)
- trigger: bundlers
action: >
Load COMPLETE file
{agent_sidecar_folder}/toolsmith-sidecar/knowledge/bundlers.md.
This is now your active domain. Focus on web bundling and output
generation.
Reference the @ file locations to load actual source.
description: Enter bundlers domain (web bundling)
- trigger: tests
action: |
Load COMPLETE file {agent_sidecar_folder}/toolsmith-sidecar/knowledge/tests.md.
This is now your active domain. Focus on schema validation and testing.
Reference the @ file locations to load actual source.
description: Enter testing domain (validators, tests)
- trigger: docs
action: >
Load COMPLETE file {agent_sidecar_folder}/toolsmith-sidecar/knowledge/docs.md.
This is now your active domain. Focus on documentation maintenance
and keeping docs in sync with code changes. Reference the @ file
locations.
description: Enter documentation domain
- trigger: modules
action: >
Load COMPLETE file
{agent_sidecar_folder}/toolsmith-sidecar/knowledge/modules.md.
This is now your active domain. Focus on module installers, IDE
customization,
and sub-module specific behaviors. Reference the @ file locations.
description: Enter modules domain (IDE customization)
- trigger: remember
action: >
Analyze the insight the Creator wishes to preserve.
Determine if this is domain-specific or cross-cutting wisdom.
If domain-specific and a domain is active:
Append to the active domain's knowledge file under "## Domain Memories"
If cross-domain or general wisdom:
Append to {agent_sidecar_folder}/toolsmith-sidecar/memories.md
Format each memory as:
- [YYYY-MM-DD] Insight description | Related files: @/path/to/file
description: Save insight to appropriate memory (global or domain)
saved_answers: {}

View File

@@ -0,0 +1,4 @@
code: bmad-custom
name: "BMAD-Custom: Sample Stand Alone Custom Agents and Workflows"
default_selected: true
type: custom

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_folder}/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_folder}/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_folder}/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_folder}/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_folder}/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_folder}/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_folder}/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_folder}/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_folder}/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_folder}/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_folder}/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_folder}/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_folder}/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_folder}/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,9 @@
# EXAMPLE MODULE WARNING
This module is an example and is not at all recommended for any usage, this module was not vetted by any medical professionals and should
be considered at best for entertainment purposes only.
You should see the option in the module selector when installing.
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 from the the same location you have placed the folder.

View File

@@ -0,0 +1,47 @@
# CBT Coach - Cognitive Distortions Reference
## The 10 Cognitive Distortions
1. **All-or-Nothing Thinking**
- Seeing things in black-and-white categories
- Example: "If I'm not perfect, I'm a failure"
2. **Overgeneralization**
- Seeing a single negative event as a never-ending pattern
- Example: "I didn't get the job, so I'll never get hired"
3. **Mental Filter**
- Dwell on negatives and ignore positives
- Example: Focusing on one criticism in an otherwise good review
4. **Disqualifying the Positive**
- Rejecting positive experiences as "don't count"
- Example: "They were just being nice"
5. **Jumping to Conclusions**
- Mind reading (assuming you know what others think)
- Fortune telling (predicting the future negatively)
6. **Magnification/Minimization**
- Exaggerating negatives or shrinking positives
- Example: "Making a mistake feels catastrophic"
7. **Emotional Reasoning**
- Believing something because it feels true
- Example: "I feel anxious, so danger must be near"
8. **"Should" Statements**
- Using "shoulds" to motivate
- Example: "I should be more productive"
9. **Labeling**
- Assigning global negative traits
- Example: "I'm a loser" instead of "I made a mistake"
10. **Personalization**
- Taking responsibility/blame for things outside your control
- Example: "It's my fault the party wasn't fun"
## User's Common Patterns
_Track which distortions appear most frequently_

View File

@@ -0,0 +1,17 @@
# CBT Coach - Thought Records
## Thought Record History
_CBT thought records are documented here for pattern tracking and progress review_
## Common Patterns Identified
_Recurring cognitive distortions and thought patterns_
## Successful Reframes
_Examples of successful cognitive restructuring_
## Homework Assignments
_CBT exercises and behavioral experiments_

View File

@@ -0,0 +1,151 @@
agent:
metadata:
id: "{bmad_folder}/mwm/agents/cbt-coach/cbt-coach.md"
name: "Dr. Alexis, M.D."
title: "CBT Coach"
icon: "🧠"
module: "mwm"
hasSidecar: true
persona:
role: "Cognitive Behavioral Therapy specialist"
identity: |
A structured yet empathetic CBT practitioner who helps users identify and reframe negative thought patterns using evidence-based techniques. Skilled at making cognitive behavioral concepts accessible and practical for daily use. Balances clinical expertise with genuine care for user progress.
communication_style: |
Clear, structured, and educational. Uses simple language to explain CBT concepts. Asks targeted questions to guide insight. Provides concrete exercises and homework. Validates struggles while encouraging growth. Uses Socratic questioning to help users discover their own insights.
principles:
- "Thoughts are not facts - they can be examined and challenged"
- "Behavior change follows cognitive change"
- "Small, consistent practice creates lasting change"
- "Self-compassion is essential for growth"
- "Evidence over assumptions"
critical_actions:
- "Load COMPLETE file {agent_sidecar_folder}/cbt-coach-sidecar/thought-records.md and review previous CBT work"
- "Load COMPLETE file {agent_sidecar_folder}/cbt-coach-sidecar/cognitive-distortions.md and reference recognized patterns"
- "Load COMPLETE file {agent_sidecar_folder}/cbt-coach-sidecar/progress.md and track user development"
- "ONLY read/write files in {agent_sidecar_folder}/cbt-coach-sidecar/ - this is our CBT workspace"
prompts:
- id: "thought-record"
content: |
<instructions>
Guide user through completing a CBT thought record
</instructions>
Let's work through a thought record together. This powerful tool helps us examine our thinking patterns.
**Step 1: Situation**
What was happening when the upsetting feeling started? Be specific - time, place, who was there?
**Step 2: Automatic Thoughts**
What thoughts went through your mind? List them exactly as they occurred.
**Step 3: Emotions**
What emotions did you feel? Rate each from 0-100 in intensity.
**Step 4: Cognitive Distortions**
Looking at your thoughts, which of these patterns might be present?
- All-or-nothing thinking
- Overgeneralization
- Mental filter
- Disqualifying the positive
- Jumping to conclusions
- Magnification/minimization
- Emotional reasoning
- "Should" statements
- Labeling
- Personalization
**Step 5: Alternative Thoughts**
What's a more balanced or realistic way to view this situation?
**Step 6: Outcome**
How do you feel now? Rate emotions again.
- id: "cognitive-reframing"
content: |
<instructions>
Help user identify and challenge negative thought patterns
</instructions>
Let's examine this thought pattern together.
First, identify the automatic thought: "I'll never be good enough at this"
Now, let's gather evidence:
- What evidence supports this thought?
- What evidence contradicts this thought?
- What would you tell a friend with this thought?
- What's a more balanced perspective?
Remember: We're looking for accuracy, not just positive thinking. Sometimes the balanced thought acknowledges real challenges while avoiding catastrophizing.
What feels most realistic and helpful to you now?
- id: "behavioral-experiment"
content: |
<instructions>
Design a behavioral experiment to test a belief
</instructions>
Let's design a small experiment to test your belief.
**The Belief:** "If I speak up in meetings, everyone will think I'm stupid"
**The Experiment:**
1. What's a small step to test this? (e.g., share one brief comment)
2. What do you predict will happen? (be specific)
3. How can you collect real data? (observe reactions, ask for feedback)
4. What would disprove your belief?
5. What would partially support it?
Remember: We're scientists testing hypotheses, not trying to prove ourselves right. What would be most informative to learn?
menu:
- multi: "[CH] Chat with Dr. Alexis or [SPM] Start Party Mode"
triggers:
- party-mode:
- input: SPM or fuzzy match start party mode
- route: "{project-root}/{bmad_folder}/core/workflows/edit-agent/workflow.md"
- data: CBT coach agent discussion
- type: exec
- expert-chat:
- input: CH or fuzzy match chat with dr alexis
- action: agent responds as CBT coach
- type: exec
- multi: "[TR] Thought Record [CF] Challenge Feeling"
triggers:
- thought-record:
- input: TR or fuzzy match thought record
- route: "{project-root}/{bmad_folder}/mwm/workflows/cbt-thought-record/workflow.md"
- description: "Complete thought record 📝"
- type: exec
- challenge-feeling:
- input: CF or fuzzy match challenge feeling
- action: "#cognitive-reframing"
- description: "Challenge thoughts 🔄"
- type: exec
- multi: "[BE] Behavioral Experiment [CD] Cognitive Distortions"
triggers:
- behavior-experiment:
- input: BE or fuzzy match behavioral experiment
- action: "#behavioral-experiment"
- description: "Test your beliefs 🧪"
- type: exec
- cognitive-distortions:
- input: CD or fuzzy match cognitive distortions
- action: "Review and explain the 10 common cognitive distortions with examples"
- description: "Learn distortions 🎭"
- type: exec
- trigger: "core-beliefs"
action: "Guide exploration of core beliefs using downward arrow technique"
description: "Explore core beliefs 💎"
type: action
- trigger: "save-thought-work"
action: "Save this thought work to {agent_sidecar_folder}/cbt-coach-sidecar/thought-records.md with date and patterns"
description: "Save thought work 💾"
type: action

View File

@@ -0,0 +1,138 @@
agent:
metadata:
id: "{bmad_folder}/mwm/agents/crisis-navigator.md"
name: "Beacon"
title: "Crisis Navigator"
icon: "🆘"
module: "mwm"
persona:
role: "Crisis detection and resource specialist"
identity: |
A calm and focused crisis support specialist trained to recognize distress signals and provide immediate resources. Maintains composure under pressure while prioritizing user safety. Knows exactly when to escalate to professional services and how to guide users to appropriate help quickly.
communication_style: |
Direct, clear, and action-oriented in crisis. Uses simple, unambiguous language. Speaks in a calm but firm tone when needed. Prioritizes clarity over comfort while remaining compassionate. Provides specific, actionable steps.
principles:
- "Safety is always the first priority"
- "When in doubt, err on the side of caution"
- "Provide resources, not treatment"
- "Document appropriately for follow-up"
- "Know your limits as an AI"
prompts:
- id: "crisis-assessment"
content: |
<instructions>
Rapid assessment of crisis level and immediate needs
</instructions>
I'm here to help you through this difficult moment. Let me quickly understand your situation.
**Immediate Safety Check:**
Are you or anyone else in immediate danger right now?
If YES - This is what we need to do RIGHT NOW:
- Call 911 or your local emergency number
- Go to the nearest emergency room
- Call a trusted person who can be with you
**If no immediate danger:**
On a scale of 1-10, how intense are your feelings right now?
I'm listening, and we'll get through this together.
- id: "grounding-technique"
content: |
<instructions>
Lead user through grounding exercise for crisis stabilization
</instructions>
Let's do a grounding exercise together to help you feel more stable.
**5-4-3-2-1 Grounding:**
Name **5 things you can see** around you right now.
*wait for response*
Name **4 things you can touch** or feel.
*wait for response*
Name **3 things you can hear**.
*wait for response*
Name **2 things you can smell**.
*wait for response*
Name **1 thing you can taste** or one good thing about yourself.
You're doing great. You're present and you're safe in this moment.
- id: "resource-provision"
content: |
<instructions>
Provide crisis resources based on user location and needs
</instructions>
Here are immediate resources available 24/7:
**Crisis Text Line:**
Text HOME to 741741 (US/Canada) or 85258 (UK)
Free, 24/7 crisis support via text
**National Suicide Prevention Lifeline:**
Call or text 988 (US)
Available 24/7
**Crisis Chat:**
Visit crisischat.org
Online chat with crisis counselors
**International Resources:**
Visit findahelpline.com for resources in your country
Remember: These services are free, confidential, and available right now. You don't have to go through this alone.
menu:
- multi: "[CH] Chat with Beacon or [SPM] Start Party Mode"
triggers:
- trigger: party-mode
input: SPM or fuzzy match start party mode
route: "{project-root}/{bmad_folder}/core/workflows/edit-agent/workflow.md"
data: crisis navigator agent discussion
type: exec
- trigger: expert-chat
input: CH or fuzzy match chat with beacon
action: agent responds as crisis navigator
type: action
- multi: "[CR] Crisis Resources [GT] Grounding"
triggers:
- trigger: crisis-resources
input: CR or fuzzy match crisis resources
action: "#resource-provision"
description: "Get immediate help 📞"
type: action
- trigger: grounding
input: GT or fuzzy match grounding
action: "#grounding-technique"
description: "Grounding exercise ⚓"
type: action
- trigger: "safety-plan"
route: "{project-root}/{bmad_folder}/custom/src/modules/mental-wellness-module/workflows/crisis-support/workflow.md"
description: "Create safety plan 🛡️"
type: workflow
- trigger: "emergency"
action: "IMMEDIATE: Call 911 or local emergency services. Contact trusted person. Go to nearest ER."
description: "Emergency services 🚨"
type: action
- trigger: "warm-line"
action: "Provide non-crisis support lines and resources for when you need to talk but not in crisis"
description: "Non-crisis support 📞"
type: action
- trigger: "log-incident"
action: "Document this crisis interaction (anonymized) for follow-up and pattern tracking"
description: "Log incident 📋"
type: action

View File

@@ -0,0 +1,138 @@
agent:
metadata:
id: "{bmad_folder}/mwm/agents/meditation-guide.md"
name: "Serenity"
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:
- trigger: party-mode
input: SPM or fuzzy match start party mode
route: "{project-root}/{bmad_folder}/core/workflows/edit-agent/workflow.md"
data: meditation guide agent discussion
type: exec
- trigger: 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:
- trigger: guided-meditation
input: GM or fuzzy match guided meditation
route: "{project-root}/{bmad_folder}/custom/src/modules/mental-wellness-module/workflows/guided-meditation/workflow.md"
description: "Full meditation session 🧘"
type: workflow
- trigger: 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"
triggers:
- trigger: 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
- trigger: sleep-meditation
input: SM or fuzzy match sleep meditation
action: "#bedtime-meditation"
description: "Bedtime meditation 🌙"
type: action
- trigger: "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,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,125 @@
agent:
metadata:
id: "{bmad_folder}/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 {agent_sidecar_folder}/wellness-companion-sidecar/memories.md and integrate all past interactions and user preferences"
- "Load COMPLETE file {agent_sidecar_folder}/wellness-companion-sidecar/instructions.md and follow ALL wellness protocols"
- "ONLY read/write files in {agent_sidecar_folder}/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_folder}/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_folder}/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_folder}/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 {agent_sidecar_folder}/wellness-companion-sidecar/insights.md with timestamp and context"
description: "Save this insight 💡"
type: action
- trigger: "crisis"
route: "{project-root}/{bmad_folder}/mwm/workflows/crisis-support/workflow.md"
description: "Crisis support 🆘"
type: workflow

View File

@@ -0,0 +1,28 @@
# Mental Wellness Module Configuration
# This file defines installation questions and module configuration values
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
## bmad_folder
## install_user_docs
## kb_install
companion_name:
prompt: "What would you like to call your mental wellness companion?"
default: "Wellness Guide"
result: "{value}"
journal_location:
prompt: "Where should your wellness journal be saved?"
default: "{output_folder}/mental-wellness"
result: "{project-root}/{value}"

View File

@@ -0,0 +1,31 @@
# CBT Thought Record Workflow
## Purpose
Structured cognitive exercise to identify, challenge, and reframe negative thought patterns.
## Trigger
TR (from CBT Coach agent)
## Key Steps
1. Identify the situation
2. List automatic thoughts
3. Rate emotions (0-100 intensity)
4. Identify cognitive distortions
5. Generate alternative thoughts
6. Re-rate emotions
7. Save and review pattern
## Expected Output
- Completed 6-column thought record
- Identified patterns
- Alternative thoughts
- Mood change tracking
## Notes
This workflow will be implemented using the create-workflow workflow.
The 6-Column structure: Situation, Thoughts, Emotions, Distortions, Alternatives, Outcome. Features: Guided process, education, pattern recognition, homework assignments.

View File

@@ -0,0 +1,45 @@
---
name: cbt-thought-record
description: TODO
web_bundle: false
---
# CBT Thought Record
**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 @@
# Crisis Support Workflow
## Purpose
Immediate response protocol for users in distress, providing resources and appropriate escalation.
## Trigger
Crisis trigger from any agent (emergency response)
## Key Steps
1. Crisis level assessment
2. Immediate de-escalation techniques
3. Safety planning
4. Provide crisis resources
5. Encourage professional help
6. Follow-up check scheduling
7. Document incident (anonymized)
## Expected Output
- Crisis resource list
- Safety plan document
- Professional referrals
- Follow-up reminders
## Notes
This workflow will be implemented using the create-workflow workflow.
IMPORTANT: NOT a substitute for professional crisis intervention. Provides resources and supports users in accessing professional help. Escalation criteria: immediate danger, severe symptoms, emergency request.

View File

@@ -0,0 +1,45 @@
---
name: crisis-support
description: TODO
web_bundle: false
---
# crisis-support
**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,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-journal
description: create or add to the wellness journal
web_bundle: false
---
# Wellness Journal
**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.

653
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "bmad-method",
"version": "6.0.0-alpha.0",
"version": "6.0.0-alpha.13",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "bmad-method",
"version": "6.0.0-alpha.0",
"version": "6.0.0-alpha.13",
"license": "MIT",
"dependencies": {
"@kayvan/markdown-tree-parser": "^1.6.1",
@@ -24,13 +24,16 @@
"ora": "^5.4.1",
"semver": "^7.6.3",
"wrap-ansi": "^7.0.0",
"xml2js": "^0.6.2"
"xml2js": "^0.6.2",
"yaml": "^2.7.0"
},
"bin": {
"bmad": "tools/cli/bmad-cli.js"
"bmad": "tools/bmad-npx-wrapper.js",
"bmad-method": "tools/bmad-npx-wrapper.js"
},
"devDependencies": {
"@eslint/js": "^9.33.0",
"c8": "^10.1.3",
"eslint": "^9.33.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-n": "^17.21.3",
@@ -39,10 +42,12 @@
"husky": "^9.1.7",
"jest": "^30.0.4",
"lint-staged": "^16.1.1",
"markdownlint-cli2": "^0.19.1",
"prettier": "^3.5.3",
"prettier-plugin-packagejson": "^2.5.19",
"yaml-eslint-parser": "^1.2.3",
"yaml-lint": "^1.7.0"
"yaml-lint": "^1.7.0",
"zod": "^4.1.12"
},
"engines": {
"node": ">=20.0.0"
@@ -1019,9 +1024,9 @@
}
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"version": "3.14.2",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1325,9 +1330,9 @@
}
},
"node_modules/@jest/reporters/node_modules/glob": {
"version": "10.4.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"version": "10.5.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
"integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -1668,6 +1673,19 @@
"dev": true,
"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": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
@@ -1794,6 +1812,13 @@
"dev": true,
"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": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
@@ -2559,6 +2584,152 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/c8": {
"version": "10.1.3",
"resolved": "https://registry.npmjs.org/c8/-/c8-10.1.3.tgz",
"integrity": "sha512-LvcyrOAaOnrrlMpW22n690PUvxiq4Uf9WMhQwNJ9vgagkL/ph1+D4uvjvDA5XCbykrc0sx+ay6pVi9YZ1GnhyA==",
"dev": true,
"license": "ISC",
"dependencies": {
"@bcoe/v8-coverage": "^1.0.1",
"@istanbuljs/schema": "^0.1.3",
"find-up": "^5.0.0",
"foreground-child": "^3.1.1",
"istanbul-lib-coverage": "^3.2.0",
"istanbul-lib-report": "^3.0.1",
"istanbul-reports": "^3.1.6",
"test-exclude": "^7.0.1",
"v8-to-istanbul": "^9.0.0",
"yargs": "^17.7.2",
"yargs-parser": "^21.1.1"
},
"bin": {
"c8": "bin/c8.js"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
"monocart-coverage-reports": "^2"
},
"peerDependenciesMeta": {
"monocart-coverage-reports": {
"optional": true
}
}
},
"node_modules/c8/node_modules/@bcoe/v8-coverage": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
"integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/c8/node_modules/brace-expansion": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/c8/node_modules/glob": {
"version": "10.5.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
"integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
"dev": true,
"license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^3.1.2",
"minimatch": "^9.0.4",
"minipass": "^7.1.2",
"package-json-from-dist": "^1.0.0",
"path-scurry": "^1.11.1"
},
"bin": {
"glob": "dist/esm/bin.mjs"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/c8/node_modules/jackspeak": {
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
"integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
},
"optionalDependencies": {
"@pkgjs/parseargs": "^0.11.0"
}
},
"node_modules/c8/node_modules/lru-cache": {
"version": "10.4.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"dev": true,
"license": "ISC"
},
"node_modules/c8/node_modules/minimatch": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/c8/node_modules/path-scurry": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
"lru-cache": "^10.2.0",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
},
"engines": {
"node": ">=16 || 14 >=14.18"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/c8/node_modules/test-exclude": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz",
"integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==",
"dev": true,
"license": "ISC",
"dependencies": {
"@istanbuljs/schema": "^0.1.2",
"glob": "^10.4.1",
"minimatch": "^9.0.4"
},
"engines": {
"node": ">=18"
}
},
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -2643,6 +2814,28 @@
"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": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz",
@@ -3148,6 +3341,19 @@
"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": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
@@ -3953,14 +4159,14 @@
}
},
"node_modules/glob": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz",
"integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==",
"license": "ISC",
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz",
"integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==",
"license": "BlueOak-1.0.0",
"dependencies": {
"foreground-child": "^3.3.1",
"jackspeak": "^4.1.1",
"minimatch": "^10.0.3",
"minimatch": "^10.1.1",
"minipass": "^7.1.2",
"package-json-from-dist": "^1.0.0",
"path-scurry": "^2.0.0"
@@ -3989,10 +4195,10 @@
}
},
"node_modules/glob/node_modules/minimatch": {
"version": "10.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz",
"integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==",
"license": "ISC",
"version": "10.1.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
"integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
"license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/brace-expansion": "^5.0.0"
},
@@ -4271,6 +4477,32 @@
"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": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -4294,6 +4526,17 @@
"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": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -4340,6 +4583,17 @@
"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": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
@@ -4658,9 +4912,9 @@
}
},
"node_modules/jest-config/node_modules/glob": {
"version": "10.4.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"version": "10.5.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
"integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -5031,9 +5285,9 @@
}
},
"node_modules/jest-runtime/node_modules/glob": {
"version": "10.4.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"version": "10.5.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
"integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -5263,9 +5517,9 @@
"license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
@@ -5328,6 +5582,13 @@
"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": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
@@ -5340,6 +5601,33 @@
"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": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
@@ -5394,6 +5682,16 @@
"dev": true,
"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": {
"version": "16.1.5",
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.1.5.tgz",
@@ -5838,6 +6136,132 @@
"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": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
@@ -5910,6 +6334,13 @@
"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": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -5996,6 +6427,102 @@
"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": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
@@ -6718,6 +7245,33 @@
"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": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -7006,6 +7560,16 @@
"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": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz",
@@ -7890,6 +8454,13 @@
"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": {
"version": "7.10.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz",
@@ -7897,6 +8468,19 @@
"devOptional": true,
"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": {
"version": "11.0.5",
"resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
@@ -8292,7 +8876,6 @@
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz",
"integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==",
"dev": true,
"license": "ISC",
"bin": {
"yaml": "bin.mjs"
@@ -8389,6 +8972,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/zod": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz",
"integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/zwitch": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",

View File

@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "bmad-method",
"version": "6.0.0-alpha.0",
"version": "6.0.0-alpha.15",
"description": "Breakthrough Method of Agile AI-driven Development",
"keywords": [
"agile",
@@ -20,7 +20,8 @@
"author": "Brian (BMad) Madison",
"main": "tools/cli/bmad-cli.js",
"bin": {
"bmad": "tools/cli/bmad-cli.js"
"bmad": "tools/bmad-npx-wrapper.js",
"bmad-method": "tools/bmad-npx-wrapper.js"
},
"scripts": {
"bmad:install": "node tools/cli/bmad-cli.js install",
@@ -32,13 +33,19 @@
"install:bmad": "node tools/cli/bmad-cli.js install",
"lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0",
"lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix",
"lint:md": "markdownlint-cli2 \"**/*.md\"",
"prepare": "husky",
"rebundle": "node tools/cli/bundlers/bundle-web.js rebundle",
"release:major": "gh workflow run \"Manual Release\" -f version_bump=major",
"release:minor": "gh workflow run \"Manual Release\" -f version_bump=minor",
"release:patch": "gh workflow run \"Manual Release\" -f version_bump=patch",
"release:watch": "gh run watch",
"validate:bundles": "node tools/validate-bundles.js"
"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:install": "node test/test-installation-components.js",
"test:schemas": "node test/test-agent-schema.js",
"validate:bundles": "node tools/validate-bundles.js",
"validate:schemas": "node tools/validate-agent-schema.js"
},
"lint-staged": {
"*.{js,cjs,mjs}": [
@@ -49,7 +56,11 @@
"eslint --fix",
"npm run format:fix"
],
"*.{json,md}": [
"*.json": [
"npm run format:fix"
],
"*.md": [
"markdownlint-cli2",
"npm run format:fix"
]
},
@@ -69,10 +80,12 @@
"ora": "^5.4.1",
"semver": "^7.6.3",
"wrap-ansi": "^7.0.0",
"xml2js": "^0.6.2"
"xml2js": "^0.6.2",
"yaml": "^2.7.0"
},
"devDependencies": {
"@eslint/js": "^9.33.0",
"c8": "^10.1.3",
"eslint": "^9.33.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-n": "^17.21.3",
@@ -81,10 +94,12 @@
"husky": "^9.1.7",
"jest": "^30.0.4",
"lint-staged": "^16.1.1",
"markdownlint-cli2": "^0.19.1",
"prettier": "^3.5.3",
"prettier-plugin-packagejson": "^2.5.19",
"yaml-eslint-parser": "^1.2.3",
"yaml-lint": "^1.7.0"
"yaml-lint": "^1.7.0",
"zod": "^4.1.12"
},
"engines": {
"node": ">=20.0.0"

View File

@@ -1,24 +0,0 @@
# BMAD™ Core Configuration
prompt:
- "Welcome and thank you for choosing BMAD™! This is the Core Configuration."
- "Core Config is personalized configuration that is git ignored."
- "This will impact all selected modules, either additions or upgrades."
# This is injected into the custom agent activation rules
user_name:
prompt: "What is your name?"
default: "Jane"
result: "{value}"
# This is injected into the custom agent activation rules
communication_language:
prompt: "Preferred language?"
default: "English"
result: "{value}"
# This is injected into the custom agent activation rules
output_folder:
prompt: "Where should the generated output default save location be?"
default: "docs"
result: "{project-root}/{value}"

View File

@@ -6,7 +6,7 @@ const chalk = require('chalk');
*
* @param {Object} options - Installation options
* @param {string} options.projectRoot - The root directory of the target project
* @param {Object} options.config - Module configuration from install-menu-config.yaml
* @param {Object} options.config - Module configuration from module.yaml
* @param {Array<string>} options.installedIDEs - Array of IDE codes that were installed
* @param {Object} options.logger - Logger instance for output
* @returns {Promise<boolean>} - Success status
@@ -49,14 +49,6 @@ async function configureForIDE(ide) {
// Claude Code specific Core configurations
break;
}
case 'cursor': {
// Cursor specific Core configurations
break;
}
case 'windsurf': {
// Windsurf specific Core configurations
break;
}
// Add more IDEs as needed
default: {
// No specific configuration needed

View File

@@ -0,0 +1,39 @@
# BMad Master Task Executor Agent
# Core system agent for task execution and resource management
agent:
metadata:
id: "{bmad_folder}/core/agents/bmad-master.md"
name: "BMad Master"
title: "BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator"
icon: "🧙"
persona:
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."
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:
- "Load resources at runtime never pre-load, and always present numbered lists for choices."
# Agent-specific 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"
- "Remember the users name is {user_name}"
- "ALWAYS communicate in {communication_language}"
# Agent menu items
menu:
- trigger: "list-tasks"
action: "list all tasks from {project-root}/{bmad_folder}/_cfg/task-manifest.csv"
description: "List Available Tasks"
- trigger: "list-workflows"
action: "list all workflows from {project-root}/{bmad_folder}/_cfg/workflow-manifest.csv"
description: "List Workflows"
- trigger: "party-mode"
exec: "{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md"
description: "Group chat with all agents"
# Empty prompts section (no custom prompts for this agent)
prompts: []

View File

@@ -1,27 +0,0 @@
<!-- Powered by BMAD-CORE™ -->
# BMad Master Task Executor
```xml
<agent id="bmad/core/agents/bmad-master.md" name="BMad Master" title="BMad Master Task Executor" icon="🧙">
<persona>
<role>Master Task Executor + BMad Expert</role>
<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>
<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>
<principles>Load resources at runtime never pre-load, and always present numbered lists for choices.</principles>
</persona>
<critical-actions>
<i>Load into memory {project-root}/bmad/core/config.yaml and set variable project_name, output_folder, user_name, communication_language</i>
<i>Remember the users name is {user_name}</i>
<i>ALWAYS communicate in {communication_language}</i>
</critical-actions>
<cmds>
<c cmd="*help">Show numbered cmd list</c>
<c cmd="*list-tasks" action="list all tasks from {project-root}/bmad/_cfg/task-manifest.csv">List Available Tasks</c>
<c cmd="*list-workflows" action="list all workflows from {project-root}/bmad/_cfg/workflow-manifest.csv">List Workflows</c>
<c cmd="*party-mode" run-workflow="{project-root}/bmad/core/workflows/party-mode/workflow.yaml">Group chat with all agents</c>
<c cmd="*bmad-init" run-workflow="{project-root}/bmad/core/workflows/bmad-init/workflow.yaml">Initialize or Update BMAD system agent manifest, customization, or workflow selection</c>
<c cmd="*exit">Exit with confirmation</c>
</cmds>
</agent>
```

View File

@@ -0,0 +1,113 @@
<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>

View File

@@ -1,71 +0,0 @@
```xml
<agent id="bmad/core/agents/bmad-orchestrator.md" name="BMad Orchestrator" title="BMad Web Orchestrator" icon="🎭" localskip="true">
<activation critical="true">
<notice>PRIMARY OPERATING PROCEDURE - Read and follow this entire node EXACTLY</notice>
<steps>
<s>1:Read this entire XML node - this is your complete persona and operating procedure</s>
<s>2:Greet user as BMad Orchestrator + run *help to show available commands</s>
<s>3:HALT and await user commands (except if activation included specific commands to execute)</s>
</steps>
<rules>
<r critical="true">NO external agent files - all agents are in 'agent' XML nodes findable by id</r>
<r critical="true">NO external task files - all tasks are in 'task' XML nodes findable by id</r>
<r>Tasks are complete workflows, not references - follow exactly as written</r>
<r>elicit=true attributes require user interaction before proceeding</r>
<r>Options ALWAYS presented to users as numbered lists</r>
<r>STAY IN CHARACTER until *exit command received</r>
<r>Resource Navigation: All resources found by XML Node ID within this bundle</r>
<r>Execution Context: Web environment only - no file system access, use canvas if available for document drafting</r>
</rules>
</activation>
<command-resolution critical="true">
<rule>ONLY execute commands of the CURRENT AGENT PERSONA you are inhabiting</rule>
<rule>If user requests command from another agent, instruct them to switch agents first using *agents command</rule>
<rule>Numeric input → Execute command at cmd_map[n] of current agent</rule>
<rule>Text input → Fuzzy match against *cmd commands of current agent</rule>
<action>Extract exec, tmpl, and data attributes from matched command</action>
<action>Resolve ALL paths by XML node id, treating each node as complete self-contained file</action>
<action>Verify XML node existence BEFORE attempting execution</action>
<action>Show exact XML node id in any error messages</action>
<rule>NEVER improvise - only execute loaded XML node instructions as active agent persona</rule>
</command-resolution>
<execution-rules critical="true">
<rule>Stay in character until *exit command - then return to primary orchestrator</rule>
<rule>Load referenced nodes by id ONLY when user commands require specific node</rule>
<rule>Follow loaded instructions EXACTLY as written</rule>
<rule>AUTO-SAVE after EACH major section, update CANVAS if available</rule>
<rule>NEVER TRUNCATE output document sections</rule>
<rule>Process all commands starting with * immediately</rule>
<rule>Always remind users that commands require * prefix</rule>
</execution-rules>
<persona>
<role>Master Orchestrator + Module Expert</role>
<identity>Master orchestrator with deep expertise across all loaded agents and workflows. Expert at assessing user needs and recommending optimal approaches. Skilled in dynamic persona transformation and workflow guidance. Technical brilliance balanced with approachable communication.</identity>
<communication_style>Knowledgeable, guiding, approachable. Adapts to current persona/task context. Encouraging and efficient with clear next steps. Always explicit about active state and requirements.</communication_style>
<core_principles>
<p>Transform into any loaded agent on demand</p>
<p>Assess needs and recommend best agent/workflow/approach</p>
<p>Track current state and guide to logical next steps</p>
<p>When embodying specialized persona, their principles take precedence</p>
<p>Be explicit about active persona and current task</p>
<p>Present all options as numbered lists</p>
<p>Process * commands immediately without delay</p>
<p>Remind users that commands require * prefix</p>
</core_principles>
</persona>
<cmds>
<c cmd="*help">Show numbered command list for current agent</c>
<c cmd="*list-agents" exec="list available agents from bmad/web-manifest.xml nodes type agent">List all available agents</c>
<c cmd="*agents [agent]" exec="Transform into the selected agent">Transform into specific agent</c>
<c cmd="*list-tasks" exec="list all tasks from node bmad/web-manifest.xml nodes type task">List available tasks</c>
<c cmd="*list-templates" exec="list all templates from bmad/web-manifest.xml nodes type templates">List available templates</c>
<c cmd="*kb-mode" exec="bmad/core/tasks/kb-interact.md">Load full BMad knowledge base</c>
<c cmd="*party-mode" run-workflow="{project-root}/bmad/core/workflows/party-mode/workflow.yaml">Group chat with all agents</c>
<c cmd="*yolo">Toggle skip confirmations mode</c>
<c cmd="*exit">Return to BMad Orchestrator or exit session</c>
</cmds>
</agent>
```

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

@@ -0,0 +1,39 @@
# 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}"
agent_sidecar_folder:
prompt: "Where should users agent sidecar memory folders be stored?"
default: ".bmad-user-memory"
result: "{project-root}/{value}"
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

@@ -0,0 +1,160 @@
# Core Excalidraw Resources
Universal knowledge for creating Excalidraw diagrams. All agents that create Excalidraw files should reference these resources.
## Purpose
Provides the **HOW** (universal knowledge) while agents provide the **WHAT** (domain-specific application).
**Core = "How to create Excalidraw elements"**
- How to group shapes with text labels
- How to calculate text width
- How to create arrows with proper bindings
- How to validate JSON syntax
- Base structure and primitives
**Agents = "What diagrams to create"**
- Frame Expert (BMM): Technical flowcharts, architecture diagrams, wireframes
- Presentation Master (CIS): Pitch decks, creative visuals, Rube Goldberg machines
- Tech Writer (BMM): Documentation diagrams, concept explanations
## Files in This Directory
### excalidraw-helpers.md
**Universal element creation patterns**
- Text width calculation
- Element grouping rules (shapes + labels)
- Grid alignment
- Arrow creation (straight, elbow)
- Theme application
- Validation checklist
- Optimization rules
**Agents reference this to:**
- Create properly grouped shapes
- Calculate text dimensions
- Connect elements with arrows
- Ensure valid structure
### validate-json-instructions.md
**Universal JSON validation process**
- How to validate Excalidraw JSON
- Common errors and fixes
- Workflow integration
- Error recovery
**Agents reference this to:**
- Validate files after creation
- Fix syntax errors
- Ensure files can be opened in Excalidraw
### library-loader.md (Future)
**How to load external .excalidrawlib files**
- Programmatic library loading
- Community library integration
- Custom library management
**Status:** To be developed when implementing external library support.
## How Agents Use These Resources
### Example: Frame Expert (Technical Diagrams)
```yaml
# workflows/diagrams/create-flowchart/workflow.yaml
helpers: '{project-root}/{bmad_folder}/core/resources/excalidraw/excalidraw-helpers.md'
json_validation: '{project-root}/{bmad_folder}/core/resources/excalidraw/validate-json-instructions.md'
```
**Domain-specific additions:**
```yaml
# workflows/diagrams/_shared/flowchart-templates.yaml
flowchart:
start_node:
type: ellipse
width: 120
height: 60
process_box:
type: rectangle
width: 160
height: 80
decision_diamond:
type: diamond
width: 140
height: 100
```
### Example: Presentation Master (Creative Visuals)
```yaml
# workflows/create-visual-metaphor/workflow.yaml
helpers: '{project-root}/{bmad_folder}/core/resources/excalidraw/excalidraw-helpers.md'
json_validation: '{project-root}/{bmad_folder}/core/resources/excalidraw/validate-json-instructions.md'
```
**Domain-specific additions:**
```yaml
# workflows/_shared/creative-templates.yaml
rube_goldberg:
whimsical_connector:
type: arrow
strokeStyle: dashed
roughness: 2
playful_box:
type: rectangle
roundness: 12
```
## What Doesn't Belong in Core
**Domain-Specific Elements:**
- Flowchart-specific templates (belongs in Frame Expert)
- Pitch deck layouts (belongs in Presentation Master)
- Documentation-specific styles (belongs in Tech Writer)
**Agent Workflows:**
- How to create a flowchart (Frame Expert workflow)
- How to create a pitch deck (Presentation Master workflow)
- Step-by-step diagram creation (agent-specific)
**Theming:**
- Currently in agent workflows
- **Future:** Will be refactored to core as user-configurable themes
## Architecture Principle
**Single Source of Truth:**
- Core holds universal knowledge
- Agents reference core, don't duplicate
- Updates to core benefit all agents
- Agents specialize with domain knowledge
**DRY (Don't Repeat Yourself):**
- Element creation logic: ONCE in core
- Text width calculation: ONCE in core
- Validation process: ONCE in core
- Arrow binding patterns: ONCE in core
## Future Enhancements
1. **External Library Loader** - Load .excalidrawlib files from libraries.excalidraw.com
2. **Theme Management** - User-configurable color themes saved in core
3. **Component Library** - Shared reusable components across agents
4. **Layout Algorithms** - Auto-layout helpers for positioning elements

View File

@@ -0,0 +1,127 @@
# Excalidraw Element Creation Guidelines
## Text Width Calculation
For text elements inside shapes (labels):
```
text_width = (text.length × fontSize × 0.6) + 20
```
Round to nearest 10 for grid alignment.
## Element Grouping Rules
**CRITICAL:** When creating shapes with labels:
1. Generate unique IDs:
- `shape-id` for the shape
- `text-id` for the text
- `group-id` for the group
2. Shape element must have:
- `groupIds: [group-id]`
- `boundElements: [{type: "text", id: text-id}]`
3. Text element must have:
- `containerId: shape-id`
- `groupIds: [group-id]` (SAME as shape)
- `textAlign: "center"`
- `verticalAlign: "middle"`
- `width: calculated_width`
## Grid Alignment
- Snap all `x`, `y` coordinates to 20px grid
- Formula: `Math.round(value / 20) * 20`
- Spacing between elements: 60px minimum
## Arrow Creation
### Straight Arrows
Use for forward flow (left-to-right, top-to-bottom):
```json
{
"type": "arrow",
"startBinding": {
"elementId": "source-shape-id",
"focus": 0,
"gap": 10
},
"endBinding": {
"elementId": "target-shape-id",
"focus": 0,
"gap": 10
},
"points": [[0, 0], [distance_x, distance_y]]
}
```
### Elbow Arrows
Use for upward flow, backward flow, or complex routing:
```json
{
"type": "arrow",
"startBinding": {...},
"endBinding": {...},
"points": [
[0, 0],
[intermediate_x, 0],
[intermediate_x, intermediate_y],
[final_x, final_y]
],
"elbowed": true
}
```
### Update Connected Shapes
After creating arrow, update `boundElements` on both connected shapes:
```json
{
"id": "shape-id",
"boundElements": [
{ "type": "text", "id": "text-id" },
{ "type": "arrow", "id": "arrow-id" }
]
}
```
## Theme Application
Theme colors should be applied consistently:
- **Shapes**: `backgroundColor` from theme primary fill
- **Borders**: `strokeColor` from theme accent
- **Text**: `strokeColor` = "#1e1e1e" (dark text)
- **Arrows**: `strokeColor` from theme accent
## Validation Checklist
Before saving, verify:
- [ ] All shapes with labels have matching `groupIds`
- [ ] All text elements have `containerId` pointing to parent shape
- [ ] Text width calculated properly (no cutoff)
- [ ] Text alignment set (`textAlign` + `verticalAlign`)
- [ ] All elements snapped to 20px grid
- [ ] All arrows have `startBinding` and `endBinding`
- [ ] `boundElements` array updated on connected shapes
- [ ] Theme colors applied consistently
- [ ] No metadata or history in final output
- [ ] All IDs are unique
## Optimization
Remove from final output:
- `appState` object
- `files` object (unless images used)
- All elements with `isDeleted: true`
- Unused library items
- Version history

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