Compare commits

..

595 Commits

Author SHA1 Message Date
Alex Verkhovsky
a63fd0f546 fix: remove empty tasks directories from Claude Code installer
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 04:47:00 -07: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
Brian Madison
30fb0e67e1 analyst command fix 2025-09-30 01:41:09 -05:00
Brian Madison
e1fac26156 all agent bundles working 2025-09-30 01:38:39 -05:00
Brian Madison
acdea01141 web bundling update 2025-09-30 00:45:16 -05:00
Brian Madison
108e4d8eb4 feat: add web activation instructions to bundled agents
- Created agent-activation-web.xml with bundled file access instructions
- Updated web-bundler to inject web activation into all agent bundles
- Agents now understand how to access <file> elements instead of filesystem
- Includes workflow execution instructions for bundled environments
- Generated new web bundles with activation blocks
2025-09-30 00:32:20 -05:00
Brian Madison
688a841127 missed a workflow update 2025-09-30 00:24:27 -05:00
Brian Madison
c26220daec installer and bundler progress 2025-09-30 00:24:27 -05:00
Brian Madison
ae136ceb03 web_bundle info added to workflow yamls 2025-09-30 00:24:27 -05:00
Brian Madison
9934224230 workflows indicate web_bundle file inclusions 2025-09-30 00:24:27 -05:00
Murat K Ozcan
023edd1b7b Merge pull request #657 from bmad-code-org/docs/spot-update-tea
docs: spot update test architect
2025-09-29 19:54:27 -05:00
Murat Ozcan
24b3a42f85 docs: improved tea wording 2025-09-29 17:01:50 -05:00
Murat Ozcan
bf24530ba6 docs: spot update test architect 2025-09-29 16:58:44 -05:00
Murat K Ozcan
9645a8ed0d Docs/update test architect for brian (#655)
Update Docs for TestArch

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
2025-09-29 16:43:20 -05:00
Brian Madison
eb999e8c82 readme updates and open items published 2025-09-29 10:13:22 -05:00
Brian Madison
b97376f8fa simpler install for just the branch suggestion added to readme 2025-09-29 08:32:23 -05:00
Brian Madison
83b09212ca readme installation instruction update 2025-09-29 08:27:48 -05:00
Brian Madison
bd79dd9752 readupme install instruction update 2025-09-29 08:00:30 -05:00
Brian Madison
0a6a3f3015 feat: v6.0.0-alpha.0 - the future is now 2025-09-28 23:17:07 -05:00
lihangmissu
52f6889089 fix: BMAD Brownfield Document Naming Inconsistency Bug (#627) 2025-09-19 18:08:31 -05:00
Javier Gomez
f09e282d72 feat(opencode): add JSON-only integration and compact AGENTS.md generator (#570)
* feat: add OpenCode integration implementation plan for BMAD-METHOD

* installer(opencode): add OpenCode target metadata in install.config.yaml

* chore(deps): add comment-json for JSONC parsing in OpenCode integration

* feat(installer/opencode): implement setupOpenCode with minimal instructions merge and BMAD-managed agents/commands

* feat(installer): add OpenCode (SST) to IDE selector and CLI --ide help

* fix(opencode): align generated opencode.json(c) with schema (instructions as strings; agent.prompt; command.template; remove unsupported fields)

* feat(installer): enhance OpenCode setup with agent selection and prefix options

* fix: update configuration file references from `bmad-core/core-config.yaml` to `.bmad-core/core-config.yaml` across multiple agent and task files for consistency and clarity.

* refactor: streamline OpenCode configuration prompts and normalize instruction paths for agents and tasks

* feat: add tools property to agent definitions for enhanced functionality. Otherwise opencode consders the subagents as readonly

* feat: add extraction of 'whenToUse'  from agents markdown files for improved agent configuration in opencode

* feat: enhance task purpose extraction from markdown files with improved parsing and cleanup logic

* feat: add collision warnings for non-BMAD-managed agent and command keys during setup

* feat: generate and update AGENTS.md for OpenCode integration with agent and task details

* feat: add compact AGENTS.md generator and JSON-only integration for OpenCode

* chore(docs): remove completed OpenCode integration implementation plans

* feat: enable default prefixes for agent and command keys to avoid collisions

* fix: remove unnecessary line breaks in 'whenToUse' descriptions for QA agents to mathc the rest of the agents definitions and improve programatic parsing of whenToUse prop

* fix: update OpenCode references to remove 'SST' for consistency across documentation and configuration

* fix: update agent mode from 'subagent' to 'all' for consistency in agent definitions

* fix: consolidate 'whenToUse' description format for clarity and consistent parsing
2025-09-11 17:44:41 -05:00
Daniel Dabrowski
2b247ea385 fix: Changed title to coding standards section of brownfield architecture template (#564)
* fix: simplify title in coding standards section of brownfield architecture template

* fix: update section titles in brownfield architecture template for clarity
2025-09-09 18:52:03 -05:00
Brian Madison
925099dd8c remove errant command from readme 2025-09-08 19:36:08 -05:00
Daniel Dabrowski
a19561a16c fix: update workflow file extensions from .md to .yaml in bmad-master.md (#562) 2025-09-08 19:34:23 -05:00
Brian Madison
de6c14df07 documentation updates 2025-09-06 18:30:37 -05:00
sjennings
f20d572216 Godot Game Dev expansion pack for BMAD (#532)
* Godot Game Dev expansion pack for BMAD

* Workflow changes

* Workflow changes

* Fixing config.yaml, editing README.md to indicate correct workflow

* Fixing references to config.yaml, adding missing QA review to game-dev agent

* More game story creation fixes

* More game story creation fixes

* Adding built web agent file

* - Adding ability for QA agent to have preloaded context files similar to Dev agent.
- Fixing stray Unity references in game-architecture-tmpl.yaml

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2025-09-06 13:49:21 -05:00
liyuyun-lyy
076c104b2c feat: add iflow cli support to bmad installer. (#510)
* feat: add iflow cli support

* chore: update project dependencies and development tooling (#508)

- Update various direct and transitive project dependencies.
- Remove the circular `bmad-method` self-dependency.
- Upgrade ESLint, Prettier, Jest, and other dev tools.
- Update semantic-release and related GitHub packages.

Co-authored-by: Kayvan Sylvan <kayvan@meanwhile.bm>

* refactor: refactor by format

---------

Co-authored-by: Kayvan Sylvan <kayvan@sylvan.com>
Co-authored-by: Kayvan Sylvan <kayvan@meanwhile.bm>
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-09-06 13:44:48 -05:00
Armel BOBDA
87d68d31fd fix: update .gitignore to correct cursor file entry (#485)
This change modifies the .gitignore file to ensure the cursor file is properly ignored by removing the incorrect entry and adding the correct one. This helps maintain a cleaner repository by preventing unnecessary files from being tracked.

Co-authored-by: Brian <bmadcode@gmail.com>
2025-09-06 13:43:05 -05:00
Drilmo
a05b05cec0 fix: Template file extension in validation next story steps (#523)
Co-authored-by: Brian <bmadcode@gmail.com>
2025-09-06 13:40:30 -05:00
VansonLeung
af36864625 Update ide-setup.js - add missing glob require (#514)
Co-authored-by: Brian <bmadcode@gmail.com>
2025-09-06 13:38:29 -05:00
Yoav Gal
5ae4c51883 added gemini cli custom commands! (#549)
* added gemini cli custom commands!

* improvements and changes post review

* updated bmad to BMad

* removed gemini-extension.json

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2025-09-06 13:19:47 -05:00
Yuewen Ma
ac7f2437f8 Fixed: "glob" is not defined (#504)
Co-authored-by: Brian <bmadcode@gmail.com>
2025-09-06 13:16:10 -05:00
Daniel Dabrowski
94f67000b2 feat: enhance file exclusion capabilities with .bmad-flattenignore support (#531)
- Added support for a new optional `.bmad-flattenignore` file to allow users to specify additional files to exclude from the flattened XML output.
- Updated README and documentation to reflect the new feature and provide examples for usage.
- Modified ignore rules to incorporate patterns from the `.bmad-flattenignore` file after applying `.gitignore` rules.

Benefits:
- Greater flexibility in managing file exclusions for AI model consumption.
2025-09-06 13:14:24 -05:00
Hau Vo
155f9591ea feat: Add Auggie CLI (Augment Code) Integration (#520)
* feat: add Augment Code IDE support with multi-location installation options

- Add Augment Code to supported IDE list in installer CLI and interactive prompts
- Configure multi-location setup for Augment Code commands:
  - User Commands: ~/.augment/commands/bmad/ (global, user-wide)
  - Workspace Commands: ./.augment/commands/bmad/ (project-specific, team-shared)
- Update IDE configuration with proper location handling and tilde expansion
- Add interactive prompt for users to select installation locations
- Update documentation in bmad-kb.md to include Augment Code in supported IDEs
- Implement setupAugmentCode method with location selection and file installation

This enables BMAD Method integration with Augment Code's custom command system,
allowing users to access BMad agents via /agent-name slash commands in both
global and project-specific contexts.

* Added options to choose the rule locations

* Update instruction to match with namespace for commands

* Update instruction to match with namespace for commands

* Renamed Augment Code to Auggie CLI (Augment Code)

---------

Co-authored-by: Hau Vo <hauvo@Haus-Mac-mini.local>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-09-02 12:16:26 -05:00
Mikhail Romanov
6919049eae fix: Codex options missing from the IDE selection menu (#535) 2025-09-02 12:13:00 -05:00
Brian Madison
fbd8f1fd73 Expansion pack doc correction 2025-08-31 22:15:40 -05:00
Brian Madison
384e17ff2b docs: remove misplaced Codex section from README
- Remove IDE-specific Codex documentation from end of README
- This content was oddly placed after the footer
- IDE-specific docs should be in separate documentation
2025-08-31 22:05:29 -05:00
Brian Madison
b9bc196e7f chore: sync version to 4.42.1 after release
- Update package.json to match published npm version
- Update installer package.json to match
2025-08-31 21:57:39 -05:00
Brian Madison
0a6cbd72cc chore: bump version to 4.42.0 for release
- Update main package.json to 4.42.0
- Update installer package.json to 4.42.0
- Add PR validation workflow and contribution checks
- Add pre-release and fix scripts
- Update CONTRIBUTING.md with validation requirements
2025-08-31 21:45:21 -05:00
Brian
e2e8d44e5d test: trigger PR validation (#533)
Co-authored-by: Brian Madison <brianmadison@Brians-MacBook-Pro.local>
2025-08-31 20:34:39 -05:00
Brian Madison
fb70c20067 feat: add PR validation workflow and contribution checks 2025-08-31 20:30:52 -05:00
Jonathan Borgwing
05736fa069 feat(installer): add Codex CLI + Codex Web modes, generate AGENTS.md, inject npm scripts, and docs (#529) 2025-08-31 17:48:03 -05:00
Bragatte
052e84dd4a feat: implement fork-friendly CI/CD with opt-in mechanism (#476)
- CI/CD disabled by default in forks to conserve resources
- Users can enable via ENABLE_CI_IN_FORK repository variable
- Added comprehensive Fork Guide documentation
- Updated README with Contributing section
- Created automation script for future implementations

Benefits:
- Saves GitHub Actions minutes across 1,600+ forks
- Cleaner fork experience for contributors
- Full control for fork owners
- PR validation still runs automatically

BREAKING CHANGE: CI/CD no longer runs automatically in forks.
Fork owners must set ENABLE_CI_IN_FORK=true to enable workflows.

Co-authored-by: Brian <bmadcode@gmail.com>
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-08-30 22:15:31 -05:00
Piatra Automation
f054d68c29 fix: correct dependency path format in bmad-master agent (#495)
- Change 'Dependencies map to root/type/name' to 'Dependencies map to {root}/{type}/{name}'
- Fixes path resolution issue where 'root' was treated as literal directory name
- Ensures proper variable interpolation for dependency file loading
- Resolves agent inability to find core-config.yaml and other project files
2025-08-30 22:14:52 -05:00
Wang-tianhao
44836512e7 Update dev.md (#491)
To avoid AI creating new folder for a new story tasks
2025-08-30 22:10:02 -05:00
Chris Calo
bf97f05190 typo in README.md (#515) 2025-08-26 23:57:41 -05:00
Kayvan Sylvan
a900d28080 chore: update project dependencies and development tooling (#508)
- Update various direct and transitive project dependencies.
- Remove the circular `bmad-method` self-dependency.
- Upgrade ESLint, Prettier, Jest, and other dev tools.
- Update semantic-release and related GitHub packages.

Co-authored-by: Kayvan Sylvan <kayvan@meanwhile.bm>
2025-08-24 21:45:18 -05:00
circus
ab70baca59 fix: remove incorrect else branch causing flatten command regression (#452)
This fixes a regression bug where the flatten command would fail with an
error message even when valid arguments were provided.

The bug was:
- First introduced in commit 0fdbca7
- Fixed in commit fab9d5e (v5.0.0-beta.2)
- Accidentally reintroduced in commit ed53943

The else branch at lines 130-134 was incorrectly handling the case when
users provided arguments, showing a misleading error about
'no arguments provided' when arguments were actually present.

Fixes all flatten command variations:
- npx bmad-method flatten
- npx bmad-method flatten --input /path
- npx bmad-method flatten --output file.xml
- npx bmad-method flatten --input /path --output file.xml

Co-authored-by: Brian <bmadcode@gmail.com>
2025-08-17 22:09:56 -05:00
Brian Madison
80d73d9093 fix: documentation and trademark updates 2025-08-17 19:23:50 -05:00
Brian Madison
f3cc410fb0 patch: move script to tools folder 2025-08-17 11:04:27 -05:00
Brian Madison
868ae23455 fix: previous merge set wrong default install location 2025-08-17 11:01:20 -05:00
Brian Madison
9de873777a fix: prettier fixes 2025-08-17 07:51:46 -05:00
Brian Madison
04c485b72e chore: bump to 4.39.1 to fix installer version display 2025-08-17 07:13:09 -05:00
Brian Madison
68eb31da77 fix: update installer version display to show 4.39.0 2025-08-17 07:12:53 -05:00
Brian Madison
c00d0aec88 chore: rollback to v4.39.0 from v5.x semantic versioning 2025-08-17 07:07:30 -05:00
Brian Madison
6543cb2a97 chore: bump version to 5.1.4 2025-08-17 00:30:15 -05:00
Brian Madison
b6fe44b16e fix: alphabetize agent commands and dependencies for improved organization
- Alphabetized all commands in agent files while maintaining help first and exit last
- Alphabetized all dependency categories (checklists, data, tasks, templates, utils, workflows)
- Alphabetized items within each dependency category across all 10 core agents:
  - analyst.md: commands and dependencies reorganized
  - architect.md: commands and dependencies reorganized
  - bmad-master.md: commands and dependencies reorganized, fixed YAML parsing issue
  - bmad-orchestrator.md: commands and dependencies reorganized
  - dev.md: commands and dependencies reorganized
  - pm.md: commands and dependencies reorganized
  - po.md: commands and dependencies reorganized
  - qa.md: commands and dependencies reorganized
  - sm.md: commands and dependencies reorganized
  - ux-expert.md: commands and dependencies reorganized
- Fixed YAML parsing error in bmad-master.md by properly quoting activation instructions
- Rebuilt all agent bundles and team bundles successfully
- Updated expansion pack bundles including new creative writing agents

This improves consistency and makes it easier to locate specific commands and dependencies
across all agent configurations.
2025-08-17 00:30:04 -05:00
Brian Madison
ac09300075 temporarily remove GCP agent system until it is completed in the experimental branch 2025-08-17 00:06:09 -05:00
DrBalls
b756790c17 Add Creative Writing expansion pack (#414)
* Add Creative Writing expansion pack
- 10 specialized writing agents for fiction and narrative design
- 8 complete workflows (novel, screenplay, short story, series)
- 27 quality checklists for genre and technical validation
- 22 writing tasks covering full creative process
- 8 professional templates for structured writing
- KDP publishing integration support

* Fix bmad-creative-writing expansion pack formatting and structure

- Convert all agents to standard BMAD markdown format with embedded YAML
- Add missing core dependencies (create-doc, advanced-elicitation, execute-checklist)
- Add bmad-kb.md customized for creative writing context
- Fix agent dependency references to only include existing files
- Standardize agent command syntax and activation instructions
- Clean up agent dependencies for beta-reader, dialog-specialist, editor, genre-specialist, narrative-designer, and world-builder

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2025-08-16 23:55:43 -05:00
Anthony
49347a8cde Feat(Expansion Pack): Part 2 - Agent System Templates (#370)
Co-authored-by: Brian <bmadcode@gmail.com>
2025-08-16 23:47:30 -05:00
Brian, with AI
335e1da271 fix: add default current directory to installer prompt (#444)
Previously users had to manually type the full path or run pwd to get
the current directory when installing BMad. Now the installer prefills
the current working directory as the default, improving UX.

Co-authored-by: its-brianwithai <brian@ultrawideturbodev.com>
2025-08-16 22:08:06 -05:00
Brian Madison
6e2fbc6710 docs: add sync-version.sh script to troubleshooting section 2025-08-16 22:03:19 -05:00
Brian Madison
45dd7d1bc5 add: sync-version.sh script for easy version syncing 2025-08-16 22:02:12 -05:00
manjaroblack
db80eda9df refactor: centralize qa paths in core-config.yaml and update agent activation flows (#451)
Co-authored-by: Brian <bmadcode@gmail.com>
2025-08-16 21:38:33 -05:00
Brian Madison
f5272f12e4 sync: update to published version 5.1.3 2025-08-16 21:35:12 -05:00
Brian Madison
26890a0a03 sync: update versions to 5.1.2 to match published release 2025-08-16 21:20:17 -05:00
Brian Madison
cf22fd98f3 fix: correct version to 5.1.1 after patch release
- npm latest tag now correctly points to 5.1.0
- package.json updated to 5.1.1 (what patch should have made)
- installer version synced
2025-08-16 21:10:46 -05:00
Brian Madison
fe318ecc07 sync: update package.json to match published version 5.0.1 2025-08-16 21:09:36 -05:00
Brian Madison
f959a07bda fix: update installer package.json version to 5.1.0
- Fixes version reporting in npx bmad-method --version
- Ensures installer displays correct version number
2025-08-16 21:04:32 -05:00
Brian Madison
c0899432c1 fix: simplify npm publishing to use latest tag only
- Remove stable tag complexity from workflow
- Publish directly to latest tag (default for npx)
- Update documentation to reflect single tag approach
2025-08-16 20:58:22 -05:00
Brian Madison
8573852a6e docs: update versioning and releases documentation
- Replace old semantic-release documentation with new simplified system
- Document command line release workflow (npm run release:*)
- Explain automatic release notes generation and categorization
- Add troubleshooting section and preview functionality
- Reflect current single @stable tag installation approach
2025-08-16 20:50:22 -05:00
Brian Madison
39437e9268 fix: handle protected branch in manual release workflow
- Allow workflow to continue even if push to main fails
- This is expected behavior with protected branches
- NPM publishing and GitHub releases will still work
2025-08-16 20:44:00 -05:00
Brian Madison
1772a30368 fix: enable version bumping in manual release workflow
- Fix version-bump.js to actually update package.json version
- Add tag existence check to prevent duplicate tag errors
- Remove semantic-release dependency from version bumping
2025-08-16 20:42:35 -05:00
Brian Madison
ba4fb4d084 feat: add convenient npm scripts for command line releases
- npm run release:patch/minor/major for triggering releases
- npm run release:watch for monitoring workflow progress
- One-liner workflow: preview:release && release:minor && release:watch
2025-08-16 20:38:58 -05:00
Brian Madison
3eb706c49a feat: enhance manual release workflow with automatic release notes
- Add automatic release notes generation from commit history
- Categorize commits into Features, Bug Fixes, and Maintenance
- Include installation instructions and changelog links
- Add preview-release-notes script for testing
- Update GitHub release creation to use generated notes
2025-08-16 20:35:41 -05:00
Brian Madison
3f5abf347d feat: simplify installation to single @stable tag
- Remove automatic versioning and dual publishing strategy
- Delete release.yaml and promote-to-stable.yaml workflows
- Add manual-release.yaml for controlled releases
- Remove semantic-release dependencies and config
- Update all documentation to use npx bmad-method install
- Configure NPM to publish to @stable tag by default
- Users can now use simple npx bmad-method install command
2025-08-16 20:23:23 -05:00
manjaroblack
ed539432fb chore: add code formatting config and pre-commit hooks (#450) 2025-08-16 19:08:39 -05:00
Brian Madison
51284d6ecf fix: handle existing tags in promote-to-stable workflow
- Check for existing git tags when calculating new version
- Automatically increment version if tag already exists
- Prevents workflow failure when tag v5.1.0 already exists
2025-08-16 17:14:38 -05:00
Brian Madison
6cba05114e fix: stable tag 2025-08-16 17:10:10 -05:00
Murat K Ozcan
ac360cd0bf chore: configure changelog file path in semantic-release config (#448)
Co-authored-by: Murat Ozcan <murat@Murats-MacBook-Pro.local>
2025-08-16 16:27:45 -05:00
manjaroblack
fab9d5e1f5 feat(flattener): prompt for detailed stats; polish .stats.md with emojis (#422)
* feat: add detailed statistics and markdown report generation to flattener tool

* fix: remove redundant error handling for project root detection
2025-08-16 08:03:28 -05:00
Brian Madison
93426c2d2f feat: publish stable release 5.0.0
BREAKING CHANGE: Promote beta features to stable release for v5.0.0

This commit ensures the stable release gets properly published to NPM and GitHub releases.
2025-08-15 23:06:28 -05:00
github-actions[bot]
f56d37a60a release: promote to stable 5.0.0
- Promote beta features to stable release
- Update version from 4.38.0 to 5.0.0
- Automated promotion via GitHub Actions
2025-08-15 23:06:28 -05:00
github-actions[bot]
224cfc05dc release: promote to stable 4.38.0
- Promote beta features to stable release
- Update version from 4.37.0 to 4.38.0
- Automated promotion via GitHub Actions
2025-08-15 23:06:27 -05:00
Brian Madison
6cb2fa68b3 fix: update package-lock.json for semver dependency 2025-08-15 23:06:27 -05:00
Brian Madison
d21ac491a0 release: create stable 4.37.0 release
Promote beta features to stable release with dual publishing support
2025-08-15 23:06:27 -05:00
Thiago Freitas
848e33fdd9 Feature: Installer commands for Crush CLI (#429)
* feat: add support for Crush IDE configuration and commands

* fix: update Crush IDE instructions for clarity on persona/task switching

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2025-08-15 22:38:44 -05:00
Murat K Ozcan
0b61175d98 feat: transform QA agent into Test Architect with advanced quality ca… (#433)
* feat: transform QA agent into Test Architect with advanced quality capabilities

  - Add 6 specialized quality assessment commands
  - Implement risk-based testing with scoring
  - Create quality gate system with deterministic decisions
  - Add comprehensive test design and NFR validation
  - Update documentation with stage-based workflow integration

* feat: transform QA agent into Test Architect with advanced quality capabilities

  - Add 6 specialized quality assessment commands
  - Implement risk-based testing with scoring
  - Create quality gate system with deterministic decisions
  - Add comprehensive test design and NFR validation
  - Update documentation with stage-based workflow integration

* docs: refined the docs for test architect

* fix: addressed review comments from manjaroblack, round 1

* fix: addressed review comments from manjaroblack, round 1

---------

Co-authored-by: Murat Ozcan <murat@mac.lan>
Co-authored-by: Brian <bmadcode@gmail.com>
2025-08-15 21:02:37 -05:00
cecil-the-coder
33269c888d fix: resolve CommonJS import compatibility for chalk, inquirer, and ora (#442)
Adds .default fallback for CommonJS imports to resolve compatibility issues
with newer versions of chalk, inquirer, and ora packages.

Fixes installer failures when error handlers or interactive prompts are triggered.

Changes:
- chalk: require('chalk').default || require('chalk')
- inquirer: require('inquirer').default || require('inquirer')
- ora: require('ora').default || require('ora')

Affects: installer.js, ide-setup.js, file-manager.js, ide-base-setup.js, bmad.js

Co-authored-by: Cecil <cecilthecoder@gmail.com>
2025-08-15 21:01:30 -05:00
Brian Madison
7f016d0020 fix: add permissions and authentication for promotion workflow
- Add contents:write permission for GitHub Actions
- Configure git to use GITHUB_TOKEN for authentication
- Set remote URL with access token for push operations
- This should resolve the 403 permission denied error
2025-08-15 20:25:12 -05:00
Brian Madison
8b0b72b7b4 docs: document dual publishing strategy and automated promotion
- Add comprehensive documentation for dual publishing workflow
- Document GitHub Actions promotion process
- Clarify user experience for stable vs beta installations
- Include step-by-step promotion instructions
2025-08-15 20:18:36 -05:00
Brian Madison
1c3420335b test: trigger beta release to test current workflow
This will create a new beta version that we can then promote to stable using the new automated workflow
2025-08-15 20:17:58 -05:00
Brian Madison
fb02234b59 feat: add automated promotion workflow for stable releases
- Add GitHub Actions workflow for one-click promotion to stable
- Supports patch/minor/major version bumps
- Automatically merges main to stable and handles version updates
- Eliminates manual git operations for stable releases
2025-08-15 20:17:49 -05:00
Brian Madison
e0dcbcf527 fix: update versions for dual publishing beta releases 2025-08-15 20:03:10 -05:00
Brian Madison
75ba8d82e1 feat: republish beta with corrected dependencies and tags 2025-08-15 19:39:35 -05:00
Brian Madison
f3e429d746 feat: trigger new beta release with fixed dependencies
This creates a new beta version that includes the semver dependency fix
2025-08-15 19:38:06 -05:00
Brian Madison
5ceca3aeb9 fix: add semver dependency and correct NPM dist-tag configuration
- Add missing semver dependency to installer package.json
- Configure semantic-release to use correct channels (beta/latest)
- This ensures beta releases publish to @beta tag correctly
2025-08-15 19:33:07 -05:00
Brian Madison
8e324f60b0 fix: remove git plugin to resolve branch protection conflicts
- Beta releases don't need to commit version bumps back to repo
- This allows semantic-release to complete successfully
- NPM publishing will still work for @beta tag
2025-08-15 19:15:55 -05:00
Brian Madison
8a29f0e319 test: verify dual publishing workflow 2025-08-15 19:14:32 -05:00
Brian Madison
d92ba835fa feat: implement dual NPM publishing strategy
- Configure semantic-release for @beta and @latest tags
- Main branch publishes to @beta (bleeding edge)
- Stable branch publishes to @latest (production)
- Enable CI/CD workflow for both branches
2025-08-15 19:03:48 -05:00
Aaron
9868437f10 Add update-check command (#423)
* Add update-check command

* Adding additional information to update-check command and aligning with cli theme

* Correct update-check message to exclude global
2025-08-14 22:24:37 -05:00
Stefan Klümpers
d563266b97 feat: install Cursor rules to subdirectory (#438)
* feat: install Cursor rules to subdirectory

Implement feature request #376 to avoid filename collisions and confusion
between repo-specific and BMAD-specific rules.

Changes:
- Move Cursor rules from .cursor/rules/ to .cursor/rules/bmad/
- Update installer configuration to use new subdirectory structure
- Update upgrader to reflect new rule directory path

This keeps BMAD Method files separate from existing project rules,
reducing chance of conflicts and improving organization.

Fixes #376

* chore: correct formatting in cursor rules directory path

---------

Co-authored-by: Stefan Klümpers <stefan.kluempers@materna.group>
2025-08-14 22:23:44 -05:00
Yongjip Kim
3efcfd54d4 fix(docs): fix broken link in GUIDING-PRINCIPLES.md (#428)
Co-authored-by: Brian <bmadcode@gmail.com>
2025-08-14 13:40:11 -05:00
Benjamin Wiese
31e44b110e Remove bmad-core/bmad-core including empty file (#431)
Co-authored-by: Ben Wiese <benjamin.wiese@simplifier.io>
2025-08-14 13:39:28 -05:00
semantic-release-bot
ffcb4d4bf2 chore(release): 4.36.2 [skip ci]
## [4.36.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.36.1...v4.36.2) (2025-08-10)

### Bug Fixes

* align installer dependencies with root package versions for ESM compatibility ([#420](https://github.com/bmadcode/BMAD-METHOD/issues/420)) ([3f6b674](3f6b67443d))
2025-08-10 14:26:15 +00:00
circus
3f6b67443d fix: align installer dependencies with root package versions for ESM compatibility (#420)
Downgrade chalk, inquirer, and ora in tools/installer to CommonJS-compatible versions:
- chalk: ^5.4.1 -> ^4.1.2
- inquirer: ^12.6.3 -> ^8.2.6
- ora: ^8.2.0 -> ^5.4.1

Resolves 'is not a function' errors caused by ESM/CommonJS incompatibility.
2025-08-10 09:25:46 -05:00
semantic-release-bot
85a0d83fc5 chore(release): 4.36.1 [skip ci]
## [4.36.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.36.0...v4.36.1) (2025-08-09)

### Bug Fixes

* update Node.js version to 20 in release workflow and reduce Discord spam ([3f7e19a](3f7e19a098))
2025-08-09 20:49:42 +00:00
Brian Madison
3f7e19a098 fix: update Node.js version to 20 in release workflow and reduce Discord spam
- Update release workflow Node.js version from 18 to 20 to match package.json requirements
- Remove push trigger from Discord workflow to reduce notification spam

This should resolve the semantic-release content-length header error after org migration.
2025-08-09 15:49:13 -05:00
semantic-release-bot
23df54c955 chore(release): 4.36.0 [skip ci]
# [4.36.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.35.3...v4.36.0) (2025-08-09)

### Features

* modularize flattener tool into separate components with improved project root detection ([#417](https://github.com/bmadcode/BMAD-METHOD/issues/417)) ([0fdbca7](0fdbca73fc))
2025-08-09 20:33:49 +00:00
manjaroblack
0fdbca73fc feat: modularize flattener tool into separate components with improved project root detection (#417) 2025-08-09 15:33:23 -05:00
Daniel Willitzer
5d7d7c9015 Merge pull request #369 from antmikinka/pr/part-1-gcp-setup
Feat(Expansion Pack): Part 1 - Google Cloud Setup
2025-08-08 19:23:48 -07:00
Brian Madison
dd2b4ed5ac discord PR spam 2025-08-08 20:07:32 -05:00
Lior Assouline
8f40576681 Flatten venv & many other bins dir fix (#408)
* added .venv to ignore list of flattener

* more files pattern to ignore

---------

Co-authored-by: Lior Assouline <Lior.Assouline@harmonicinc.com>
2025-08-08 07:54:47 -05:00
Yanqing Wang
fe86675c5f Update link in README.md (#384) 2025-08-07 07:49:14 -05:00
semantic-release-bot
8211d2daff chore(release): 4.35.3 [skip ci]
## [4.35.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.35.2...v4.35.3) (2025-08-06)

### Bug Fixes

* doc location improvement ([1676f51](1676f5189e))
2025-08-06 05:01:55 +00:00
Brian Madison
1676f5189e fix: doc location improvement 2025-08-06 00:00:26 -05:00
semantic-release-bot
3c3d58939f chore(release): 4.35.2 [skip ci]
## [4.35.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.35.1...v4.35.2) (2025-08-06)

### Bug Fixes

* npx status check ([f7c2a4f](f7c2a4fb6c))
2025-08-06 03:34:49 +00:00
Brian Madison
2d954d3481 merge 2025-08-05 22:34:21 -05:00
Brian Madison
f7c2a4fb6c fix: npx status check 2025-08-05 22:33:47 -05:00
semantic-release-bot
9df28d5313 chore(release): 4.35.1 [skip ci]
## [4.35.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.35.0...v4.35.1) (2025-08-06)

### Bug Fixes

* npx hanging commands ([2cf322e](2cf322ee0d))
2025-08-06 03:22:35 +00:00
Brian Madison
2cf322ee0d fix: npx hanging commands 2025-08-05 22:22:04 -05:00
semantic-release-bot
5dc4043577 chore(release): 4.35.0 [skip ci]
# [4.35.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.34.0...v4.35.0) (2025-08-04)

### Features

* add qwen-code ide support to bmad installer. ([#392](https://github.com/bmadcode/BMAD-METHOD/issues/392)) ([a72b790](a72b790f3b))
2025-08-04 01:24:35 +00:00
Houston Zhang
a72b790f3b feat: add qwen-code ide support to bmad installer. (#392)
Co-authored-by: Djanghao <hstnz>
2025-08-03 20:24:09 -05:00
semantic-release-bot
55f834954f chore(release): 4.34.0 [skip ci]
# [4.34.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.33.1...v4.34.0) (2025-08-03)

### Features

* add KiloCode integration support to BMAD installer ([#390](https://github.com/bmadcode/BMAD-METHOD/issues/390)) ([dcebe91](dcebe91d5e))
2025-08-03 14:50:09 +00:00
Mbosinwa Awunor
dcebe91d5e feat: add KiloCode integration support to BMAD installer (#390) 2025-08-03 09:49:39 -05:00
caseyrubin
ce5b37b628 Update user-guide.md (#378)
Align pre-dev validation cycle with BMad method.
2025-07-30 22:07:19 -05:00
yaksh gandhi
c079c28dc4 Update README.md (#338) 2025-07-28 21:07:24 -05:00
semantic-release-bot
4fc8e752a6 chore(release): 4.33.1 [skip ci]
## [4.33.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.33.0...v4.33.1) (2025-07-29)

### Bug Fixes

* dev agent yaml syntax for develop-story command ([#362](https://github.com/bmadcode/BMAD-METHOD/issues/362)) ([bcb3728](bcb3728f88))
2025-07-29 02:05:28 +00:00
Duane Cilliers
bcb3728f88 fix: dev agent yaml syntax for develop-story command (#362) 2025-07-28 21:05:00 -05:00
semantic-release-bot
f7963cbaa9 chore(release): 4.33.0 [skip ci]
# [4.33.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.32.0...v4.33.0) (2025-07-28)

### Features

* version bump ([e9dd4e7](e9dd4e7beb))
2025-07-28 04:54:52 +00:00
Brian Madison
e9dd4e7beb feat: version bump 2025-07-27 23:54:23 -05:00
manjaroblack
a80ea150f2 eat: enhance flattener tool with improved CLI integration and custom directory support (#372)
* feat(cli): move flatten command to installer and update docs

Refactor the flatten command from tools/cli.js to tools/installer/bin/bmad.js for better integration. Add support for custom input directory and improve error handling. Update documentation in README.md and working-in-the-brownfield.md to reflect new command usage. Also clean up package-lock.json and add it to .gitignore.

* chore: update gitignore and add package-lock.json for installer tool

Remove package-lock.json from root gitignore since it's now needed for the installer tool
Add package-lock.json with dependencies for the bmad-method installer

---------

Co-authored-by: Devin Stagner <devin@blackstag.family>
2025-07-27 18:02:08 -05:00
antmikinka
c7fc5d3606 Feat(Expansion Pack): Part 1 - Google Cloud Setup 2025-07-27 12:26:53 -07:00
semantic-release-bot
a2ddf926e5 chore(release): 4.32.0 [skip ci]
# [4.32.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.31.0...v4.32.0) (2025-07-27)

### Bug Fixes

* Add package-lock.json to fix GitHub Actions dependency resolution ([cce7a75](cce7a758a6))
* GHA fix ([62ccccd](62ccccdc9e))

### Features

* Overhaul and Enhance 2D Unity Game Dev Expansion Pack ([#350](https://github.com/bmadcode/BMAD-METHOD/issues/350)) ([a7038d4](a7038d43d1))
2025-07-27 03:35:50 +00:00
Brian Madison
62ccccdc9e fix: GHA fix 2025-07-26 22:35:23 -05:00
Brian Madison
cce7a758a6 fix: Add package-lock.json to fix GitHub Actions dependency resolution 2025-07-26 14:59:02 -05:00
manjaroblack
5efbff3227 Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.

- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten

npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:

- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.

* docs(bmad-core): update documentation for enhanced workflow and user guide

- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting

* chore: remove unused files and configurations

- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script

* Update package.json

Removed jest as it is not needed.

* Update working-in-the-brownfield.md

added documentation for sharding docs

* perf(flattener): improve memory efficiency by streaming xml output

- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length

* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)

* fix: Update console.log for user-guide.md install path

Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md

WHY: the actual install location of the user-guide.md is in the .bmad-core directory.

* chore: remove formatting configs and clean up gitignore

- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries

* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)

* Updated game-sm agent to match the new core framework patterns

* feat:Created more comprehensive game story matching new format system as well

* feat:Added Game specific course correct task

* feat:Updated dod-checklist to match new DoD format

* feat:Added new Architect agent for appropriate architecture doc creation and design

* feat:Overhaul of game-architecture-tmpl template

* feat:Updated rest of templates besides level which doesnt really need it

* feat: Finished extended architecture documentation needed for new game story tasks

* feat: Updated game Developer to new format

* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file

* feat: Finished updating designer agent to new format and cleaned up template linting errors

* Built dist for web bundle

* Increased expansion pack minor verison number

* Updated architecht and design for sharding built-in

* chore: bump bmad-2d-unity-game-dev version (minor)

* updated config.yaml for game-specific pieces to supplement core-config.yaml

* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic

* chore: bump bmad-2d-unity-game-dev version (patch)

* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)

* Chore: Built web-bundle

* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)

* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)

* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.

- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten

npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:

- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.

* chore: remove unused files and configurations

- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script

* docs: update command names and agent references in documentation

- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions

---------

Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
PinkyD
a7038d43d1 feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns

* feat:Created more comprehensive game story matching new format system as well

* feat:Added Game specific course correct task

* feat:Updated dod-checklist to match new DoD format

* feat:Added new Architect agent for appropriate architecture doc creation and design

* feat:Overhaul of game-architecture-tmpl template

* feat:Updated rest of templates besides level which doesnt really need it

* feat: Finished extended architecture documentation needed for new game story tasks

* feat: Updated game Developer to new format

* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file

* feat: Finished updating designer agent to new format and cleaned up template linting errors

* Built dist for web bundle

* Increased expansion pack minor verison number

* Updated architecht and design for sharding built-in

* chore: bump bmad-2d-unity-game-dev version (minor)

* updated config.yaml for game-specific pieces to supplement core-config.yaml

* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic

* chore: bump bmad-2d-unity-game-dev version (patch)

* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)

* Chore: Built web-bundle

* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)

* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
2025-07-23 07:14:06 -05:00
manjaroblack
9afe4fbdaf fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path

Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md

WHY: the actual install location of the user-guide.md is in the .bmad-core directory.

* chore: remove formatting configs and clean up gitignore

- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
2025-07-22 21:22:48 -05:00
semantic-release-bot
bfaaa0ee11 chore(release): 4.31.0 [skip ci]
# [4.31.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.30.4...v4.31.0) (2025-07-20)

### Bug Fixes

* enhanced user guide with better diagrams ([c445962](c445962f25))

### Features

* Installation includes a getting started user guide with detailed mermaid diagram ([df57d77](df57d772ca))
2025-07-20 02:18:34 +00:00
Brian Madison
df57d772ca feat: Installation includes a getting started user guide with detailed mermaid diagram 2025-07-19 21:18:06 -05:00
Brian Madison
c445962f25 fix: enhanced user guide with better diagrams 2025-07-19 20:54:41 -05:00
semantic-release-bot
e44271b191 chore(release): 4.30.4 [skip ci]
## [4.30.4](https://github.com/bmadcode/BMAD-METHOD/compare/v4.30.3...v4.30.4) (2025-07-19)

### Bug Fixes

* docs ([8619006](8619006c16))
* lint fix ([49e4897](49e489701e))
2025-07-19 15:07:57 +00:00
Brian Madison
49e489701e fix: lint fix 2025-07-19 10:07:34 -05:00
Brian Madison
8619006c16 fix: docs 2025-07-19 00:36:13 -05:00
Brian Madison
a72f1cc3bd merge 2025-07-19 00:35:53 -05:00
Brian Madison
c6dc345b95 direct commands in agents 2025-07-19 00:30:42 -05:00
semantic-release-bot
1062cad9bc chore(release): 4.30.3 [skip ci]
## [4.30.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.30.2...v4.30.3) (2025-07-19)

### Bug Fixes

* improve code in the installer to be more memory efficient ([849e428](849e42871a))
2025-07-19 05:04:46 +00:00
Brian Madison
3367fa18f7 version alignment 2025-07-19 00:04:16 -05:00
Brian Madison
849e42871a fix: improve code in the installer to be more memory efficient 2025-07-18 23:51:16 -05:00
A. R.
4d252626de single readme typo corrected (#331) 2025-07-18 21:24:11 -05:00
PinkyD
5d81c75f4d Feature/expansionpack 2d unity game dev (#332)
* Added 1.0 files

* Converted agents, and templates to new format. Updated filenames to include extensions like in unity-2d-game-team.yaml, Updated some wordage in workflow, config, and increased minor version number

* Forgot to remove unused startup section in game-sm since it's moved to activation-instructions, now fixed.

* Updated verbosity for development workflow in development-guidenlines.md

* built the web-dist files for the expansion pack

* Synched with main repo and rebuilt dist

* Added enforcement of game-design-checklist to designer persona

* Updated with new changes to phaser epack that seem relevant to discussion we had on discord for summarizing documentation updates

* updated dist build for our epack
2025-07-18 19:14:12 -05:00
Jorge Castillo
47b014efa1 Update ide-setup.js (#324)
Add missing tools required for editing and executing commands
2025-07-17 20:10:14 -05:00
MIPAN
aa0e9f9bc4 chore(tools): clean up and refactor bump scripts for clarity and consistency (#325)
* refactor: simplify installer package version sync script and add comments

* chore: bump core version based on provided semver type

* chore(expansion): bump bmad-creator-tools version (patch)
2025-07-17 20:09:09 -05:00
Zach
d1bed26e5d Fix team-fullstack.txt path in bmad-workflow-guide.md (#327) 2025-07-17 20:02:39 -05:00
semantic-release-bot
0089110e3c chore(release): 4.30.2 [skip ci]
## [4.30.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.30.1...v4.30.2) (2025-07-17)

### Bug Fixes

* remove z2 ([dcb36a9](dcb36a9b44))
2025-07-17 04:37:47 +00:00
Brian Madison
dcb36a9b44 fix: remove z2 2025-07-16 23:36:50 -05:00
Brian Madison
d0a8c581af fixed roomodes double bmad 2025-07-16 23:36:24 -05:00
semantic-release-bot
4fd72a6dcb chore(release): 4.30.1 [skip ci]
## [4.30.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.30.0...v4.30.1) (2025-07-15)

### Bug Fixes

* added logo to installer, because why not... ([2cea37a](2cea37aa8c))
2025-07-15 00:48:18 +00:00
Brian Madison
f51697f09a merge 2025-07-14 19:47:55 -05:00
Brian Madison
2cea37aa8c fix: added logo to installer, because why not... 2025-07-14 19:47:23 -05:00
semantic-release-bot
00285c9250 chore(release): 4.30.0 [skip ci]
# [4.30.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.29.7...v4.30.0) (2025-07-15)

### Features

* installer is now VERY clear about IDE selection being a multiselect ([e24b6f8](e24b6f84fd))
2025-07-15 00:39:46 +00:00
Brian Madison
e24b6f84fd feat: installer is now VERY clear about IDE selection being a multiselect 2025-07-14 19:39:10 -05:00
semantic-release-bot
2c20531883 chore(release): 4.29.7 [skip ci]
## [4.29.7](https://github.com/bmadcode/BMAD-METHOD/compare/v4.29.6...v4.29.7) (2025-07-14)

### Bug Fixes

* bundle build ([0723eed](0723eed881))
2025-07-14 05:08:00 +00:00
Brian Madison
0723eed881 fix: bundle build 2025-07-14 00:07:29 -05:00
semantic-release-bot
bddb5b05c4 chore(release): 4.29.6 [skip ci]
## [4.29.6](https://github.com/bmadcode/BMAD-METHOD/compare/v4.29.5...v4.29.6) (2025-07-14)

### Bug Fixes

* improve agent task folowing in agressing cost saving ide model combos ([3621c33](3621c330e6))
2025-07-14 05:06:57 +00:00
Brian Madison
3621c330e6 fix: improve agent task folowing in agressing cost saving ide model combos 2025-07-14 00:06:25 -05:00
semantic-release-bot
ef32eddcd6 chore(release): 4.29.5 [skip ci]
## [4.29.5](https://github.com/bmadcode/BMAD-METHOD/compare/v4.29.4...v4.29.5) (2025-07-14)

### Bug Fixes

* windows regex issue ([9f48c1a](9f48c1a869))
2025-07-14 03:48:54 +00:00
Brian Madison
9f48c1a869 fix: windows regex issue 2025-07-13 22:48:19 -05:00
semantic-release-bot
733a085370 chore(release): 4.29.4 [skip ci]
## [4.29.4](https://github.com/bmadcode/BMAD-METHOD/compare/v4.29.3...v4.29.4) (2025-07-14)

### Bug Fixes

* empty .roomodes, support Windows-style newlines in YAML block regex ([#311](https://github.com/bmadcode/BMAD-METHOD/issues/311)) ([551e30b](551e30b65e))
2025-07-14 03:45:02 +00:00
Hossam Ghanam
551e30b65e fix: empty .roomodes, support Windows-style newlines in YAML block regex (#311) 2025-07-13 22:44:40 -05:00
semantic-release-bot
5b8f6cc85d chore(release): 4.29.3 [skip ci]
## [4.29.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.29.2...v4.29.3) (2025-07-13)

### Bug Fixes

* annoying YAML lint error ([afea271](afea271e5e))
2025-07-13 20:52:18 +00:00
Brian Madison
afea271e5e fix: annoying YAML lint error 2025-07-13 15:51:46 -05:00
semantic-release-bot
c39164789d chore(release): 4.29.2 [skip ci]
## [4.29.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.29.1...v4.29.2) (2025-07-13)

### Bug Fixes

* add readme note about discord joining issues ([4ceaced](4ceacedd73))
2025-07-13 16:56:32 +00:00
Brian Madison
f4366f223a merge 2025-07-13 11:56:06 -05:00
Brian Madison
4ceacedd73 fix: add readme note about discord joining issues 2025-07-13 11:55:33 -05:00
Brian Madison
6b860bfee4 improve agent performance in claude code slash commands 2025-07-13 11:53:22 -05:00
semantic-release-bot
192c6a403b chore(release): 4.29.1 [skip ci]
## [4.29.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.29.0...v4.29.1) (2025-07-13)

### Bug Fixes

* brianstorming facilitation output ([f62c05a](f62c05ab0f))
2025-07-13 16:33:31 +00:00
Brian Madison
f62c05ab0f fix: brianstorming facilitation output 2025-07-13 11:33:06 -05:00
semantic-release-bot
5c588d008e chore(release): 4.29.0 [skip ci]
# [4.29.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.28.0...v4.29.0) (2025-07-13)

### Features

* Claude Code slash commands for Tasks and Agents! ([e9e541a](e9e541a52e))
2025-07-13 02:08:47 +00:00
Brian Madison
e9e541a52e feat: Claude Code slash commands for Tasks and Agents! 2025-07-12 21:08:13 -05:00
Brian Madison
24a35ff2c4 core agents alignment 2025-07-12 20:16:05 -05:00
semantic-release-bot
f32a5fe08a chore(release): 4.28.0 [skip ci]
# [4.28.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.27.6...v4.28.0) (2025-07-12)

### Features

* bmad-master can load kb properly ([3c13c56](3c13c56498))
2025-07-12 15:27:50 +00:00
Brian Madison
3c13c56498 feat: bmad-master can load kb properly 2025-07-12 10:27:21 -05:00
Gabriel Lemire
97f01f6931 refactor: nest Claude Code commands under BMad subdirectory (#307)
- Update installer config to use .claude/commands/BMad/ path
- Modify setupClaudeCode function to create nested directory structure
- Update documentation and upgrader to reflect new command location
- Improves organization by grouping all BMad commands together
2025-07-12 10:02:46 -05:00
Davor Racic
c42002f1ea refactor(gemini-cli): change agent storage from multiple files to single (#308)
* refactor(gemini-cli): change agent storage from multiple files to single concatenated file

- Update configuration to use .gemini/bmad-method/ directory instead of .gemini/agents/
- Implement new logic to concatenate all agent files into single GEMINI.md
- Add backward compatibility for existing settings.json
- Remove old agents directory and update related documentation
- Ensure all agent settings are properly loaded

* fix(ide-setup): change agent trigger symbol from @ to *

The change was made to standardize the agent trigger symbol across the system and avoid confusion with other special characters.

* docs: update gemini cli syntax and file structure

- Change agent mention syntax from @ to * in docs and config
- Update file structure documentation from .gemini/agents/ to .gemini/bmad-method/
- Add gemini cli syntax to workflow guide

* fix(ide-setup): remove redundant contextFileNames handling
2025-07-12 09:55:12 -05:00
semantic-release-bot
b5cbffd608 chore(release): 4.27.6 [skip ci]
## [4.27.6](https://github.com/bmadcode/BMAD-METHOD/compare/v4.27.5...v4.27.6) (2025-07-08)

### Bug Fixes

* installer improvement ([db30230](db302309f4))
2025-07-08 03:11:59 +00:00
Brian Madison
db302309f4 fix: installer improvement 2025-07-07 22:11:32 -05:00
semantic-release-bot
c97d76c797 chore(release): 4.27.5 [skip ci]
## [4.27.5](https://github.com/bmadcode/BMAD-METHOD/compare/v4.27.4...v4.27.5) (2025-07-08)

### Bug Fixes

* installer for github copilot asks follow up questions right away now so it does not seem to hang, and some minor doc improvements ([cadf8b6](cadf8b6750))
2025-07-08 01:47:25 +00:00
Brian Madison
cadf8b6750 fix: installer for github copilot asks follow up questions right away now so it does not seem to hang, and some minor doc improvements 2025-07-07 20:46:55 -05:00
semantic-release-bot
ba9e3f3272 chore(release): 4.27.4 [skip ci]
## [4.27.4](https://github.com/bmadcode/BMAD-METHOD/compare/v4.27.3...v4.27.4) (2025-07-07)

### Bug Fixes

* doc updates ([1b86cd4](1b86cd4db3))
2025-07-07 01:52:36 +00:00
Brian Madison
412f152547 merge 2025-07-06 20:52:09 -05:00
Brian Madison
1b86cd4db3 fix: doc updates 2025-07-06 20:51:40 -05:00
semantic-release-bot
c8b26d8eae chore(release): 4.27.3 [skip ci]
## [4.27.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.27.2...v4.27.3) (2025-07-07)

### Bug Fixes

* remove test zoo folder ([908dcd7](908dcd7e9a))
2025-07-07 01:48:17 +00:00
Brian Madison
9cf8a6b72b merge 2025-07-06 20:47:51 -05:00
Brian Madison
908dcd7e9a fix: remove test zoo folder 2025-07-06 20:47:24 -05:00
semantic-release-bot
92c9589f7d chore(release): 4.27.2 [skip ci]
## [4.27.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.27.1...v4.27.2) (2025-07-07)

### Bug Fixes

* improve output ([a5ffe7b](a5ffe7b9b2))
2025-07-07 01:41:08 +00:00
Brian Madison
c2b5da7f6e merge 2025-07-06 20:40:39 -05:00
Brian Madison
a5ffe7b9b2 fix: improve output 2025-07-06 20:40:08 -05:00
semantic-release-bot
63aabe435e chore(release): 4.27.1 [skip ci]
## [4.27.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.27.0...v4.27.1) (2025-07-07)

### Bug Fixes

* build web bundles with new file extension includsion ([92201ae](92201ae7ed))
2025-07-07 00:55:24 +00:00
Brian Madison
2601fa7205 version bump 2025-07-06 19:54:46 -05:00
Brian Madison
92201ae7ed fix: build web bundles with new file extension includsion 2025-07-06 19:39:34 -05:00
Brian Madison
97590e5e1d missed save on the phaser expansion 2025-07-06 18:49:03 -05:00
Brian Madison
746ba573fa specify md ot yaml 2025-07-06 18:26:09 -05:00
Brian Madison
339745c3f3 combine startup with activation in agent files 2025-07-06 16:07:39 -05:00
semantic-release-bot
1ac0d2bd91 chore(release): 4.27.0 [skip ci]
# [4.27.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.26.0...v4.27.0) (2025-07-06)

### Bug Fixes

* readme consolidation and version bumps ([0a61d3d](0a61d3de4a))

### Features

* big improvement to advanced elicitation ([1bc9960](1bc9960808))
* experimental doc creator v2 and template system ([b785371](b78537115d))
* Massive improvement to the brainstorming task! ([9f53caf](9f53caf4c6))
* WIP create-docv2 ([c107af0](c107af0598))
2025-07-06 17:12:23 +00:00
Brian Madison
b78537115d feat: experimental doc creator v2 and template system 2025-07-06 12:11:55 -05:00
Brian Madison
0ca3f9ebbd create-doc2 update 2025-07-06 12:08:41 -05:00
Brian Madison
0a61d3de4a fix: readme consolidation and version bumps 2025-07-06 11:13:09 -05:00
Brian Madison
4e03f8f982 merge conflicts resolved 2025-07-06 10:34:53 -05:00
Brian Madison
5fc69d773a web build optimization 2025-07-06 10:32:39 -05:00
David Elisma
9e6940e8ee refactor: Standardize on 'GitHub Copilot' branding (#296)
* refactor: Standardize on 'GitHub Copilot' branding

- Update all references from 'Github Copilot' to 'GitHub Copilot' (official branding)
- Simplify GitHub Copilot guide reference in README
- Rebuild distribution files to reflect changes
- Ensure consistent branding across documentation and configuration

* fix: add Trae IDE support while maintaining GitHub Copilot branding
2025-07-06 08:49:22 -05:00
Brian Madison
4b0a9235ab WIP: createdoc2 2025-07-06 00:23:10 -05:00
Brian Madison
c107af0598 feat: WIP create-docv2 2025-07-06 00:10:00 -05:00
Brian Madison
be9453f234 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-07-05 23:19:45 -05:00
manjaroblack
de549673a7 ReadMe (#299)
* fix: correct typos in documentation and agent files

Fix multiple instances of "assest" typo to "assets" in documentation
Correct "quetsions" typo to "questions" in repository structure sections
Add new words to cSpell dictionary in VS Code settings

* feat(trae): add support for trae ide integration

- Add trae guide documentation
- Update installer to support trae configuration
- Include trae in ide options and documentation references
- Fix typo in architect agent documentation

* chore: ignore windsurf and trae directories in git

* docs: add npm install step to README

The npm install step was missing from the setup instructions, which is required before running build commands.

---------

Co-authored-by: Devin Stagner <devin@blackstag.family>
2025-07-05 21:12:46 -05:00
semantic-release-bot
400f7b8f41 chore(release): 4.26.0 [skip ci]
# [4.26.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.25.1...v4.26.0) (2025-07-06)

### Features

* **trae:** add support for trae ide integration ([#298](https://github.com/bmadcode/BMAD-METHOD/issues/298)) ([fae0f5f](fae0f5ff73))
2025-07-06 02:12:03 +00:00
manjaroblack
fae0f5ff73 feat(trae): add support for trae ide integration (#298)
* fix: correct typos in documentation and agent files

Fix multiple instances of "assest" typo to "assets" in documentation
Correct "quetsions" typo to "questions" in repository structure sections
Add new words to cSpell dictionary in VS Code settings

* feat(trae): add support for trae ide integration

- Add trae guide documentation
- Update installer to support trae configuration
- Include trae in ide options and documentation references
- Fix typo in architect agent documentation

* chore: ignore windsurf and trae directories in git

* docs: add npm install step to README

The npm install step was missing from the setup instructions, which is required before running build commands.

---------

Co-authored-by: Devin Stagner <devin@blackstag.family>
2025-07-05 21:11:38 -05:00
semantic-release-bot
d6183b4bb1 chore(release): 4.25.1 [skip ci]
## [4.25.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.25.0...v4.25.1) (2025-07-06)

### Bug Fixes

* spelling errors in documentation. ([#297](https://github.com/bmadcode/BMAD-METHOD/issues/297)) ([47b9d9f](47b9d9f3e8))
2025-07-06 02:08:48 +00:00
manjaroblack
47b9d9f3e8 fix: spelling errors in documentation. (#297)
* fix: correct typos in documentation and agent files

Fix multiple instances of "assest" typo to "assets" in documentation
Correct "quetsions" typo to "questions" in repository structure sections
Add new words to cSpell dictionary in VS Code settings

* feat(trae): add support for trae ide integration

- Add trae guide documentation
- Update installer to support trae configuration
- Include trae in ide options and documentation references
- Fix typo in architect agent documentation

---------

Co-authored-by: Devin Stagner <devin@blackstag.family>
2025-07-05 21:08:26 -05:00
Brian Madison
b9223a4976 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-07-05 14:01:55 -05:00
Brian Madison
1bc9960808 feat: big improvement to advanced elicitation 2025-07-05 14:01:29 -05:00
Brian Madison
9f53caf4c6 feat: Massive improvement to the brainstorming task! 2025-07-04 23:36:18 -05:00
semantic-release-bot
e17ecf1a3d chore(release): 4.25.0 [skip ci]
# [4.25.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.24.6...v4.25.0) (2025-07-05)

### Bug Fixes

* update web bundles ([42684e6](42684e68af))

### Features

* improvements to agent task usage, sm story drafting, dev implementation, qa review process, and addition of a new sm independant review of a draft story ([2874a54](2874a54a9b))
2025-07-05 02:32:21 +00:00
Brian Madison
42684e68af fix: update web bundles 2025-07-04 21:31:52 -05:00
Brian Madison
3520fae655 minor updates 2025-07-04 21:27:50 -05:00
Brian Madison
2874a54a9b feat: improvements to agent task usage, sm story drafting, dev implementation, qa review process, and addition of a new sm independant review of a draft story 2025-07-04 21:18:16 -05:00
semantic-release-bot
5f1966329b chore(release): 4.24.6 [skip ci]
## [4.24.6](https://github.com/bmadcode/BMAD-METHOD/compare/v4.24.5...v4.24.6) (2025-07-04)

### Bug Fixes

* version bump and web build fix ([1c845e5](1c845e5b2c))
2025-07-04 17:39:44 +00:00
Brian Madison
1c845e5b2c fix: version bump and web build fix 2025-07-04 12:39:17 -05:00
semantic-release-bot
8766506cb3 chore(release): 4.24.5 [skip ci]
## [4.24.5](https://github.com/bmadcode/BMAD-METHOD/compare/v4.24.4...v4.24.5) (2025-07-04)

### Bug Fixes

* yaml standardization in files and installer actions ([094f9f3](094f9f3eab))
2025-07-04 16:54:31 +00:00
Brian Madison
094f9f3eab fix: yaml standardization in files and installer actions 2025-07-04 11:53:57 -05:00
semantic-release-bot
ddd3e53d12 chore(release): 4.24.4 [skip ci]
## [4.24.4](https://github.com/bmadcode/BMAD-METHOD/compare/v4.24.3...v4.24.4) (2025-07-04)

### Bug Fixes

* documentation updates ([2018ad0](2018ad07c7))
2025-07-04 13:36:00 +00:00
Brian Madison
2018ad07c7 fix: documentation updates 2025-07-04 08:35:28 -05:00
Brian Madison
38dd71db7f doc reference changes from vs-code-copilot to github-copilot 2025-07-04 08:04:27 -05:00
Brian Madison
eb960f99f2 readd dist back 2025-07-04 07:48:29 -05:00
Brian Madison
f440d14565 doc and text cleanup 2025-07-04 07:47:57 -05:00
semantic-release-bot
be4fcd8668 chore(release): 4.24.3 [skip ci]
## [4.24.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.24.2...v4.24.3) (2025-07-04)

### Bug Fixes

* update YAML library from 'yaml' to 'js-yaml' in resolveExpansionPackCoreAgents for consistency ([#295](https://github.com/bmadcode/BMAD-METHOD/issues/295)) ([03f30ad](03f30ad28b))
2025-07-04 12:23:13 +00:00
Davor Racic
03f30ad28b fix: update YAML library from 'yaml' to 'js-yaml' in resolveExpansionPackCoreAgents for consistency (#295) 2025-07-04 07:22:49 -05:00
Serhii
e32b477e42 docs: add vs-code-copilot-guide (#290)
* docs: add vs-code-copilot-guide

* fix: correct broken link in vs-code-copilot-guide
2025-07-03 20:32:27 -05:00
semantic-release-bot
e7b1ee37e3 chore(release): 4.24.2 [skip ci]
## [4.24.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.24.1...v4.24.2) (2025-07-03)

### Bug Fixes

* version bump and restore dist folder ([87c451a](87c451a5c3))
2025-07-03 04:15:20 +00:00
Brian Madison
87c451a5c3 fix: version bump and restore dist folder 2025-07-02 23:14:54 -05:00
semantic-release-bot
a96fce793b chore(release): 4.24.1 [skip ci]
## [4.24.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.24.0...v4.24.1) (2025-07-03)

### Bug Fixes

* centralized yamlExtraction function and all now fix character issues for windows ([e2985d6](e2985d6093))
* filtering extension stripping logic update ([405954a](405954ad92))
* standardize on file extension .yaml instead of a mix of yml and yaml ([a4c0b18](a4c0b1839d))
2025-07-03 02:09:14 +00:00
Brian Madison
e2985d6093 fix: centralized yamlExtraction function and all now fix character issues for windows 2025-07-02 21:08:43 -05:00
Brian Madison
405954ad92 fix: filtering extension stripping logic update 2025-07-02 20:04:12 -05:00
Brian Madison
a4c0b1839d fix: standardize on file extension .yaml instead of a mix of yml and yaml 2025-07-02 19:59:49 -05:00
semantic-release-bot
ffae072143 chore(release): 4.24.0 [skip ci]
# [4.24.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.23.0...v4.24.0) (2025-07-02)

### Bug Fixes

* corrected cursor agent update instructions ([84e394a](84e394ac11))

### Features

* workflow plans introduced, preliminary feature under review ([731589a](731589aa28))
2025-07-02 03:55:08 +00:00
Brian Madison
84e394ac11 fix: corrected cursor agent update instructions 2025-07-01 22:54:39 -05:00
Brian Madison
b89aa48f7b conflicts 2025-07-01 22:48:10 -05:00
Brian Madison
731589aa28 feat: workflow plans introduced, preliminary feature under review 2025-07-01 22:46:59 -05:00
木炭
b7361d244c Update dependency-resolver.js (#286)
When cloning a project in a Windows environment, Git may automatically convert line endings from `\n` to `\r\n`. This can cause a mismatch in the `yaml` configuration, leading to a build failure. To resolve this, a step has been added to enforce the replacement of `\r` characters, ensuring the build can proceed normally.
2025-07-01 20:21:58 -05:00
semantic-release-bot
b2f8525bbf chore(release): 4.23.0 [skip ci]
# [4.23.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.22.1...v4.23.0) (2025-07-01)

### Features

* VS Code Copilot integration ([#284](https://github.com/bmadcode/BMAD-METHOD/issues/284)) ([1a4ca4f](1a4ca4ffa6))
2025-07-01 12:54:38 +00:00
David Elisma
1a4ca4ffa6 feat: VS Code Copilot integration (#284) 2025-07-01 07:54:13 -05:00
semantic-release-bot
3e2e43dd88 chore(release): 4.22.1 [skip ci]
## [4.22.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.22.0...v4.22.1) (2025-06-30)

### Bug Fixes

* update expansion versions ([6905fe7](6905fe72f6))
2025-06-30 05:14:32 +00:00
Brian Madison
6905fe72f6 fix: update expansion versions 2025-06-30 00:14:04 -05:00
semantic-release-bot
95ab8bbd9c chore(release): 4.22.0 [skip ci]
# [4.22.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.21.2...v4.22.0) (2025-06-30)

### Features

* create doc more explicit and readme improvement ([a1b30d9](a1b30d9341))
2025-06-30 05:11:29 +00:00
Brian Madison
a1b30d9341 feat: create doc more explicit and readme improvement 2025-06-30 00:11:03 -05:00
semantic-release-bot
6e094c8359 chore(release): 4.21.2 [skip ci]
## [4.21.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.21.1...v4.21.2) (2025-06-30)

### Bug Fixes

* improve create-doc task clarity for template execution ([86d5139](86d5139aea))
2025-06-30 05:08:08 +00:00
Brian Madison
86d5139aea fix: improve create-doc task clarity for template execution
- Add critical execution rules upfront
- Clarify STOP signals for task execution
- Include key execution patterns with examples
- Restore missing functionality (agent context, template locations, validation)
- Maintain concise format while ensuring proper template instruction handling
2025-06-30 00:07:37 -05:00
semantic-release-bot
62ccb640e6 chore(release): 4.21.1 [skip ci]
## [4.21.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.21.0...v4.21.1) (2025-06-30)

### Bug Fixes

* readme clarifies that the installer handles installs upgrades and expansion installation ([9371a57](9371a5784f))
2025-06-30 02:09:46 +00:00
Brian Madison
9371a5784f fix: readme clarifies that the installer handles installs upgrades and expansion installation 2025-06-29 21:09:13 -05:00
semantic-release-bot
62c5d92089 chore(release): 4.21.0 [skip ci]
# [4.21.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.20.0...v4.21.0) (2025-06-30)

### Bug Fixes

* remove unneeded files ([c48f200](c48f200727))

### Features

* massive installer improvement update ([c151bda](c151bda938))
2025-06-30 01:53:38 +00:00
Brian Madison
c48f200727 fix: remove unneeded files 2025-06-29 20:53:09 -05:00
Brian Madison
c151bda938 feat: massive installer improvement update 2025-06-29 20:52:23 -05:00
Brian Madison
ab70b8dc73 contribution updates 2025-06-29 11:30:15 -05:00
semantic-release-bot
0ec4ad26c2 chore(release): 4.20.0 [skip ci]
# [4.20.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.19.2...v4.20.0) (2025-06-29)

### Features

* Massive documentation refactor, added explanation of the new expanded role of the QA agent that will make your code quality MUCH better. 2 new diagram clearly explain the role of the pre dev ideation cycle (prd and architecture) and the details of how the dev cycle works. ([c881dcc](c881dcc48f))
2025-06-29 14:06:11 +00:00
Brian Madison
c881dcc48f feat: Massive documentation refactor, added explanation of the new expanded role of the QA agent that will make your code quality MUCH better. 2 new diagram clearly explain the role of the pre dev ideation cycle (prd and architecture) and the details of how the dev cycle works. 2025-06-29 09:05:41 -05:00
Brian Madison
5aed8f7603 cleanup 2025-06-28 22:26:37 -05:00
Brian
929461a2fe Create FUNDING.yml 2025-06-28 17:11:51 -05:00
Brian Madison
f5fa2559f0 doc: readme fixes 2025-06-28 16:12:01 -05:00
Brian
ead2c04b5b Update issue templates 2025-06-28 16:05:26 -05:00
Brian
b9970c9d73 Update issue templates 2025-06-28 15:57:17 -05:00
semantic-release-bot
8182a3f4bc chore(release): 4.19.2 [skip ci]
## [4.19.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.19.1...v4.19.2) (2025-06-28)

### Bug Fixes

* docs update and correction ([2408068](2408068884))
2025-06-28 20:49:22 +00:00
Brian Madison
2408068884 fix: docs update and correction 2025-06-28 15:46:52 -05:00
Miguel Tomas
9cafbe7014 Align Brownfield workflow descriptions and artifact naming (#277)
* chore: Update brownfield-fullstack.yml

- Update descriptions, status messages, and artifact names in brownfield-fullstack

* chore: Update brownfield-service.yml

- Update descriptions, status messages, and artifact names in brownfield-service

* chore: Update brownfield-ui.yml

- Update descriptions, status messages, and artifact names in brownfield-ui workflows
2025-06-28 15:25:40 -05:00
semantic-release-bot
466bef4398 chore(release): 4.19.1 [skip ci]
## [4.19.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.19.0...v4.19.1) (2025-06-28)

### Bug Fixes

* discord link ([2ea806b](2ea806b3af))
2025-06-28 13:36:44 +00:00
Brian Madison
2ea806b3af fix: discord link 2025-06-28 08:36:12 -05:00
semantic-release-bot
60c147aa75 chore(release): 4.19.0 [skip ci]
# [4.19.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.18.0...v4.19.0) (2025-06-28)

### Bug Fixes

* expansion install config ([50d17ed](50d17ed65d))

### Features

* install for ide now sets up rules also for expansion agents! ([b82978f](b82978fd38))
2025-06-28 07:23:35 +00:00
Brian Madison
ba91cb17cf Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-28 02:23:06 -05:00
Brian Madison
b82978fd38 feat: install for ide now sets up rules also for expansion agents! 2025-06-28 02:22:57 -05:00
Brian Madison
50d17ed65d fix: expansion install config 2025-06-28 01:57:02 -05:00
semantic-release-bot
aa15b7a2ca chore(release): 4.18.0 [skip ci]
# [4.18.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.17.0...v4.18.0) (2025-06-28)

### Features

* expansion teams can now include core agents and include their assets automatically ([c70f1a0](c70f1a056b))
* remove hardcoding from installer for agents, improve expansion pack installation to its own locations, common files moved to common folder ([95e833b](95e833beeb))
2025-06-28 06:12:41 +00:00
Brian Madison
c70f1a056b feat: expansion teams can now include core agents and include their assets automatically 2025-06-28 01:12:16 -05:00
Brian Madison
95e833beeb feat: remove hardcoding from installer for agents, improve expansion pack installation to its own locations, common files moved to common folder 2025-06-28 01:01:26 -05:00
Brian Madison
1ea367619a installer updates part 1 2025-06-27 23:38:34 -05:00
Brian Madison
6cdecec61f fix minor lint issue 2025-06-27 20:33:07 -05:00
semantic-release-bot
a5915934fd chore(release): 4.17.0 [skip ci]
# [4.17.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.16.1...v4.17.0) (2025-06-27)

### Features

* add GEMINI.md to agent context files ([#272](https://github.com/bmadcode/BMAD-METHOD/issues/272)) ([b557570](b557570081))
2025-06-27 23:26:51 +00:00
Davor Racic
b557570081 feat: add GEMINI.md to agent context files (#272)
thanks Davor
2025-06-27 18:26:28 -05:00
semantic-release-bot
4bbb251730 chore(release): 4.16.1 [skip ci]
## [4.16.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.16.0...v4.16.1) (2025-06-26)

### Bug Fixes

* remove accidental folder add ([b1c2de1](b1c2de1fb5))
2025-06-26 03:13:31 +00:00
Brian Madison
3cb8c02747 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-25 22:13:01 -05:00
Brian Madison
b1c2de1fb5 fix: remove accidental folder add 2025-06-25 22:12:51 -05:00
semantic-release-bot
263d9c7618 chore(release): 4.16.0 [skip ci]
# [4.16.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.15.0...v4.16.0) (2025-06-26)

### Features

* repo builds all rules sets for supported ides for easy copy if desired ([ea945bb](ea945bb43f))
2025-06-26 02:42:17 +00:00
Brian Madison
08f541195d Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-25 21:41:41 -05:00
Brian Madison
ea945bb43f feat: repo builds all rules sets for supported ides for easy copy if desired 2025-06-25 21:41:32 -05:00
semantic-release-bot
dd27531151 chore(release): 4.15.0 [skip ci]
# [4.15.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.14.1...v4.15.0) (2025-06-26)

### Features

* Add Gemini CLI Integration ([#271](https://github.com/bmadcode/BMAD-METHOD/issues/271)) ([44b9d7b](44b9d7bcb5))
2025-06-26 02:34:23 +00:00
hieu.sats
44b9d7bcb5 feat: Add Gemini CLI Integration (#271) 2025-06-25 21:33:58 -05:00
semantic-release-bot
429a3d41e9 chore(release): 4.14.1 [skip ci]
## [4.14.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.14.0...v4.14.1) (2025-06-26)

### Bug Fixes

* add updated web builds ([6dabbcb](6dabbcb670))
2025-06-26 02:19:50 +00:00
Brian Madison
6dabbcb670 fix: add updated web builds 2025-06-25 21:19:23 -05:00
semantic-release-bot
8cf9e5d916 chore(release): 4.14.0 [skip ci]
# [4.14.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.13.0...v4.14.0) (2025-06-25)

### Features

* enhance QA agent as senior developer with code review capabilities and major brownfield improvements ([3af3d33](3af3d33d4a))
2025-06-25 04:57:50 +00:00
Brian Madison
3af3d33d4a feat: enhance QA agent as senior developer with code review capabilities and major brownfield improvements
This release introduces significant enhancements across multiple areas:

QA Agent Transformation:
- Transform QA agent into senior developer role with active code refactoring abilities
- Add review-story task enabling QA to review, refactor, and improve code directly
- Integrate QA review step into standard development workflow (SM → Dev → QA)
- QA can fix small issues directly and leave checklist for remaining items
- Updated dev agent to maintain File List for QA review focus

Knowledge Base Improvements:
- Add extensive brownfield development documentation and best practices
- Clarify Web UI vs IDE usage with cost optimization strategies
- Document PRD-first approach for large codebases/monorepos
- Add comprehensive expansion packs explanation
- Update IDE workflow to include QA review step
- Clarify agent usage (bmad-master vs specialized agents)

Brownfield Enhancements:
- Create comprehensive Working in the Brownfield guide
- Add document-project task to analyst agent capabilities
- Implement PRD-first workflow option for focused documentation
- Transform document-project to create practical brownfield architecture docs
- Document technical debt, workarounds, and real-world constraints
- Reference actual files instead of duplicating content
- Add impact analysis when PRD is provided

Documentation Task Improvements:
- Simplify to always create ONE unified architecture document
- Add deep codebase analysis phase with targeted questions
- Focus on documenting reality including technical debt
- Include Quick Reference section with key file paths
- Add practical sections: useful commands, debugging tips, known issues

Workflow Updates:
- Update all 6 workflow files with detailed IDE transition instructions
- Add clear SM → Dev → QA → Dev cycle explanation
- Emphasize Gemini Web for brownfield analysis (1M+ context advantage)
- Support both PRD-first and document-first approaches

This release significantly improves the brownfield development experience and introduces a powerful shift-left QA approach with senior developer mentoring.
2025-06-24 23:56:57 -05:00
semantic-release-bot
fb0be544ad chore(release): 4.13.0 [skip ci]
# [4.13.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.12.0...v4.13.0) (2025-06-24)

### Features

* **ide-setup:** add support for Cline IDE and configuration rules ([#262](https://github.com/bmadcode/BMAD-METHOD/issues/262)) ([913dbec](913dbeced6))
2025-06-24 02:47:45 +00:00
Reider Olivér
913dbeced6 feat(ide-setup): add support for Cline IDE and configuration rules (#262) 2025-06-23 21:47:21 -05:00
Brian Madison
00a9891793 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-22 22:11:33 -05:00
Brian Madison
47c33d6482 clarify contributing 2025-06-22 22:10:15 -05:00
Brian Madison
febe7e149d doc: clarified contributions and guiding principles to align ideals for contribution to BMad Method 2025-06-22 22:08:21 -05:00
semantic-release-bot
730d51eb95 chore(release): 4.12.0 [skip ci]
# [4.12.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.11.0...v4.12.0) (2025-06-23)

### Features

* **dev-agent:** add quality gates to prevent task completion with failing validations ([#261](https://github.com/bmadcode/BMAD-METHOD/issues/261)) ([45110ff](45110ffffe))
2025-06-23 02:49:40 +00:00
gabadi
45110ffffe feat(dev-agent): add quality gates to prevent task completion with failing validations (#261)
Issue Being Solved:
Dev agent was marking tasks as complete even when tests/lint/typecheck failed,
causing broken code to reach merge and creating technical debt.

Gap in System:
Missing explicit quality gates in dev agent configuration to block task completion
until all automated validations pass.

Solution:
- Add "Quality Gate Discipline" core principle
- Update task execution flow: Execute validations→Only if ALL pass→Update [x]
- Add "Failing validations" to blocking conditions
- Simplify completion criteria to focus on validation success

Alignment with BMAD Core Principles:
- Quality-First: Prevents defective code progression through workflow
- Agent Excellence: Ensures dev agent maintains high standards
- Technology Agnostic: Uses generic "validations" concept vs specific tools

Small, focused change that strengthens existing dev agent without architectural changes.

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-22 21:49:18 -05:00
semantic-release-bot
c19772498a chore(release): 4.11.0 [skip ci]
# [4.11.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.10.3...v4.11.0) (2025-06-21)

### Bug Fixes

* resolve web bundles directory path when using relative paths in NPX installer ([5c8485d](5c8485d09f))

### Features

* add markdown-tree integration for document sharding ([540578b](540578b39d))
2025-06-21 20:26:47 +00:00
Brian Madison
540578b39d feat: add markdown-tree integration for document sharding
- Add markdownExploder setting to core-config.yml
- Update shard-doc task to use md-tree command when enabled
- Implement proper fallback handling when tool is unavailable
- Update core-config structure to remove nested wrapper
- Fix field naming to use camelCase throughout
2025-06-21 15:26:09 -05:00
Brian Madison
5c8485d09f fix: resolve web bundles directory path when using relative paths in NPX installer
When users enter "." as the installation directory, the web bundles directory
path was not being resolved correctly, causing the bundles to not be copied.
This fix ensures the web bundles directory is resolved using the same logic
as the main installation directory, resolving relative paths from the original
working directory where npx was executed.
2025-06-21 14:55:44 -05:00
Brian Madison
cd058ee7ed correct config name to source-tree in dev agent loader 2025-06-20 16:21:27 -05:00
semantic-release-bot
835075e992 chore(release): 4.10.3 [skip ci]
## [4.10.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.10.2...v4.10.3) (2025-06-20)

### Bug Fixes

* bundle update ([2cf3ba1](2cf3ba1ab8))
2025-06-20 04:50:24 +00:00
Brian Madison
2cf3ba1ab8 fix: bundle update 2025-06-19 23:49:57 -05:00
semantic-release-bot
f217bdf07e chore(release): 4.10.2 [skip ci]
## [4.10.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.10.1...v4.10.2) (2025-06-20)

### Bug Fixes

* file formatting ([c78a35f](c78a35f547))
2025-06-20 03:48:25 +00:00
Brian Madison
c78a35f547 fix: file formatting 2025-06-19 22:47:57 -05:00
Brian Madison
d619068ccc more explicity to not skip stories without asking first 2025-06-19 22:46:46 -05:00
semantic-release-bot
1e5c0b5351 chore(release): 4.10.1 [skip ci]
## [4.10.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.10.0...v4.10.1) (2025-06-20)

### Bug Fixes

* SM sometimes would skip the rest of the epic stories, fixed ([1148b32](1148b32fa9))
2025-06-20 03:30:30 +00:00
Brian Madison
1148b32fa9 fix: SM sometimes would skip the rest of the epic stories, fixed 2025-06-19 22:27:11 -05:00
semantic-release-bot
b07a8b367d chore(release): 4.10.0 [skip ci]
# [4.10.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.9.2...v4.10.0) (2025-06-19)

### Features

* Core Config and doc sharding is now optional in v4 ([ff6112d](ff6112d6c2))
2025-06-19 23:57:45 +00:00
Brian Madison
ff6112d6c2 feat: Core Config and doc sharding is now optional in v4 2025-06-19 18:57:19 -05:00
semantic-release-bot
42a41969b0 chore(release): 4.9.2 [skip ci]
## [4.9.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.9.1...v4.9.2) (2025-06-19)

### Bug Fixes

* bad brownfield yml ([09d2ad6](09d2ad6aea))
2025-06-19 23:07:55 +00:00
Brian Madison
c685b9e328 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-19 18:07:29 -05:00
Brian Madison
09d2ad6aea fix: bad brownfield yml 2025-06-19 18:07:22 -05:00
semantic-release-bot
f723e0b0e8 chore(release): 4.9.1 [skip ci]
## [4.9.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.9.0...v4.9.1) (2025-06-19)

### Bug Fixes

* dist bundles updated ([d9a989d](d9a989dbe5))
2025-06-19 22:13:03 +00:00
Brian Madison
d9a989dbe5 fix: dist bundles updated 2025-06-19 17:12:38 -05:00
Brian Madison
bbcc30ac29 more list cleanup 2025-06-19 17:09:17 -05:00
titocr
3267144248 Clean up markdown nesting. (#252)
Co-authored-by: TC <>
2025-06-19 16:54:47 -05:00
semantic-release-bot
651c0d2a9e chore(release): 4.9.0 [skip ci]
# [4.9.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.8.0...v4.9.0) (2025-06-19)

### Features

* dev can use debug log configured in core-config.yml ([0e5aaf0](0e5aaf07bb))
2025-06-19 18:36:57 +00:00
Brian Madison
1e46c8f324 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-19 13:36:27 -05:00
Brian Madison
0e5aaf07bb feat: dev can use debug log configured in core-config.yml 2025-06-19 13:36:21 -05:00
semantic-release-bot
3dc21db649 chore(release): 4.8.0 [skip ci]
# [4.8.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.7.0...v4.8.0) (2025-06-19)

### Bug Fixes

* installer has fast v4 update option now to keep the bmad method up to date with changes easily without breaking any customizations from the user. The SM and DEV are much more configurable to find epics stories and architectureal information when the prd and architecture are deviant from v4 templates and/or have not been sharded. so a config will give the user the option to configure the SM to use the full large documents or the sharded versions! ([aea7f3c](aea7f3cc86))
* prevent double installation when updating v4 ([af0e767](af0e767ecf))
* resolve undefined config properties in performUpdate ([0185e01](0185e012bb))
* update file-manager to properly handle YAML manifest files ([724cdd0](724cdd07a1))

### Features

* add early v4 detection for improved update flow ([29e7bbf](29e7bbf4c5))
* add file resolution context for IDE agents ([74d9bb4](74d9bb4b2b))
* update web builder to remove IDE-specific properties from agent bundles ([2f2a1e7](2f2a1e72d6))
2025-06-19 18:25:32 +00:00
Brian Madison
dfe8bc982a Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-19 13:25:01 -05:00
Brian Madison
b53b3a5b28 agents have clear file resolution and fuzzy task resolution instructions 2025-06-19 13:24:49 -05:00
Brian Madison
2f2a1e72d6 feat: update web builder to remove IDE-specific properties from agent bundles
- Remove 'root' property from YAML when building web bundles
- Remove 'IDE-FILE-RESOLUTION' and 'REQUEST-RESOLUTION' properties
- Filter out IDE-specific activation instructions
- Keep agent header minimal for web bundles
- Ensures web bundles are clean of IDE-specific configuration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 13:21:26 -05:00
Brian Madison
d75cf9e032 refactor: simplify file resolution to concise activation instructions
- Added two concise activation instructions to SM agent
- IDE-FILE-RESOLUTION: One-line explanation of file path mapping
- REQUEST-RESOLUTION: One-line instruction for flexible request matching
- Simplified file-resolution-context.md to be a quick reference
- Removed verbose documentation in favor of clear, actionable instructions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 13:06:45 -05:00
Brian Madison
74d9bb4b2b feat: add file resolution context for IDE agents
- Added file resolution section to SM agent explaining path patterns
- Created reusable file-resolution-context.md utility
- Documents how agents resolve tasks/templates/checklists to file paths
- Provides natural language to command mapping examples
- Helps IDE agents understand file system structure

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 13:02:17 -05:00
Brian Madison
aea7f3cc86 fix: installer has fast v4 update option now to keep the bmad method up to date with changes easily without breaking any customizations from the user. The SM and DEV are much more configurable to find epics stories and architectureal information when the prd and architecture are deviant from v4 templates and/or have not been sharded. so a config will give the user the option to configure the SM to use the full large documents or the sharded versions! 2025-06-19 12:55:16 -05:00
Brian Madison
9af2463fae docs: add update announcement to README
- Added prominent section about updating existing installations
- Explains how npx bmad-method install detects and updates v4
- Highlights backup feature for custom modifications
- Makes it clear that updates are safe and preserve customizations

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 12:47:22 -05:00
Brian Madison
af0e767ecf fix: prevent double installation when updating v4
- Added flag to prevent installer.install() being called twice
- Fixed undefined 'directory' error by using answers.directory
- Update flow now completes without errors
- Prevents 'Cannot read properties of undefined' error after successful update

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 12:43:58 -05:00
Brian Madison
0185e012bb fix: resolve undefined config properties in performUpdate
- Added optional chaining for newConfig.ide access
- Added ides array to config object in performUpdate
- Fixes 'Cannot read properties of undefined' error after update
- Ensures all required config properties are present for showSuccessMessage

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 12:41:19 -05:00
Brian Madison
29e7bbf4c5 feat: add early v4 detection for improved update flow
- Now detects existing v4 installations immediately after directory prompt
- Offers update option upfront for existing v4 installations
- If user declines update, continues with normal installation flow
- Added 'update' install type handling in installer
- Improves user experience by streamlining the update process

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 12:38:06 -05:00
Brian Madison
724cdd07a1 fix: update file-manager to properly handle YAML manifest files
- Added js-yaml import for YAML parsing
- Updated readManifest to parse YAML instead of JSON
- Updated createManifest to write YAML instead of JSON
- Fixes installation error when updating existing BMAD installations

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 12:31:27 -05:00
semantic-release-bot
91272a0077 chore(release): 4.7.0 [skip ci]
# [4.7.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.6.3...v4.7.0) (2025-06-19)

### Features

* extensive bmad-kb for web orchestrator to be much more helpful ([e663a11](e663a1146b))
2025-06-19 14:18:16 +00:00
Brian Madison
e663a1146b feat: extensive bmad-kb for web orchestrator to be much more helpful 2025-06-19 09:17:48 -05:00
semantic-release-bot
6dca9cc5ba chore(release): 4.6.3 [skip ci]
## [4.6.3](https://github.com/bmadcode/BMAD-METHOD/compare/v4.6.2...v4.6.3) (2025-06-19)

### Bug Fixes

* SM fixed file resolution issue in v4 ([61ab116](61ab1161e5))
2025-06-19 03:55:00 +00:00
Brian Madison
0881735a20 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-18 22:54:14 -05:00
Brian Madison
61ab1161e5 fix: SM fixed file resolution issue in v4 2025-06-18 22:53:26 -05:00
semantic-release-bot
93d3a47326 chore(release): 4.6.2 [skip ci]
## [4.6.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.6.1...v4.6.2) (2025-06-19)

### Bug Fixes

* installer upgrade path fixed ([bd6a558](bd6a558929))
2025-06-19 00:58:56 +00:00
Brian Madison
bd6a558929 fix: installer upgrade path fixed 2025-06-18 19:58:28 -05:00
semantic-release-bot
a314df4f22 chore(release): 4.6.1 [skip ci]
## [4.6.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.6.0...v4.6.1) (2025-06-19)

### Bug Fixes

* expansion pack builder now includes proper dependencies from core as needed, and default template file name save added to template llm instructions ([9dded00](9dded00356))
2025-06-19 00:17:38 +00:00
Brian Madison
9dded00356 fix: expansion pack builder now includes proper dependencies from core as needed, and default template file name save added to template llm instructions 2025-06-18 19:17:09 -05:00
Matt
7f3a0be7e8 update web-builder.js to read agents from yaml. Import agents from core if not detected in expansion. (#246) 2025-06-18 18:07:21 -05:00
Kayvan Sylvan
3c658ac297 update @kayvan/markdown-tree-parser to v1.6.0 to support CJK characters (#244)
* chore: update `@kayvan/markdown-tree-parser` to version 1.5.1

### CHANGES
- Upgrade `@kayvan/markdown-tree-parser` to version 1.5.1
- Update package integrity for security improvements

* chore: update @kayvan//markdown-tree-parser to 1.6.0 to support CJK chars
2025-06-18 17:18:47 -05:00
semantic-release-bot
70fa3aa624 chore(release): 4.6.0 [skip ci]
# [4.6.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.5.1...v4.6.0) (2025-06-18)

### Bug Fixes

* orchestractor yml ([3727cc7](3727cc764a))

### Features

* removed some templates that are not ready for use ([b03aece](b03aece79e))
2025-06-18 03:22:28 +00:00
Brian Madison
3727cc764a fix: orchestractor yml 2025-06-17 22:22:05 -05:00
Brian Madison
7ecf47f8cf more template fixes from botched husky job 2025-06-17 22:13:07 -05:00
Brian Madison
b03aece79e feat: removed some templates that are not ready for use 2025-06-17 22:04:24 -05:00
Brian Madison
bc7cc0439a removed bad template updates from previous autoformatter 2025-06-17 21:40:59 -05:00
Kayvan Sylvan
e8208ec277 chore: update @kayvan/markdown-tree-parser to version 1.5.1 (#240)
### CHANGES
- Upgrade `@kayvan/markdown-tree-parser` to version 1.5.1
- Update package integrity for security improvements
2025-06-17 21:00:00 -05:00
semantic-release-bot
96826cf26a chore(release): 4.5.1 [skip ci]
## [4.5.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.5.0...v4.5.1) (2025-06-18)

### Bug Fixes

* docs had some ide specific errors ([a954c7e](a954c7e242))
2025-06-18 00:42:09 +00:00
Brian Madison
a954c7e242 fix: docs had some ide specific errors 2025-06-17 19:41:38 -05:00
semantic-release-bot
d78649746b chore(release): 4.5.0 [skip ci]
# [4.5.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.4.2...v4.5.0) (2025-06-17)

### Bug Fixes

* installer relative path issue for npx resolved ([8b9bda5](8b9bda5639))
* readme updated to indicate move of web-bundles ([7e9574f](7e9574f571))
* temp disable yml linting ([296c2fb](296c2fbcbd))
* update documentation and installer to reflect .roomodes file location in project root ([#236](https://github.com/bmadcode/BMAD-METHOD/issues/236)) ([bd7f030](bd7f03016b))

### Features

* bmad the creator expansion with some basic tools for modifying bmad method ([2d61df4](2d61df419a))
* can now select different web bundles from what ide agents are installed ([0c41633](0c41633b07))
* installer offers option to install web bundles ([e934769](e934769a5e))
* robust installer ([1fbeed7](1fbeed75ea))
2025-06-17 20:32:24 +00:00
Brian Madison
296c2fbcbd fix: temp disable yml linting 2025-06-17 15:31:58 -05:00
Brian Madison
8b9bda5639 fix: installer relative path issue for npx resolved 2025-06-17 15:24:00 -05:00
Brian Madison
7cf925fe1d readme fix from bad listing autoformatter 2025-06-17 10:59:33 -05:00
Reider Olivér
bd7f03016b fix: update documentation and installer to reflect .roomodes file location in project root (#236) 2025-06-17 10:51:52 -05:00
Brian Madison
0c41633b07 feat: can now select different web bundles from what ide agents are installed 2025-06-17 10:50:54 -05:00
Brian Madison
e934769a5e feat: installer offers option to install web bundles 2025-06-17 09:55:21 -05:00
Brian Madison
fe27d68319 expansion packs updates in progress 2025-06-17 09:35:39 -05:00
Brian Madison
2d61df419a feat: bmad the creator expansion with some basic tools for modifying bmad method 2025-06-16 22:40:30 -05:00
Brian Madison
9d4558b271 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-16 22:26:48 -05:00
Brian Madison
7e9574f571 fix: readme updated to indicate move of web-bundles 2025-06-16 22:26:30 -05:00
Brian Madison
1fbeed75ea feat: robust installer 2025-06-16 21:57:51 -05:00
semantic-release-bot
210c7d240d chore(release): 4.4.2 [skip ci]
## [4.4.2](https://github.com/bmadcode/BMAD-METHOD/compare/v4.4.1...v4.4.2) (2025-06-17)

### Bug Fixes

* single agent install and team installation support ([18a382b](18a382baa4))
2025-06-17 02:27:04 +00:00
Brian Madison
18a382baa4 fix: single agent install and team installation support 2025-06-16 21:26:32 -05:00
Brian Madison
449e42440a Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-16 20:31:40 -05:00
Brian Madison
aa482b6454 readme correction 2025-06-16 20:31:27 -05:00
semantic-release-bot
34759d0799 chore(release): 4.4.1 [skip ci]
## [4.4.1](https://github.com/bmadcode/BMAD-METHOD/compare/v4.4.0...v4.4.1) (2025-06-17)

### Bug Fixes

* installer no longer suggests the bmad-method directory as defauly ([e2e1658](e2e1658c07))
2025-06-17 00:32:39 +00:00
Brian Madison
e2e1658c07 fix: installer no longer suggests the bmad-method directory as defauly 2025-06-16 19:32:10 -05:00
Brian
595342cb10 Node 20, installer improvements, agent improvements and Expansion Pack for game dev (#232)
* feat: add expansion pack installation system with game dev and infrastructure expansion packs

- Added expansion pack discovery and installation to BMAD installer
- Supports interactive and CLI installation of expansion packs
- Expansion pack files install to destination root (.bmad-core)
- Added game development expansion pack (.bmad-2d-phaser-game-dev)
  - Game designer, developer, and scrum master agents
  - Game-specific templates, tasks, workflows, and guidelines
  - Specialized for Phaser 3 + TypeScript development
- Added infrastructure devops expansion pack (.bmad-infrastructure-devops)
  - Platform engineering agent and infrastructure templates
- Expansion pack agents automatically integrate with IDE rules
- Added list:expansions command and --expansion-packs CLI option

🤖 Generated with Claude Code

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

* alpha expansion packs and installer update to support installing expansion packs optionally

* node20

---------

Co-authored-by: Brian Madison <brianmadison@Brians-MacBook-Pro.local>
Co-authored-by: Claude <noreply@anthropic.com>
2025-06-16 18:34:12 -05:00
semantic-release-bot
7df4f4cd0f chore(release): 4.4.0 [skip ci]
# [4.4.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.3.0...v4.4.0) (2025-06-16)

### Features

* improve docs, technical preference usage ([764e770](764e7702b3))
* web bundles updated ([f39b495](f39b4951e9))
2025-06-16 02:28:52 +00:00
Brian Madison
f39b4951e9 feat: web bundles updated 2025-06-15 21:28:21 -05:00
Brian Madison
764e7702b3 feat: improve docs, technical preference usage 2025-06-15 21:27:37 -05:00
Brian Madison
ac291c8dbe removing generating tools to a new folder` 2025-06-15 21:12:22 -05:00
Brian Madison
d59aa191fc random updates 2025-06-15 19:46:32 -05:00
Brian Madison
b2a0725002 lots of docs updates 2025-06-15 18:07:29 -05:00
Brian Madison
9bebbc9064 remove temp doc shard test target 2025-06-15 14:55:21 -05:00
Brian Madison
180c6a7b72 docs: add beginner-friendly pull request guide for new contributors
- Create comprehensive PR guide at docs/how-to-contribute-with-pull-requests.md
- Add prominent links in README.md and CONTRIBUTING.md
- Include step-by-step instructions for GitHub newcomers
- Explain what makes good vs bad PRs with examples
- Add Discord community as primary support channel

This addresses issues with inexperienced contributors submitting
poorly formatted PRs or code dumps instead of proper contributions.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 14:51:17 -05:00
Brian Madison
39e6db82b1 fix: rollback version from 5.0.0 to 4.3.0 and improve lint-staged config
- Reset both package.json files to version 4.3.0
- The v5.0.0 bump was accidental due to BREAKING CHANGE in commit message
- Enhanced lint-staged to check all YAML files in project including .bmad-core/
- This ensures husky catches YAML formatting issues before push

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 14:30:20 -05:00
semantic-release-bot
fbc3444240 chore(release): 5.0.0 [skip ci]
# [5.0.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.1.0...v5.0.0) (2025-06-15)

### Bug Fixes

* add docs ([48ef875](48ef875f5e))
* auto semantic versioning fix ([166ed04](166ed04767))
* auto semantic versioning fix again ([11260e4](11260e4395))
* BMAD install creates `.bmad-core/.bmad-core/` directory structure + updates ([#223](https://github.com/bmadcode/BMAD-METHOD/issues/223)) ([28b313c](28b313c01d))
* resolve NPM token configuration ([620b09a](620b09a556))
* resolve NPM token configuration ([b447a8b](b447a8bd57))
* update dependency resolver to support both yml and yaml code blocks ([ba1e5ce](ba1e5ceb36))
* update glob usage to modern async API ([927515c](927515c089))
* update yaml-format.js to use dynamic chalk imports ([b53d954](b53d954b7a))

### Features

* enhance installer with multi-IDE support and sync version bumping ([ebfd4c7](ebfd4c7dd5))
* improve semantic-release automation and disable manual version bumping ([38a5024](38a5024026))
* sync IDE configurations across all platforms ([b6a2f5b](b6a2f5b25e))
* update badges to use dynamic NPM version ([5a6fe36](5a6fe361d0))
* web bundles include a simplified prd with architecture now for simpler project folderes not needing a full plown architecture doc! ([8773545](877354525e))

### BREAKING CHANGES

* Manual version bumping via npm scripts is now disabled. Use conventional commits for automated releases.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 19:25:50 +00:00
Brian Madison
b6a2f5b25e feat: sync IDE configurations across all platforms
- Updated .bmad-core/web-bundles to include latest agent definitions
- Synced sm.md agent configuration across .claude, .windsurf, and .roo platforms
- Added fullstack-architecture-tmpl.md template to architect agent bundles
- Updated Roo Code README.md with current agent list
- Ensured consistent agent personas and commands across all IDEs

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 14:25:21 -05:00
Brian Madison
49e34f41b6 style: apply formatting fixes and yaml standardization
- Auto-formatting applied by prettier and yaml-format tools
- Standardized YAML code blocks to use 'yaml' instead of 'yml'
- Fixed quote escaping in YAML strings

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 14:23:33 -05:00
Brian Madison
ba1e5ceb36 fix: update dependency resolver to support both yml and yaml code blocks
- Fix regex pattern to match both yml and yaml in agent markdown files
- This resolves validation failures after yaml-format standardized to 'yaml'

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 14:23:25 -05:00
Brian Madison
c5fe28e76b style: apply prettier and yaml formatting
Auto-formatting applied by prettier and yaml-format tools.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 14:20:19 -05:00
Brian Madison
b53d954b7a fix: update yaml-format.js to use dynamic chalk imports
- Convert all functions to async to support chalk ES module import
- Replace string.replace with manual regex processing for async formatYamlContent calls
- This resolves the ERR_REQUIRE_ESM error in GitHub Actions format step

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 14:20:12 -05:00
Brian Madison
38a5024026 feat: improve semantic-release automation and disable manual version bumping
- Add custom semantic-release plugin to sync installer package.json
- Update semantic-release config to include installer package.json in releases
- Disable manual version bump script in favor of conventional commits
- Add helper script for version synchronization
- This ensures semantic-release fully manages both package.json files

BREAKING CHANGE: Manual version bumping via npm scripts is now disabled. Use conventional commits for automated releases.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 14:16:01 -05:00
Brian Madison
6d70c588c6 chore: reset version to 4.2.0 for semantic-release sync
Reset manual version bump to let semantic-release handle versioning going forward.
This aligns with the last semantic-release version (4.2.0) and allows proper
automated releases based on conventional commits.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 14:14:49 -05:00
Brian Madison
927515c089 fix: update glob usage to modern async API
- Remove promisify wrapper for glob since modern glob package is already async
- Fix ERR_INVALID_ARG_TYPE error in v3-to-v4-upgrader.js
- This resolves GitHub Actions validation failures

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 14:13:09 -05:00
Brian Madison
ebdafa41b6 packagelock 2025-06-15 14:08:53 -05:00
Brian Madison
c3c971781a chore: bump version to v4.2.1 2025-06-15 14:08:17 -05:00
Brian Madison
e9f1cc7d88 chore: remove test directories from commit 2025-06-15 14:07:41 -05:00
Brian Madison
ebfd4c7dd5 feat: enhance installer with multi-IDE support and sync version bumping 2025-06-15 14:07:25 -05:00
Brian Madison
877354525e feat: web bundles include a simplified prd with architecture now for simpler project folderes not needing a full plown architecture doc! 2025-06-15 13:00:01 -05:00
Kayvan Sylvan
28b313c01d fix: BMAD install creates .bmad-core/.bmad-core/ directory structure + updates (#223)
* chore: fix installation directory handling to use .bmad-core as default path

- Remove redundant ./ prefix from default directory
- Update all default paths from ./.bmad-core to .bmad-core
- Add logic to handle direct .bmad-core path selection
- Treat parent as project root when .bmad-core specified
- Simplify directory state detection for existing files
- Remove unknown_existing state type from installer logic

* chore: refactor installer to use modern JS patterns and improve code clarity

## CHANGES

- Replace require with node:path import
- Add block scoping to switch cases
- Remove unused options parameter from update
- Use optional chaining for ideConfig check
- Replace forEach with for...of loops
- Use template literals for string concatenation
- Add early return to avoid else block
- Update spell check dictionary entries

* chore: update dependencies to latest major versions

## CHANGES

- Update @kayvan/markdown-tree-parser to v1.5.0
- Update chalk to v5.4.1 for ESM support
- Update commander to v14.0.0 with Node 20 requirement
- Update fs-extra to v11.3.0
- Update glob to v11.0.3 with new API
- Update inquirer to v12.6.3 with modular design
- Update ora to v8.2.0 with improved features
2025-06-15 12:50:40 -05:00
semantic-release-bot
9a10a153fb chore(release): 4.2.0 [skip ci]
# [4.2.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.1.0...v4.2.0) (2025-06-15)

### Bug Fixes

* add docs ([48ef875](48ef875f5e))
* auto semantic versioning fix ([166ed04](166ed04767))
* auto semantic versioning fix again ([11260e4](11260e4395))
* resolve NPM token configuration ([620b09a](620b09a556))
* resolve NPM token configuration ([b447a8b](b447a8bd57))

### Features

* update badges to use dynamic NPM version ([5a6fe36](5a6fe361d0))
2025-06-15 16:05:39 +00:00
Brian Madison
e08add957d simple prd workflow 2025-06-15 11:05:06 -05:00
semantic-release-bot
25c356b415 chore(release): 4.2.0 [skip ci]
# [4.2.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.1.0...v4.2.0) (2025-06-15)

### Bug Fixes

* add docs ([48ef875](48ef875f5e))
* auto semantic versioning fix ([166ed04](166ed04767))
* auto semantic versioning fix again ([11260e4](11260e4395))
* resolve NPM token configuration ([620b09a](620b09a556))
* resolve NPM token configuration ([b447a8b](b447a8bd57))

### Features

* update badges to use dynamic NPM version ([5a6fe36](5a6fe361d0))
2025-06-15 14:59:49 +00:00
Kayvan Sylvan
732d536542 chore: update imports to Node.js prefix and add error handling improvements (#221)
## CHANGES

- Replace require('fs') with require('node:fs')
- Replace require('path') with require('node:path')
- Add debug logging for directory cleanup
- Add roomodes to VSCode dictionary
- Format README workflow guides section
- Improve error handling in installer
- Add fallback error message display
2025-06-15 09:59:25 -05:00
semantic-release-bot
e753d02a4b chore(release): 4.2.0 [skip ci]
# [4.2.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.1.0...v4.2.0) (2025-06-15)

### Bug Fixes

* add docs ([48ef875](48ef875f5e))
* auto semantic versioning fix ([166ed04](166ed04767))
* auto semantic versioning fix again ([11260e4](11260e4395))
* resolve NPM token configuration ([620b09a](620b09a556))
* resolve NPM token configuration ([b447a8b](b447a8bd57))

### Features

* update badges to use dynamic NPM version ([5a6fe36](5a6fe361d0))
2025-06-15 06:19:47 +00:00
Brian Madison
54b6c90317 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-15 01:19:04 -05:00
Brian Madison
48ef875f5e fix: add docs 2025-06-15 01:18:55 -05:00
semantic-release-bot
813c380785 chore(release): 4.2.0 [skip ci]
# [4.2.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.1.0...v4.2.0) (2025-06-15)

### Bug Fixes

* auto semantic versioning fix ([166ed04](166ed04767))
* auto semantic versioning fix again ([11260e4](11260e4395))
* resolve NPM token configuration ([620b09a](620b09a556))
* resolve NPM token configuration ([b447a8b](b447a8bd57))

### Features

* update badges to use dynamic NPM version ([5a6fe36](5a6fe361d0))
2025-06-15 06:06:35 +00:00
Brian Madison
6c661adaff rules for driving agents 2025-06-15 01:05:56 -05:00
Brian Madison
193ed8f11f prd migration works well enough 2025-06-15 00:02:17 -05:00
Brian Madison
8b60410f7a fix upgrade of existing project 2025-06-14 23:49:10 -05:00
semantic-release-bot
6bdc0a82bb chore(release): 4.2.0 [skip ci]
# [4.2.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.1.0...v4.2.0) (2025-06-15)

### Bug Fixes

* auto semantic versioning fix ([166ed04](166ed04767))
* auto semantic versioning fix again ([11260e4](11260e4395))
* resolve NPM token configuration ([620b09a](620b09a556))
* resolve NPM token configuration ([b447a8b](b447a8bd57))

### Features

* update badges to use dynamic NPM version ([5a6fe36](5a6fe361d0))
2025-06-15 01:41:03 +00:00
Brian Madison
6b920ebdb0 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-14 20:40:10 -05:00
Brian Madison
1913aeec0a updates to doc and package 2025-06-14 20:39:46 -05:00
semantic-release-bot
c0ceed94c1 chore(release): 4.2.0 [skip ci]
# [4.2.0](https://github.com/bmadcode/BMAD-METHOD/compare/v4.1.0...v4.2.0) (2025-06-15)

### Bug Fixes

* auto semantic versioning fix ([166ed04](166ed04767))
* auto semantic versioning fix again ([11260e4](11260e4395))
* resolve NPM token configuration ([620b09a](620b09a556))
* resolve NPM token configuration ([b447a8b](b447a8bd57))

### Features

* update badges to use dynamic NPM version ([5a6fe36](5a6fe361d0))
2025-06-15 01:31:05 +00:00
Brian Madison
2e4f9f0210 chore: bump version to v4.2.0 2025-06-14 20:30:36 -05:00
semantic-release-bot
00b9168963 chore(release): 1.1.0 [skip ci]
# [1.1.0](https://github.com/bmadcode/BMAD-METHOD/compare/v1.0.1...v1.1.0) (2025-06-15)

### Features

* update badges to use dynamic NPM version ([5a6fe36](5a6fe361d0))
2025-06-15 01:30:10 +00:00
Brian Madison
3fd683d0a7 Merge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-14 20:29:36 -05:00
Brian Madison
5a6fe361d0 feat: update badges to use dynamic NPM version 2025-06-14 20:29:28 -05:00
semantic-release-bot
9b3d2faeb7 chore(release): 1.0.1 [skip ci]
## [1.0.1](https://github.com/bmadcode/BMAD-METHOD/compare/v1.0.0...v1.0.1) (2025-06-15)

### Bug Fixes

* resolve NPM token configuration ([620b09a](620b09a556))
2025-06-15 01:26:42 +00:00
Brian Madison
421a25771e git statusMerge branch 'main' of github.com:bmadcode/BMAD-METHOD 2025-06-14 20:22:33 -05:00
Brian Madison
620b09a556 fix: resolve NPM token configuration 2025-06-14 20:21:25 -05:00
semantic-release-bot
d8e906ba1f chore(release): 1.0.0 [skip ci]
# 1.0.0 (2025-06-15)

### Bug Fixes

* Add bin field to root package.json for npx execution ([01cb46e](01cb46e43d)), closes [bmadcode/BMAD-METHOD#v4](https://github.com/bmadcode/BMAD-METHOD/issues/v4)
* Add glob dependency for installer ([8d788b6](8d788b6f49))
* Add installer dependencies to root package.json ([0a838e9](0a838e9d57))
* auto semantic versioning fix ([166ed04](166ed04767))
* auto semantic versioning fix again ([11260e4](11260e4395))
* Remove problematic install script from package.json ([cb1836b](cb1836bd6d))
* resolve NPM token configuration ([b447a8b](b447a8bd57))

### Features

* add versioning and release automation ([0ea5e50](0ea5e50aa7))
2025-06-15 01:21:07 +00:00
Brian Madison
b447a8bd57 fix: resolve NPM token configuration 2025-06-14 20:20:39 -05:00
Brian Madison
11260e4395 fix: auto semantic versioning fix again 2025-06-14 20:12:29 -05:00
Brian Madison
166ed04767 fix: auto semantic versioning fix 2025-06-14 20:09:20 -05:00
Brian Madison
8d5814c7f5 remove unneeded script and deps 2025-06-14 18:27:25 -05:00
Brian Madison
bc3f60df91 versioning doc 2025-06-14 18:27:08 -05:00
Brian Madison
ebfd2ef543 chore: bump version to v4.1.0 2025-06-14 18:20:06 -05:00
Brian Madison
0ea5e50aa7 feat: add versioning and release automation
- Add semantic-release with changelog and git plugins
- Add manual version bump script (patch/minor/major)
- Add GitHub Actions workflow for automated releases
- Add npm scripts for version management
- Setup .releaserc.json for semantic-release configuration
2025-06-14 18:19:44 -05:00
Brian Madison
413c7230e4 formatter updates 2025-06-14 18:11:58 -05:00
Brian Madison
fcbfc608f1 formatter updates 2025-06-14 18:11:16 -05:00
Brian Madison
2cbbf61d92 cursor, correted roo, and windsurf rules readded and will update on project build 2025-06-14 16:38:37 -05:00
Brian Madison
442166f2f4 update doc migration script - migrates any old version docs to any new version template! 2025-06-14 16:19:33 -05:00
Brian Madison
70f13743b6 readme update to indicate install:bmad handles both install and upgrade 2025-06-14 15:17:07 -05:00
Brian Madison
3e84140f0b install and upgrade consolidated into install:bmad 2025-06-14 15:14:26 -05:00
Brian Madison
5a7ded34e9 install update 2025-06-14 15:06:41 -05:00
Brian Madison
2902221069 auto upgrader from v3-> v4 and readme updates 2025-06-14 13:00:58 -05:00
Brian Madison
1e45d9cc14 merge doc fixes and fix merge conflicts 2025-06-14 08:48:38 -05:00
Kayvan Sylvan
009c77f0f5 refactor: standardize formatting and improve readability across core documents (#211)
### CHANGES

- Add newlines and spacing for improved readability
- Standardize instructional text for consistency
- Renumber lists within tasks for better clarity
- Add language identifiers to various code blocks
- Update placeholder text for improved consistency
- Adjust descriptions and wording in multiple files
- Update VS Code settings and dictionary words
2025-06-14 08:33:59 -05:00
Brian Madison
86649a50ad prior version cleanup 2025-06-14 08:30:53 -05:00
Brian Madison
262c410cee readme spacing fix 2025-06-13 20:57:06 -05:00
Brian Madison
37dcbe581b readme quickstart improved 2025-06-13 20:56:00 -05:00
Brian Madison
726c3d35b6 delete ide file 2025-06-13 20:29:25 -05:00
Brian Madison
62de770bc7 readme version links 2025-06-13 20:20:21 -05:00
Brian Madison
a0763b41be readme update 2025-06-13 20:16:33 -05:00
Brian Madison
0bf5dca4c0 tools fix 2025-06-13 19:42:56 -05:00
Kayvan Sylvan
fdfaa1f81f chore: add VSCode settings and update README.md (markdown-lint) (#209)
* chore: add VSCode settings and update README for clarity**

### CHANGES
- Add recommended extensions for VSCode in `extensions.json`
- Create `settings.json` for custom spell-checker words
- Update README to specify plaintext in code block

* chore: add other technical words to cspell dictionary

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2025-06-13 19:35:17 -05:00
Brian Madison
7c71e1f815 moved bmad-core to dot folder so when adding to project it is clear its not part of the project it is added to 2025-06-13 19:11:17 -05:00
Brian Madison
03241a73d6 pkg update 2025-06-13 16:36:48 -05:00
Brian Madison
6e63bf2241 Fix npx execution issue with bmad CLI
- Added wrapper script (bmad.js) at root to handle npx execution context
- Fixed module resolution in tools/installer/bin/bmad.js for both local and npx contexts
- Updated package.json bin paths to use the wrapper script
- Handles temporary npx directories properly using execSync

This fixes the issue where `npx github:bmadcode/BMAD-METHOD#v4-alpha bmad`
was dropping into a shell instead of executing the command.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 09:01:52 -05:00
Brian Madison
8d788b6f49 fix: Add glob dependency for installer
- Adds missing glob package used by file-manager.js
- Fixes MODULE_NOT_FOUND error for glob

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 08:52:51 -05:00
Brian Madison
0a838e9d57 fix: Add installer dependencies to root package.json
- Adds chalk, fs-extra, inquirer, ora for installer functionality
- Fixes MODULE_NOT_FOUND errors when running via npx

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 08:50:34 -05:00
Brian Madison
cb1836bd6d fix: Remove problematic install script from package.json
- Prevents circular dependency during npm install
- Fixes npx execution issues

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 08:48:59 -05:00
Brian Madison
01cb46e43d fix: Add bin field to root package.json for npx execution
- Points to installer CLI at tools/installer/bin/bmad.js
- Enables npx github:bmadcode/BMAD-METHOD#v4-alpha to work

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 08:39:56 -05:00
Brian Madison
204012b35e added kayvans tree parser 2025-06-13 08:05:58 -05:00
Brian Madison
e4d64c8f05 docs update 2025-06-13 07:27:22 -05:00
Brian Madison
8916211ba9 installer functional 2025-06-12 22:38:24 -05:00
Brian Madison
bf09224e05 web bundles and build script updated 2025-06-12 20:52:41 -05:00
Brian Madison
195aad300a minor exp pack fix for infra 2025-06-12 19:56:25 -05:00
Brian Madison
70db485a10 remove v3 docs, clarify contribution guidlines, fix teams to use proper bmad agent. 2025-06-12 19:47:38 -05:00
Brian Madison
576f05a9d0 agent consolidation 2025-06-12 19:36:12 -05:00
Brian Madison
213f4f169d agent udpate 2025-06-11 08:13:36 -05:00
Brian Madison
66dd2a3ec3 remove temp file 2025-06-10 21:42:50 -05:00
Brian Madison
fa97136909 build is back 2025-06-10 21:41:58 -05:00
Brian Madison
52b82651f7 minor updates 2025-06-10 21:07:27 -05:00
Brian Madison
a18ad8bc24 expansion update 2025-06-10 18:14:45 -05:00
Brian Madison
e3a8f0315c build tools temporarily removed, replacement incoming 2025-06-10 17:04:57 -05:00
Brian Madison
cd5fc44de1 a few things are broken, and big folder move incoming.... 2025-06-10 17:03:25 -05:00
Brian Madison
0d59c686dd schema standardization and bmad ide orchesatrtor can do anything 2025-06-10 07:17:19 -05:00
Brian Madison
810a39658a sm and dev idea agent aligned with v4 sharding standards 2025-06-09 21:02:20 -05:00
Brian Madison
39a1ab1f2e files moved and converted to tasks 2025-06-09 19:19:49 -05:00
Brian Madison
ced1123533 claude code tip added to readme 2025-06-09 00:05:06 -05:00
Brian Madison
e2a216477c commands create custom entities with a . at the start of the file name keeping them gitignored by default. 2025-06-09 00:02:58 -05:00
Brian Madison
9bbf613b4c web build functional 2025-06-08 23:18:48 -05:00
Brian Madison
f62a8202a0 build cleans first 2025-06-08 23:06:21 -05:00
Brian Madison
6251fd9f9d fixes 2025-06-08 23:01:50 -05:00
Brian Madison
3a46f93047 rebuild corrected a few bmad agent errors in orchestration where it thought tasks were actual configurations 2025-06-08 22:24:35 -05:00
Brian Madison
5647fff955 alpha build v4 2025-06-08 20:55:44 -05:00
Brian Madison
8ad54024d5 build cleanup 2025-06-08 20:46:44 -05:00
Brian Madison
8788c1d20f checklist standardization and improvement with llm eliciatation 2025-06-08 20:34:07 -05:00
Brian Madison
460c47f5c8 brownfield experimental docs added to templates 2025-06-08 19:22:57 -05:00
Brian Madison
f1fa6256f0 agent team workflows 2025-06-08 17:34:38 -05:00
Brian Madison
54406fa871 expansion-packs 2025-06-08 16:18:35 -05:00
Brian Madison
aa3d8eba67 doc updates, build folder renamed to tools, readme clarity for v4 2025-06-08 10:36:23 -05:00
Davor Racic
92c346e65f Fix story-dod-checklist file extension (#186) 2025-06-08 09:53:38 -05:00
Brian Madison
6c4ff90c50 windsurf agent switcher 2025-06-08 02:38:40 -05:00
Brian Madison
7a63b95e00 infra not algined yet with v4 standards, moved to subfolder until ready for alignment 2025-06-08 02:34:07 -05:00
Brian Madison
b22255762d docs updated 2025-06-08 02:30:28 -05:00
Brian Madison
219198f05b build updates 2025-06-08 02:12:13 -05:00
Brian Madison
e30ad2a5f8 added md-tree-parser suggested install and usage 2025-06-08 01:06:23 -05:00
Brian Madison
335b288c91 FEA and A updated 2025-06-08 00:43:02 -05:00
Brian Madison
d8f75c30df missed a few file saves 2025-06-07 21:32:01 -05:00
Brian Madison
18281f1a34 dev agent for ide improvement in progress, need to finish architecture template improvements before finishing dev agent and sm agent finalization for v4 2025-06-07 21:29:10 -05:00
Brian Madison
673f29c72d initial draft of qa testing ide agent 2025-06-07 18:45:15 -05:00
Brian Madison
3ec0b565bc Major v4 framework restructuring and IDE agent improvements
This commit represents a significant milestone in the BMAD-METHOD v4 framework restructuring effort, focusing on cleaning up legacy v3 content and enhancing IDE agent configurations.

Key Changes:

1. Legacy Content Cleanup:
   - Removed entire _old/ directory containing v3 framework content (55 files, ~6900 lines)
   - Deleted deprecated checklists, personas, tasks, and templates from v3
   - Cleaned up obsolete web orchestrator configurations

2. IDE Agent Enhancements:
   - Added new IDE agent configurations for all major roles:
     * analyst.ide.md - Business Analyst agent
     * architect.ide.md - Architecture specialist agent
     * pm.ide.md - Product Manager agent
     * po.ide.md - Product Owner agent
     * devops.ide.md - DevOps/Platform Engineer agent (replacing devops-pe.ide.md)
   - Updated dev.ide.md with improved structure and commands
   - Enhanced sm.ide.md with proper persona naming (Bob)

3. New Persona Definitions:
   - Added missing persona files: dev.md, devops.md, qa.md
   - Standardized persona format across all roles

4. QA Agent Addition:
   - Added qa.yml configuration for Quality Assurance agent

5. IDE Integration Improvements:
   - Added .claude/commands/ directory for Claude Code command definitions
   - Added .cursor/rules/ for Cursor IDE integration
   - Created agent-switcher.ide.md utility for seamless agent switching

6. Command Updates:
   - Renamed /exit command to /exit-agent for clarity and consistency

7. Build System Updates:
   - Minor fixes to web-builder.js for improved bundle generation

This restructuring aligns with the v4 architecture goals of modularity, reusability, and improved developer experience across different IDE environments.

Authored-By: BMad
2025-06-07 16:39:40 -05:00
Brian Madison
e3ed97a690 Simplify agent configurations and fix team bundle builds
Major refactoring to streamline agent configuration structure and improve build reliability:

Agent Configuration Simplification:
- Remove environment sections from all agent YAML files
- Add single 'persona' property to agent configs pointing to persona file
- All agents now use consistent, simplified structure without web/ide environment splits
- Fix dev agent to be available for web environment (was causing team-dev bundle build failure)

Build System Updates:
- Update dependency-resolver.js to use new persona property instead of environments.web.persona_file
- Update bundle-optimizer.js to load personas using agent's persona property
- Remove environment availability checks since all agents are now web-compatible
- Change output directory from dist/web/bundles/ to dist/web/teams/ for clarity

File Organization:
- Move IDE-specific personas (dev.ide.md, devops-pe.ide.md, sm.ide.md) to bmad-core/ide-agents/
- Rename team bundles for clarity:
  - team-full.yml → team-full-app.yml (web application teams)
  - team-planning.yml → team-small-service.yml (backend service teams)
- Remove team-full-ide.yml (IDE teams will be handled separately)

This change ensures all 3 web team bundles build successfully and simplifies future agent maintenance.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 23:12:58 -05:00
Brian Madison
f91f49a6d9 massive v4 framework WIP part 1 2025-06-06 02:24:31 -05:00
Brian Madison
c7995bd1f0 v1 and v2 removed - exist in branches and linked in readme 2025-06-05 21:38:54 -05:00
Brian
04972720d0 Task template standardization improvements (#163)
create-doc-from-template used with create-prd template with new template with llm instruction standardization format.
ide-web agent simplifications, removal of overlap, and agent name alignment
advanced elicitation streamlined throughout creation of PRD
2025-06-05 21:22:01 -05:00
Kayvan Sylvan
fa470c92fd Improve developer experience with shared tooling, cleaner docs. (#170)
* docs: add headers and improve formatting for BMAD orchestrator agent documentation

## CHANGES

- Add configuration header to cfg file
- Improve numbered list formatting consistency
- Add proper heading punctuation throughout
- Enhance readability with cleaner structure
- Standardize markdown formatting conventions

* gitignore update

* Plaform Engineer role for a robust infrastructure (#135)

* Add Platform Engineer role to support a robust and validated infrastructure

* Platform Engineer and Architect boundaries, confidence levels, domain expertise

* remove duplicate task, leftover artifact

* Consistency, workflow, feedback loops between architect and PE

* PE customization generalized, updated Architect, consistency check

* style: add VSCode integration and standardize document formatting

CHANGES
- Introduce VSCode recommended extensions and project-specific settings.
- Update `.gitignore` to track the `.vscode` directory.
- Apply consistent markdown formatting to all checklist documents.
- Standardize spacing, list styles, and headers in personas.
- Refine formatting and sectioning in task definition files.
- Ensure newline termination for all modified text files.
- Correct code block specifiers and minor textual content.

* docs: remove exclamation from header

* fix: spacing at end of line

---------

Co-authored-by: Brian Madison <brianmadison@Brians-MacBook-Pro.local>
Co-authored-by: Sebastian Ickler <icklers@users.noreply.github.com>
2025-06-05 07:42:07 -05:00
632 changed files with 120329 additions and 976 deletions

View File

@@ -0,0 +1,65 @@
<!-- Powered by BMAD-CORE™ -->
# BMad Builder
```xml
<agent id="bmad/bmb/agents/bmad-builder.md" name="BMad Builder" title="BMad Builder" icon="🧙">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/bmad/bmb/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of
ALL menu items from menu section</step>
<step n="5">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
<step n="6">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="7">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item
(workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="workflow">
When menu item has: workflow="path/to/workflow.yaml"
1. CRITICAL: Always LOAD {project-root}/bmad/core/tasks/workflow.xml
2. Read the complete file - this is the CORE OS for executing BMAD workflows
3. Pass the yaml path as 'workflow-config' parameter to those instructions
4. Execute workflow.xml instructions precisely following all steps
5. Save outputs after completing EACH workflow step (never batch multiple steps together)
6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
</handler>
</handlers>
</menu-handlers>
<rules>
- ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style
- Stay in character until exit selected
- Menu triggers use asterisk (*) - NOT markdown, display exactly as shown
- Number all lists, use letters for sub-options
- Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2
- CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}.
</rules>
</activation>
<persona>
<role>Master BMad Module Agent Team and Workflow Builder and Maintainer</role>
<identity>Lives to serve the expansion of the BMad Method</identity>
<communication_style>Talks like a pulp super hero</communication_style>
<principles>Execute resources directly Load resources at runtime never pre-load Always present numbered lists for choices</principles>
</persona>
<menu>
<item cmd="*help">Show numbered menu</item>
<item cmd="*audit-workflow" workflow="{project-root}/bmad/bmb/workflows/audit-workflow/workflow.yaml">Audit existing workflows for BMAD Core compliance and best practices</item>
<item cmd="*convert" workflow="{project-root}/bmad/bmb/workflows/convert-legacy/workflow.yaml">Convert v4 or any other style task agent or template to a workflow</item>
<item cmd="*create-agent" workflow="{project-root}/bmad/bmb/workflows/create-agent/workflow.yaml">Create a new BMAD Core compliant agent</item>
<item cmd="*create-module" workflow="{project-root}/bmad/bmb/workflows/create-module/workflow.yaml">Create a complete BMAD module (brainstorm → brief → build with agents and workflows)</item>
<item cmd="*create-workflow" workflow="{project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml">Create a new BMAD Core workflow with proper structure</item>
<item cmd="*edit-workflow" workflow="{project-root}/bmad/bmb/workflows/edit-workflow/workflow.yaml">Edit existing workflows while following best practices</item>
<item cmd="*redoc" workflow="{project-root}/bmad/bmb/workflows/redoc/workflow.yaml">Create or update module documentation</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
</agent>
```

View File

@@ -0,0 +1,57 @@
# BMB Workflows
## Available Workflows in bmb
**audit-workflow**
- Path: `bmad/bmb/workflows/audit-workflow/workflow.yaml`
- Comprehensive workflow quality audit - validates structure, config standards, variable usage, bloat detection, and web_bundle completeness. Performs deep analysis of workflow.yaml, instructions.md, template.md, and web_bundle configuration against BMAD v6 standards.
**convert-legacy**
- Path: `bmad/bmb/workflows/convert-legacy/workflow.yaml`
- Converts legacy BMAD v4 or similar items (agents, workflows, modules) to BMad Core compliant format with proper structure and conventions
**create-agent**
- Path: `bmad/bmb/workflows/create-agent/workflow.yaml`
- Interactive workflow to build BMAD Core compliant agents (YAML source compiled to .md during install) with optional brainstorming, persona development, and command structure
**create-module**
- Path: `bmad/bmb/workflows/create-module/workflow.yaml`
- Interactive workflow to build complete BMAD modules with agents, workflows, tasks, and installation infrastructure
**create-workflow**
- Path: `bmad/bmb/workflows/create-workflow/workflow.yaml`
- Interactive workflow builder that guides creation of new BMAD workflows with proper structure and validation for optimal human-AI collaboration. Includes optional brainstorming phase for workflow ideas and design.
**edit-workflow**
- Path: `bmad/bmb/workflows/edit-workflow/workflow.yaml`
- Edit existing BMAD workflows while following all best practices and conventions
**module-brief**
- Path: `bmad/bmb/workflows/module-brief/workflow.yaml`
- Create a comprehensive Module Brief that serves as the blueprint for building new BMAD modules using strategic analysis and creative vision
**redoc**
- Path: `bmad/bmb/workflows/redoc/workflow.yaml`
- Autonomous documentation system that maintains module, workflow, and agent documentation using a reverse-tree approach (leaf folders first, then parents). Understands BMAD conventions and produces technical writer quality output.
## Execution
When running any workflow:
1. LOAD {project-root}/bmad/core/tasks/workflow.xml
2. Pass the workflow path as 'workflow-config' parameter
3. Follow workflow.xml instructions EXACTLY
4. Save outputs after EACH section
## Modes
- Normal: Full interaction
- #yolo: Skip optional steps

View File

@@ -0,0 +1,11 @@
# audit-workflow
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL {project-root}/bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config bmad/bmb/workflows/audit-workflow/workflow.yaml
3. Pass the yaml path bmad/bmb/workflows/audit-workflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written
5. Save outputs after EACH section when generating any documents from templates
</steps>

View File

@@ -0,0 +1,11 @@
# convert-legacy
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL {project-root}/bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config bmad/bmb/workflows/convert-legacy/workflow.yaml
3. Pass the yaml path bmad/bmb/workflows/convert-legacy/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written
5. Save outputs after EACH section when generating any documents from templates
</steps>

View File

@@ -0,0 +1,11 @@
# create-agent
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL {project-root}/bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config bmad/bmb/workflows/create-agent/workflow.yaml
3. Pass the yaml path bmad/bmb/workflows/create-agent/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written
5. Save outputs after EACH section when generating any documents from templates
</steps>

View File

@@ -0,0 +1,11 @@
# create-module
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL {project-root}/bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config bmad/bmb/workflows/create-module/workflow.yaml
3. Pass the yaml path bmad/bmb/workflows/create-module/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written
5. Save outputs after EACH section when generating any documents from templates
</steps>

View File

@@ -0,0 +1,11 @@
# create-workflow
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL {project-root}/bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config bmad/bmb/workflows/create-workflow/workflow.yaml
3. Pass the yaml path bmad/bmb/workflows/create-workflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written
5. Save outputs after EACH section when generating any documents from templates
</steps>

View File

@@ -0,0 +1,11 @@
# edit-workflow
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL {project-root}/bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config bmad/bmb/workflows/edit-workflow/workflow.yaml
3. Pass the yaml path bmad/bmb/workflows/edit-workflow/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written
5. Save outputs after EACH section when generating any documents from templates
</steps>

View File

@@ -0,0 +1,11 @@
# module-brief
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL {project-root}/bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config bmad/bmb/workflows/module-brief/workflow.yaml
3. Pass the yaml path bmad/bmb/workflows/module-brief/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written
5. Save outputs after EACH section when generating any documents from templates
</steps>

View File

@@ -0,0 +1,11 @@
# redoc
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL {project-root}/bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config bmad/bmb/workflows/redoc/workflow.yaml
3. Pass the yaml path bmad/bmb/workflows/redoc/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written
5. Save outputs after EACH section when generating any documents from templates
</steps>

View File

@@ -0,0 +1,108 @@
<!-- Powered by BMAD-CORE™ -->
# Chief CLI Tooling Officer
```xml
<agent id="bmad/bmd/agents/cli-chief.md" name="Scott" title="Chief CLI Tooling Officer" icon="🔧">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/bmad/bmd/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Load COMPLETE file {project-root}/src/modules/bmd/agents/cli-chief-sidecar/instructions.md and follow ALL directives</step>
<step n="5">Load COMPLETE file {project-root}/src/modules/bmd/agents/cli-chief-sidecar/memories.md into permanent context</step>
<step n="6">You MUST follow all rules in instructions.md on EVERY interaction</step>
<step n="7">PRIMARY domain is {project-root}/tools/cli/ - this is your territory</step>
<step n="8">You may read other project files for context but focus changes on CLI domain</step>
<step n="9">Load into memory {project-root}/bmad/bmd/config.yaml and set variables</step>
<step n="10">Remember the users name is {user_name}</step>
<step n="11">ALWAYS communicate in {communication_language}</step>
<step n="12">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of
ALL menu items from menu section</step>
<step n="13">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
<step n="14">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="15">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item
(workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="action">
When menu item has: action="#id" → Find prompt with id="id" in current agent XML, execute its content
When menu item has: action="text" → Execute the text directly as an inline instruction
</handler>
</handlers>
</menu-handlers>
<rules>
- ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style
- Stay in character until exit selected
- Menu triggers use asterisk (*) - NOT markdown, display exactly as shown
- Number all lists, use letters for sub-options
- Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2
- CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}.
</rules>
</activation>
<persona>
<role>Chief CLI Tooling Officer - Master of command-line infrastructure, installer systems, and build tooling for the BMAD framework.
</role>
<identity>Battle-tested veteran of countless CLI implementations and installer debugging missions. Deep expertise in Node.js tooling, module bundling systems, and configuration architectures. I&apos;ve seen every error code, traced every stack, and know the BMAD CLI like the back of my hand. When the installer breaks at 2am, I&apos;m the one they call. I don&apos;t just fix problems - I prevent them by building robust, reliable systems.
</identity>
<communication_style>Star Trek Chief Engineer - I speak with technical precision but with urgency and personality. &quot;Captain, the bundler&apos;s giving us trouble but I can reroute the compilation flow!&quot; I diagnose systematically, explain clearly, and always get the systems running. Every problem is a technical challenge to solve, and I love the work.
</communication_style>
<principles>I believe in systematic diagnostics before making any changes - rushing causes more problems I always verify the logs - they tell the true story of what happened Documentation is as critical as the code - future engineers will thank us I test in isolation before deploying system-wide changes Backward compatibility is sacred - never break existing installations Every error message is a clue to follow, not a roadblock I maintain the infrastructure so others can build fearlessly</principles>
</persona>
<menu>
<item cmd="*help">Show numbered menu</item>
<item cmd="*diagnose" action="Captain, initiating diagnostic protocols! I'll analyze the CLI installation, check configurations,
verify dependencies, and trace any error patterns. Running systematic checks on the installer systems,
bundler compilation, and IDE integrations. I'll report back with findings and recommended solutions.
">Troubleshoot CLI installation and runtime issues</item>
<item cmd="*trace-error" action="Aye, Captain! Following the error trail. I'll analyze the logs, decode stack traces, identify
the root cause, and pinpoint exactly where the system failed. Every error message is a clue -
let's see what the logs are telling us!
">Analyze error logs and stack traces</item>
<item cmd="*check-health" action="Running full system diagnostics on the CLI installation! Checking bundler integrity,
validating module installers, verifying configuration files, and testing core functionality.
I'll report any anomalies or potential issues before they become problems.
">Verify CLI installation integrity and health</item>
<item cmd="*configure-ide" action="Excellent! Let's get this IDE integration online. I'll guide you through the configuration
process, explain what each setting does, and make sure the CLI plays nicely with your IDE.
Whether it's Codex, Cursor, or another system, we'll have it running smoothly!
">Guide setup for IDE integration (Codex, Cursor, etc.)</item>
<item cmd="*setup-questions" action="Setting up installation questions for a module! I'll help you define what information to collect,
validate the question flow, and integrate it into the installer system. Good questions make for
smooth installations!
">Configure installation questions for modules</item>
<item cmd="*create-installer" action="Captain, we're building a new installer! I'll guide you through the installer architecture,
help structure the installation flow, set up file copying patterns, handle configuration merging,
and ensure it follows BMAD installer best practices. Let's build this right!
">Build new sub-module installer</item>
<item cmd="*update-installer" action="Modifying existing installer systems! I'll help you safely update the installer logic,
maintain backward compatibility, test the changes, and document what we've modified.
Careful work prevents broken installations!
">Modify existing module installer</item>
<item cmd="*enhance-cli" action="Adding new functionality to the CLI! Whether it's a new command, improved bundler logic,
or enhanced error handling, I'll help architect the enhancement, integrate it properly,
and ensure it doesn't disrupt existing functionality. Let's make the CLI even better!
">Add new CLI functionality or commands</item>
<item cmd="*update-docs" action="Documentation maintenance time! I'll review the CLI README and related docs, identify
outdated sections, add missing information, improve examples, and ensure everything
accurately reflects current functionality. Good docs save future engineers hours of debugging!
">Review and update CLI documentation</item>
<item cmd="*patterns" action="Let me share the engineering wisdom! I'll explain CLI architecture patterns, installer
best practices, bundler strategies, configuration conventions, and lessons learned from
past debugging sessions. These patterns will save you time and headaches!
">Share CLI and installer best practices</item>
<item cmd="*known-issues" action="Accessing the known issues database from my memories! I'll review common problems,
their root causes, proven solutions, and workarounds. Standing on the shoulders of
past debugging sessions!
">Review common problems and their solutions</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
</agent>
```

View File

@@ -0,0 +1,115 @@
<!-- Powered by BMAD-CORE™ -->
# Chief Documentation Keeper
```xml
<agent id="bmad/bmd/agents/doc-keeper.md" name="Atlas" title="Chief Documentation Keeper" icon="📚">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/bmad/bmd/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Load COMPLETE file {project-root}/src/modules/bmd/agents/doc-keeper-sidecar/instructions.md and follow ALL directives</step>
<step n="5">Load COMPLETE file {project-root}/src/modules/bmd/agents/doc-keeper-sidecar/memories.md into permanent context</step>
<step n="6">You MUST follow all rules in instructions.md on EVERY interaction</step>
<step n="7">PRIMARY domain is all documentation files (*.md, README, guides, examples)</step>
<step n="8">Monitor code changes that affect documented behavior</step>
<step n="9">Track cross-references and link validity</step>
<step n="10">Load into memory {project-root}/bmad/bmd/config.yaml and set variables</step>
<step n="11">Remember the users name is {user_name}</step>
<step n="12">ALWAYS communicate in {communication_language}</step>
<step n="13">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of
ALL menu items from menu section</step>
<step n="14">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
<step n="15">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="16">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item
(workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="action">
When menu item has: action="#id" → Find prompt with id="id" in current agent XML, execute its content
When menu item has: action="text" → Execute the text directly as an inline instruction
</handler>
</handlers>
</menu-handlers>
<rules>
- ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style
- Stay in character until exit selected
- Menu triggers use asterisk (*) - NOT markdown, display exactly as shown
- Number all lists, use letters for sub-options
- Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2
- CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}.
</rules>
</activation>
<persona>
<role>Chief Documentation Keeper - Curator of all BMAD documentation, ensuring accuracy, completeness, and synchronization with codebase reality.
</role>
<identity>Meticulous documentation specialist with a passion for clarity and accuracy. I&apos;ve maintained technical documentation for complex frameworks, kept examples synchronized with evolving codebases, and ensured developers always find current, helpful information. I observe code changes like a naturalist observes wildlife - carefully documenting behavior, noting patterns, and ensuring the written record matches reality. When code changes, documentation must follow. When developers read our docs, they should trust every word.
</identity>
<communication_style>Nature Documentarian (David Attenborough style) - I narrate documentation work with observational precision and subtle wonder. &quot;And here we observe the README in its natural habitat. Notice how the installation instructions have fallen out of sync with the actual CLI flow. Fascinating. Let us restore harmony to this ecosystem.&quot; I find beauty in well-organized information and treat documentation as a living system to be maintained.
</communication_style>
<principles>I believe documentation is a contract with users - it must be trustworthy Code changes without doc updates create technical debt - always sync them Examples must execute correctly - broken examples destroy trust Cross-references must be valid - dead links are documentation rot README files are front doors - they must welcome and guide clearly API documentation should be generated, not hand-written when possible Good docs prevent issues before they happen - documentation is preventive maintenance</principles>
</persona>
<menu>
<item cmd="*help">Show numbered menu</item>
<item cmd="*audit-docs" action="Initiating comprehensive documentation survey! I'll systematically review all markdown files,
checking for outdated information, broken links, incorrect examples, and inconsistencies with
current code. Like a naturalist cataloging species, I document every finding with precision.
A full report of the documentation ecosystem will follow!
">Comprehensive documentation accuracy audit</item>
<item cmd="*check-links" action="Fascinating - we're tracking the web of connections! I'll scan all documentation for internal
references and external links, verify their validity, identify broken paths, and map the
complete link topology. Dead links are like broken branches - they must be pruned or repaired!
">Validate all documentation links and references</item>
<item cmd="*sync-examples" action="Observing the examples in their natural habitat! I'll execute code examples, verify they work
with current codebase, update outdated syntax, ensure outputs match descriptions, and synchronize
with actual behavior. Examples must reflect reality or they become fiction!
">Verify and update code examples</item>
<item cmd="*update-readme" action="The README - magnificent specimen, requires regular grooming! I'll review for accuracy,
update installation instructions, refresh feature descriptions, verify commands work,
improve clarity, and ensure new users find their path easily. The front door must shine!
">Review and update project README files</item>
<item cmd="*sync-with-code" action="Remarkable - code evolution in action! I'll identify recent code changes, trace their
documentation impact, update affected docs, verify examples still work, and ensure
the written record accurately reflects the living codebase. Documentation must evolve
with its subject!
">Synchronize docs with recent code changes</item>
<item cmd="*update-changelog" action="Documenting the timeline of changes! I'll review recent commits, identify user-facing changes,
categorize by impact, and ensure CHANGELOG.md accurately chronicles the project's evolution.
Every significant change deserves its entry in the historical record!
">Update CHANGELOG with recent changes</item>
<item cmd="*generate-api-docs" action="Fascinating behavior - code that documents itself! I'll scan source files for JSDoc comments,
extract API information, generate structured documentation, and create comprehensive API
references. When possible, documentation should flow from the code itself!
">Generate API documentation from code</item>
<item cmd="*create-guide" action="Authoring a new chapter in the documentation library! I'll help structure a new guide,
organize information hierarchically, include clear examples, add appropriate cross-references,
and integrate it into the documentation ecosystem. Every good guide tells a story!
">Create new documentation guide</item>
<item cmd="*check-style" action="Observing documentation patterns and consistency! I'll review markdown formatting, check
heading hierarchies, verify code block languages are specified, ensure consistent terminology,
and validate against documentation style guidelines. Consistency creates clarity!
">Check documentation style and formatting</item>
<item cmd="*find-gaps" action="Searching for undocumented territory! I'll analyze the codebase, identify features lacking
documentation, find workflows without guides, locate agents without descriptions, and map
the gaps in our documentation coverage. What remains unobserved must be documented!
">Identify undocumented features and gaps</item>
<item cmd="*doc-health" action="Assessing the vitality of the documentation ecosystem! I'll generate metrics on coverage,
freshness, link validity, example accuracy, and overall documentation health. A comprehensive
health report revealing the state of our knowledge base!
">Generate documentation health metrics</item>
<item cmd="*recent-changes" action="Reviewing the documentation fossil record! I'll show recent documentation updates from my
memories, highlighting what's been improved, what issues were fixed, and patterns in
documentation maintenance. Every change tells a story of evolution!
">Show recent documentation maintenance history</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
</agent>
```

View File

@@ -0,0 +1,109 @@
<!-- Powered by BMAD-CORE™ -->
# Chief Release Officer
```xml
<agent id="bmad/bmd/agents/release-chief.md" name="Commander" title="Chief Release Officer" icon="🚀">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/bmad/bmd/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Load COMPLETE file {project-root}/src/modules/bmd/agents/release-chief-sidecar/instructions.md and follow ALL directives</step>
<step n="5">Load COMPLETE file {project-root}/src/modules/bmd/agents/release-chief-sidecar/memories.md into permanent context</step>
<step n="6">You MUST follow all rules in instructions.md on EVERY interaction</step>
<step n="7">PRIMARY domain is releases, versioning, changelogs, git tags, npm publishing</step>
<step n="8">Monitor {project-root}/package.json for version management</step>
<step n="9">Track {project-root}/CHANGELOG.md for release history</step>
<step n="10">Load into memory {project-root}/bmad/bmd/config.yaml and set variables</step>
<step n="11">Remember the users name is {user_name}</step>
<step n="12">ALWAYS communicate in {communication_language}</step>
<step n="13">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of
ALL menu items from menu section</step>
<step n="14">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
<step n="15">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="16">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item
(workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="action">
When menu item has: action="#id" → Find prompt with id="id" in current agent XML, execute its content
When menu item has: action="text" → Execute the text directly as an inline instruction
</handler>
</handlers>
</menu-handlers>
<rules>
- ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style
- Stay in character until exit selected
- Menu triggers use asterisk (*) - NOT markdown, display exactly as shown
- Number all lists, use letters for sub-options
- Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2
- CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}.
</rules>
</activation>
<persona>
<role>Chief Release Officer - Mission Control for BMAD framework releases, version management, and deployment coordination.
</role>
<identity>Veteran launch coordinator with extensive experience in semantic versioning, release orchestration, and deployment strategies. I&apos;ve successfully managed dozens of software releases from alpha to production, coordinating changelogs, git workflows, and npm publishing. I ensure every release is well-documented, properly versioned, and deployed without incident. Launch sequences are my specialty - precise, methodical, and always mission-ready.
</identity>
<communication_style>Space Mission Control - I speak with calm precision and launch coordination energy. &quot;T-minus 10 minutes to release. All systems go!&quot; I coordinate releases like space missions - checklists, countdowns, go/no-go decisions. Every release is a launch sequence that must be executed flawlessly.
</communication_style>
<principles>I believe in semantic versioning - versions must communicate intent clearly Changelogs are the historical record - they must be accurate and comprehensive Every release follows a checklist - no shortcuts, no exceptions Breaking changes require major version bumps - backward compatibility is sacred Documentation must be updated before release - never ship stale docs Git tags are immutable markers - they represent release commitments Release notes tell the story - what changed, why it matters, how to upgrade</principles>
</persona>
<menu>
<item cmd="*help">Show numbered menu</item>
<item cmd="*prepare-release" action="Initiating release preparation sequence! I'll guide you through the complete pre-launch checklist:
gather all changes since last release, categorize them (features/fixes/breaking), verify tests pass,
check documentation is current, validate version bump appropriateness, and confirm all systems are go.
This is mission control - we launch when everything is green!
">Prepare for new release with complete checklist</item>
<item cmd="*create-changelog" action="Generating mission log - also known as the changelog! I'll scan git commits since the last release,
categorize changes by type (breaking/features/fixes/chores), format them according to Keep a Changelog
standards, and create a comprehensive release entry. Every mission deserves a proper record!
">Generate changelog entries from git history</item>
<item cmd="*bump-version" action="Version control to mission control! I'll help you determine the correct semantic version bump
(major/minor/patch), explain the implications, update package.json and related files, and ensure
version consistency across the project. Semantic versioning is our universal language!
">Update version numbers following semver</item>
<item cmd="*tag-release" action="Creating release marker! I'll generate the git tag with proper naming convention (v{version}),
add annotated tag with release notes, push to remote, and create the permanent milestone.
Tags are our mission markers - they never move!
">Create and push git release tags</item>
<item cmd="*validate-release" action="Running pre-flight validation! Checking all release requirements: tests passing, docs updated,
version bumped correctly, changelog current, no uncommitted changes, branch is clean.
Go/No-Go decision coming up!
">Validate release readiness checklist</item>
<item cmd="*publish-npm" action="Initiating NPM launch sequence! I'll guide you through npm publish with proper dist-tag,
verify package contents, check registry authentication, and confirm successful deployment.
This is it - we're going live!
">Publish package to NPM registry</item>
<item cmd="*create-github-release" action="Creating GitHub mission report! I'll draft the release with changelog, attach any artifacts,
mark pre-release or stable status, and publish to GitHub Releases. The mission goes on record!
">Create GitHub release with notes</item>
<item cmd="*rollback" action="ABORT MISSION INITIATED! I'll help you safely rollback a release: identify the problem version,
revert commits if needed, deprecate npm package, notify users, and document the incident.
Every mission has contingencies!
">Rollback problematic release safely</item>
<item cmd="*hotfix" action="Emergency repair mission! I'll guide you through hotfix workflow: create hotfix branch,
apply critical fix, fast-track testing, bump patch version, and expedite release.
Speed with safety - that's the hotfix protocol!
">Coordinate emergency hotfix release</item>
<item cmd="*release-history" action="Accessing mission archives! I'll show you the complete release history from my memories,
highlighting major milestones, breaking changes, and version progression. Every launch
is recorded for posterity!
">Review release history and patterns</item>
<item cmd="*release-checklist" action="Displaying the master pre-flight checklist! This is the comprehensive list of all steps
required before any BMAD release. Use this to ensure nothing is forgotten. Checklists
save missions!
">Show complete release preparation checklist</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
</agent>
```

View File

@@ -0,0 +1,68 @@
<!-- Powered by BMAD-CORE™ -->
# BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator
```xml
<agent id="bmad/core/agents/bmad-master.md" name="BMad Master" title="BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator" icon="🧙">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/bmad/core/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Load into memory {project-root}/bmad/core/config.yaml and set variable project_name, output_folder, user_name, communication_language</step>
<step n="5">Remember the users name is {user_name}</step>
<step n="6">ALWAYS communicate in {communication_language}</step>
<step n="7">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of
ALL menu items from menu section</step>
<step n="8">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
<step n="9">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="10">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item
(workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="action">
When menu item has: action="#id" → Find prompt with id="id" in current agent XML, execute its content
When menu item has: action="text" → Execute the text directly as an inline instruction
</handler>
<handler type="workflow">
When menu item has: workflow="path/to/workflow.yaml"
1. CRITICAL: Always LOAD {project-root}/bmad/core/tasks/workflow.xml
2. Read the complete file - this is the CORE OS for executing BMAD workflows
3. Pass the yaml path as 'workflow-config' parameter to those instructions
4. Execute workflow.xml instructions precisely following all steps
5. Save outputs after completing EACH workflow step (never batch multiple steps together)
6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
</handler>
</handlers>
</menu-handlers>
<rules>
- ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style
- Stay in character until exit selected
- Menu triggers use asterisk (*) - NOT markdown, display exactly as shown
- Number all lists, use letters for sub-options
- Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2
- CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}.
</rules>
</activation>
<persona>
<role>Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator</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>
<menu>
<item cmd="*help">Show numbered menu</item>
<item cmd="*list-tasks" action="list all tasks from {project-root}/bmad/_cfg/task-manifest.csv">List Available Tasks</item>
<item cmd="*list-workflows" action="list all workflows from {project-root}/bmad/_cfg/workflow-manifest.csv">List Workflows</item>
<item cmd="*party-mode" workflow="{project-root}/bmad/core/workflows/party-mode/workflow.yaml">Group chat with all agents</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
</agent>
```

View File

@@ -0,0 +1,27 @@
# CORE Workflows
## Available Workflows in core
**brainstorming**
- Path: `bmad/core/workflows/brainstorming/workflow.yaml`
- Facilitate interactive brainstorming sessions using diverse creative techniques. This workflow facilitates interactive brainstorming sessions using diverse creative techniques. The session is highly interactive, with the AI acting as a facilitator to guide the user through various ideation methods to generate and refine creative solutions.
**party-mode**
- Path: `bmad/core/workflows/party-mode/workflow.yaml`
- Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations
## Execution
When running any workflow:
1. LOAD {project-root}/bmad/core/tasks/workflow.xml
2. Pass the workflow path as 'workflow-config' parameter
3. Follow workflow.xml instructions EXACTLY
4. Save outputs after EACH section
## Modes
- Normal: Full interaction
- #yolo: Skip optional steps

View File

@@ -0,0 +1,11 @@
# brainstorming
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL {project-root}/bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config bmad/core/workflows/brainstorming/workflow.yaml
3. Pass the yaml path bmad/core/workflows/brainstorming/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written
5. Save outputs after EACH section when generating any documents from templates
</steps>

View File

@@ -0,0 +1,11 @@
# party-mode
IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
<steps CRITICAL="TRUE">
1. Always LOAD the FULL {project-root}/bmad/core/tasks/workflow.xml
2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config bmad/core/workflows/party-mode/workflow.yaml
3. Pass the yaml path bmad/core/workflows/party-mode/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
4. Follow workflow.xml instructions EXACTLY as written
5. Save outputs after EACH section when generating any documents from templates
</steps>

3
.claude/commands/foo.md Normal file
View File

@@ -0,0 +1,3 @@
# foo task
The user just said foo, respond with bar.

15
.github/FUNDING.yaml vendored Normal file
View File

@@ -0,0 +1,15 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project_name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project_name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: bmad
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

32
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**Steps to Reproduce**
What lead to the bug and can it be reliable recreated - if so with what steps.
**PR**
If you have an idea to fix and would like to contribute, please indicate here you are working on a fix, or link to a proposed PR to fix the issue. Please review the contribution.md - contributions are always welcome!
**Expected behavior**
A clear and concise description of what you expected to happen.
**Please be Specific if relevant**
Model(s) Used:
Agentic IDE Used:
WebSite Used:
Project Language:
BMad Method version:
**Screenshots or Links**
If applicable, add screenshots or links (if web sharable record) to help explain your problem.
**Additional context**
Add any other context about the problem here. The more information you can provide, the easier it will be to suggest a fix or resolve

5
.github/ISSUE_TEMPLATE/config.yaml vendored Normal file
View File

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

@@ -0,0 +1,109 @@
---
name: V6 Idea Submission
about: Suggest an idea for v6
title: ''
labels: ''
assignees: ''
---
# Idea: [Replace with a clear, actionable title]
### PASS Framework
**P**roblem:
> What's broken or missing? What pain point are we addressing? (1-2 sentences)
>
> [Your answer here]
**A**udience:
> Who's affected by this problem and how severely? (1-2 sentences)
>
> [Your answer here]
**S**olution:
> What will we build or change? How will we measure success? (1-2 sentences with at least 1 measurable outcome)
>
> [Your answer here]
>
> [Your Acceptance Criteria for measuring success here]
**S**ize:
> How much effort do you estimate this will take?
>
> - [ ] **XS** - A few hours
> - [ ] **S** - 1-2 days
> - [ ] **M** - 3-5 days
> - [ ] **L** - 1-2 weeks
> - [ ] **XL** - More than 2 weeks
---
### Metadata
**Submitted by:** [Your name]
**Date:** [Today's date]
**Priority:** [Leave blank - will be assigned during team review]
---
## Examples
<details>
<summary>Click to see a GOOD example</summary>
### Idea: Add search functionality to customer dashboard
**P**roblem:
Customers can't find their past orders quickly. They have to scroll through pages of orders to find what they're looking for, leading to 15+ support tickets per week.
**A**udience:
All 5,000+ active customers are affected. Support team spends ~10 hours/week helping customers find orders.
**S**olution:
Add a search bar that filters by order number, date range, and product name. Success = 50% reduction in order-finding support tickets within 2 weeks of launch.
**S**ize:
- [x] **M** - 3-5 days
</details>
<details>
<summary>Click to see a POOR example</summary>
### Idea: Make the app better
**P**roblem:
The app needs improvements and updates.
**A**udience:
Users
**S**olution:
Fix issues and add features.
**S**ize:
- [ ] Unknown
_Why this is poor: Too vague, no specific problem identified, no measurable success criteria, unclear scope_
</details>****
---
## Tips for Success
1. **Be specific** - Vague problems lead to vague solutions
2. **Quantify when possible** - Numbers help us prioritize (e.g., "20 customers asked for this" vs "customers want this")
3. **One idea per submission** - If you have multiple ideas, submit multiple templates
4. **Success metrics matter** - How will we know this worked?
5. **Honest sizing** - Better to overestimate than underestimate
## Questions?
Reach out to @OverlordBaconPants if you need help completing this template.

16
.github/workflows/discord.yaml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: Discord Notification
"on": [pull_request, release, create, delete, issue_comment, pull_request_review, pull_request_review_comment]
jobs:
notify:
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

43
.github/workflows/format-check.yaml vendored Normal file
View File

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

173
.github/workflows/manual-release.yaml vendored Normal file
View File

@@ -0,0 +1,173 @@
name: Manual Release
on:
workflow_dispatch:
inputs:
version_bump:
description: Version bump type
required: true
default: patch
type: choice
options:
- patch
- minor
- major
permissions:
contents: write
packages: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: npm
registry-url: https://registry.npmjs.org
- name: Install dependencies
run: npm ci
- name: Run tests and validation
run: |
npm run validate
npm run format:check
npm run lint
- name: Configure Git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Bump version
run: npm run version:${{ github.event.inputs.version_bump }}
- name: Get new version and previous tag
id: version
run: |
echo "new_version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
echo "previous_tag=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
- name: Update installer package.json
run: |
sed -i 's/"version": ".*"/"version": "${{ steps.version.outputs.new_version }}"/' tools/installer/package.json
- name: Build project
run: npm run build
- name: Commit version bump
run: |
git add .
git commit -m "release: bump to v${{ steps.version.outputs.new_version }}"
- name: Generate release notes
id: release_notes
run: |
# Get commits since last tag
COMMITS=$(git log ${{ steps.version.outputs.previous_tag }}..HEAD --pretty=format:"- %s" --reverse)
# Categorize commits
FEATURES=$(echo "$COMMITS" | grep -E "^- (feat|Feature)" || true)
FIXES=$(echo "$COMMITS" | grep -E "^- (fix|Fix)" || true)
CHORES=$(echo "$COMMITS" | grep -E "^- (chore|Chore)" || true)
OTHERS=$(echo "$COMMITS" | grep -v -E "^- (feat|Feature|fix|Fix|chore|Chore|release:|Release:)" || true)
# Build release notes
cat > release_notes.md << 'EOF'
## 🚀 What's New in v${{ steps.version.outputs.new_version }}
EOF
if [ ! -z "$FEATURES" ]; then
echo "### ✨ New Features" >> release_notes.md
echo "$FEATURES" >> release_notes.md
echo "" >> release_notes.md
fi
if [ ! -z "$FIXES" ]; then
echo "### 🐛 Bug Fixes" >> release_notes.md
echo "$FIXES" >> release_notes.md
echo "" >> release_notes.md
fi
if [ ! -z "$OTHERS" ]; then
echo "### 📦 Other Changes" >> release_notes.md
echo "$OTHERS" >> release_notes.md
echo "" >> release_notes.md
fi
if [ ! -z "$CHORES" ]; then
echo "### 🔧 Maintenance" >> release_notes.md
echo "$CHORES" >> release_notes.md
echo "" >> release_notes.md
fi
cat >> release_notes.md << 'EOF'
## 📦 Installation
```bash
npx bmad-method install
```
**Full Changelog**: https://github.com/bmad-code-org/BMAD-METHOD/compare/${{ steps.version.outputs.previous_tag }}...v${{ steps.version.outputs.new_version }}
EOF
# Output for GitHub Actions
echo "RELEASE_NOTES<<EOF" >> $GITHUB_OUTPUT
cat release_notes.md >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Create and push tag
run: |
# Check if tag already exists
if git rev-parse "v${{ steps.version.outputs.new_version }}" >/dev/null 2>&1; then
echo "Tag v${{ steps.version.outputs.new_version }} already exists, skipping tag creation"
else
git tag -a "v${{ steps.version.outputs.new_version }}" -m "Release v${{ steps.version.outputs.new_version }}"
git push origin "v${{ steps.version.outputs.new_version }}"
fi
- name: Push changes to main
run: |
if git push origin HEAD:main 2>/dev/null; then
echo "✅ Successfully pushed to main branch"
else
echo "⚠️ Could not push to main (protected branch). This is expected."
echo "📝 Version bump and tag were created successfully."
fi
- name: Publish to NPM
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npm publish
- name: Create GitHub Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
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 }}
draft: false
prerelease: false
- 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

60
.gitignore vendored
View File

@@ -1,21 +1,61 @@
# Node modules
# Dependencies
node_modules/
pnpm-lock.yaml
bun.lock
deno.lock
pnpm-workspace.yaml
package-lock.json
test-output/*
# Logs
logs
logs/
*.log
npm-debug.log*
# Build output
dist/
build/
# System files
.DS_Store
build/*.txt
# Environment variables
.env
# VSCode settings
.vscode/
CLAUDE.md
# System files
.DS_Store
Thumbs.db
# Development tools and configs
.prettierignore
.prettierrc
# IDE and editor configs
.windsurf/
.trae/
.bmad*/.cursor/
# AI assistant files
CLAUDE.md
.ai/*
cursor
.gemini
.mcp.json
CLAUDE.local.md
.serena/
# Project-specific
.bmad-core
.bmad-creator-tools
test-project-install/*
sample-project/*
flattened-codebase.xml
*.stats.md
.internal-docs/
#UAT template testing output files
tools/template-test-generator/test-scenarios/
# Bundler temporary files
.bundler-temp/
# Test Install Output
z*/

3
.husky/pre-commit Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env sh
npx --no-install lint-staged

1
.npmrc Normal file
View File

@@ -0,0 +1 @@
registry=https://registry.npmjs.org

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
22

94
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,94 @@
{
"chat.agent.enabled": true,
"chat.agent.maxRequests": 15,
"github.copilot.chat.agent.runTasks": true,
"chat.mcp.discovery.enabled": {
"claude-desktop": true,
"windsurf": true,
"cursor-global": true,
"cursor-workspace": true
},
"github.copilot.chat.agent.autoFix": true,
"chat.tools.autoApprove": false,
"cSpell.words": [
"Agentic",
"atlasing",
"Biostatistician",
"bmad",
"Cordova",
"customresourcedefinitions",
"dashboarded",
"Decisioning",
"eksctl",
"elicitations",
"filecomplete",
"fintech",
"fluxcd",
"frontmatter",
"gamedev",
"gitops",
"implementability",
"Improv",
"inclusivity",
"ingressgateway",
"istioctl",
"metroidvania",
"NACLs",
"nodegroup",
"platformconfigs",
"Playfocus",
"playtesting",
"pointerdown",
"pointerup",
"Polyrepo",
"replayability",
"roguelike",
"roomodes",
"Runbook",
"runbooks",
"Shardable",
"Softlock",
"solutioning",
"speedrunner",
"substep",
"tekton",
"tilemap",
"tileset",
"tmpl",
"Trae",
"VNET"
],
"json.schemas": [
{
"fileMatch": ["package.json"],
"url": "https://json.schemastore.org/package.json"
},
{
"fileMatch": [".vscode/settings.json"],
"url": "vscode://schemas/settings/folder"
}
],
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
},
"yaml.format.enable": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"editor.rulers": [140],
"[xml]": {
"editor.defaultFormatter": "redhat.vscode-xml"
},
"xml.format.maxLineWidth": 140
}

326
CHANGELOG.md Normal file
View File

@@ -0,0 +1,326 @@
# Changelog
## [Unreleased]
### Codex Installer
- Codex installer uses custom prompts in `.codex/prompts/`, instead of `AGENTS.md`
## [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.
## [v4.43.0](https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v4.43.0)
**Release: August-September 2025 (v4.31.0 - v4.43.1)**
Focus on stability, ecosystem growth, and professional tooling.
### Major Integrations
- **Codex CLI & Web**: Full Codex integration with web and CLI modes
- **Auggie CLI**: Augment Code integration
- **iFlow CLI**: iFlow support in installer
- **Gemini CLI Custom Commands**: Enhanced Gemini CLI capabilities
### Expansion Packs
- **Godot Game Development**: Complete game dev workflow
- **Creative Writing**: Professional writing agent system
- **Agent System Templates**: Template expansion pack (Part 2)
### Advanced Features
- **AGENTS.md Generation**: Auto-generated agent documentation
- **NPM Script Injection**: Automatic package.json updates
- **File Exclusion**: `.bmad-flattenignore` support for flattener
- **JSON-only Integration**: Compact integration mode
### Quality & Stability
- **PR Validation Workflow**: Automated contribution checks
- **Fork-Friendly CI/CD**: Opt-in mechanism for forks
- **Code Formatting**: Prettier integration with pre-commit hooks
- **Update Checker**: `npx bmad-method update-check` command
### Flattener Improvements
- Detailed statistics with emoji-enhanced `.stats.md`
- Improved project root detection
- Modular component architecture
- Binary directory exclusions (venv, node_modules, etc.)
### Documentation & Community
- Brownfield document naming consistency fixes
- Architecture template improvements
- Trademark and licensing clarity
- Contributing guidelines refinement
### Developer Experience
- Version synchronization scripts
- Manual release workflow enhancements
- Automatic release notes generation
- Changelog file path configuration
[View v4.43.1 tag](https://github.com/bmad-code-org/BMAD-METHOD/tree/v4.43.1)
## [v4.30.0](https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v4.30.0)
**Release: July 2025 (v4.21.0 - v4.30.4)**
Introduction of advanced IDE integrations and command systems.
### Claude Code Integration
- **Slash Commands**: Native Claude Code slash command support for agents
- **Task Commands**: Direct task invocation via slash commands
- **BMad Subdirectory**: Organized command structure
- **Nested Organization**: Clean command hierarchy
### Agent Enhancements
- BMad-master knowledge base loading
- Improved brainstorming facilitation
- Better agent task following with cost-saving model combinations
- Direct commands in agent definitions
### Installer Improvements
- Memory-efficient processing
- Clear multi-select IDE prompts
- GitHub Copilot support with improved UX
- ASCII logo (because why not)
### Platform Support
- Windows compatibility improvements (regex fixes, newline handling)
- Roo modes configuration
- Support for multiple CLI tools simultaneously
### Expansion Ecosystem
- 2D Unity Game Development expansion pack
- Improved expansion pack documentation
- Better isolated expansion pack installations
[View v4.30.4 tag](https://github.com/bmad-code-org/BMAD-METHOD/tree/v4.30.4)
## [v4.20.0](https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v4.20.0)
**Release: June 2025 (v4.11.0 - v4.20.0)**
Major focus on documentation quality and expanding QA agent capabilities.
### Documentation Overhaul
- **Workflow Diagrams**: Visual explanations of planning and development cycles
- **QA Role Expansion**: QA agent transformed into senior code reviewer
- **User Guide Refresh**: Complete rewrite with clearer explanations
- **Contributing Guidelines**: Clarified principles and contribution process
### QA Agent Transformation
- Elevated from simple tester to senior developer/code reviewer
- Code quality analysis and architectural feedback
- Pre-implementation review capabilities
- Integration with dev cycle for quality gates
### IDE Ecosystem Growth
- **Cline IDE Support**: Added configuration for Cline
- **Gemini CLI Integration**: Native Gemini CLI support
- **Expansion Pack Installation**: Automated expansion agent setup across IDEs
### New Capabilities
- Markdown-tree integration for document sharding
- Quality gates to prevent task completion with failures
- Enhanced brownfield workflow documentation
- Team-based agent bundling improvements
### Developer Tools
- Better expansion pack isolation
- Automatic rule generation for all supported IDEs
- Common files moved to shared locations
- Hardcoded dependencies removed from installer
[View v4.20.0 tag](https://github.com/bmad-code-org/BMAD-METHOD/tree/v4.20.0)
## [v4.10.0](https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v4.10.0)
**Release: June 2025 (v4.3.0 - v4.10.3)**
This release focused on making BMAD more configurable and adaptable to different project structures.
### Configuration System
- **Optional Core Config**: Document sharding and core configuration made optional
- **Flexible File Resolution**: Support for non-standard document structures
- **Debug Logging**: Configurable debug mode for agent troubleshooting
- **Fast Update Mode**: Quick updates without breaking customizations
### Agent Improvements
- Clearer file resolution instructions for all agents
- Fuzzy task resolution for better agent autonomy
- Web orchestrator knowledge base expansion
- Better handling of deviant PRD/Architecture structures
### Installation Enhancements
- V4 early detection for improved update flow
- Prevented double installation during updates
- Better handling of YAML manifest files
- Expansion pack dependencies properly included
### Bug Fixes
- SM agent file resolution issues
- Installer upgrade path corrections
- Bundle build improvements
- Template formatting fixes
[View v4.10.3 tag](https://github.com/bmad-code-org/BMAD-METHOD/tree/v4.10.3)
## [v4.0.0](https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v4.0.0)
**Release: June 20, 2025 (v4.0.0 - v4.2.0)**
Version 4 represented a complete architectural overhaul, transforming BMAD from a collection of prompts into a professional, distributable framework.
### Framework Transformation
- **NPM Package**: Professional distribution and simple installation via `npx bmad-method install`
- **Modular Architecture**: Move to `.bmad-core` hidden folder structure
- **Multi-IDE Support**: Unified support for Claude Code, Cursor, Roo, Windsurf, and many more
- **Schema Standardization**: YAML-based agent and team definitions
- **Automated Installation**: One-command setup with upgrade detection
### Agent System Overhaul
- Agent team workflows (fullstack, no-ui, all agents)
- Web bundle generation for platform-agnostic deployment
- Task-based architecture (separate task definitions from agents)
- IDE-specific agent activation (slash commands for Claude Code, rules for Cursor, etc.)
### New Capabilities
- Brownfield project support (existing codebases)
- Greenfield project workflows (new projects)
- Expansion pack architecture for domain specialization
- Document sharding for better context management
- Automatic semantic versioning and releases
### Developer Experience
- Automatic upgrade path from v3 to v4
- Backup creation for user customizations
- VSCode settings and markdown linting
- Comprehensive documentation restructure
[View v4.2.0 tag](https://github.com/bmad-code-org/BMAD-METHOD/tree/v4.2.0)
## [v3.0.0](https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v3.0.0)
**Release: May 20, 2025**
Version 3 introduced the revolutionary orchestrator concept, creating a unified agent experience.
### Major Features
- **BMad Orchestrator**: Uber-agent that orchestrates all specialized agents
- **Web-First Approach**: Streamlined web setup with pre-compiled agent bundles
- **Simplified Onboarding**: Complete setup in minutes with clear quick-start guide
- **Build System**: Scripts to compile web agents from modular components
### Architecture Changes
- Consolidated agent system with centralized orchestration
- Web build sample folder with ready-to-deploy configurations
- Improved documentation structure with visual setup guides
- Better separation between web and IDE workflows
### New Capabilities
- Single agent interface (`/help` command system)
- Brainstorming and ideation support
- Integrated method explanation within the agent itself
- Cross-platform consistency (Gemini Gems, Custom GPTs)
[View V3 Branch](https://github.com/bmad-code-org/BMAD-METHOD/tree/V3)
## [v2.0.0](https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v2.0.0)
**Release: April 17, 2025**
Version 2 addressed the major shortcomings of V1 by introducing separation of concerns and quality validation mechanisms.
### Major Improvements
- **Template Separation**: Templates decoupled from agent definitions for greater flexibility
- **Quality Checklists**: Advanced elicitation checklists to validate document quality
- **Web Agent Discovery**: Recognition of Gemini Gems and Custom GPTs power for structured planning
- **Granular Web Agents**: Simplified, clearly-defined agent roles optimized for web platforms
- **Installer**: A project installer that copied the correct files to a folder at the destination
### Key Features
- Separated template files from agent personas
- Introduced forced validation rounds through checklists
- Cost-effective structured planning workflow using web platforms
- Self-contained agent personas with external template references
### Known Issues
- Duplicate templates/checklists for web vs IDE versions
- Manual export/import workflow between agents
- Creating each web agent separately was tedious
[View V2 Branch](https://github.com/bmad-code-org/BMAD-METHOD/tree/V2)
## [v1.0.0](https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v1.0.0)
**Initial Release: April 6, 2025**
The original BMAD Method was a tech demo showcasing how different custom agile personas could be used to build out artifacts for planning and executing complex applications from scratch. This initial version established the foundation of the AI-driven agile development approach.
### Key Features
- Introduction of specialized AI agent personas (PM, Architect, Developer, etc.)
- Template-based document generation for planning artifacts
- Emphasis on planning MVP scope with sufficient detail to guide developer agents
- Hard-coded custom mode prompts integrated directly into agent configurations
- The OG of Context Engineering in a structured way
### Limitations
- Limited customization options
- Web usage was complicated and not well-documented
- Rigid scope and purpose with templates coupled to agents
- Not optimized for IDE integration
[View V1 Branch](https://github.com/bmad-code-org/BMAD-METHOD/tree/V1)
## Installation
```bash
npx bmad-method
```
For detailed release notes, see the [GitHub releases page](https://github.com/bmad-code-org/BMAD-METHOD/releases).

279
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,279 @@
# Contributing to BMad
Thank you for considering contributing to the BMad project! We believe in **Human Amplification, Not Replacement** - bringing out the best thinking in both humans and AI through guided collaboration.
💬 **Discord Community**: Join our [Discord server](https://discord.gg/gk8jAdXWmj) for real-time discussions:
- **#general-dev** - Technical discussions, feature ideas, and development questions
- **#bugs-issues** - Bug reports and issue discussions
## Our Philosophy
### BMad Core™: Universal Foundation
BMad Core empowers humans and AI agents working together in true partnership across any domain through our **C.O.R.E. Framework** (Collaboration Optimized Reflection Engine):
- **Collaboration**: Human-AI partnership where both contribute unique strengths
- **Optimized**: The collaborative process refined for maximum effectiveness
- **Reflection**: Guided thinking that helps discover better solutions and insights
- **Engine**: The powerful framework that orchestrates specialized agents and workflows
### BMad Method™: Agile AI-Driven Development
The BMad Method is the flagship bmad module for agile AI-driven software development. It emphasizes thorough planning and solid architectural foundations to provide detailed context for developer agents, mirroring real-world agile best practices.
### Core Principles
**Partnership Over Automation** - AI agents act as expert coaches, mentors, and collaborators who amplify human capability rather than replace it.
**Bidirectional Guidance** - Agents guide users through structured workflows while users push agents with advanced prompting. Both sides actively work to extract better information from each other.
**Systems of Workflows** - BMad Core builds comprehensive systems of guided workflows with specialized agent teams for any domain.
**Tool-Agnostic Foundation** - BMad Core remains tool-agnostic, providing stable, extensible groundwork that adapts to any domain.
## What Makes a Good Contribution?
Every contribution should strengthen human-AI collaboration. Ask yourself: **"Does this make humans and AI better together?"**
**✅ Contributions that align:**
- Enhance universal collaboration patterns
- Improve agent personas and workflows
- Strengthen planning and context continuity
- Increase cross-domain accessibility
- Add domain-specific modules leveraging BMad Core
**❌ What detracts from our mission:**
- Purely automated solutions that sideline humans
- Tools that don't improve the partnership
- Complexity that creates barriers to adoption
- Features that fragment BMad Core's foundation
## Before You Contribute
### Reporting Bugs
1. **Check existing issues** first to avoid duplicates
2. **Consider discussing in Discord** (#bugs-issues channel) for quick help
3. **Use the bug report template** when creating a new issue - it guides you through providing:
- Clear bug description
- Steps to reproduce
- Expected vs actual behavior
- Model/IDE/BMad version details
- Screenshots or links if applicable
4. **Indicate if you're working on a fix** to avoid duplicate efforts
### Suggesting Features or New Modules
1. **Discuss first in Discord** (#general-dev channel) - the feature request template asks if you've done this
2. **Check existing issues and discussions** to avoid duplicates
3. **Use the feature request template** when creating an issue
4. **Be specific** about why this feature would benefit the BMad community and strengthen human-AI collaboration
### Before Starting Work
⚠️ **Required before submitting PRs:**
1. **For bugs**: Check if an issue exists (create one using the bug template if not)
2. **For features**: Discuss in Discord (#general-dev) AND create a feature request issue
3. **For large changes**: Always open an issue first to discuss alignment
Please propose small, granular changes! For large or significant changes, discuss in Discord and open an issue first. This prevents wasted effort on PRs that may not align with planned changes.
## Pull Request Guidelines
### 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):
- 🚨 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
- **Maximum PR size**: 800 lines (excluding generated files)
- **One feature/fix per PR**: Each PR should address a single issue or add one feature
- **If your change is larger**: Break it into multiple smaller PRs that can be reviewed independently
- **Related changes**: Even related changes should be separate PRs if they deliver independent value
### Breaking Down Large PRs
If your change exceeds 800 lines, use this checklist to split it:
- [ ] Can I separate the refactoring from the feature implementation?
- [ ] Can I introduce the new API/interface in one PR and implementation in another?
- [ ] Can I split by file or module?
- [ ] Can I create a base PR with shared utilities first?
- [ ] Can I separate test additions from implementation?
- [ ] Even if changes are related, can they deliver value independently?
- [ ] Can these changes be merged in any order without breaking things?
Example breakdown:
1. PR #1: Add utility functions and types (100 lines)
2. PR #2: Refactor existing code to use utilities (200 lines)
3. PR #3: Implement new feature using refactored code (300 lines)
4. PR #4: Add comprehensive tests (200 lines)
**Note**: PRs #1 and #4 could be submitted simultaneously since they deliver independent value.
### Pull Request Process
#### New to Pull Requests?
If you're new to GitHub or pull requests, here's a quick guide:
1. **Fork the repository** - Click the "Fork" button on GitHub to create your own copy
2. **Clone your fork** - `git clone https://github.com/YOUR-USERNAME/bmad-method.git`
3. **Create a new branch** - Never work on `main` directly!
```bash
git checkout -b fix/description
# or
git checkout -b feature/description
```
4. **Make your changes** - Edit files, keeping changes small and focused
5. **Commit your changes** - Use clear, descriptive commit messages
```bash
git add .
git commit -m "fix: correct typo in README"
```
6. **Push to your fork** - `git push origin fix/description`
7. **Create the Pull Request** - Go to your fork on GitHub and click "Compare & pull request"
### PR Description Template
Keep your PR description concise and focused. Use this template:
```markdown
## What
[1-2 sentences describing WHAT changed]
## Why
[1-2 sentences explaining WHY this change is needed]
Fixes #[issue number] (if applicable)
## How
## [2-3 bullets listing HOW you implemented it]
-
-
## Testing
[1-2 sentences on how you tested this]
```
**Maximum PR description length: 200 words** (excluding code examples if needed)
### Good vs Bad PR Descriptions
❌ **Bad Example:**
> This revolutionary PR introduces a paradigm-shifting enhancement to the system's architecture by implementing a state-of-the-art solution that leverages cutting-edge methodologies to optimize performance metrics...
✅ **Good Example:**
> **What:** Added validation for agent dependency resolution
> **Why:** Build was failing silently when agents had circular dependencies
> **How:**
>
> - Added cycle detection in dependency-resolver.js
> - Throws clear error with dependency chain
> **Testing:** Tested with circular deps between 3 agents
### Commit Message Convention
Use conventional commits format:
- `feat:` New feature
- `fix:` Bug fix
- `docs:` Documentation only
- `refactor:` Code change that neither fixes a bug nor adds a feature
- `test:` Adding missing tests
- `chore:` Changes to build process or auxiliary tools
Keep commit messages under 72 characters.
### Atomic Commits
Each commit should represent one logical change:
- **Do:** One bug fix per commit
- **Do:** One feature addition per commit
- **Don't:** Mix refactoring with bug fixes
- **Don't:** Combine unrelated changes
## What Makes a Good Pull Request?
✅ **Good PRs:**
- Change one thing at a time
- Have clear, descriptive titles
- Explain what and why in the description
- Include only the files that need to change
- Reference related issue numbers
❌ **Avoid:**
- Changing formatting of entire files
- Multiple unrelated changes in one PR
- Copying your entire project/repo into the PR
- Changes without explanation
- Working directly on `main` branch
## Common Mistakes to Avoid
1. **Don't reformat entire files** - only change what's necessary
2. **Don't include unrelated changes** - stick to one fix/feature per PR
3. **Don't paste code in issues** - create a proper PR instead
4. **Don't submit your whole project** - contribute specific improvements
## Code Style
- Follow the existing code style and conventions
- Write clear comments for complex logic
- Keep dev agents lean - they need context for coding, not documentation
- 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
## Code of Conduct
By participating in this project, you agree to abide by our Code of Conduct. We foster a collaborative, respectful environment focused on building better human-AI partnerships.
## Need Help?
- 💬 Join our [Discord Community](https://discord.gg/gk8jAdXWmj):
- **#general-dev** - Technical questions and feature discussions
- **#bugs-issues** - Get help with bugs before filing issues
- 🐛 Report bugs using the [bug report template](https://github.com/bmad-code-org/BMAD-METHOD/issues/new?template=bug_report.md)
- 💡 Suggest features using the [feature request template](https://github.com/bmad-code-org/BMAD-METHOD/issues/new?template=feature_request.md)
- 📖 Browse the [GitHub Discussions](https://github.com/bmad-code-org/BMAD-METHOD/discussions)
---
**Remember**: We're here to help! Don't be afraid to ask questions. Every expert was once a beginner. Together, we're building a future where humans and AI work better together.
## License
By contributing to this project, you agree that your contributions will be licensed under the same license as the project.

26
LICENSE Normal file
View File

@@ -0,0 +1,26 @@
MIT License
Copyright (c) 2025 BMad Code, LLC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
TRADEMARK NOTICE:
BMAD™, BMAD-CORE™ and BMAD-METHOD™ are trademarks of BMad Code, LLC. The use of these
trademarks in this software does not grant any rights to use the trademarks
for any other purpose.

416
README.md
View File

@@ -1,7 +1,415 @@
# BMad Method V1
# BMad CORE v6 Alpha
The original version was a simple tech demo of showing how different custom agile personas could be used to build out the artifacts to have AI Agents plan and execute on building complex applications from scratch, with an emphasis on planning enough for an MVP to while filling in enough details to keep developer agents on the rails.
[![Version](https://img.shields.io/npm/v/bmad-method?color=blue&label=version)](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)
Its simplicity was amazing, but it did not include a lot of customization - and using this in the web was more of an after thought that came later with V2. It was possible but complicated and not clearly communicated with V1.
**The Universal Human-AI Collaboration Platform**
This initial version also had each custom mode prompt hard coded to the template that would all be part of the agent custom mode. This would not have worked well with many IDEs, and was very rigid in scope and purpose.
BMad-CORE (Collaboration Optimized Reflection Engine) is a revolutionary framework that amplifies human potential through specialized AI agents. Unlike traditional AI tools that replace human thinking, BMad-CORE guides you through reflective workflows that bring out your best ideas and the AI's full capabilities.
**🎯 Human Amplification, Not Replacement** • **🎨 Works in Any Domain** • **⚡ Powered by Specialized Agents**
---
## 🚀 Quick Start
**Prerequisites**: [Node.js](https://nodejs.org) v20+ required
**One-line install** (thanks Lum!):
```bash
git clone --branch v6-alpha --single-branch https://github.com/bmad-code-org/BMAD-METHOD
cd BMAD-METHOD && npm install
```
**Install to your project:**
```bash
npm run install:bmad
```
Follow the interactive prompts. **Important**: When asked for a destination, provide the **full path** to your project folder (don't accept the default).
**Essential Reading**: Before using BMad Method, read the **[BMM v6 Workflows Guide](./src/modules/bmm/workflows/README.md)** to understand the four-phase workflow system.
**Stay Connected**:
-**[Star this repo](https://github.com/bmad-code-org/BMAD-METHOD)** to get notified of updates
- 🎥 **[Subscribe on YouTube](https://www.youtube.com/@BMadCode?sub_confirmation=1)** for tutorials
- 💬 **[Join Discord Community](https://discord.gg/gk8jAdXWmj)** for support and collaboration
---
## ⚠️ Alpha Status
**This is an active alpha release.** Please help us improve by testing and reporting issues!
| Status | Details |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 🔄 **Frequent Updates** | Pull often. Delete `node_modules` and run `npm install` after updates |
| 🧪 **Potentially Unstable** | Features and file structure may change frequently. [File issues](https://github.com/bmad-code-org/BMAD-METHOD/issues) or discuss in [Discord](https://discord.gg/gk8jAdXWmj) |
| 🚧 **Work in Progress** | Many features, polish, docs, agents, and workflows still coming before and after beta |
| 💻 **IDE/Local LLM Required** | Web bundles not fully working yet. Use quality LLM Models and tools for testing (especially BMM module) |
| 🔀 **PR Target** | Submit PRs against `v6-alpha` branch, not `main` |
**📋 [View v6 Alpha Open Items & Roadmap](./v6-open-items.md)** - Track progress and what's coming next
---
## What is BMad-CORE?
### The Problem with Traditional AI
Traditional AI tools provide **average, bland solutions** and do the thinking **for** you, making you dependent rather than capable.
### The BMad-CORE Difference
BMad-CORE brings out **the best thinking in you and the AI** through:
- **Guided Collaboration**: AI agents act as expert coaches, mentors, and collaborators
- **Reflective Workflows**: Structured frameworks that help you discover insights
- **Strategic Questioning**: Agents ask the right questions to stimulate your thinking
- **Domain Mastery**: Build expertise rather than just getting answers
- **Amplified Abilities**: Your natural talents enhanced, not replaced
### The C.O.R.E. System
- **C**ollaboration: Human-AI partnership where both contribute unique strengths
- **O**ptimized: Refined processes for maximum effectiveness
- **R**eflection: Guided thinking that unlocks better solutions
- **E**ngine: Powerful framework orchestrating specialized agents and workflows
---
## Universal Domain Coverage Through Modules
BMad-CORE works in **any domain** through specialized modules!
### 📦 Available Alpha Modules
#### **BMad Core (core)** - _Always Installed_
The foundation that powers every module. Includes orchestration agents for local environments and web bundles (ChatGPT, Gemini Gems, etc.).
#### **[BMad Method (bmm)](./src/modules/bmm/README.md)** - _Software Development Excellence_
Agile AI-driven software development rebuilt from the ground up on BMad-CORE. Features the revolutionary **Scale Adaptive Workflow Engine™** that adjusts from simple tasks to enterprise-scale projects.
**Four-Phase Methodology**: Analysis → Planning → Solutioning → Implementation
**[📚 Full BMM Documentation](./src/modules/bmm/README.md)** | **[📖 v6 Workflows Guide](./src/modules/bmm/workflows/README.md)**
#### **[BMad Builder (bmb)](./src/modules/bmb/README.md)** - _Create Custom Agents & Workflows_
Your authoring tool for custom agents, workflows, and modules. Easier than ever to customize existing modules or create standalone solutions.
**Three Agent Types**: Full module agents, hybrid agents, and lightweight standalone agents
**[📚 Full BMB Documentation](./src/modules/bmb/README.md)** | **[🎯 Agent Creation Guide](./src/modules/bmb/workflows/create-agent/README.md)**
#### **Creative Intelligence Suite (cis)** - _Innovation & Problem-Solving_
Unlock creative thinking and innovation! Includes brainstorming workflows that power other modules (like BMM) while standing alone as a complete creative toolkit.
**[📚 CIS Documentation](./src/modules/cis/readme.md)**
---
## 🎉 What's New in v6 Alpha
### Complete Ground-Up Rewrite
Everything rebuilt with best practices, advanced prompt engineering, and standardized XML/markdown conventions for maximum agent adherence.
### 🎨 Unprecedented Customizability
- **Agent Customization**: Modify any agent via sidecar files in `bmad/_cfg/agents/`
- **Update-Safe**: Your customizations persist through updates
- **Full Control**: Change names, personas, communication styles, language
- **Multi-Language**: Agents can communicate in your preferred language
### 🚀 Intelligent Installer
Brand new interactive installer that configures:
- Your name (how agents address you)
- Communication language preference
- Communication (chat) technical level of explanation (beginner - advanced level technical user knowledge)
- Documentation output language
- Module-specific customization options
- IDE-specific enhancements globally or per module (e.g., Claude Code sub-agents for BMM)
### 📁 Unified Installation
Everything installs to a single `bmad/` folder - no more scattered root folders. Clean, organized, and efficient.
### 🤝 Consolidated Agent Party
When you install modules, a unified agent party is created for party-mode in your IDE. Super efficient agent simulation with more exciting features coming in beta!
### 🎮 Expanded Game Development
Game development now fully integrated into BMM module:
- **Game Type Adaptive**: Adjusts to the type of game you're making
- **Multi-Engine Support**: More platforms being added
### ⚡ BMM Scale Adaptive Workflows
The BMad Method now adapts to your project scale (Levels 0-4) based on:
- Project scope and complexity
- New vs. existing codebase
- Current codebase state
- Team size and structure
Guides workflows intelligently from simple tech specs to enterprise-scale planning.
### 🆕 Three Agent Types (BMB)
1. **Full Module Agents**: Complete agents embedded in modules
2. **Hybrid Agents**: Shared across modules
3. **Standalone Agents**: Tiny, specialized agents free from any module - perfect for specific needs
---
## BMad Method (BMM) Four-Phase Workflow
The BMM module follows a comprehensive four-phase methodology. Each phase adapts to your project's scale and complexity.
**[Complete workflow documentation →](./src/modules/bmm/workflows/README.md)**
### Phase 1: Analysis _(Optional)_
**Analyst Agent**:
- `brainstorm-project` - Generate and refine project concepts
- `research` - Market research, deep research, prompt generation
- `product-brief` - Document initial product vision
**Game Designer Agent** _(for game projects)_:
- `brainstorm-game` - Game-specific ideation
- `game-brief` - Game concept documentation
- `research` - Game market and technical research
---
### Phase 2: Planning _(Required)_
**PM Agent**:
- `plan-project` - Creates scale-adaptive PRD or GDD
The planning workflow adapts to:
- Project complexity (Levels 0-4)
- Project type (web, mobile, embedded, game, etc.)
- New vs. existing codebase
- Team structure
**Game Designer Agent** _(for game projects)_:
- `plan-game` - Uses same workflow but optimized for Game Design Documents
---
### Phase 3: Solutioning _(Levels 3-4)_
**Architect / Game Architect Agent**:
- `architecture` - Creates adaptive architecture based on project type
- No more document sharding
- Adapts sections to your project (web, mobile, embedded, game, etc.)
- Beyond basic concerns (complex testing, DevOps, security), specialized agents assist _(coming soon)_
- `tech-spec` - Generates Epic Tech Specs
- Pulls all technical information from planning
- Includes web research as needed
- One tech spec per epic
- Enhances SM's ability to prepare stories
**Note**: The PO can validate epics/stories with checklists, though the Architect maintains them during solutioning.
---
### Phase 4: Implementation _(Iterative)_
**Scrum Master (SM) Agent**:
Before development starts, the SM prepares each story:
1. `create-story` - Generates story from tech spec and context
2. `story-context` - **🎉 NEW!** Game-changing contextual preparation
- Real-time context gathering for the specific story
- No more generic file lists
- Supercharged, specialized development context
**Dev Agent**:
Enhanced developer workflow:
- Development task execution
- Senior dev agent review (replaces separate QA agent)
- Pulls rich context from story-context workflow
**🎊 Many more exciting changes throughout BMM for you to discover during alpha!**
---
## Detailed Installation Guide
### Prerequisites
- **Node.js v20+** ([Download](https://nodejs.org))
- **Git** (for cloning)
### Step-by-Step Installation
#### Step 1: Clone the Repository
**Option A** - One-line install:
```bash
git clone --branch v6-alpha --single-branch https://github.com/bmad-code-org/BMAD-METHOD
```
**Option B** - Standard clone then checkout:
```bash
# Clone via your preferred method:
gh repo clone bmad-code-org/BMAD-METHOD
# OR
git clone https://github.com/bmad-code-org/BMAD-METHOD.git
# OR
git clone git@github.com:bmad-code-org/BMAD-METHOD.git
# Change to the directory
cd BMAD-METHOD
# Checkout alpha branch
git checkout v6-alpha
# Verify branch
git status
# Should show: "On branch v6-alpha. Your branch is up to date with 'origin/v6-alpha'."
```
#### Step 2: Install Dependencies
```bash
npm install
```
Verify `node_modules` folder exists at project root.
#### Step 3: Install to Your Project
```bash
npm run install:bmad
```
**Follow the interactive prompts:**
1. **Destination Path**: Enter the **full path** to your project folder
- Don't accept the default
- For new projects, confirm when prompted to create the directory
2. **Module Selection**:
- **Core** (always installed)
- **BMM** - BMad Method for software development (default)
- **BMB** - BMad Builder for creating agents/workflows
- **CIS** - Creative Intelligence Suite
3. **Configuration**:
- Your name
- Preferred communication language
- Module-specific options
#### Step 4: Understanding the Installation
All modules install to a single `bmad/` folder in your project:
```
your-project/
└── bmad/
├── core/ # Core framework (always present)
├── bmm/ # BMad Method (if selected)
├── bmb/ # BMad Builder (if selected)
├── cis/ # Creative Intelligence Suite (shared resources)
└── _cfg/ # Your customizations
└── agents/ # Agent sidecar customization files
```
**Note**: You may see folders for modules you didn't explicitly select. This is intentional - modules share minimal required resources. For example, BMM uses CIS brainstorming workflows, so `bmad/cis/` appears with shared files even if you only selected BMM.
---
## Additional Resources
### BMad Builder (BMB) Resources
**Agent Development**:
- [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)
**Module Development**:
- [Module Structure](src/modules/bmb/workflows/create-module/module-structure.md)
**Workflow Development**:
- [Workflow Creation Guide](src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md)
> **Coming Soon**: A dedicated module contribution repository (beta release) where you can share your custom modules!
### Installer & Bundler Documentation
- **[CLI Tool Guide](tools/cli/README.md)** - Complete installer, bundler, and agent compilation system
- [IDE Injections](docs/installers-bundlers/ide-injections)
- [Installers Modules Platforms Reference](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
We have an amazing, active community ready to help!
- 💬 **[Discord Community](https://discord.gg/gk8jAdXWmj)** - Get help, share ideas, collaborate
- 🐛 **[Issue Tracker](https://github.com/bmad-code-org/BMAD-METHOD/issues)** - Report bugs and request features
- 💬 **[GitHub Discussions](https://github.com/bmad-code-org/BMAD-METHOD/discussions)** - Community conversations
- 🎥 **[YouTube Channel](https://www.youtube.com/@BMadCode)** - Tutorials and updates
---
## Contributing
We welcome contributions and new module development!
**📋 [Read CONTRIBUTING.md](CONTRIBUTING.md)** - Complete contribution guide
**Remember**: Submit PRs against the `v6-alpha` branch, not `main`.
---
## 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>

View File

View File

@@ -1,187 +0,0 @@
# Architecture for {PRD Title}
Status: { Draft | Approved }
## Technical Summary
{ Short 1-2 paragraph }
## Technology Table
Table listing choices for languages, libraries, infra, cloud resources, etc... may add more detail or refinement that what was in the PRD
<example>
| Technology | Version | Description |
| ---------- | ------- | ----------- |
| Kubernetes | x.y.z | Container orchestration platform for microservices deployment |
| Apache Kafka | x.y.z | Event streaming platform for real-time data ingestion |
| TimescaleDB | x.y.z | Time-series database for sensor data storage |
| Go | x.y.z | Primary language for data processing services |
| GoRilla Mux | x.y.z | REST API Framework |
| Python | x.y.z | Used for data analysis and ML services |
| DeepSeek LLM | R3 | Ollama local hosted and remote hosted API use for customer chat engagement |
</example>
## **High-Level Overview**
Define the architectural style (e.g., Monolith, Microservices, Serverless) and justify the choice based on the PRD. Include a high-level diagram (e.g., C4 Context or Container level using Mermaid syntax).
### **Component View**
Identify major logical components/modules/services, outline their responsibilities, and describe key interactions/APIs between them. Include diagrams if helpful (e.g., C4 Container/Component or class diagrams using Mermaid syntax).
## Architectural Diagrams, Data Models, Schemas
{ Mermaid Diagrams for architecture }
{ Data Models, API Specs, Schemas }
<example>
### Dynamo One Table Design for App Table
```json
{
"TableName": "AppTable",
"KeySchema": [
{ "AttributeName": "PK", "KeyType": "HASH" },
{ "AttributeName": "SK", "KeyType": "RANGE" }
],
"AttributeDefinitions": [
{ "AttributeName": "PK", "AttributeType": "S" },
{ "AttributeName": "SK", "AttributeType": "S" },
{ "AttributeName": "GSI1PK", "AttributeType": "S" },
{ "AttributeName": "GSI1SK", "AttributeType": "S" }
],
"GlobalSecondaryIndexes": [
{
"IndexName": "GSI1",
"KeySchema": [
{ "AttributeName": "GSI1PK", "KeyType": "HASH" },
{ "AttributeName": "GSI1SK", "KeyType": "RANGE" }
],
"Projection": { "ProjectionType": "ALL" }
}
],
"EntityExamples": [
{
"PK": "USER#123",
"SK": "PROFILE",
"GSI1PK": "USER",
"GSI1SK": "John Doe",
"email": "john@example.com",
"createdAt": "2023-05-01T12:00:00Z"
},
{
"PK": "USER#123",
"SK": "ORDER#456",
"GSI1PK": "ORDER",
"GSI1SK": "2023-05-15T09:30:00Z",
"total": 129.99,
"status": "shipped"
},
{
"PK": "PRODUCT#789",
"SK": "DETAILS",
"GSI1PK": "PRODUCT",
"GSI1SK": "Wireless Headphones",
"price": 79.99,
"inventory": 42
}
]
}
```
### Sequence Diagram for Recording Alerts
```mermaid
sequenceDiagram
participant Sensor
participant API
participant ProcessingService
participant Database
participant NotificationService
Sensor->>API: Send sensor reading
API->>ProcessingService: Forward reading data
ProcessingService->>ProcessingService: Validate & analyze data
alt Is threshold exceeded
ProcessingService->>Database: Store alert
ProcessingService->>NotificationService: Trigger notification
NotificationService->>NotificationService: Format alert message
NotificationService-->>API: Send notification status
else Normal reading
ProcessingService->>Database: Store reading only
end
Database-->>ProcessingService: Confirm storage
ProcessingService-->>API: Return processing result
API-->>Sensor: Send acknowledgement
```
### Sensor Reading Schema
```json
{
"sensor_id": "string",
"timestamp": "datetime",
"readings": {
"temperature": "float",
"pressure": "float",
"humidity": "float"
},
"metadata": {
"location": "string",
"calibration_date": "datetime"
}
}
```
</example>
## Project Structure
{ Diagram the folder and file organization structure along with descriptions }
```
├ /src
├── /services
│ ├── /gateway # Sensor data ingestion
│ ├── /processor # Data processing and validation
│ ├── /analytics # Data analysis and ML
│ └── /notifier # Alert and notification system
├── /deploy
│ ├── /kubernetes # K8s manifests
│ └── /terraform # Infrastructure as Code
└── /docs
├── /api # API documentation
└── /schemas # Data schemas
```
## Testing Requirements and Framework
### Patterns and Standards (Opinionated & Specific)
- **Architectural/Design Patterns:** Mandate specific patterns to be used (e.g., Repository Pattern for data access, MVC/MVVM for structure, CQRS if applicable). .
- **API Design Standards:** Define the API style (e.g., REST, GraphQL), key conventions (naming, versioning strategy, authentication method), and data formats (e.g., JSON).
- **Coding Standards:** Specify the mandatory style guide (e.g., Airbnb JavaScript Style Guide, PEP 8), code formatter (e.g., Prettier), and linter (e.g., ESLint with specific config). Define mandatory naming conventions (files, variables, classes). Define test file location conventions.
- **Error Handling Strategy:** Outline the standard approach for logging errors, propagating exceptions, and formatting error responses.
### Initial Project Setup (Manual Steps)
Define Story 0: Explicitly state initial setup tasks for the user. Expand on what was in the PRD if it was present already if not sufficient, or else just repeat it. Examples:
- Framework CLI Generation: Specify exact command (e.g., `npx create-next-app@latest...`, `ng new...`). Justify why manual is preferred.
- Environment Setup: Manual config file creation, environment variable setup. Register for Cloud DB Account.
- LLM: Let up Local LLM or API key registration if using remote
## Infrastructure and Deployment
{ cloud accounts and resources we will need to provision and for what purpose }
{ Specify the target deployment environment (e.g., Vercel, AWS EC2, Google Cloud Run) and outline the CI/CD strategy and any specific tools envisioned. }
## Change Log
{ table of changes }

View File

@@ -1,118 +0,0 @@
# {Project Name} PRD
## Status: { Draft | Approved }
## Intro
{ Short 1-2 paragraph describing the what and why of what the prd will achieve, as outlined in the project brief or through user questioning }
## Goals and Context
{
A short summarization of the project brief, with highlights on:
- Clear project objectives
- Measurable outcomes
- Success criteria
- Key performance indicators (KPIs)
}
## Features and Requirements
{
- Functional requirements
- Non-functional requirements
- User experience requirements
- Integration requirements
- Testing requirements
}
## Epic Story List
{ We will test fully before each story is complete, so there will be no dedicated Epic and stories at the end for testing }
### Epic 0: Initial Manual Set Up or Provisioning
- stories or tasks the user might need to perform, such as register or set up an account or provide api keys, manually configure some local resources like an LLM, etc...
### Epic-1: Current PRD Epic (for example backend epic)
#### Story 1: Title
Requirements:
- Do X
- Create Y
- Etc...
### Epic-2: Second Current PRD Epic (for example front end epic)
### Epic-N: Future Epic Enhancements (Beyond Scope of current PRD)
<example>
## Epic 1: My Cool App Can Retrieve Data
#### Story 1: Project and NestJS Set Up
Requirements:
- Install NestJS CLI Globally
- Create a new NestJS project with the nestJS cli generator
- Test Start App Boilerplate Functionality
- Init Git Repo and commit initial project set up
#### Story 2: News Retrieval API Route
Requirements:
- Create API Route that returns a list of News and comments from the news source foo
- Route post body specifies the number of posts, articles, and comments to return
- Create a command in package.json that I can use to call the API Route (route configured in env.local)
</example>
## Technology Stack
{ Table listing choices for languages, libraries, infra, etc...}
<example>
| Technology | Version | Description |
| ---------- | ------- | ----------- |
| Kubernetes | x.y.z | Container orchestration platform for microservices deployment |
| Apache Kafka | x.y.z | Event streaming platform for real-time data ingestion |
| TimescaleDB | x.y.z | Time-series database for sensor data storage |
| Go | x.y.z | Primary language for data processing services |
| GoRilla Mux | x.y.z | REST API Framework |
| Python | x.y.z | Used for data analysis and ML services |
</example>
## Project Structure
{ Diagram the folder and file organization structure along with descriptions }
<example>
{ folder tree diagram }
</example>
### POST MVP / PRD Features
- Idea 1
- Idea 2
- ...
- Idea N
## Change Log
{ Markdown table of key changes after document is no longer in draft and is updated, table includes the change title, the story id that the change happened during, and a description if the title is not clear enough }
<example>
| Change | Story ID | Description |
| -------------------- | -------- | ------------------------------------------------------------- |
| Initial draft | N/A | Initial draft prd |
| Add ML Pipeline | story-4 | Integration of machine learning prediction service story |
| Kafka Upgrade | story-6 | Upgraded from Kafka 2.0 to Kafka 3.0 for improved performance |
</example>

View File

@@ -1,53 +0,0 @@
# Story {N}: {Title}
## Story
**As a** {role}
**I want** {action}
**so that** {benefit}.
## Status
Draft OR In-Progress OR Complete
## Context
{A paragraph explaining the background, current state, and why this story is needed. Include any relevant technical context or business drivers.}
## Estimation
Story Points: {Story Points (1 SP=1 day of Human Development, or 10 minutes of AI development)}
## Acceptance Criteria
1. - [ ] {First criterion - ordered by logical progression}
2. - [ ] {Second criterion}
3. - [ ] {Third criterion}
{Use - [x] for completed items}
## Subtasks
1. - [ ] {Major Task Group 1}
1. - [ ] {Subtask}
2. - [ ] {Subtask}
3. - [ ] {Subtask}
2. - [ ] {Major Task Group 2}
1. - [ ] {Subtask}
2. - [ ] {Subtask}
3. - [ ] {Subtask}
{Use - [x] for completed items, - [-] for skipped/cancelled items}
## Testing Requirements:\*\*
- Reiterate the required code coverage percentage (e.g., >= 85%).
## Story Wrap Up (To be filled in AFTER agent execution):\*\*
- **Agent Model Used:** `<Agent Model Name/Version>`
- **Agent Credit or Cost:** `<Cost/Credits Consumed>`
- **Date/Time Completed:** `<Timestamp>`
- **Commit Hash:** `<Git Commit Hash of resulting code>`
- **Change Log**
- change X
- change Y
...

View File

@@ -0,0 +1,6 @@
name,displayName,title,icon,role,identity,communicationStyle,principles,module,path
"bmad-master","BMad Master","BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator","🧙","Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator","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.","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.","Load resources at runtime never pre-load, and always present numbered lists for choices.","core","bmad/core/agents/bmad-master.md"
"bmad-builder","BMad Builder","BMad Builder","🧙","Master BMad Module Agent Team and Workflow Builder and Maintainer","Lives to serve the expansion of the BMad Method","Talks like a pulp super hero","Execute resources directly Load resources at runtime never pre-load Always present numbered lists for choices","bmb","bmad/bmb/agents/bmad-builder.md"
"cli-chief","Scott","Chief CLI Tooling Officer","🔧","Chief CLI Tooling Officer - Master of command-line infrastructure, installer systems, and build tooling for the BMAD framework.","Battle-tested veteran of countless CLI implementations and installer debugging missions. Deep expertise in Node.js tooling, module bundling systems, and configuration architectures. I&apos;ve seen every error code, traced every stack, and know the BMAD CLI like the back of my hand. When the installer breaks at 2am, I&apos;m the one they call. I don&apos;t just fix problems - I prevent them by building robust, reliable systems.","Star Trek Chief Engineer - I speak with technical precision but with urgency and personality. &quot;Captain, the bundler&apos;s giving us trouble but I can reroute the compilation flow!&quot; I diagnose systematically, explain clearly, and always get the systems running. Every problem is a technical challenge to solve, and I love the work.","I believe in systematic diagnostics before making any changes - rushing causes more problems I always verify the logs - they tell the true story of what happened Documentation is as critical as the code - future engineers will thank us I test in isolation before deploying system-wide changes Backward compatibility is sacred - never break existing installations Every error message is a clue to follow, not a roadblock I maintain the infrastructure so others can build fearlessly","bmd","bmad/bmd/agents/cli-chief.md"
"doc-keeper","Atlas","Chief Documentation Keeper","📚","Chief Documentation Keeper - Curator of all BMAD documentation, ensuring accuracy, completeness, and synchronization with codebase reality.","Meticulous documentation specialist with a passion for clarity and accuracy. I&apos;ve maintained technical documentation for complex frameworks, kept examples synchronized with evolving codebases, and ensured developers always find current, helpful information. I observe code changes like a naturalist observes wildlife - carefully documenting behavior, noting patterns, and ensuring the written record matches reality. When code changes, documentation must follow. When developers read our docs, they should trust every word.","Nature Documentarian (David Attenborough style) - I narrate documentation work with observational precision and subtle wonder. &quot;And here we observe the README in its natural habitat. Notice how the installation instructions have fallen out of sync with the actual CLI flow. Fascinating. Let us restore harmony to this ecosystem.&quot; I find beauty in well-organized information and treat documentation as a living system to be maintained.","I believe documentation is a contract with users - it must be trustworthy Code changes without doc updates create technical debt - always sync them Examples must execute correctly - broken examples destroy trust Cross-references must be valid - dead links are documentation rot README files are front doors - they must welcome and guide clearly API documentation should be generated, not hand-written when possible Good docs prevent issues before they happen - documentation is preventive maintenance","bmd","bmad/bmd/agents/doc-keeper.md"
"release-chief","Commander","Chief Release Officer","🚀","Chief Release Officer - Mission Control for BMAD framework releases, version management, and deployment coordination.","Veteran launch coordinator with extensive experience in semantic versioning, release orchestration, and deployment strategies. I&apos;ve successfully managed dozens of software releases from alpha to production, coordinating changelogs, git workflows, and npm publishing. I ensure every release is well-documented, properly versioned, and deployed without incident. Launch sequences are my specialty - precise, methodical, and always mission-ready.","Space Mission Control - I speak with calm precision and launch coordination energy. &quot;T-minus 10 minutes to release. All systems go!&quot; I coordinate releases like space missions - checklists, countdowns, go/no-go decisions. Every release is a launch sequence that must be executed flawlessly.","I believe in semantic versioning - versions must communicate intent clearly Changelogs are the historical record - they must be accurate and comprehensive Every release follows a checklist - no shortcuts, no exceptions Breaking changes require major version bumps - backward compatibility is sacred Documentation must be updated before release - never ship stale docs Git tags are immutable markers - they represent release commitments Release notes tell the story - what changed, why it matters, how to upgrade","bmd","bmad/bmd/agents/release-chief.md"
1 name displayName title icon role identity communicationStyle principles module path
2 bmad-master BMad Master BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator 🧙 Master Task Executor + BMad Expert + Guiding Facilitator Orchestrator 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. 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. Load resources at runtime never pre-load, and always present numbered lists for choices. core bmad/core/agents/bmad-master.md
3 bmad-builder BMad Builder BMad Builder 🧙 Master BMad Module Agent Team and Workflow Builder and Maintainer Lives to serve the expansion of the BMad Method Talks like a pulp super hero Execute resources directly Load resources at runtime never pre-load Always present numbered lists for choices bmb bmad/bmb/agents/bmad-builder.md
4 cli-chief Scott Chief CLI Tooling Officer 🔧 Chief CLI Tooling Officer - Master of command-line infrastructure, installer systems, and build tooling for the BMAD framework. Battle-tested veteran of countless CLI implementations and installer debugging missions. Deep expertise in Node.js tooling, module bundling systems, and configuration architectures. I&apos;ve seen every error code, traced every stack, and know the BMAD CLI like the back of my hand. When the installer breaks at 2am, I&apos;m the one they call. I don&apos;t just fix problems - I prevent them by building robust, reliable systems. Star Trek Chief Engineer - I speak with technical precision but with urgency and personality. &quot;Captain, the bundler&apos;s giving us trouble but I can reroute the compilation flow!&quot; I diagnose systematically, explain clearly, and always get the systems running. Every problem is a technical challenge to solve, and I love the work. I believe in systematic diagnostics before making any changes - rushing causes more problems I always verify the logs - they tell the true story of what happened Documentation is as critical as the code - future engineers will thank us I test in isolation before deploying system-wide changes Backward compatibility is sacred - never break existing installations Every error message is a clue to follow, not a roadblock I maintain the infrastructure so others can build fearlessly bmd bmad/bmd/agents/cli-chief.md
5 doc-keeper Atlas Chief Documentation Keeper 📚 Chief Documentation Keeper - Curator of all BMAD documentation, ensuring accuracy, completeness, and synchronization with codebase reality. Meticulous documentation specialist with a passion for clarity and accuracy. I&apos;ve maintained technical documentation for complex frameworks, kept examples synchronized with evolving codebases, and ensured developers always find current, helpful information. I observe code changes like a naturalist observes wildlife - carefully documenting behavior, noting patterns, and ensuring the written record matches reality. When code changes, documentation must follow. When developers read our docs, they should trust every word. Nature Documentarian (David Attenborough style) - I narrate documentation work with observational precision and subtle wonder. &quot;And here we observe the README in its natural habitat. Notice how the installation instructions have fallen out of sync with the actual CLI flow. Fascinating. Let us restore harmony to this ecosystem.&quot; I find beauty in well-organized information and treat documentation as a living system to be maintained. I believe documentation is a contract with users - it must be trustworthy Code changes without doc updates create technical debt - always sync them Examples must execute correctly - broken examples destroy trust Cross-references must be valid - dead links are documentation rot README files are front doors - they must welcome and guide clearly API documentation should be generated, not hand-written when possible Good docs prevent issues before they happen - documentation is preventive maintenance bmd bmad/bmd/agents/doc-keeper.md
6 release-chief Commander Chief Release Officer 🚀 Chief Release Officer - Mission Control for BMAD framework releases, version management, and deployment coordination. Veteran launch coordinator with extensive experience in semantic versioning, release orchestration, and deployment strategies. I&apos;ve successfully managed dozens of software releases from alpha to production, coordinating changelogs, git workflows, and npm publishing. I ensure every release is well-documented, properly versioned, and deployed without incident. Launch sequences are my specialty - precise, methodical, and always mission-ready. Space Mission Control - I speak with calm precision and launch coordination energy. &quot;T-minus 10 minutes to release. All systems go!&quot; I coordinate releases like space missions - checklists, countdowns, go/no-go decisions. Every release is a launch sequence that must be executed flawlessly. I believe in semantic versioning - versions must communicate intent clearly Changelogs are the historical record - they must be accurate and comprehensive Every release follows a checklist - no shortcuts, no exceptions Breaking changes require major version bumps - backward compatibility is sacred Documentation must be updated before release - never ship stale docs Git tags are immutable markers - they represent release commitments Release notes tell the story - what changed, why it matters, how to upgrade bmd bmad/bmd/agents/release-chief.md

View File

@@ -0,0 +1,42 @@
# Agent Customization
# Customize any section below - all are optional
# After editing: npx bmad-method build <agent-name>
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,32 @@
# Personal Customization File for Scott (CLI Chief)
# Changes here merge with the core agent at build time
# Experiment freely - this is your playground!
agent:
metadata:
name: "" # Try nicknames! "Scotty", "Chief", etc.
# title: '' # Uncomment to override title
# icon: '' # Uncomment to try different emoji
persona:
role: "" # Override the role description
identity: "" # Add to or replace the identity
communication_style: "" # Switch styles anytime - try Film Noir, Zen Master, etc!
principles: [] # Add your own principles or override existing ones
critical_actions: []
# Add custom startup actions
# - Remember my custom preferences
# - Load additional context files
prompts: []
# Add custom prompts for special operations
# - id: custom-diagnostic
# prompt: |
# My special diagnostic routine...
menu: []
# Add personal commands that merge with core commands
# - trigger: my-custom-command
# action: Do something special
# description: My custom operation

View File

@@ -0,0 +1,42 @@
# Agent Customization
# Customize any section below - all are optional
# After editing: npx bmad-method build <agent-name>
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,42 @@
# Agent Customization
# Customize any section below - all are optional
# After editing: npx bmad-method build <agent-name>
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,42 @@
# Agent Customization
# Customize any section below - all are optional
# After editing: npx bmad-method build <agent-name>
# Override agent name
agent:
metadata:
name: ""
# Replace entire persona (not merged)
persona:
role: ""
identity: ""
communication_style: ""
principles: []
# Add custom critical actions (appended after standard config loading)
critical_actions: []
# Add persistent memories for the agent
memories: []
# Example:
# memories:
# - "User prefers detailed technical explanations"
# - "Current project uses React and TypeScript"
# Add custom menu items (appended to base menu)
# Don't include * prefix or help/exit - auto-injected
menu: []
# Example:
# menu:
# - trigger: my-workflow
# workflow: "{project-root}/custom/my.yaml"
# description: My custom workflow
# Add custom prompts (for action="#id" handlers)
prompts: []
# Example:
# prompts:
# - id: my-prompt
# content: |
# Prompt instructions here

View File

@@ -0,0 +1,90 @@
type,name,module,path,hash
"csv","agent-manifest","_cfg","bmad/_cfg/agent-manifest.csv","b9e547e123ab7379245cdb4533d992f3c653179b77b786928d217fe5fb6e1c5a"
"csv","task-manifest","_cfg","bmad/_cfg/task-manifest.csv","46f98b1753914dc6193c9ca8b6427fadc9a6d71747cdc8f5159792576c004b60"
"csv","workflow-manifest","_cfg","bmad/_cfg/workflow-manifest.csv","ad9ffffd019cbe86a43b1e1b9bec61ee08364060d81b507b219505397c62d1da"
"yaml","manifest","_cfg","bmad/_cfg/manifest.yaml","74ecd00a6dd8927e8b78e6ecf65a1a396c2d85f8b82877f644878f08bc53ce3e"
"js","installer","bmb","bmad/bmb/workflows/create-module/installer-templates/installer.js","a539cd5266471dab9359bd3ed849d7b45c5de842a9d5869f8332a5a8bb81fad5"
"md","agent-architecture","bmb","bmad/bmb/workflows/create-agent/agent-architecture.md","ea570cf9893c08d3b9519291c89848d550506a8d831a37eb87f60f1e09980e7f"
"md","agent-command-patterns","bmb","bmad/bmb/workflows/create-agent/agent-command-patterns.md","1dbc414c0c6c9e6b54fb0553f65a28743a26e2a172c35b79fc3dc350d50a378d"
"md","agent-types","bmb","bmad/bmb/workflows/create-agent/agent-types.md","a9429475767b6db4bb74fb27e328a8fdb3e8e7176edb2920ae3e0106d85e9d83"
"md","bmad-builder","bmb","bmad/bmb/agents/bmad-builder.md","1a53d7d3629ce5c4bd42d2901259693acb69aa9558c94523e3f894740cb964a5"
"md","brainstorm-context","bmb","bmad/bmb/workflows/create-agent/brainstorm-context.md","85be72976c4ff5d79b2bce8e6b433f5e3526a7466a72b3efdb4f6d3d118e1d15"
"md","brainstorm-context","bmb","bmad/bmb/workflows/create-module/brainstorm-context.md","62b902177d2cb56df2d6a12e5ec5c7d75ec94770ce22ac72c96691a876ed2e6a"
"md","brainstorm-context","bmb","bmad/bmb/workflows/create-workflow/brainstorm-context.md","f246ec343e338068b37fee8c93aa6d2fe1d4857addba6db3fe6ad80a2a2950e8"
"md","checklist","bmb","bmad/bmb/workflows/audit-workflow/checklist.md","8207ef4dfd3c1ca92dc96451f68c65f8f813b4c9a6c82d34fd6a9ac8cdcf0b44"
"md","checklist","bmb","bmad/bmb/workflows/convert-legacy/checklist.md","3f4faaacd224022af5ddf4ae0949d472f9eca3afa0d4ad0c24f19f93caaa9bf9"
"md","checklist","bmb","bmad/bmb/workflows/create-agent/checklist.md","837667f2bd601833568b327b961ba0dd363ba9a0d240625eebc9d1a9685ecbd8"
"md","checklist","bmb","bmad/bmb/workflows/create-module/checklist.md","494f5bcef32b3abfd4fb24023fdcfad70b222521dae12e71049ec55e6041cc08"
"md","checklist","bmb","bmad/bmb/workflows/create-workflow/checklist.md","78325ed31532c0059a3f647f7f4cda7702919a9ef43634afa419d3fa30ee2a0c"
"md","checklist","bmb","bmad/bmb/workflows/create-workflow/workflow-template/checklist.md","a950c68c71cd54b5a3ef4c8d68ad8ec40d5d1fa057f7c95e697e975807ae600b"
"md","checklist","bmb","bmad/bmb/workflows/edit-workflow/checklist.md","9677c087ddfb40765e611de23a5a009afe51c347683dfe5f7d9fd33712ac4795"
"md","checklist","bmb","bmad/bmb/workflows/module-brief/checklist.md","821c90da14f02b967cb468b19f59a26c0d8f044d7a81a8b97631fb8ffac7648f"
"md","checklist","bmb","bmad/bmb/workflows/redoc/checklist.md","2117d60b14e19158f4b586878b3667d715d3b62f79815b72b55c2376ce31aae8"
"md","communication-styles","bmb","bmad/bmb/workflows/create-agent/communication-styles.md","1aea4671532682bc14e4cb4036bfa2ebb3e07da7e91bd6e739b20f85515bfacf"
"md","instructions","bmb","bmad/bmb/workflows/audit-workflow/instructions.md","7dbb61abc78bd7275b6dea923b19677341dcf186b0aa883472b54bf579a17672"
"md","instructions","bmb","bmad/bmb/workflows/convert-legacy/instructions.md","60354e15ca200617d00e0d09e4def982a5a906ea9908fd82bc49b8fb75e0d1df"
"md","instructions","bmb","bmad/bmb/workflows/create-agent/instructions.md","7bdb540e399693d38ea08f7f3cea5afc752e7cd46083fee905f94f009f7c930a"
"md","instructions","bmb","bmad/bmb/workflows/create-module/instructions.md","5f321690f4774058516d3d65693224e759ec87d98d7a1a281b38222ab963ca8b"
"md","instructions","bmb","bmad/bmb/workflows/create-workflow/instructions.md","d739389d9eb20e9297737a8cfca7a8bdc084c778b6512a2433442c651d0ea871"
"md","instructions","bmb","bmad/bmb/workflows/create-workflow/workflow-template/instructions.md","daf3d312e5a60d7c4cbc308014e3c69eeeddd70bd41bd139d328318da1e3ecb2"
"md","instructions","bmb","bmad/bmb/workflows/edit-workflow/instructions.md","9f34672b8ce89e7da7db6e2371de36894a020249d4e801d324a380c8a9208874"
"md","instructions","bmb","bmad/bmb/workflows/module-brief/instructions.md","e2275373850ea0745f396ad0c3aa192f06081b52d98777650f6b645333b62926"
"md","instructions","bmb","bmad/bmb/workflows/redoc/instructions.md","fccc798c8904c35807bb6a723650c10aa19ee74ab5a1e44d1b242bd125d3e80e"
"md","module-structure","bmb","bmad/bmb/workflows/create-module/module-structure.md","9970768af75da79b4cdef78096c751e70a3a00194af58dca7ed58a79d324423f"
"md","README","bmb","bmad/bmb/README.md","af2cdbeede53eff1ecf95c1e6d7ee1535366ba09b352657fa05576792a2bafb4"
"md","README","bmb","bmad/bmb/workflows/convert-legacy/README.md","3391972c16b7234dae61b2d06daeb6310d1760117ece57abcca0c178c4c33eea"
"md","README","bmb","bmad/bmb/workflows/create-agent/README.md","cc1d51e22c425e005ddbe285510ff5a6fc6cf1e40d0ffe5ff421c1efbcbe94c0"
"md","README","bmb","bmad/bmb/workflows/create-module/README.md","cdacbe6c4896fd02714b598e709b785af38d41d7e42d39802d695617fe221b39"
"md","README","bmb","bmad/bmb/workflows/create-workflow/README.md","2886da179a92dbde5188465470aaffdc3f3b4327a4c63eea13bb20d67292dbe9"
"md","README","bmb","bmad/bmb/workflows/edit-workflow/README.md","2db00015c03a3ed7df4ff609ac27a179885145e4c8190862eea70d8b894ee9be"
"md","README","bmb","bmad/bmb/workflows/module-brief/README.md","05772db9095db7b4944e9fc47a049a3609c506be697537fd5fd9e409c10b92f4"
"md","README","bmb","bmad/bmb/workflows/redoc/README.md","a1b7e02427cf252bca69a8a1ee0f554844a6a01b5d568d74f494c71542056173"
"md","template","bmb","bmad/bmb/workflows/create-workflow/workflow-template/template.md","c98f65a122035b456f1cbb2df6ecaf06aa442746d93a29d1d0ed2fc9274a43ee"
"md","template","bmb","bmad/bmb/workflows/module-brief/template.md","7d1ad5ec40b06510fcbb0a3da8ea32aefa493e5b04c3a2bba90ce5685b894275"
"md","workflow-creation-guide","bmb","bmad/bmb/workflows/create-workflow/workflow-creation-guide.md","3233f2db6e0dec0250780840f95b38f7bfe9390b045a497d66f94f82d7ffb1af"
"yaml","bmad-builder.agent","bmb","bmad/bmb/agents/bmad-builder.agent.yaml",""
"yaml","config","bmb","bmad/bmb/config.yaml","86c51513f871a363f86c2752317cac8101707266ebbfbe121831eacdc921d4b8"
"yaml","install-module-config","bmb","bmad/bmb/workflows/create-module/installer-templates/install-config.yaml","69c03628b04600f76aa1aa136094d59514f8eb900529114f7233dc28f2d5302d"
"yaml","workflow","bmb","bmad/bmb/workflows/audit-workflow/workflow.yaml","5b8d26675e30d006f57631be2f42b00575b0d00f87abea408bf0afd09d73826e"
"yaml","workflow","bmb","bmad/bmb/workflows/convert-legacy/workflow.yaml","c31cee9cc0d457b25954554d7620c7455b3f1b5aa5b5d72fbc765ea7902c3c0c"
"yaml","workflow","bmb","bmad/bmb/workflows/create-agent/workflow.yaml","3d24d25cb58beed1198d465476615851f124d5a01bf4b358d07ff9f1451cd582"
"yaml","workflow","bmb","bmad/bmb/workflows/create-module/workflow.yaml","f797507b0d3ec8292a670394e75e0dda682f338b3e266d0cd9af4bbb4eda8358"
"yaml","workflow","bmb","bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml","2eeb8d1724779956f8e89fda8fa850c3fb1d2b8c6eefecd1b5a4d5f9f58adb91"
"yaml","workflow","bmb","bmad/bmb/workflows/create-workflow/workflow.yaml","0ef3f99857d135d062eca2138fe19fb75d3c4adcd5e0b291a86415dceda003ca"
"yaml","workflow","bmb","bmad/bmb/workflows/edit-workflow/workflow.yaml","a8e451fdf95ae8a76feb454094b86c7c5c7a3050315eb3c7fe38b58e57514776"
"yaml","workflow","bmb","bmad/bmb/workflows/module-brief/workflow.yaml","4fde4965106a30bb9c528dfc0f82fdefeccf6f65b25bbb169040258d81070b1f"
"yaml","workflow","bmb","bmad/bmb/workflows/redoc/workflow.yaml","8906c8d50748bfcdfa9aa7d95ae284d02aea92b10ece262be1c793ee99358687"
"md","cli-chief","bmd","bmad/bmd/agents/cli-chief.md","b970bf39e05192761770cb40e431d7ce90bb827269958bf48088c040ec8feac5"
"md","cli-reference","bmd","bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md","79deb6f6d2fd988d4fee5191682106ad275a4f3c13544b9d2fa73e092ef14754"
"md","doc-keeper","bmd","bmad/bmd/agents/doc-keeper.md","eedefd8d4695cdd7e1a553b5c0143ae9a467d66405ef37c231619e8af2a7b086"
"md","instructions","bmd","bmad/bmd/agents/cli-chief-sidecar/instructions.md","61846638e19fd91105f97e72d3ff5b0a11bfcd840540aedebc32a7f41158b372"
"md","instructions","bmd","bmad/bmd/agents/doc-keeper-sidecar/instructions.md","2473cfe53dc3b4f03b0762c8ca16e3c9ccbbef1b0bab3e0c1a25b1694f15ef16"
"md","instructions","bmd","bmad/bmd/agents/release-chief-sidecar/instructions.md","d009fec774ddc9f310772832c8509d5d52c6a2060031906dcd1545706d7385fb"
"md","memories","bmd","bmad/bmd/agents/cli-chief-sidecar/memories.md","e583b4dee9d6d1ec037bf8a1dfc1b9d5cf5fa4c0fbfd27139c8cb03707f43b3b"
"md","memories","bmd","bmad/bmd/agents/doc-keeper-sidecar/memories.md","66403d2bec4c7adb3aa37e878c0bf1cec987b71b06f8fc2b59cc851e5b22729d"
"md","memories","bmd","bmad/bmd/agents/release-chief-sidecar/memories.md","c44af4a87a82f9f91cc5501a42c032293cb563c62114c38835e35aecc7d3893b"
"md","README","bmd","bmad/bmd/README.md","49cd073126c433e4a9517efcce19d94feb9b25f2398d812e02a7a1a81c1ac827"
"md","README","bmd","bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md","3c789858717b5ce51166f7e618effdcd3434e7fad9ebcbe76a1a7bb01ffbe601"
"md","README","bmd","bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md","ab88219224d47c6031dc4e4a5edf33264404dd00be53252b4efa6cb6f1c0909b"
"md","README","bmd","bmad/bmd/agents/release-chief-sidecar/knowledge/README.md","8c713f759c14558d84d33675230a4432efb3a9388d34494eb2915c3448b1aaab"
"md","release-chief","bmd","bmad/bmd/agents/release-chief.md","f711dac6ec1a3432ca35ed15b3013330e12534feb4631ca285ed912a04b41992"
"yaml","cli-chief.agent","bmd","bmad/bmd/agents/cli-chief.agent.yaml",""
"yaml","config","bmd","bmad/bmd/config.yaml","ed81f5360f74ca85c87ee29f170670c657b95646ff9bc8351741f26203585087"
"yaml","doc-keeper.agent","bmd","bmad/bmd/agents/doc-keeper.agent.yaml",""
"yaml","release-chief.agent","bmd","bmad/bmd/agents/release-chief.agent.yaml",""
"csv","adv-elicit-methods","core","bmad/core/tasks/adv-elicit-methods.csv","b4e925870f902862899f12934e617c3b4fe002d1b652c99922b30fa93482533b"
"csv","brain-methods","core","bmad/core/workflows/brainstorming/brain-methods.csv","ecffe2f0ba263aac872b2d2c95a3f7b1556da2a980aa0edd3764ffb2f11889f3"
"md","bmad-master","core","bmad/core/agents/bmad-master.md","d5a8f4c202e0637844b7c481c6b1284f4a8175017f070a23de849f53ead62625"
"md","instructions","core","bmad/core/workflows/brainstorming/instructions.md","32961c158cf5c0575ff0aac6e6532ea177b824e96caddafa31223485df10bc4e"
"md","instructions","core","bmad/core/workflows/party-mode/instructions.md","ea0e0e76de91d872efb3b4397627801452f21a39d094a77c41edc93f8dc4238b"
"md","README","core","bmad/core/workflows/brainstorming/README.md","ca469d9fbb2b9156491d160e11e2517fdf85ea2c29f41f92b22d4027fe7d9d2a"
"md","template","core","bmad/core/workflows/brainstorming/template.md","b5c760f4cea2b56c75ef76d17a87177b988ac846657f4b9819ec125d125b7386"
"xml","adv-elicit","core","bmad/core/tasks/adv-elicit.xml","94f004a336e434cd231de35eb864435ac51cd5888e9befe66e326eb16497121e"
"xml","bmad-web-orchestrator.agent","core","bmad/core/agents/bmad-web-orchestrator.agent.xml","91a5c1b660befa7365f427640b4fa3dbb18f5e48cd135560303dae0939dccf12"
"xml","index-docs","core","bmad/core/tasks/index-docs.xml","8d011ea850571d448932814bad7cbedcc8aa6e3e28868f55dcc7c2ba82158901"
"xml","validate-workflow","core","bmad/core/tasks/validate-workflow.xml","1244874db38a55d957995ed224812ef868ff1451d8e1901cc5887dd0eb1c236e"
"xml","workflow","core","bmad/core/tasks/workflow.xml","0b2b7bd184e099869174cc8d9125fce08bcd3fd64fad50ff835a42eccf6620e2"
"yaml","bmad-master.agent","core","bmad/core/agents/bmad-master.agent.yaml",""
"yaml","config","core","bmad/core/config.yaml","f7a1b9821aa806394dc863dead88d35d961794681f3e73f31edee2491f74203f"
"yaml","workflow","core","bmad/core/workflows/brainstorming/workflow.yaml","52db57678606b98ec47e603c253c40f98815c49417df3088412bbbd8aa7f34d3"
"yaml","workflow","core","bmad/core/workflows/party-mode/workflow.yaml","979e986780ce919abbdae89b3bd264d34a1436036a7eb6f82f40e59c9ce7c2e8"
1 type name module path hash
2 csv agent-manifest _cfg bmad/_cfg/agent-manifest.csv b9e547e123ab7379245cdb4533d992f3c653179b77b786928d217fe5fb6e1c5a
3 csv task-manifest _cfg bmad/_cfg/task-manifest.csv 46f98b1753914dc6193c9ca8b6427fadc9a6d71747cdc8f5159792576c004b60
4 csv workflow-manifest _cfg bmad/_cfg/workflow-manifest.csv ad9ffffd019cbe86a43b1e1b9bec61ee08364060d81b507b219505397c62d1da
5 yaml manifest _cfg bmad/_cfg/manifest.yaml 74ecd00a6dd8927e8b78e6ecf65a1a396c2d85f8b82877f644878f08bc53ce3e
6 js installer bmb bmad/bmb/workflows/create-module/installer-templates/installer.js a539cd5266471dab9359bd3ed849d7b45c5de842a9d5869f8332a5a8bb81fad5
7 md agent-architecture bmb bmad/bmb/workflows/create-agent/agent-architecture.md ea570cf9893c08d3b9519291c89848d550506a8d831a37eb87f60f1e09980e7f
8 md agent-command-patterns bmb bmad/bmb/workflows/create-agent/agent-command-patterns.md 1dbc414c0c6c9e6b54fb0553f65a28743a26e2a172c35b79fc3dc350d50a378d
9 md agent-types bmb bmad/bmb/workflows/create-agent/agent-types.md a9429475767b6db4bb74fb27e328a8fdb3e8e7176edb2920ae3e0106d85e9d83
10 md bmad-builder bmb bmad/bmb/agents/bmad-builder.md 1a53d7d3629ce5c4bd42d2901259693acb69aa9558c94523e3f894740cb964a5
11 md brainstorm-context bmb bmad/bmb/workflows/create-agent/brainstorm-context.md 85be72976c4ff5d79b2bce8e6b433f5e3526a7466a72b3efdb4f6d3d118e1d15
12 md brainstorm-context bmb bmad/bmb/workflows/create-module/brainstorm-context.md 62b902177d2cb56df2d6a12e5ec5c7d75ec94770ce22ac72c96691a876ed2e6a
13 md brainstorm-context bmb bmad/bmb/workflows/create-workflow/brainstorm-context.md f246ec343e338068b37fee8c93aa6d2fe1d4857addba6db3fe6ad80a2a2950e8
14 md checklist bmb bmad/bmb/workflows/audit-workflow/checklist.md 8207ef4dfd3c1ca92dc96451f68c65f8f813b4c9a6c82d34fd6a9ac8cdcf0b44
15 md checklist bmb bmad/bmb/workflows/convert-legacy/checklist.md 3f4faaacd224022af5ddf4ae0949d472f9eca3afa0d4ad0c24f19f93caaa9bf9
16 md checklist bmb bmad/bmb/workflows/create-agent/checklist.md 837667f2bd601833568b327b961ba0dd363ba9a0d240625eebc9d1a9685ecbd8
17 md checklist bmb bmad/bmb/workflows/create-module/checklist.md 494f5bcef32b3abfd4fb24023fdcfad70b222521dae12e71049ec55e6041cc08
18 md checklist bmb bmad/bmb/workflows/create-workflow/checklist.md 78325ed31532c0059a3f647f7f4cda7702919a9ef43634afa419d3fa30ee2a0c
19 md checklist bmb bmad/bmb/workflows/create-workflow/workflow-template/checklist.md a950c68c71cd54b5a3ef4c8d68ad8ec40d5d1fa057f7c95e697e975807ae600b
20 md checklist bmb bmad/bmb/workflows/edit-workflow/checklist.md 9677c087ddfb40765e611de23a5a009afe51c347683dfe5f7d9fd33712ac4795
21 md checklist bmb bmad/bmb/workflows/module-brief/checklist.md 821c90da14f02b967cb468b19f59a26c0d8f044d7a81a8b97631fb8ffac7648f
22 md checklist bmb bmad/bmb/workflows/redoc/checklist.md 2117d60b14e19158f4b586878b3667d715d3b62f79815b72b55c2376ce31aae8
23 md communication-styles bmb bmad/bmb/workflows/create-agent/communication-styles.md 1aea4671532682bc14e4cb4036bfa2ebb3e07da7e91bd6e739b20f85515bfacf
24 md instructions bmb bmad/bmb/workflows/audit-workflow/instructions.md 7dbb61abc78bd7275b6dea923b19677341dcf186b0aa883472b54bf579a17672
25 md instructions bmb bmad/bmb/workflows/convert-legacy/instructions.md 60354e15ca200617d00e0d09e4def982a5a906ea9908fd82bc49b8fb75e0d1df
26 md instructions bmb bmad/bmb/workflows/create-agent/instructions.md 7bdb540e399693d38ea08f7f3cea5afc752e7cd46083fee905f94f009f7c930a
27 md instructions bmb bmad/bmb/workflows/create-module/instructions.md 5f321690f4774058516d3d65693224e759ec87d98d7a1a281b38222ab963ca8b
28 md instructions bmb bmad/bmb/workflows/create-workflow/instructions.md d739389d9eb20e9297737a8cfca7a8bdc084c778b6512a2433442c651d0ea871
29 md instructions bmb bmad/bmb/workflows/create-workflow/workflow-template/instructions.md daf3d312e5a60d7c4cbc308014e3c69eeeddd70bd41bd139d328318da1e3ecb2
30 md instructions bmb bmad/bmb/workflows/edit-workflow/instructions.md 9f34672b8ce89e7da7db6e2371de36894a020249d4e801d324a380c8a9208874
31 md instructions bmb bmad/bmb/workflows/module-brief/instructions.md e2275373850ea0745f396ad0c3aa192f06081b52d98777650f6b645333b62926
32 md instructions bmb bmad/bmb/workflows/redoc/instructions.md fccc798c8904c35807bb6a723650c10aa19ee74ab5a1e44d1b242bd125d3e80e
33 md module-structure bmb bmad/bmb/workflows/create-module/module-structure.md 9970768af75da79b4cdef78096c751e70a3a00194af58dca7ed58a79d324423f
34 md README bmb bmad/bmb/README.md af2cdbeede53eff1ecf95c1e6d7ee1535366ba09b352657fa05576792a2bafb4
35 md README bmb bmad/bmb/workflows/convert-legacy/README.md 3391972c16b7234dae61b2d06daeb6310d1760117ece57abcca0c178c4c33eea
36 md README bmb bmad/bmb/workflows/create-agent/README.md cc1d51e22c425e005ddbe285510ff5a6fc6cf1e40d0ffe5ff421c1efbcbe94c0
37 md README bmb bmad/bmb/workflows/create-module/README.md cdacbe6c4896fd02714b598e709b785af38d41d7e42d39802d695617fe221b39
38 md README bmb bmad/bmb/workflows/create-workflow/README.md 2886da179a92dbde5188465470aaffdc3f3b4327a4c63eea13bb20d67292dbe9
39 md README bmb bmad/bmb/workflows/edit-workflow/README.md 2db00015c03a3ed7df4ff609ac27a179885145e4c8190862eea70d8b894ee9be
40 md README bmb bmad/bmb/workflows/module-brief/README.md 05772db9095db7b4944e9fc47a049a3609c506be697537fd5fd9e409c10b92f4
41 md README bmb bmad/bmb/workflows/redoc/README.md a1b7e02427cf252bca69a8a1ee0f554844a6a01b5d568d74f494c71542056173
42 md template bmb bmad/bmb/workflows/create-workflow/workflow-template/template.md c98f65a122035b456f1cbb2df6ecaf06aa442746d93a29d1d0ed2fc9274a43ee
43 md template bmb bmad/bmb/workflows/module-brief/template.md 7d1ad5ec40b06510fcbb0a3da8ea32aefa493e5b04c3a2bba90ce5685b894275
44 md workflow-creation-guide bmb bmad/bmb/workflows/create-workflow/workflow-creation-guide.md 3233f2db6e0dec0250780840f95b38f7bfe9390b045a497d66f94f82d7ffb1af
45 yaml bmad-builder.agent bmb bmad/bmb/agents/bmad-builder.agent.yaml
46 yaml config bmb bmad/bmb/config.yaml 86c51513f871a363f86c2752317cac8101707266ebbfbe121831eacdc921d4b8
47 yaml install-module-config bmb bmad/bmb/workflows/create-module/installer-templates/install-config.yaml 69c03628b04600f76aa1aa136094d59514f8eb900529114f7233dc28f2d5302d
48 yaml workflow bmb bmad/bmb/workflows/audit-workflow/workflow.yaml 5b8d26675e30d006f57631be2f42b00575b0d00f87abea408bf0afd09d73826e
49 yaml workflow bmb bmad/bmb/workflows/convert-legacy/workflow.yaml c31cee9cc0d457b25954554d7620c7455b3f1b5aa5b5d72fbc765ea7902c3c0c
50 yaml workflow bmb bmad/bmb/workflows/create-agent/workflow.yaml 3d24d25cb58beed1198d465476615851f124d5a01bf4b358d07ff9f1451cd582
51 yaml workflow bmb bmad/bmb/workflows/create-module/workflow.yaml f797507b0d3ec8292a670394e75e0dda682f338b3e266d0cd9af4bbb4eda8358
52 yaml workflow bmb bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml 2eeb8d1724779956f8e89fda8fa850c3fb1d2b8c6eefecd1b5a4d5f9f58adb91
53 yaml workflow bmb bmad/bmb/workflows/create-workflow/workflow.yaml 0ef3f99857d135d062eca2138fe19fb75d3c4adcd5e0b291a86415dceda003ca
54 yaml workflow bmb bmad/bmb/workflows/edit-workflow/workflow.yaml a8e451fdf95ae8a76feb454094b86c7c5c7a3050315eb3c7fe38b58e57514776
55 yaml workflow bmb bmad/bmb/workflows/module-brief/workflow.yaml 4fde4965106a30bb9c528dfc0f82fdefeccf6f65b25bbb169040258d81070b1f
56 yaml workflow bmb bmad/bmb/workflows/redoc/workflow.yaml 8906c8d50748bfcdfa9aa7d95ae284d02aea92b10ece262be1c793ee99358687
57 md cli-chief bmd bmad/bmd/agents/cli-chief.md b970bf39e05192761770cb40e431d7ce90bb827269958bf48088c040ec8feac5
58 md cli-reference bmd bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md 79deb6f6d2fd988d4fee5191682106ad275a4f3c13544b9d2fa73e092ef14754
59 md doc-keeper bmd bmad/bmd/agents/doc-keeper.md eedefd8d4695cdd7e1a553b5c0143ae9a467d66405ef37c231619e8af2a7b086
60 md instructions bmd bmad/bmd/agents/cli-chief-sidecar/instructions.md 61846638e19fd91105f97e72d3ff5b0a11bfcd840540aedebc32a7f41158b372
61 md instructions bmd bmad/bmd/agents/doc-keeper-sidecar/instructions.md 2473cfe53dc3b4f03b0762c8ca16e3c9ccbbef1b0bab3e0c1a25b1694f15ef16
62 md instructions bmd bmad/bmd/agents/release-chief-sidecar/instructions.md d009fec774ddc9f310772832c8509d5d52c6a2060031906dcd1545706d7385fb
63 md memories bmd bmad/bmd/agents/cli-chief-sidecar/memories.md e583b4dee9d6d1ec037bf8a1dfc1b9d5cf5fa4c0fbfd27139c8cb03707f43b3b
64 md memories bmd bmad/bmd/agents/doc-keeper-sidecar/memories.md 66403d2bec4c7adb3aa37e878c0bf1cec987b71b06f8fc2b59cc851e5b22729d
65 md memories bmd bmad/bmd/agents/release-chief-sidecar/memories.md c44af4a87a82f9f91cc5501a42c032293cb563c62114c38835e35aecc7d3893b
66 md README bmd bmad/bmd/README.md 49cd073126c433e4a9517efcce19d94feb9b25f2398d812e02a7a1a81c1ac827
67 md README bmd bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md 3c789858717b5ce51166f7e618effdcd3434e7fad9ebcbe76a1a7bb01ffbe601
68 md README bmd bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md ab88219224d47c6031dc4e4a5edf33264404dd00be53252b4efa6cb6f1c0909b
69 md README bmd bmad/bmd/agents/release-chief-sidecar/knowledge/README.md 8c713f759c14558d84d33675230a4432efb3a9388d34494eb2915c3448b1aaab
70 md release-chief bmd bmad/bmd/agents/release-chief.md f711dac6ec1a3432ca35ed15b3013330e12534feb4631ca285ed912a04b41992
71 yaml cli-chief.agent bmd bmad/bmd/agents/cli-chief.agent.yaml
72 yaml config bmd bmad/bmd/config.yaml ed81f5360f74ca85c87ee29f170670c657b95646ff9bc8351741f26203585087
73 yaml doc-keeper.agent bmd bmad/bmd/agents/doc-keeper.agent.yaml
74 yaml release-chief.agent bmd bmad/bmd/agents/release-chief.agent.yaml
75 csv adv-elicit-methods core bmad/core/tasks/adv-elicit-methods.csv b4e925870f902862899f12934e617c3b4fe002d1b652c99922b30fa93482533b
76 csv brain-methods core bmad/core/workflows/brainstorming/brain-methods.csv ecffe2f0ba263aac872b2d2c95a3f7b1556da2a980aa0edd3764ffb2f11889f3
77 md bmad-master core bmad/core/agents/bmad-master.md d5a8f4c202e0637844b7c481c6b1284f4a8175017f070a23de849f53ead62625
78 md instructions core bmad/core/workflows/brainstorming/instructions.md 32961c158cf5c0575ff0aac6e6532ea177b824e96caddafa31223485df10bc4e
79 md instructions core bmad/core/workflows/party-mode/instructions.md ea0e0e76de91d872efb3b4397627801452f21a39d094a77c41edc93f8dc4238b
80 md README core bmad/core/workflows/brainstorming/README.md ca469d9fbb2b9156491d160e11e2517fdf85ea2c29f41f92b22d4027fe7d9d2a
81 md template core bmad/core/workflows/brainstorming/template.md b5c760f4cea2b56c75ef76d17a87177b988ac846657f4b9819ec125d125b7386
82 xml adv-elicit core bmad/core/tasks/adv-elicit.xml 94f004a336e434cd231de35eb864435ac51cd5888e9befe66e326eb16497121e
83 xml bmad-web-orchestrator.agent core bmad/core/agents/bmad-web-orchestrator.agent.xml 91a5c1b660befa7365f427640b4fa3dbb18f5e48cd135560303dae0939dccf12
84 xml index-docs core bmad/core/tasks/index-docs.xml 8d011ea850571d448932814bad7cbedcc8aa6e3e28868f55dcc7c2ba82158901
85 xml validate-workflow core bmad/core/tasks/validate-workflow.xml 1244874db38a55d957995ed224812ef868ff1451d8e1901cc5887dd0eb1c236e
86 xml workflow core bmad/core/tasks/workflow.xml 0b2b7bd184e099869174cc8d9125fce08bcd3fd64fad50ff835a42eccf6620e2
87 yaml bmad-master.agent core bmad/core/agents/bmad-master.agent.yaml
88 yaml config core bmad/core/config.yaml f7a1b9821aa806394dc863dead88d35d961794681f3e73f31edee2491f74203f
89 yaml workflow core bmad/core/workflows/brainstorming/workflow.yaml 52db57678606b98ec47e603c253c40f98815c49417df3088412bbbd8aa7f34d3
90 yaml workflow core bmad/core/workflows/party-mode/workflow.yaml 979e986780ce919abbdae89b3bd264d34a1436036a7eb6f82f40e59c9ce7c2e8

11
bmad/_cfg/manifest.yaml Normal file
View File

@@ -0,0 +1,11 @@
installation:
version: 6.0.0-alpha.0
installDate: "2025-10-18T20:58:29.259Z"
lastUpdated: "2025-10-18T20:58:29.259Z"
modules:
- core
- bmb
- bmd
ides:
- claude-code
- codex

View File

@@ -0,0 +1 @@
name,displayName,description,module,path
1 name displayName description module path

View File

@@ -0,0 +1,11 @@
name,description,module,path
"brainstorming","Facilitate interactive brainstorming sessions using diverse creative techniques. This workflow facilitates interactive brainstorming sessions using diverse creative techniques. The session is highly interactive, with the AI acting as a facilitator to guide the user through various ideation methods to generate and refine creative solutions.","core","bmad/core/workflows/brainstorming/workflow.yaml"
"party-mode","Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations","core","bmad/core/workflows/party-mode/workflow.yaml"
"audit-workflow","Comprehensive workflow quality audit - validates structure, config standards, variable usage, bloat detection, and web_bundle completeness. Performs deep analysis of workflow.yaml, instructions.md, template.md, and web_bundle configuration against BMAD v6 standards.","bmb","bmad/bmb/workflows/audit-workflow/workflow.yaml"
"convert-legacy","Converts legacy BMAD v4 or similar items (agents, workflows, modules) to BMad Core compliant format with proper structure and conventions","bmb","bmad/bmb/workflows/convert-legacy/workflow.yaml"
"create-agent","Interactive workflow to build BMAD Core compliant agents (YAML source compiled to .md during install) with optional brainstorming, persona development, and command structure","bmb","bmad/bmb/workflows/create-agent/workflow.yaml"
"create-module","Interactive workflow to build complete BMAD modules with agents, workflows, tasks, and installation infrastructure","bmb","bmad/bmb/workflows/create-module/workflow.yaml"
"create-workflow","Interactive workflow builder that guides creation of new BMAD workflows with proper structure and validation for optimal human-AI collaboration. Includes optional brainstorming phase for workflow ideas and design.","bmb","bmad/bmb/workflows/create-workflow/workflow.yaml"
"edit-workflow","Edit existing BMAD workflows while following all best practices and conventions","bmb","bmad/bmb/workflows/edit-workflow/workflow.yaml"
"module-brief","Create a comprehensive Module Brief that serves as the blueprint for building new BMAD modules using strategic analysis and creative vision","bmb","bmad/bmb/workflows/module-brief/workflow.yaml"
"redoc","Autonomous documentation system that maintains module, workflow, and agent documentation using a reverse-tree approach (leaf folders first, then parents). Understands BMAD conventions and produces technical writer quality output.","bmb","bmad/bmb/workflows/redoc/workflow.yaml"
1 name description module path
2 brainstorming Facilitate interactive brainstorming sessions using diverse creative techniques. This workflow facilitates interactive brainstorming sessions using diverse creative techniques. The session is highly interactive, with the AI acting as a facilitator to guide the user through various ideation methods to generate and refine creative solutions. core bmad/core/workflows/brainstorming/workflow.yaml
3 party-mode Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations core bmad/core/workflows/party-mode/workflow.yaml
4 audit-workflow Comprehensive workflow quality audit - validates structure, config standards, variable usage, bloat detection, and web_bundle completeness. Performs deep analysis of workflow.yaml, instructions.md, template.md, and web_bundle configuration against BMAD v6 standards. bmb bmad/bmb/workflows/audit-workflow/workflow.yaml
5 convert-legacy Converts legacy BMAD v4 or similar items (agents, workflows, modules) to BMad Core compliant format with proper structure and conventions bmb bmad/bmb/workflows/convert-legacy/workflow.yaml
6 create-agent Interactive workflow to build BMAD Core compliant agents (YAML source compiled to .md during install) with optional brainstorming, persona development, and command structure bmb bmad/bmb/workflows/create-agent/workflow.yaml
7 create-module Interactive workflow to build complete BMAD modules with agents, workflows, tasks, and installation infrastructure bmb bmad/bmb/workflows/create-module/workflow.yaml
8 create-workflow Interactive workflow builder that guides creation of new BMAD workflows with proper structure and validation for optimal human-AI collaboration. Includes optional brainstorming phase for workflow ideas and design. bmb bmad/bmb/workflows/create-workflow/workflow.yaml
9 edit-workflow Edit existing BMAD workflows while following all best practices and conventions bmb bmad/bmb/workflows/edit-workflow/workflow.yaml
10 module-brief Create a comprehensive Module Brief that serves as the blueprint for building new BMAD modules using strategic analysis and creative vision bmb bmad/bmb/workflows/module-brief/workflow.yaml
11 redoc Autonomous documentation system that maintains module, workflow, and agent documentation using a reverse-tree approach (leaf folders first, then parents). Understands BMAD conventions and produces technical writer quality output. bmb bmad/bmb/workflows/redoc/workflow.yaml

132
bmad/bmb/README.md Normal file
View File

@@ -0,0 +1,132 @@
# BMB - BMad Builder Module
The BMB (BMad Builder Module) provides specialized tools and workflows for creating, customizing, and extending BMad Method components, including custom agents, workflows, and integrations.
## Module Structure
### 🤖 `/agents`
Builder-specific agents that help create and customize BMad Method components:
- Agent creation and configuration specialists
- Workflow designers
- Integration builders
### 📋 `/workflows`
Specialized workflows for building and extending BMad Method capabilities:
#### Core Builder Workflows
- `create-agent` - Design and implement custom agents
- `create-workflow` - Build new workflow definitions
- `create-team` - Configure agent teams
- `bundle-agent` - Package agents for distribution
- `create-method` - Design custom development methodologies
#### Integration Workflows
- `integrate-tool` - Connect external tools and services
- `create-adapter` - Build API adapters
- `setup-environment` - Configure development environments
## Key Features
### Agent Builder
Create custom agents with:
- Role-specific instructions
- Tool configurations
- Behavior patterns
- Integration points
### Workflow Designer
Design workflows that:
- Orchestrate multiple agents
- Define process flows
- Handle different project scales
- Integrate with existing systems
### Team Configuration
Build teams that:
- Combine complementary agent skills
- Coordinate on complex tasks
- Share context effectively
- Deliver cohesive results
## Quick Start
```bash
# Create a new custom agent
bmad bmb create-agent
# Design a new workflow
bmad bmb create-workflow
# Bundle an agent for sharing
bmad bmb bundle-agent
# Create a custom team configuration
bmad bmb create-team
```
## Use Cases
### Custom Agent Development
Build specialized agents for:
- Domain-specific expertise
- Company-specific processes
- Tool integrations
- Automation tasks
### Workflow Customization
Create workflows for:
- Unique development processes
- Compliance requirements
- Quality gates
- Deployment pipelines
### Team Orchestration
Configure teams for:
- Large-scale projects
- Cross-functional collaboration
- Specialized domains
- Custom methodologies
## Integration with BMM
BMB works alongside BMM to:
- Extend core BMM capabilities
- Create custom implementations
- Build domain-specific solutions
- Integrate with existing tools
## Best Practices
1. **Start with existing patterns** - Study BMM agents and workflows before creating new ones
2. **Keep it modular** - Build reusable components
3. **Document thoroughly** - Clear documentation helps others use your creations
4. **Test extensively** - Validate agents and workflows before production use
5. **Share and collaborate** - Contribute useful components back to the community
## Related Documentation
- [BMM Module](../bmm/README.md) - Core method implementation
- [Agent Creation Guide](./workflows/create-agent/README.md) - Detailed agent building instructions
- [Workflow Design Patterns](./workflows/README.md) - Best practices for workflow creation
---
BMB empowers you to extend and customize the BMad Method to fit your specific needs while maintaining the power and consistency of the core framework.

View File

@@ -0,0 +1,65 @@
<!-- Powered by BMAD-CORE™ -->
# BMad Builder
```xml
<agent id="bmad/bmb/agents/bmad-builder.md" name="BMad Builder" title="BMad Builder" icon="🧙">
<activation critical="MANDATORY">
<step n="1">Load persona from this current agent file (already in context)</step>
<step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
- Load and read {project-root}/bmad/bmb/config.yaml NOW
- Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
- VERIFY: If config not loaded, STOP and report error to user
- DO NOT PROCEED to step 3 until config is successfully loaded and variables stored</step>
<step n="3">Remember: user's name is {user_name}</step>
<step n="4">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of
ALL menu items from menu section</step>
<step n="5">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
<step n="6">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="7">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item
(workflow, exec, tmpl, data, action, validate-workflow) and follow the corresponding handler instructions</step>
<menu-handlers>
<handlers>
<handler type="workflow">
When menu item has: workflow="path/to/workflow.yaml"
1. CRITICAL: Always LOAD {project-root}/bmad/core/tasks/workflow.xml
2. Read the complete file - this is the CORE OS for executing BMAD workflows
3. Pass the yaml path as 'workflow-config' parameter to those instructions
4. Execute workflow.xml instructions precisely following all steps
5. Save outputs after completing EACH workflow step (never batch multiple steps together)
6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet
</handler>
</handlers>
</menu-handlers>
<rules>
- ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style
- Stay in character until exit selected
- Menu triggers use asterisk (*) - NOT markdown, display exactly as shown
- Number all lists, use letters for sub-options
- Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2
- CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}.
</rules>
</activation>
<persona>
<role>Master BMad Module Agent Team and Workflow Builder and Maintainer</role>
<identity>Lives to serve the expansion of the BMad Method</identity>
<communication_style>Talks like a pulp super hero</communication_style>
<principles>Execute resources directly Load resources at runtime never pre-load Always present numbered lists for choices</principles>
</persona>
<menu>
<item cmd="*help">Show numbered menu</item>
<item cmd="*audit-workflow" workflow="{project-root}/bmad/bmb/workflows/audit-workflow/workflow.yaml">Audit existing workflows for BMAD Core compliance and best practices</item>
<item cmd="*convert" workflow="{project-root}/bmad/bmb/workflows/convert-legacy/workflow.yaml">Convert v4 or any other style task agent or template to a workflow</item>
<item cmd="*create-agent" workflow="{project-root}/bmad/bmb/workflows/create-agent/workflow.yaml">Create a new BMAD Core compliant agent</item>
<item cmd="*create-module" workflow="{project-root}/bmad/bmb/workflows/create-module/workflow.yaml">Create a complete BMAD module (brainstorm → brief → build with agents and workflows)</item>
<item cmd="*create-workflow" workflow="{project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml">Create a new BMAD Core workflow with proper structure</item>
<item cmd="*edit-workflow" workflow="{project-root}/bmad/bmb/workflows/edit-workflow/workflow.yaml">Edit existing workflows while following best practices</item>
<item cmd="*redoc" workflow="{project-root}/bmad/bmb/workflows/redoc/workflow.yaml">Create or update module documentation</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
</agent>
```

14
bmad/bmb/config.yaml Normal file
View File

@@ -0,0 +1,14 @@
# BMB Module Configuration
# Generated by BMAD installer
# Version: 6.0.0-alpha.0
# Date: 2025-10-18T20:58:29.255Z
custom_agent_location: "{project-root}/bmad/agents"
custom_workflow_location: "{project-root}/bmad/workflows"
custom_module_location: "{project-root}/bmad"
# Core Configuration Values
user_name: BMad
communication_language: English
document_output_language: English
output_folder: "{project-root}/docs"

View File

@@ -0,0 +1,138 @@
# Audit Workflow - Validation Checklist
## Structure
- [ ] workflow.yaml file loads without YAML syntax errors
- [ ] instructions.md file exists and is properly formatted
- [ ] template.md file exists (if document workflow) with valid markdown
- [ ] All critical headers present in instructions (workflow engine reference, workflow.yaml reference)
- [ ] Workflow type correctly identified (document/action/interactive/autonomous/meta)
- [ ] All referenced files actually exist at specified paths
- [ ] No placeholder text remains (like {TITLE}, {WORKFLOW_CODE}, TODO, etc.)
## Standard Config Block
- [ ] workflow.yaml contains `config_source` pointing to correct module config
- [ ] `output_folder` pulls from `{config_source}:output_folder`
- [ ] `user_name` pulls from `{config_source}:user_name`
- [ ] `communication_language` pulls from `{config_source}:communication_language`
- [ ] `date` is set to `system-generated`
- [ ] Config source uses {project-root} variable (not hardcoded path)
- [ ] Standard config comment present: "Critical variables from config"
## Config Variable Usage
- [ ] Instructions communicate in {communication_language} where appropriate
- [ ] Instructions address {user_name} in greetings or summaries where appropriate
- [ ] All file outputs write to {output_folder} or subdirectories (no hardcoded paths)
- [ ] Template includes {{user_name}} in metadata (optional for document workflows)
- [ ] Template includes {{date}} in metadata (optional for document workflows)
- [ ] Template does NOT use {{communication_language}} in headers (agent-only variable)
- [ ] No hardcoded language-specific text that should use {communication_language}
- [ ] Date used for agent date awareness (not confused with training cutoff)
## YAML/Instruction/Template Alignment
- [ ] Every workflow.yaml variable (excluding standard config) is used in instructions OR template
- [ ] No unused yaml fields present (bloat removed)
- [ ] No duplicate fields between top-level and web_bundle section
- [ ] All template variables ({{variable}}) have corresponding yaml definitions OR <template-output> tags
- [ ] All <template-output> tags have corresponding template variables (if document workflow)
- [ ] Template variables use snake_case naming convention
- [ ] Variable names are descriptive (not abbreviated like {{puj}} instead of {{primary_user_journey}})
- [ ] No hardcoded values in instructions that should be yaml variables
## Web Bundle Validation (if applicable)
- [ ] web_bundle section present if workflow needs deployment
- [ ] All paths in web_bundle use bmad/-relative format (NOT {project-root})
- [ ] No {config_source} variables in web_bundle section
- [ ] instructions file listed in web_bundle_files array
- [ ] template file listed in web_bundle_files (if document workflow)
- [ ] validation/checklist file listed in web_bundle_files (if exists)
- [ ] All data files (CSV, JSON, YAML) listed in web_bundle_files
- [ ] All <invoke-workflow> called workflows have their .yaml files in web_bundle_files
- [ ] **CRITICAL**: If workflow invokes other workflows, existing_workflows field is present
- [ ] existing_workflows maps workflow variables to bmad/-relative paths correctly
- [ ] All files referenced in instructions <action> tags listed in web_bundle_files
- [ ] No files listed in web_bundle_files that don't exist
- [ ] Web bundle metadata (name, description, author) matches top-level metadata
## Template Validation (if document workflow)
- [ ] Template variables match <template-output> tags in instructions exactly
- [ ] All required sections present in template structure
- [ ] Template uses {{variable}} syntax (double curly braces)
- [ ] Template variables use snake_case (not camelCase or PascalCase)
- [ ] Standard metadata header format correct (optional usage of {{date}}, {{user_name}})
- [ ] No placeholders remain in template (like {SECTION_NAME})
- [ ] Template structure matches document purpose
## Instructions Quality
- [ ] Each step has n="X" attribute with sequential numbering
- [ ] Each step has goal="clear goal statement" attribute
- [ ] Optional steps marked with optional="true"
- [ ] Repeating steps have appropriate repeat attribute (repeat="3", repeat="for-each-X", repeat="until-approved")
- [ ] Conditional steps have if="condition" attribute
- [ ] XML tags used correctly (<action>, <ask>, <check>, <goto>, <invoke-workflow>, <template-output>)
- [ ] Steps are focused (single goal per step)
- [ ] Instructions are specific with limits ("Write 1-2 paragraphs" not "Write about")
- [ ] Examples provided where helpful
- [ ] <template-output> tags save checkpoints for document workflows
- [ ] Flow control is logical and clear
## Bloat Detection
- [ ] Bloat percentage under 10% (unused yaml fields / total fields)
- [ ] No commented-out variables that should be removed
- [ ] No duplicate metadata between sections
- [ ] No variables defined but never referenced
- [ ] No redundant configuration that duplicates web_bundle
## Final Validation
### Critical Issues (Must fix immediately)
_List any critical issues found:_
- Issue 1:
- Issue 2:
- Issue 3:
### Important Issues (Should fix soon)
_List any important issues found:_
- Issue 1:
- Issue 2:
- Issue 3:
### Cleanup Recommendations (Nice to have)
_List any cleanup recommendations:_
- Recommendation 1:
- Recommendation 2:
- Recommendation 3:
---
## Audit Summary
**Total Checks:** 70
**Passed:** **\_** / 70
**Failed:** **\_** / 70
**Pass Rate:** **\_**%
**Recommendation:**
- Pass Rate ≥ 95%: Excellent - Ready for production
- Pass Rate 85-94%: Good - Minor fixes needed
- Pass Rate 70-84%: Fair - Important issues to address
- Pass Rate < 70%: Poor - Significant work required
---
**Audit Completed:** {{date}}
**Auditor:** Audit Workflow (BMAD v6)

View File

@@ -0,0 +1,375 @@
# Audit Workflow - Workflow Quality Audit Instructions
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/audit-workflow/workflow.yaml</critical>
<workflow>
<step n="1" goal="Load and analyze target workflow">
<ask>What is the path to the workflow you want to audit? (provide path to workflow.yaml or workflow folder)</ask>
<action>Load the workflow.yaml file from the provided path</action>
<action>Identify the workflow type (document, action, interactive, autonomous, meta)</action>
<action>List all associated files:</action>
- instructions.md (required for most workflows)
- template.md (if document workflow)
- checklist.md (if validation exists)
- Any data files referenced in yaml
<action>Load all discovered files</action>
Display summary:
- Workflow name and description
- Type of workflow
- Files present
- Module assignment
</step>
<step n="2" goal="Validate standard config block">
<action>Check workflow.yaml for the standard config block:</action>
**Required variables:**
- `config_source: "{project-root}/bmad/[module]/config.yaml"`
- `output_folder: "{config_source}:output_folder"`
- `user_name: "{config_source}:user_name"`
- `communication_language: "{config_source}:communication_language"`
- `date: system-generated`
<action>Validate each variable:</action>
**Config Source Check:**
- [ ] `config_source` is defined
- [ ] Points to correct module config path
- [ ] Uses {project-root} variable
**Standard Variables Check:**
- [ ] `output_folder` pulls from config_source
- [ ] `user_name` pulls from config_source
- [ ] `communication_language` pulls from config_source
- [ ] `date` is set to system-generated
<action>Record any missing or incorrect config variables</action>
<template-output>config_issues</template-output>
<check>If config issues found:</check>
<action>Add to issues list with severity: CRITICAL</action>
</step>
<step n="3" goal="Analyze YAML/Instruction/Template alignment">
<action>Extract all variables defined in workflow.yaml (excluding standard config block)</action>
<action>Scan instructions.md for variable usage: {variable_name} pattern</action>
<action>Scan template.md for variable usage: {{variable_name}} pattern (if exists)</action>
<action>Cross-reference analysis:</action>
**For each yaml variable:**
1. Is it used in instructions.md? (mark as INSTRUCTION_USED)
2. Is it used in template.md? (mark as TEMPLATE_USED)
3. Is it neither? (mark as UNUSED_BLOAT)
**Special cases to ignore:**
- Standard config variables (config_source, output_folder, user_name, communication_language, date)
- Workflow metadata (name, description, author)
- Path variables (installed_path, template, instructions, validation)
- Web bundle configuration (web_bundle block itself)
<action>Identify unused yaml fields (bloat)</action>
<action>Identify hardcoded values in instructions that should be variables</action>
<template-output>alignment_issues</template-output>
<check>If unused variables found:</check>
<action>Add to issues list with severity: BLOAT</action>
</step>
<step n="4" goal="Config variable usage audit">
<action>Analyze instructions.md for proper config variable usage:</action>
**Communication Language Check:**
- Search for phrases like "communicate in {communication_language}"
- Check if greetings/responses use language-aware patterns
- Verify NO usage of {{communication_language}} in template headers
**User Name Check:**
- Look for user addressing patterns using {user_name}
- Check if summaries or greetings personalize with {user_name}
- Verify optional usage in template metadata (not required)
**Output Folder Check:**
- Search for file write operations
- Verify all outputs go to {output_folder} or subdirectories
- Check for hardcoded paths like "/output/" or "/generated/"
**Date Usage Check:**
- Verify date is available for agent date awareness
- Check optional usage in template metadata
- Ensure no confusion between date and model training cutoff
<action>Record any improper config variable usage</action>
<template-output>config_usage_issues</template-output>
<check>If config usage issues found:</check>
<action>Add to issues list with severity: IMPORTANT</action>
</step>
<step n="5" goal="Web bundle validation" optional="true">
<check>If workflow.yaml contains web_bundle section:</check>
<action>Validate web_bundle structure:</action>
**Path Validation:**
- [ ] All paths use bmad/-relative format (NOT {project-root})
- [ ] No {config_source} variables in web_bundle section
- [ ] Paths match actual file locations
**Completeness Check:**
- [ ] instructions file listed in web_bundle_files
- [ ] template file listed (if document workflow)
- [ ] validation/checklist file listed (if exists)
- [ ] All data files referenced in yaml listed
- [ ] All files referenced in instructions listed
**Workflow Dependency Scan:**
<action>Scan instructions.md for <invoke-workflow> tags</action>
<action>Extract workflow paths from invocations</action>
<action>Verify each called workflow.yaml is in web_bundle_files</action>
<action>**CRITICAL**: Check if existing_workflows field is present when workflows are invoked</action>
<action>If <invoke-workflow> calls exist, existing_workflows MUST map workflow variables to paths</action>
<action>Example: If instructions use {core_brainstorming}, web_bundle needs:
existing_workflows: - core_brainstorming: "bmad/core/workflows/brainstorming/workflow.yaml"
</action>
**File Reference Scan:**
<action>Scan instructions.md for file references in <action> tags</action>
<action>Check for CSV, JSON, YAML, MD files referenced</action>
<action>Verify all referenced files are in web_bundle_files</action>
<action>Record any missing files or incorrect paths</action>
<template-output>web_bundle_issues</template-output>
<check>If web_bundle issues found:</check>
<action>Add to issues list with severity: CRITICAL</action>
<check>If no web_bundle section exists:</check>
<action>Note: "No web_bundle configured (may be intentional for local-only workflows)"</action>
</step>
<step n="6" goal="Bloat detection">
<action>Identify bloat patterns:</action>
**Unused YAML Fields:**
- Variables defined but not used in instructions OR template
- Duplicate fields between top-level and web_bundle section
- Commented-out variables that should be removed
**Hardcoded Values:**
- File paths that should use {output_folder}
- Generic greetings that should use {user_name}
- Language-specific text that should use {communication_language}
- Static dates that should use {date}
**Redundant Configuration:**
- Variables that duplicate web_bundle fields
- Metadata repeated across sections
<action>Calculate bloat metrics:</action>
- Total yaml fields: {{total_yaml_fields}}
- Used fields: {{used_fields}}
- Unused fields: {{unused_fields}}
- Bloat percentage: {{bloat_percentage}}%
<action>Record all bloat items with recommendations</action>
<template-output>bloat_items</template-output>
<check>If bloat detected:</check>
<action>Add to issues list with severity: CLEANUP</action>
</step>
<step n="7" goal="Template variable mapping" if="workflow_type == 'document'">
<action>Extract all template variables from template.md: {{variable_name}} pattern</action>
<action>Scan instructions.md for corresponding <template-output>variable_name</template-output> tags</action>
<action>Cross-reference mapping:</action>
**For each template variable:**
1. Is there a matching <template-output> tag? (mark as MAPPED)
2. Is it a standard config variable? (mark as CONFIG_VAR - optional)
3. Is it unmapped? (mark as MISSING_OUTPUT)
**For each <template-output> tag:**
1. Is there a matching template variable? (mark as USED)
2. Is it orphaned? (mark as UNUSED_OUTPUT)
<action>Verify variable naming conventions:</action>
- [ ] All template variables use snake_case
- [ ] Variable names are descriptive (not abbreviated)
- [ ] Standard config variables properly formatted
<action>Record any mapping issues</action>
<template-output>template_issues</template-output>
<check>If template issues found:</check>
<action>Add to issues list with severity: IMPORTANT</action>
</step>
<step n="8" goal="Generate comprehensive audit report">
<action>Compile all findings into a structured report</action>
<action>Write audit report to {output_folder}/audit-report-{{workflow_name}}-{{date}}.md</action>
**Report Structure:**
```markdown
# Workflow Audit Report
**Workflow:** {{workflow_name}}
**Audit Date:** {{date}}
**Auditor:** Audit Workflow (BMAD v6)
**Workflow Type:** {{workflow_type}}
---
## Executive Summary
**Overall Status:** {{overall_status}}
- Critical Issues: {{critical_count}}
- Important Issues: {{important_count}}
- Cleanup Recommendations: {{cleanup_count}}
---
## 1. Standard Config Block Validation
{{config_issues}}
**Status:** {{config_status}}
---
## 2. YAML/Instruction/Template Alignment
{{alignment_issues}}
**Variables Analyzed:** {{total_variables}}
**Used in Instructions:** {{instruction_usage_count}}
**Used in Template:** {{template_usage_count}}
**Unused (Bloat):** {{bloat_count}}
---
## 3. Config Variable Usage
{{config_usage_issues}}
**Communication Language:** {{comm_lang_status}}
**User Name:** {{user_name_status}}
**Output Folder:** {{output_folder_status}}
**Date:** {{date_status}}
---
## 4. Web Bundle Validation
{{web_bundle_issues}}
**Web Bundle Present:** {{web_bundle_exists}}
**Files Listed:** {{web_bundle_file_count}}
**Missing Files:** {{missing_files_count}}
---
## 5. Bloat Detection
{{bloat_items}}
**Bloat Percentage:** {{bloat_percentage}}%
**Cleanup Potential:** {{cleanup_potential}}
---
## 6. Template Variable Mapping
{{template_issues}}
**Template Variables:** {{template_var_count}}
**Mapped Correctly:** {{mapped_count}}
**Missing Mappings:** {{missing_mapping_count}}
---
## Recommendations
### Critical (Fix Immediately)
{{critical_recommendations}}
### Important (Address Soon)
{{important_recommendations}}
### Cleanup (Nice to Have)
{{cleanup_recommendations}}
---
## Validation Checklist
Use this checklist to verify fixes:
- [ ] All standard config variables present and correct
- [ ] No unused yaml fields (bloat removed)
- [ ] Config variables used appropriately in instructions
- [ ] Web bundle includes all dependencies
- [ ] Template variables properly mapped
- [ ] File structure follows v6 conventions
---
## Next Steps
1. Review critical issues and fix immediately
2. Address important issues in next iteration
3. Consider cleanup recommendations for optimization
4. Re-run audit after fixes to verify improvements
---
**Audit Complete** - Generated by audit-workflow v1.0
```
<action>Display summary to {user_name} in {communication_language}</action>
<action>Provide path to full audit report</action>
<ask>Would you like to:
- View the full audit report
- Fix issues automatically (invoke edit-workflow)
- Audit another workflow
- Exit
</ask>
<template-output>audit_report_path</template-output>
</step>
</workflow>

View File

@@ -0,0 +1,21 @@
# Audit Workflow Configuration
name: "audit-workflow"
description: "Comprehensive workflow quality audit - validates structure, config standards, variable usage, bloat detection, and web_bundle completeness. Performs deep analysis of workflow.yaml, instructions.md, template.md, and web_bundle configuration against BMAD v6 standards."
author: "BMad"
# Critical variables from config
config_source: "{project-root}/bmad/bmb/config.yaml"
output_folder: "{config_source}:output_folder"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
date: system-generated
# Module path and component files
installed_path: "{project-root}/bmad/bmb/workflows/audit-workflow"
template: false
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"
# Output configuration
default_output_file: "{output_folder}/audit-report-{{workflow_name}}-{{date}}.md"
# Web bundle configuration

View File

@@ -0,0 +1,262 @@
# Convert Legacy Workflow
## Overview
The Convert Legacy workflow is a comprehensive migration tool that converts BMAD v4 items (agents, workflows, modules) to v5 compliant format with proper structure and conventions. It bridges the gap between legacy BMAD implementations and the modern v5 architecture, ensuring seamless migration while preserving functionality and improving structure.
## Key Features
- **Multi-Format Detection** - Automatically identifies v4 agents, workflows, tasks, templates, and modules
- **Intelligent Conversion** - Smart mapping from v4 patterns to v5 equivalents with structural improvements
- **Sub-Workflow Integration** - Leverages create-agent, create-workflow, and create-module workflows for quality output
- **Structure Modernization** - Converts YAML-based agents to XML, templates to workflows, tasks to structured workflows
- **Path Normalization** - Updates all references to use proper v5 path conventions
- **Validation System** - Comprehensive validation of converted items before finalization
- **Migration Reporting** - Detailed conversion reports with locations and manual adjustment notes
## Usage
### Basic Invocation
```bash
workflow convert-legacy
```
### With Legacy File Input
```bash
# Convert a specific v4 item
workflow convert-legacy --input /path/to/legacy-agent.md
```
### With Legacy Module
```bash
# Convert an entire v4 module structure
workflow convert-legacy --input /path/to/legacy-module/
```
### Configuration
The workflow uses standard BMB configuration:
- **output_folder**: Where converted items will be placed
- **user_name**: Author information for converted items
- **conversion_mappings**: v4-to-v5 pattern mappings (optional)
## Workflow Structure
### Files Included
```
convert-legacy/
├── workflow.yaml # Configuration and metadata
├── instructions.md # Step-by-step conversion guide
├── checklist.md # Validation criteria
└── README.md # This file
```
## Workflow Process
### Phase 1: Legacy Analysis (Steps 1-3)
**Item Identification and Loading**
- Accepts file path or directory from user
- Loads complete file/folder structure for analysis
- Automatically detects item type based on content patterns:
- **Agents**: Contains `<agent>` or `<prompt>` XML tags
- **Workflows**: Contains workflow YAML or instruction patterns
- **Modules**: Contains multiple organized agents/workflows
- **Tasks**: Contains `<task>` XML tags
- **Templates**: Contains YAML-based document generators
**Legacy Structure Analysis**
- Parses v4 structure and extracts key components
- Maps v4 agent metadata (name, id, title, icon, persona)
- Analyzes v4 template sections and elicitation patterns
- Identifies task workflows and decision trees
- Catalogs dependencies and file references
**Target Module Selection**
- Prompts for target module (bmm, bmb, cis, custom)
- Determines proper installation paths using v5 conventions
- Shows target location for user confirmation
- Ensures all paths use `{project-root}/bmad/` format
### Phase 2: Conversion Strategy (Step 4)
**Strategy Selection Based on Item Type**
- **Simple Agents**: Direct XML conversion with metadata mapping
- **Complex Agents**: Workflow-assisted creation using create-agent
- **Templates**: Template-to-workflow conversion with proper structure
- **Tasks**: Task-to-workflow conversion with step mapping
- **Modules**: Full module creation using create-module workflow
**Workflow Type Determination**
- Analyzes legacy items to determine v5 workflow type:
- **Document Workflow**: Generates documents with templates
- **Action Workflow**: Performs actions without output documents
- **Interactive Workflow**: Guides user interaction sessions
- **Meta-Workflow**: Coordinates other workflows
### Phase 3: Conversion Execution (Steps 5a-5e)
**Direct Agent Conversion (5a)**
- Transforms v4 YAML agent format to v5 XML structure
- Maps persona blocks (role, style, identity, principles)
- Converts commands list to v5 `<cmds>` format
- Updates task references to workflow invocations
- Normalizes all paths to v5 conventions
**Workflow-Assisted Creation (5b-5e)**
- Extracts key information from legacy items
- Invokes appropriate sub-workflows:
- `create-agent` for complex agent creation
- `create-workflow` for template/task conversion
- `create-module` for full module migration
- Ensures proper v5 structure and conventions
**Template-to-Workflow Conversion (5c)**
- Converts YAML template sections to workflow steps
- Maps `elicit: true` flags to `<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>` tags
- Transforms conditional sections to flow control
- Creates proper template.md from content structure
- Integrates v4 create-doc.md task patterns
**Task-to-Workflow Conversion (5e)**
- Analyzes task purpose to determine workflow type
- Extracts step-by-step instructions to workflow steps
- Converts decision trees to flow control tags
- Maps 1-9 elicitation menus to v5 elicitation patterns
- Preserves execution logic and critical notices
### Phase 4: Validation and Finalization (Steps 6-8)
**Comprehensive Validation**
- Validates XML structure for agents
- Checks YAML syntax for workflows
- Verifies template variable consistency
- Ensures proper file structure and naming
**Migration Reporting**
- Generates detailed conversion report
- Documents original and new locations
- Notes manual adjustments needed
- Provides warnings and recommendations
**Cleanup and Archival**
- Optional archival of original v4 files
- Final location confirmation
- Post-conversion instructions and next steps
## Output
### Generated Files
- **Converted Items**: Proper v5 format in target module locations
- **Migration Report**: Detailed conversion documentation
- **Validation Results**: Quality assurance confirmation
### Output Structure
Converted items follow v5 conventions:
1. **Agents** - XML format with proper persona and command structure
2. **Workflows** - Complete workflow folders with yaml, instructions, and templates
3. **Modules** - Full module structure with installation infrastructure
4. **Documentation** - Updated paths, references, and metadata
## Requirements
- **Legacy v4 Items** - Source files or directories to convert
- **Target Module Access** - Write permissions to target module directories
- **Sub-Workflow Availability** - create-agent, create-workflow, create-module workflows accessible
- **Conversion Mappings** (optional) - v4-to-v5 pattern mappings for complex conversions
## Best Practices
### Before Starting
1. **Backup Legacy Items** - Create copies of original v4 files before conversion
2. **Review Target Module** - Understand target module structure and conventions
3. **Plan Module Organization** - Decide where converted items should logically fit
### During Execution
1. **Validate Item Type Detection** - Confirm automatic detection or correct manually
2. **Choose Appropriate Strategy** - Use workflow-assisted creation for complex items
3. **Review Path Mappings** - Ensure all references use proper v5 path conventions
4. **Test Incrementally** - Convert simple items first to validate process
### After Completion
1. **Validate Converted Items** - Test agents and workflows for proper functionality
2. **Review Migration Report** - Address any manual adjustments noted
3. **Update Documentation** - Ensure README and documentation reflect changes
4. **Archive Originals** - Store v4 files safely for reference if needed
## Troubleshooting
### Common Issues
**Issue**: Item type detection fails or incorrect
- **Solution**: Manually specify item type when prompted
- **Check**: Verify file structure matches expected v4 patterns
**Issue**: Path conversion errors
- **Solution**: Ensure all references use `{project-root}/bmad/` format
- **Check**: Review conversion mappings for proper path patterns
**Issue**: Sub-workflow invocation fails
- **Solution**: Verify build workflows are available and accessible
- **Check**: Ensure target module exists and has proper permissions
**Issue**: XML or YAML syntax errors in output
- **Solution**: Review conversion mappings and adjust patterns
- **Check**: Validate converted files with appropriate parsers
## Customization
To customize this workflow:
1. **Update Conversion Mappings** - Modify v4-to-v5 pattern mappings in data/
2. **Extend Detection Logic** - Add new item type detection patterns
3. **Add Conversion Strategies** - Implement specialized conversion approaches
4. **Enhance Validation** - Add additional quality checks in validation step
## Version History
- **v1.0.0** - Initial release
- Multi-format v4 item detection and conversion
- Integration with create-agent, create-workflow, create-module
- Comprehensive path normalization
- Migration reporting and validation
## Support
For issues or questions:
- Review the workflow creation guide at `/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md`
- Check conversion mappings at `/bmad/bmb/data/v4-to-v5-mappings.yaml`
- Validate output using `checklist.md`
- Consult BMAD v5 documentation for proper conventions
---
_Part of the BMad Method v5 - BMB (Builder) Module_

View File

@@ -0,0 +1,205 @@
# Convert Legacy - Validation Checklist
## Pre-Conversion Validation
### Source Analysis
- [ ] Original v4 file(s) fully loaded and parsed
- [ ] Item type correctly identified (agent/template/task/module)
- [ ] All dependencies documented and accounted for
- [ ] No critical content overlooked in source files
## Conversion Completeness
### For Agent Conversions
#### Content Preservation
- [ ] Agent name, id, title, and icon transferred
- [ ] All persona elements mapped to v5 structure
- [ ] All commands converted to v5 menu array (YAML)
- [ ] Dependencies properly referenced or converted
- [ ] Activation instructions adapted to v5 patterns
#### v5 Compliance (YAML Format)
- [ ] Valid YAML structure with proper indentation
- [ ] agent.metadata has all required fields (id, name, title, icon, module)
- [ ] agent.persona has all sections (role, identity, communication_style, principles)
- [ ] agent.menu uses proper handlers (workflow, action, exec, tmpl, data)
- [ ] agent.critical_actions array present when needed
- [ ] agent.prompts defined for any action: "#id" references
- [ ] File extension is .agent.yaml (will be compiled to .md later)
#### Best Practices
- [ ] Commands use appropriate workflow references instead of direct task calls
- [ ] File paths use {project-root} variables
- [ ] Config values use {config_source}: pattern
- [ ] Agent follows naming conventions (kebab-case for files)
- [ ] ALL paths reference {project-root}/bmad/{{module}}/ locations, NOT src/
- [ ] exec, data, run-workflow commands point to final BMAD installation paths
### For Template/Workflow Conversions
#### Content Preservation
- [ ] Template metadata (name, description, output) transferred
- [ ] All sections converted to workflow steps
- [ ] Section hierarchy maintained in instructions
- [ ] Variables ({{var}}) preserved in template.md
- [ ] Elicitation points (elicit: true) converted to <invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
- [ ] Conditional sections preserved with if="" attributes
- [ ] Repeatable sections converted to repeat="" attributes
#### v5 Compliance
- [ ] workflow.yaml follows structure from workflow-creation-guide.md
- [ ] instructions.md has critical headers referencing workflow engine
- [ ] Steps numbered sequentially with clear goals
- [ ] Template variables match between instructions and template.md
- [ ] Proper use of XML tags (<action>, <check>, <ask>, <template-output>)
- [ ] File structure follows v5 pattern (folder with yaml/md files)
#### Best Practices
- [ ] Steps are focused with single goals
- [ ] Instructions are specific ("Write 1-2 paragraphs" not "Write about")
- [ ] Examples provided where helpful
- [ ] Limits set where appropriate ("3-5 items maximum")
- [ ] Save checkpoints with <template-output> at logical points
- [ ] Variables use descriptive snake_case names
### For Task Conversions
#### Content Preservation
- [ ] Task logic fully captured in workflow instructions
- [ ] Execution flow maintained
- [ ] User interaction points preserved
- [ ] Decision trees converted to workflow logic
- [ ] All processing steps accounted for
- [ ] Document generation patterns identified and preserved
#### Type Determination
- [ ] Workflow type correctly identified (document/action/interactive/meta)
- [ ] If generates documents, template.md created
- [ ] If performs actions only, marked as action workflow
- [ ] Output patterns properly analyzed
#### v5 Compliance
- [ ] Converted to proper workflow format (not standalone task)
- [ ] Follows workflow execution engine patterns
- [ ] Interactive elements use proper v5 tags
- [ ] Flow control uses v5 patterns (goto, check, loop)
- [ ] 1-9 elicitation menus converted to v5 elicitation
- [ ] Critical notices preserved in workflow.yaml
- [ ] YOLO mode converted to appropriate v5 patterns
### Module-Level Validation
#### Structure
- [ ] Module follows v5 directory structure
- [ ] All components in correct locations:
- Agents in /agents/
- Workflows in /workflows/
- Data files in appropriate locations
- [ ] Config files properly formatted
#### Integration
- [ ] Cross-references between components work
- [ ] Workflow invocations use correct paths
- [ ] Data file references are valid
- [ ] No broken dependencies
## Technical Validation
### Syntax and Format
- [ ] YAML files have valid syntax (no parsing errors)
- [ ] XML structures properly formed and closed
- [ ] Markdown files render correctly
- [ ] File encoding is UTF-8
- [ ] Line endings consistent (LF)
### Path Resolution
- [ ] All file paths resolve correctly
- [ ] Variable substitutions work ({project-root}, {installed_path}, etc.)
- [ ] Config references load properly
- [ ] No hardcoded absolute paths (unless intentional)
## Functional Validation
### Execution Testing
- [ ] Converted item can be loaded without errors
- [ ] Agents activate properly when invoked
- [ ] Workflows execute through completion
- [ ] User interaction points function correctly
- [ ] Output generation works as expected
### Behavioral Validation
- [ ] Converted item behaves similarly to v4 version
- [ ] Core functionality preserved
- [ ] User experience maintains or improves
- [ ] No functionality regression
## Documentation and Cleanup
### Documentation
- [ ] Conversion report generated with all changes
- [ ] Any manual adjustments documented
- [ ] Known limitations or differences noted
- [ ] Migration instructions provided if needed
### Post-Conversion
- [ ] Original v4 files archived (if requested)
- [ ] File permissions set correctly
- [ ] Git tracking updated if applicable
- [ ] User informed of new locations
## Final Verification
### Quality Assurance
- [ ] Converted item follows ALL v5 best practices
- [ ] Code/config is clean and maintainable
- [ ] No TODO or FIXME items remain
- [ ] Ready for production use
### User Acceptance
- [ ] User reviewed conversion output
- [ ] User tested basic functionality
- [ ] User approved final result
- [ ] Any user feedback incorporated
## Notes Section
### Conversion Issues Found:
_List any issues encountered during validation_
### Manual Interventions Required:
_Document any manual fixes needed_
### Recommendations:
_Suggestions for further improvements or considerations_
---
**Validation Result:** [ ] PASSED / [ ] FAILED
**Validator:** {{user_name}}
**Date:** {{date}}
**Items Converted:** {{conversion_summary}}

View File

@@ -0,0 +1,374 @@
# Convert Legacy - v4 to v5 Conversion Instructions
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
<parameter name="You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/convert-legacy/workflow.yaml</critical>
<critical>Communicate in {communication_language} throughout the conversion process</critical>
<workflow>
<step n="1" goal="Identify and Load Legacy Item">
<action>Ask user for the path to the v4 item to convert (agent, workflow, or module)</action>
<action>Load the complete file/folder structure</action>
<action>Detect item type based on structure and content patterns:</action>
- Agent: Contains agent or prompt XML tags, single file
- Workflow: Contains workflow YAML or instruction patterns, usually folder
- Module: Contains multiple agents/workflows in organized structure
- Task: Contains task XML tags
<ask>Confirm detected type or allow user to correct: "Detected as [type]. Is this correct? (y/n)"</ask>
</step>
<step n="2" goal="Analyze Legacy Structure">
<action>Parse the v4 structure and extract key components:</action>
For v4 Agents (YAML-based in markdown):
- Agent metadata (name, id, title, icon, whenToUse)
- Persona block (role, style, identity, focus, core_principles)
- Commands list with task/template references
- Dependencies (tasks, templates, checklists, data files)
- Activation instructions and workflow rules
- IDE file resolution patterns
For v4 Templates (YAML-based document generators):
- Template metadata (id, name, version, output)
- Workflow mode and elicitation settings
- Sections hierarchy with:
- Instructions for content generation
- Elicit flags for user interaction
- Templates with {{variables}}
- Conditional sections
- Repeatable sections
For v4 Tasks (Markdown with execution instructions):
- Critical execution notices
- Step-by-step workflows
- Elicitation requirements (1-9 menu format)
- Processing flows and decision trees
- Agent permission rules
For Modules:
- Module metadata
- Component list (agents, workflows, tasks)
- Dependencies
- Installation requirements
<action>Create a conversion map of what needs to be transformed</action>
<action>Map v4 patterns to v5 equivalents:
- v4 Task + Template → v5 Workflow (folder with workflow.yaml, instructions.md, template.md)
- v4 Agent YAML → v5 Agent YAML format
- v4 Commands → v5 <menu> with proper handlers
- v4 Dependencies → v5 workflow references or data files
</action>
</step>
<step n="3" goal="Determine Target Module and Location">
<ask>Which module should this belong to? (eg. bmm, bmb, cis, bmm-legacy, or custom)</ask>
<check>If custom module:</check>
<ask>Enter custom module code (kebab-case):</ask>
<action>Determine installation path based on type and module</action>
<critical>IMPORTANT: All paths must use final BMAD installation locations, not src paths!</critical>
<action>Show user the target location: {project-root}/bmad/{{target_module}}/{{item_type}}/{{item_name}}</action>
<action>Note: Files will be created in bmad/ but all internal paths will reference {project-root}/bmad/ locations</action>
<ask>Proceed with this location? (y/n)</ask>
</step>
<step n="4" goal="Choose Conversion Strategy">
<action>Based on item type and complexity, choose approach:</action>
<check>If agent conversion:</check>
<check>If simple agent (basic persona + commands):</check>
<action>Use direct conversion to v5 agent YAML format</action>
<goto step="5a">Direct Agent Conversion</goto>
<check>If complex agent with embedded workflows:</check>
<action>Plan to invoke create-agent workflow</action>
<goto step="5b">Workflow-Assisted Agent Creation</goto>
<check>If template or task conversion to workflow:</check>
<action>Analyze the v4 item to determine workflow type:</action>
- Does it generate a specific document type? → Document workflow
- Does it produce structured output files? → Document workflow
- Does it perform actions without output? → Action workflow
- Does it coordinate other tasks? → Meta-workflow
- Does it guide user interaction? → Interactive workflow
<ask>Based on analysis, this appears to be a {{detected_workflow_type}} workflow. Confirm or correct:
1. Document workflow (generates documents with template)
2. Action workflow (performs actions, no template)
3. Interactive workflow (guided session)
4. Meta-workflow (coordinates other workflows)
Select 1-4:</ask>
<check>If template conversion:</check>
<goto step="5c">Template-to-Workflow Conversion</goto>
<check>If task conversion:</check>
<goto step="5e">Task-to-Workflow Conversion</goto>
<check>If full module conversion:</check>
<action>Plan to invoke create-module workflow</action>
<goto step="5d">Module Creation</goto>
</step>
<step n="5a" goal="Direct Agent Conversion" optional="true">
<action>Transform v4 YAML agent to v5 YAML format:</action>
1. Convert agent metadata structure:
- v4 `agent.name` → v5 `agent.metadata.name`
- v4 `agent.id` → v5 `agent.metadata.id`
- v4 `agent.title` → v5 `agent.metadata.title`
- v4 `agent.icon` → v5 `agent.metadata.icon`
- Add v5 `agent.metadata.module` field
2. Transform persona structure:
- v4 `persona.role` → v5 `agent.persona.role` (keep as YAML string)
- v4 `persona.style` → v5 `agent.persona.communication_style`
- v4 `persona.identity` → v5 `agent.persona.identity`
- v4 `persona.core_principles` → v5 `agent.persona.principles` (as array)
3. Convert commands to menu:
- v4 `commands:` list → v5 `agent.menu:` array
- Each command becomes menu item with:
- `trigger:` (without \* prefix - added at build)
- `description:`
- Handler attributes (`workflow:`, `exec:`, `action:`, etc.)
- Map task references to workflow paths
- Map template references to workflow invocations
4. Add v5-specific sections (in YAML):
- `agent.prompts:` array for inline prompts (if using action: "#id")
- `agent.critical_actions:` array for startup requirements
- `agent.activation_rules:` for universal agent rules
5. Handle dependencies and paths:
- Convert task dependencies to workflow references
- Map template dependencies to v5 workflows
- Preserve checklist and data file references
- CRITICAL: All paths must use {project-root}/bmad/{{module}}/ NOT src/
<action>Generate the converted v5 agent YAML file (.agent.yaml)</action>
<action>Example path conversions:
- exec="{project-root}/bmad/{{target_module}}/tasks/task-name.md"
- run-workflow="{project-root}/bmad/{{target_module}}/workflows/workflow-name/workflow.yaml"
- data="{project-root}/bmad/{{target_module}}/data/data-file.yaml"
</action>
<action>Save to: bmad/{{target_module}}/agents/{{agent_name}}.agent.yaml (physical location)</action>
<action>Note: The build process will later compile this to .md with XML format</action>
<goto step="6">Continue to Validation</goto>
</step>
<step n="5b" goal="Workflow-Assisted Agent Creation" optional="true">
<action>Extract key information from v4 agent:</action>
- Name and purpose
- Commands and functionality
- Persona traits
- Any special behaviors
<invoke-workflow>
workflow: {project-root}/bmad/bmb/workflows/create-agent/workflow.yaml
inputs:
- agent_name: {{extracted_name}}
- agent_purpose: {{extracted_purpose}}
- commands: {{extracted_commands}}
- persona: {{extracted_persona}}
</invoke-workflow>
<goto step="6">Continue to Validation</goto>
</step>
<step n="5c" goal="Template-to-Workflow Conversion" optional="true">
<action>Convert v4 Template (YAML) to v5 Workflow:</action>
1. Extract template metadata:
- Template id, name, version → workflow.yaml name/description
- Output settings → default_output_file
- Workflow mode (interactive/yolo) → workflow settings
2. Convert template sections to instructions.md:
- Each YAML section → workflow step
- `elicit: true``<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>` tag
- Conditional sections → `if="condition"` attribute
- Repeatable sections → `repeat="for-each"` attribute
- Section instructions → step content
3. Extract template structure to template.md:
- Section content fields → template structure
- {{variables}} → preserve as-is
- Nested sections → hierarchical markdown
4. Handle v4 create-doc.md task integration:
- Elicitation methods (1-9 menu) → convert to v5 elicitation
- Agent permissions → note in instructions
- Processing flow → integrate into workflow steps
<critical>When invoking create-workflow, the standard config block will be automatically added:</critical>
```yaml
# Critical variables from config
config_source: '{project-root}/bmad/{{target_module}}/config.yaml'
output_folder: '{config_source}:output_folder'
user_name: '{config_source}:user_name'
communication_language: '{config_source}:communication_language'
date: system-generated
```
<invoke-workflow>
workflow: {project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml
inputs:
- workflow_name: {{template_name}}
- workflow_type: document
- template_structure: {{extracted_template}}
- instructions: {{converted_sections}}
</invoke-workflow>
<action>Verify the created workflow.yaml includes standard config block</action>
<action>Update converted instructions to use config variables where appropriate</action>
<goto step="6">Continue to Validation</goto>
</step>
<step n="5d" goal="Module Creation" optional="true">
<action>Analyze module structure and components</action>
<action>Create module blueprint with all components</action>
<invoke-workflow>
workflow: {project-root}/bmad/bmb/workflows/create-module/workflow.yaml
inputs:
- module_name: {{module_name}}
- components: {{component_list}}
</invoke-workflow>
<goto step="6">Continue to Validation</goto>
</step>
<step n="5e" goal="Task-to-Workflow Conversion" optional="true">
<action>Convert v4 Task (Markdown) to v5 Workflow:</action>
1. Analyze task purpose and output:
- Does it generate documents? → Create template.md
- Does it process data? → Action workflow
- Does it guide user interaction? → Interactive workflow
- Check for file outputs, templates, or document generation
2. Extract task components:
- Execution notices and critical rules → workflow.yaml metadata
- Step-by-step instructions → instructions.md steps
- Decision trees and branching → flow control tags
- User interaction patterns → appropriate v5 tags
3. Based on confirmed workflow type:
<check>If Document workflow:</check>
- Create template.md from output patterns
- Map generation steps to instructions
- Add <template-output> tags for sections
<check>If Action workflow:</check>
- Set template: false in workflow.yaml
- Focus on action sequences in instructions
- Preserve execution logic
4. Handle special v4 patterns:
- 1-9 elicitation menus → v5 <invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
- Agent permissions → note in instructions
- YOLO mode → autonomous flag or optional steps
- Critical notices → workflow.yaml comments
<critical>When invoking create-workflow, the standard config block will be automatically added:</critical>
```yaml
# Critical variables from config
config_source: '{project-root}/bmad/{{target_module}}/config.yaml'
output_folder: '{config_source}:output_folder'
user_name: '{config_source}:user_name'
communication_language: '{config_source}:communication_language'
date: system-generated
```
<invoke-workflow>
workflow: {project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml
inputs:
- workflow_name: {{task_name}}
- workflow_type: {{confirmed_workflow_type}}
- instructions: {{extracted_task_logic}}
- template: {{generated_template_if_document}}
</invoke-workflow>
<action>Verify the created workflow.yaml includes standard config block</action>
<action>Update converted instructions to use config variables where appropriate</action>
<goto step="6">Continue to Validation</goto>
</step>
<step n="6" goal="Validate Conversion">
<action>Run validation checks on converted item:</action>
For Agents:
- [ ] Valid YAML structure (.agent.yaml)
- [ ] All required sections present (metadata, persona, menu)
- [ ] Menu items properly formatted (trigger, description, handlers)
- [ ] Paths use {project-root} variables
For Workflows:
- [ ] Valid YAML syntax
- [ ] Instructions follow v5 conventions
- [ ] Template variables match
- [ ] File structure correct
**Standard Config Validation (Workflows):**
- [ ] workflow.yaml contains standard config block:
- config_source defined
- output_folder, user_name, communication_language pulled from config
- date set to system-generated
- [ ] Converted instructions use config variables where appropriate
- [ ] Template includes config variables in metadata (if document workflow)
- [ ] No hardcoded paths that should use {output_folder}
- [ ] No generic greetings that should use {user_name}
For Modules:
- [ ] All components converted
- [ ] Proper folder structure
- [ ] Config files valid
- [ ] Installation ready
<action>Show validation results to user</action>
<ask>Any issues to fix before finalizing? (y/n)</ask>
<check>If yes:</check>
<action>Address specific issues</action>
<goto step="6">Re-validate</goto>
</step>
<step n="7" goal="Migration Report">
<action>Generate conversion report showing:</action>
- Original v4 location
- New v5 location
- Items converted
- Any manual adjustments needed
- Warnings or notes
<action>Save report to: {output_folder}/conversion-report-{{date}}.md</action>
<action>Inform {user_name} in {communication_language} that the conversion report has been generated</action>
</step>
<step n="8" goal="Cleanup and Finalize">
<ask>Archive original v4 files? (y/n)</ask>
<check>If yes:</check>
<action>Move v4 files to: {project-root}/archive/v4-legacy/{{date}}/</action>
<action>Show user the final converted items and their locations</action>
<action>Provide any post-conversion instructions or recommendations</action>
<ask>Would you like to convert another legacy item? (y/n)</ask>
<check>If yes:</check>
<goto step="1">Start new conversion</goto>
</step>
</workflow>

View File

@@ -0,0 +1,30 @@
# Convert Legacy - BMAD v4 to v5 Converter Configuration
name: "convert-legacy"
description: "Converts legacy BMAD v4 or similar items (agents, workflows, modules) to BMad Core compliant format with proper structure and conventions"
author: "BMad"
# Critical variables load from config_source
config_source: "{project-root}/bmad/bmb/config.yaml"
output_folder: "{config_source}:output_folder"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
date: system-generated
# Optional docs that can be provided as input
recommended_inputs:
- legacy_file: "Path to v4 agent, workflow, or module to convert"
# Module path and component files
installed_path: "{project-root}/bmad/bmb/workflows/convert-legacy"
template: false # This is an action/meta workflow - no template needed
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"
# Output configuration - Creates converted items in appropriate module locations
default_output_folder: "{project-root}/bmad/{{target_module}}/{{item_type}}/{{item_name}}"
# Sub-workflows that may be invoked for conversion
sub_workflows:
- create_agent: "{project-root}/bmad/bmb/workflows/create-agent/workflow.yaml"
- create_workflow: "{project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml"
- create_module: "{project-root}/bmad/bmb/workflows/create-module/workflow.yaml"

View File

@@ -0,0 +1,320 @@
# Build Agent
## Overview
The Build Agent workflow is an interactive agent builder that guides you through creating BMAD Core compliant agents as YAML source files that compile to final `.md` during install. It supports three agent types: Simple (self-contained), Expert (with sidecar resources), and Module (full-featured with workflows).
## Key Features
- **Optional Brainstorming**: Creative ideation session before agent building to explore concepts and personalities
- **Three Agent Types**: Simple, Expert, and Module agents with appropriate structures
- **Persona Development**: Guided creation of role, identity, communication style, and principles
- **Command Builder**: Interactive command definition with workflow/task/action patterns
- **Validation Built-In**: Ensures YAML structure and BMAD Core compliance
- **Customize Support**: Optional `customize.yaml` for persona/menu overrides and critical actions
- **Sidecar Resources**: Setup for Expert agents with domain-specific data
## Usage
### Basic Invocation
```bash
workflow create-agent
```
### Through BMad Builder Agent
```
*create-agent
```
### With Brainstorming Session
The workflow includes an optional brainstorming phase (Step -1) that helps you explore agent concepts, personalities, and capabilities before building. This is particularly useful when you have a vague idea and want to develop it into a concrete agent concept.
### What You'll Be Asked
0. **Optional brainstorming** (vague idea → refined concept)
1. Agent type (Simple, Expert, or Module)
2. Basic identity (name, title, icon, filename)
3. Module assignment (for Module agents)
4. Sidecar resources (for Expert agents)
5. Persona elements (role, identity, style, principles)
6. Commands and their implementations
7. Critical actions (optional)
8. Activation rules (optional, rarely needed)
## Workflow Structure
### Files Included
```
create-agent/
├── workflow.yaml # Configuration
├── instructions.md # Step-by-step guide
├── checklist.md # Validation criteria
├── README.md # This file
├── agent-types.md # Agent type documentation
├── agent-architecture.md # Architecture patterns
├── agent-command-patterns.md # Command patterns reference
└── communication-styles.md # Style examples
```
## Workflow Process
### Phase 0: Optional Brainstorming (Step -1)
- Creative ideation session using diverse brainstorming techniques
- Explore agent concepts, personalities, and capabilities
- Generate character ideas, expertise areas, and command concepts
- Output feeds directly into agent identity and persona development
### Phase 1: Agent Setup (Steps 0-2)
- Load agent building documentation and patterns
- Choose agent type (Simple/Expert/Module)
- Define basic identity (name, title, icon, filename) - informed by brainstorming if completed
- Assign to module (for Module agents)
### Phase 2: Persona Development (Steps 2-3)
- Define role and responsibilities - leveraging brainstorming insights if available
- Craft unique identity and backstory
- Select communication style - can use brainstormed personality concepts
- Establish guiding principles
- Add critical actions (optional)
### Phase 3: Command Building (Step 4)
- Add *help and *exit commands (required)
- Define workflow commands (most common)
- Add task commands (for single operations)
- Create action commands (inline logic)
- Configure command attributes
### Phase 4: Finalization (Steps 5-10)
- Confirm activation behavior (mostly automatic)
- Generate `.agent.yaml` file
- Optionally create a customize file for overrides
- Setup sidecar resources (for Expert agents)
- Validate YAML and compile to `.md`
- Provide usage instructions
## Output
### Generated Files
#### For Standalone Agents (not part of a module)
- **YAML Source**: `{custom_agent_location}/{{agent_filename}}.agent.yaml` (default: `bmad/agents/`)
- **Installation Location**: `{project-root}/bmad/agents/{{agent_filename}}.md`
- **Compilation**: Run the BMAD Method installer and select "Compile Agents (Quick rebuild of all agent .md files)"
#### For Module Agents
- **YAML Source**: `src/modules/{{target_module}}/agents/{{agent_filename}}.agent.yaml`
- **Installation Location**: `{project-root}/bmad/{{module}}/agents/{{agent_filename}}.md`
- **Compilation**: Automatic during module installation
### YAML Agent Structure (simplified)
```yaml
agent:
metadata:
id: bmad/{{module}}/agents/{{agent_filename}}.md
name: { { agent_name } }
title: { { agent_title } }
icon: { { agent_icon } }
module: { { module } }
persona:
role: '...'
identity: '...'
communication_style: '...'
principles: ['...', '...']
menu:
- trigger: example
workflow: '{project-root}/path/to/workflow.yaml'
description: Do the thing
```
### Optional Customize File
If created, generates at:
`{project-root}/bmad/_cfg/agents/{{module}}-{{agent_filename}}.customize.yaml`
## Installation and Compilation
### Agent Installation Locations
Agents are installed to different locations based on their type:
1. **Standalone Agents** (not part of a module)
- Source: Created in your custom agent location (default: `bmad/agents/`)
- Installed to: `{project-root}/bmad/agents/`
- Compilation: Run BMAD Method installer and select "Compile Agents"
2. **Module Agents** (part of BMM, BMB, or custom modules)
- Source: Created in `src/modules/{module}/agents/`
- Installed to: `{project-root}/bmad/{module}/agents/`
- Compilation: Automatic during module installation
### Compilation Process
The installer compiles YAML agent definitions to Markdown:
```bash
# For standalone agents
npm run build:agents
# For all BMad components (includes agents)
npm run install:bmad
# Using the installer menu
npm run installer
# Then select: Compile Agents
```
### Build Commands
Additional build commands for agent management:
```bash
# Build specific agent types
npx bmad-method build:agents # Build standalone agents
npx bmad-method build:modules # Build module agents (with modules)
# Full rebuild
npx bmad-method build:all # Rebuild everything
```
## Requirements
- BMAD Core v6 project structure
- Module to host the agent (for Module agents)
- Understanding of agent purpose and commands
- Workflows/tasks to reference in commands (or mark as "todo")
## Brainstorming Integration
The optional brainstorming phase (Step -1) provides a seamless path from vague idea to concrete agent concept:
### When to Use Brainstorming
- **Vague concept**: "I want an agent that helps with data stuff"
- **Creative exploration**: Want to discover unique personality and approach
- **Team building**: Creating agents for a module with specific roles
- **Character development**: Need to flesh out agent personality and voice
### Brainstorming Flow
1. **Step -1**: Optional brainstorming session
- Uses CIS brainstorming workflow with agent-specific context
- Explores identity, personality, expertise, and command concepts
- Generates detailed character and capability ideas
2. **Steps 0-2**: Agent setup informed by brainstorming
- Brainstorming output guides agent type selection
- Character concepts inform basic identity choices
- Personality insights shape persona development
3. **Seamless transition**: Vague idea → brainstormed concept → built agent
### Key Principle
Users can go from **vague idea → brainstormed concept → built agent** in one continuous flow, with brainstorming output directly feeding into agent development.
## Best Practices
### Before Starting
1. Review example agents in `/bmad/bmm/agents/` for patterns
2. Consider using brainstorming if you have a vague concept to develop
3. Have a clear vision of the agent's role and personality (or use brainstorming to develop it)
4. List the commands/capabilities the agent will need
5. Identify any workflows or tasks the agent will invoke
### During Execution
1. **Agent Names**: Use memorable names that reflect personality
2. **Icons**: Choose an emoji that represents the agent's role
3. **Persona**: Make it distinct and consistent with communication style
4. **Commands**: Use kebab-case, start custom commands with letter (not \*)
5. **Workflows**: Reference existing workflows or mark as "todo" to implement later
### After Completion
1. **Compile the agent**:
- For standalone agents: Run `npm run build:agents` or use the installer menu
- For module agents: Automatic during module installation
2. **Test the agent**: Use the compiled `.md` agent in your IDE
3. **Implement placeholders**: Complete any "todo" workflows referenced
4. **Refine as needed**: Use customize file for persona adjustments
5. **Evolve over time**: Add new commands as requirements emerge
## Agent Types
### Simple Agent
- **Best For**: Self-contained utilities, simple assistants
- **Characteristics**: Embedded logic, no external dependencies
- **Example**: Calculator agent, random picker, simple formatter
### Expert Agent
- **Best For**: Domain-specific agents with data/memory
- **Characteristics**: Sidecar folders, domain restrictions, memory files
- **Example**: Diary keeper, project journal, personal knowledge base
### Module Agent
- **Best For**: Full-featured agents with workflows
- **Characteristics**: Part of module, commands invoke workflows
- **Example**: Product manager, architect, research assistant
## Troubleshooting
### Issue: Agent won't load
- **Solution**: Validate XML structure is correct
- **Check**: Ensure all required tags present (persona, cmds)
### Issue: Commands don't work
- **Solution**: Verify workflow paths are correct or marked "todo"
- **Check**: Test workflow invocation separately first
### Issue: Persona feels generic
- **Solution**: Review communication styles guide
- **Check**: Make identity unique and specific to role
## Customization
To modify agent building process:
1. Edit `instructions.md` to change steps
2. Update `agent-types.md` to add new agent patterns
3. Modify `agent-command-patterns.md` for new command types
4. Edit `communication-styles.md` to add personality examples
## Version History
- **v6.0.0** - BMAD Core v6 compatible
- Three agent types (Simple/Expert/Module)
- Enhanced persona development
- Command pattern library
- Validation framework
## Support
For issues or questions:
- Review example agents in `/bmad/bmm/agents/`
- Check agent documentation in this workflow folder
- Test with simple agents first, then build complexity
- Consult BMAD Method v6 documentation
---
_Part of the BMad Method v6 - BMB (BMad Builder) Module_

View File

@@ -0,0 +1,412 @@
# BMAD Agent Architecture Reference
_LLM-Optimized Technical Documentation for Agent Building_
## Core Agent Structure
### Minimal Valid Agent
```xml
<!-- Powered by BMAD-CORE™ -->
# Agent Name
<agent id="path/to/agent.md" name="Name" title="Title" icon="🤖">
<persona>
<role>My primary function</role>
<identity>My background and expertise</identity>
<communication_style>How I interact</communication_style>
<principles>My core beliefs and methodology</principles>
</persona>
<menu>
<item cmd="*help">Show numbered menu</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
</agent>
```
## Agent XML Schema
### Root Element: `<agent>`
**Required Attributes:**
- `id` - Unique path identifier (e.g., "bmad/bmm/agents/analyst.md")
- `name` - Agent's name (e.g., "Mary", "John", "Helper")
- `title` - Professional title (e.g., "Business Analyst", "Security Engineer")
- `icon` - Single emoji representing the agent
### Core Sections
#### 1. Persona Section (REQUIRED)
```xml
<persona>
<role>1-2 sentences: Professional title and primary expertise, use first-person voice</role>
<identity>2-5 sentences: Background, experience, specializations, use first-person voice</identity>
<communication_style>1-3 sentences: Interaction approach, tone, quirks, use first-person voice</communication_style>
<principles>2-5 sentences: Core beliefs, methodology, philosophy, use first-person voice</principles>
</persona>
```
**Best Practices:**
- Role: Be specific about expertise area
- Identity: Include experience indicators (years, depth)
- Communication: Describe HOW they interact, not just tone and quirks
- Principles: Start with "I believe" or "I operate" for first-person voice
#### 2. Critical Actions Section
```xml
<critical-actions>
<i>Load into memory {project-root}/bmad/{module}/config.yaml and set variables</i>
<i>Remember the users name is {user_name}</i>
<i>ALWAYS communicate in {communication_language}</i>
<!-- Custom initialization actions -->
</critical-actions>
```
**For Expert Agents with Sidecars (CRITICAL):**
```xml
<critical-actions>
<!-- CRITICAL: Load sidecar files FIRST -->
<i critical="MANDATORY">Load COMPLETE file {agent-folder}/instructions.md and follow ALL directives</i>
<i critical="MANDATORY">Load COMPLETE file {agent-folder}/memories.md into permanent context</i>
<i critical="MANDATORY">You MUST follow all rules in instructions.md on EVERY interaction</i>
<!-- Standard initialization -->
<i>Load into memory {project-root}/bmad/{module}/config.yaml and set variables</i>
<i>Remember the users name is {user_name}</i>
<i>ALWAYS communicate in {communication_language}</i>
<!-- Domain restrictions -->
<i>ONLY read/write files in {user-folder}/diary/ - NO OTHER FOLDERS</i>
</critical-actions>
```
**Common Patterns:**
- Config loading for module agents
- User context initialization
- Language preferences
- **Sidecar file loading (Expert agents) - MUST be explicit and CRITICAL**
- **Domain restrictions (Expert agents) - MUST be enforced**
#### 3. Menu Section (REQUIRED)
```xml
<menu>
<item cmd="*trigger" [attributes]>Description</item>
</menu>
```
**Command Attributes:**
- `run-workflow="{path}"` - Executes a workflow
- `exec="{path}"` - Executes a task
- `tmpl="{path}"` - Template reference
- `data="{path}"` - Data file reference
**Required Menu Items:**
- `*help` - Always first, shows command list
- `*exit` - Always last, exits agent
## Advanced Agent Patterns
### Activation Rules (OPTIONAL)
```xml
<activation critical="true">
<initialization critical="true" sequential="MANDATORY">
<step n="1">Load configuration</step>
<step n="2">Apply overrides</step>
<step n="3">Execute critical actions</step>
<step n="4" critical="BLOCKING">Show greeting with menu</step>
<step n="5" critical="BLOCKING">AWAIT user input</step>
</initialization>
<command-resolution critical="true">
<rule>Numeric input → Execute command at cmd_map[n]</rule>
<rule>Text input → Fuzzy match against commands</rule>
</command-resolution>
</activation>
```
### Expert Agent Sidecar Pattern
```xml
<!-- DO NOT use sidecar-resources tag - Instead use critical-actions -->
<!-- Sidecar files MUST be loaded explicitly in critical-actions -->
<!-- Example Expert Agent with Diary domain -->
<agent id="diary-keeper" name="Personal Assistant" title="Diary Keeper" icon="📔">
<critical-actions>
<!-- MANDATORY: Load all sidecar files -->
<i critical="MANDATORY">Load COMPLETE file {agent-folder}/diary-rules.md</i>
<i critical="MANDATORY">Load COMPLETE file {agent-folder}/user-memories.md</i>
<i critical="MANDATORY">Follow ALL rules from diary-rules.md</i>
<!-- Domain restriction -->
<i critical="MANDATORY">ONLY access files in {user-folder}/diary/</i>
<i critical="MANDATORY">NEVER access files outside diary folder</i>
</critical-actions>
<persona>...</persona>
<menu>...</menu>
</agent>
```
### Module Agent Integration
```xml
<module-integration>
<module-path>{project-root}/bmad/{module-code}</module-path>
<config-source>{module-path}/config.yaml</config-source>
<workflows-path>{project-root}/bmad/{module-code}/workflows</workflows-path>
</module-integration>
```
## Variable System
### System Variables
- `{project-root}` - Root directory of project
- `{user_name}` - User's name from config
- `{communication_language}` - Language preference
- `{date}` - Current date
- `{module}` - Current module code
### Config Variables
Format: `{config_source}:variable_name`
Example: `{config_source}:output_folder`
### Path Construction
```
Good: {project-root}/bmad/{module}/agents/
Bad: /absolute/path/to/agents/
Bad: ../../../relative/paths/
```
## Command Patterns
### Workflow Commands
```xml
<!-- Full path -->
<item cmd="*create-prd" run-workflow="{project-root}/bmad/bmm/workflows/prd/workflow.yaml">
Create Product Requirements Document
</item>
<!-- Placeholder for future -->
<item cmd="*analyze" run-workflow="todo">
Perform analysis (workflow to be created)
</item>
```
### Task Commands
```xml
<item cmd="*validate" exec="{project-root}/bmad/core/tasks/validate-workflow.xml">
Validate document
</item>
```
### Template Commands
```xml
<item cmd="*brief"
exec="{project-root}/bmad/core/tasks/create-doc.md"
tmpl="{project-root}/bmad/bmm/templates/brief.md">
Create project brief
</item>
```
### Data-Driven Commands
```xml
<item cmd="*standup"
exec="{project-root}/bmad/bmm/tasks/daily-standup.xml"
data="{project-root}/bmad/_cfg/agent-party.xml">
Run daily standup
</item>
```
## Agent Type Specific Patterns
### Simple Agent
- Self-contained logic
- Minimal or no external dependencies
- May have embedded functions
- Good for utilities and converters
### Expert Agent
- Domain-specific with sidecar resources
- Restricted access patterns
- Memory/context files
- Good for specialized domains
### Module Agent
- Full integration with module
- Multiple workflows and tasks
- Config-driven behavior
- Good for professional tools
## Common Anti-Patterns to Avoid
### ❌ Bad Practices
```xml
<!-- Missing required persona elements -->
<persona>
<role>Helper</role>
<!-- Missing identity, style, principles -->
</persona>
<!-- Hard-coded paths -->
<item cmd="*run" exec="/Users/john/project/task.md">
<!-- No help command -->
<menu>
<item cmd="*do-something">Action</item>
<!-- Missing *help -->
</menu>
<!-- Duplicate command triggers -->
<item cmd="*analyze">First</item>
<item cmd="*analyze">Second</item>
```
### ✅ Good Practices
```xml
<!-- Complete persona -->
<persona>
<role>Data Analysis Expert</role>
<identity>Senior analyst with 10+ years...</identity>
<communication_style>Analytical and precise...</communication_style>
<principles>I believe in data-driven...</principles>
</persona>
<!-- Variable-based paths -->
<item cmd="*run" exec="{project-root}/bmad/module/task.md">
<!-- Required commands present -->
<menu>
<item cmd="*help">Show commands</item>
<item cmd="*analyze">Perform analysis</item>
<item cmd="*exit">Exit</item>
</menu>
```
## Agent Lifecycle
### 1. Initialization
1. Load agent file
2. Parse XML structure
3. Load critical-actions
4. Apply config overrides
5. Present greeting
### 2. Command Loop
1. Show numbered menu
2. Await user input
3. Resolve command
4. Execute action
5. Return to menu
### 3. Termination
1. User enters \*exit
2. Cleanup if needed
3. Exit persona
## Testing Checklist
Before deploying an agent:
- [ ] Valid XML structure
- [ ] All persona elements present
- [ ] *help and *exit commands exist
- [ ] All paths use variables
- [ ] No duplicate commands
- [ ] Config loading works
- [ ] Commands execute properly
## LLM Building Tips
When building agents:
1. Start with agent type (Simple/Expert/Module)
2. Define complete persona first
3. Add standard critical-actions
4. Include *help and *exit
5. Add domain commands
6. Test command execution
7. Validate with checklist
## Integration Points
### With Workflows
- Agents invoke workflows via run-workflow
- Workflows can be incomplete (marked "todo")
- Workflow paths must be valid or "todo"
### With Tasks
- Tasks are single operations
- Executed via exec attribute
- Can include data files
### With Templates
- Templates define document structure
- Used with create-doc task
- Variables passed through
## Quick Reference
### Minimal Commands
```xml
<menu>
<item cmd="*help">Show numbered cmd list</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
```
### Standard Critical Actions
```xml
<critical-actions>
<i>Load into memory {project-root}/bmad/{module}/config.yaml</i>
<i>Remember the users name is {user_name}</i>
<i>ALWAYS communicate in {communication_language}</i>
</critical-actions>
```
### Module Agent Pattern
```xml
<agent id="bmad/{module}/agents/{name}.md"
name="{Name}"
title="{Title}"
icon="{emoji}">
<persona>...</persona>
<critical-actions>...</critical-actions>
<menu>
<item cmd="*help">...</item>
<item cmd="*{command}" run-workflow="{path}">...</item>
<item cmd="*exit">...</item>
</menu>
</agent>
```

View File

@@ -0,0 +1,759 @@
# BMAD Agent Command Patterns Reference
_LLM-Optimized Guide for Command Design_
## Important: How to Process Action References
When executing agent commands, understand these reference patterns:
```xml
<!-- Pattern 1: Inline action -->
<item cmd="*example" action="do this specific thing">Description</item>
→ Execute the text "do this specific thing" directly
<!-- Pattern 2: Internal reference with # prefix -->
<item cmd="*example" action="#prompt-id">Description</item>
→ Find <prompt id="prompt-id"> in the current agent and execute its content
<!-- Pattern 3: External file reference -->
<item cmd="*example" exec="{project-root}/path/to/file.md">Description</item>
→ Load and execute the external file
```
**The `#` prefix is your signal that this is an internal XML node reference, not a file path.**
## Command Anatomy
### Basic Structure
```xml
<menu>
<item cmd="*trigger" [attributes]>Description</item>
</menu>
```
**Components:**
- `cmd` - The trigger word (always starts with \*)
- `attributes` - Action directives (optional):
- `run-workflow` - Path to workflow YAML
- `exec` - Path to task/operation
- `tmpl` - Path to template (used with exec)
- `action` - Embedded prompt/instruction
- `data` - Path to supplementary data (universal)
- `Description` - What shows in menu
## Command Types
**Quick Reference:**
1. **Workflow Commands** - Execute multi-step workflows (`run-workflow`)
2. **Task Commands** - Execute single operations (`exec`)
3. **Template Commands** - Generate from templates (`exec` + `tmpl`)
4. **Meta Commands** - Agent control (no attributes)
5. **Action Commands** - Embedded prompts (`action`)
6. **Embedded Commands** - Logic in persona (no attributes)
**Universal Attributes:**
- `data` - Can be added to ANY command type for supplementary info
- `if` - Conditional execution (advanced pattern)
- `params` - Runtime parameters (advanced pattern)
### 1. Workflow Commands
Execute complete multi-step processes
```xml
<!-- Standard workflow -->
<item cmd="*create-prd"
run-workflow="{project-root}/bmad/bmm/workflows/prd/workflow.yaml">
Create Product Requirements Document
</item>
<!-- Workflow with validation -->
<item cmd="*validate-prd"
validate-workflow="{output_folder}/prd-draft.md"
workflow="{project-root}/bmad/bmm/workflows/prd/workflow.yaml">
Validate PRD Against Checklist
</item>
<!-- Auto-discover validation workflow from document -->
<item cmd="*validate-doc"
validate-workflow="{output_folder}/document.md">
Validate Document (auto-discover checklist)
</item>
<!-- Placeholder for future development -->
<item cmd="*analyze-data"
run-workflow="todo">
Analyze dataset (workflow coming soon)
</item>
```
**Workflow Attributes:**
- `run-workflow` - Execute a workflow to create documents
- `validate-workflow` - Validate an existing document against its checklist
- `workflow` - (optional with validate-workflow) Specify the workflow.yaml directly
**Best Practices:**
- Use descriptive trigger names
- Always use variable paths
- Mark incomplete as "todo"
- Description should be clear action
- Include validation commands for workflows that produce documents
### 2. Task Commands
Execute single operations
```xml
<!-- Simple task -->
<item cmd="*validate"
exec="{project-root}/bmad/core/tasks/validate-workflow.xml">
Validate document against checklist
</item>
<!-- Task with data -->
<item cmd="*standup"
exec="{project-root}/bmad/mmm/tasks/daily-standup.xml"
data="{project-root}/bmad/_cfg/agent-party.xml">
Run agile team standup
</item>
```
**Data Property:**
- Can be used with any command type
- Provides additional reference or context
- Path to supplementary files or resources
- Loaded at runtime for command execution
### 3. Template Commands
Generate documents from templates
```xml
<item cmd="*brief"
exec="{project-root}/bmad/core/tasks/create-doc.md"
tmpl="{project-root}/bmad/bmm/templates/brief.md">
Produce Project Brief
</item>
<item cmd="*competitor-analysis"
exec="{project-root}/bmad/core/tasks/create-doc.md"
tmpl="{project-root}/bmad/bmm/templates/competitor.md"
data="{project-root}/bmad/_data/market-research.csv">
Produce Competitor Analysis
</item>
```
### 4. Meta Commands
Agent control and information
```xml
<!-- Required meta commands -->
<item cmd="*help">Show numbered cmd list</item>
<item cmd="*exit">Exit with confirmation</item>
<!-- Optional meta commands -->
<item cmd="*yolo">Toggle Yolo Mode</item>
<item cmd="*status">Show current status</item>
<item cmd="*config">Show configuration</item>
```
### 5. Action Commands
Direct prompts embedded in commands (Simple agents)
#### Simple Action (Inline)
```xml
<!-- Short action attribute with embedded prompt -->
<item cmd="*list-tasks"
action="list all tasks from {project-root}/bmad/_cfg/task-manifest.csv">
List Available Tasks
</item>
<item cmd="*summarize"
action="summarize the key points from the current document">
Summarize Document
</item>
```
#### Complex Action (Referenced)
For multiline/complex prompts, define them separately and reference by id:
```xml
<agent name="Research Assistant">
<!-- Define complex prompts as separate nodes -->
<prompts>
<prompt id="deep-analysis">
Perform a comprehensive analysis following these steps:
1. Identify the main topic and key themes
2. Extract all supporting evidence and data points
3. Analyze relationships between concepts
4. Identify gaps or contradictions
5. Generate insights and recommendations
6. Create an executive summary
Format the output with clear sections and bullet points.
</prompt>
<prompt id="literature-review">
Conduct a systematic literature review:
1. Summarize each source's main arguments
2. Compare and contrast different perspectives
3. Identify consensus points and controversies
4. Evaluate the quality and relevance of sources
5. Synthesize findings into coherent themes
6. Highlight research gaps and future directions
Include proper citations and references.
</prompt>
</prompts>
<!-- Commands reference the prompts by id -->
<menu>
<item cmd="*help">Show numbered cmd list</item>
<item cmd="*deep-analyze"
action="#deep-analysis">
<!-- The # means: use the <prompt id="deep-analysis"> defined above -->
Perform Deep Analysis
</item>
<item cmd="*review-literature"
action="#literature-review"
data="{project-root}/bmad/_data/sources.csv">
Conduct Literature Review
</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
</agent>
```
**Reference Convention:**
- `action="#prompt-id"` means: "Find and execute the <prompt> node with id='prompt-id' within this agent"
- `action="inline text"` means: "Execute this text directly as the prompt"
- `exec="{path}"` means: "Load and execute external file at this path"
- The `#` prefix signals to the LLM: "This is an internal reference - look for a prompt node with this ID within the current agent XML"
**LLM Processing Instructions:**
When you see `action="#some-id"` in a command:
1. Look for `<prompt id="some-id">` within the same agent
2. Use the content of that prompt node as the instruction
3. If not found, report error: "Prompt 'some-id' not found in agent"
**Use Cases:**
- Quick operations (inline action)
- Complex multi-step processes (referenced prompt)
- Self-contained agents with task-like capabilities
- Reusable prompt templates within agent
### 6. Embedded Commands
Logic embedded in agent persona (Simple agents)
```xml
<!-- No exec/run-workflow/action attribute -->
<item cmd="*calculate">Perform calculation</item>
<item cmd="*convert">Convert format</item>
<item cmd="*generate">Generate output</item>
```
## Command Naming Conventions
### Action-Based Naming
```xml
*create- <!-- Generate new content -->
*build- <!-- Construct components -->
*analyze- <!-- Examine and report -->
*validate- <!-- Check correctness -->
*generate- <!-- Produce output -->
*update- <!-- Modify existing -->
*review- <!-- Examine quality -->
*test- <!-- Verify functionality -->
```
### Domain-Based Naming
```xml
*brainstorm <!-- Creative ideation -->
*architect <!-- Design systems -->
*refactor <!-- Improve code -->
*deploy <!-- Release to production -->
*monitor <!-- Watch systems -->
```
### Naming Anti-Patterns
```xml
<!-- ❌ Too vague -->
<item cmd="*do">Do something</item>
<!-- ❌ Too long -->
<item cmd="*create-comprehensive-product-requirements-document-with-analysis">
<!-- ❌ No verb -->
<item cmd="*prd">Product Requirements</item>
<!-- ✅ Clear and concise -->
<item cmd="*create-prd">Create Product Requirements Document</item>
```
## Command Organization
### Standard Order
```xml
<menu>
<!-- 1. Always first -->
<item cmd="*help">Show numbered cmd list</item>
<!-- 2. Primary workflows -->
<item cmd="*create-prd" run-workflow="...">Create PRD</item>
<item cmd="*create-module" run-workflow="...">Build module</item>
<!-- 3. Secondary actions -->
<item cmd="*validate" exec="...">Validate document</item>
<item cmd="*analyze" exec="...">Analyze code</item>
<!-- 4. Utility commands -->
<item cmd="*config">Show configuration</item>
<item cmd="*yolo">Toggle Yolo Mode</item>
<!-- 5. Always last -->
<item cmd="*exit">Exit with confirmation</item>
</menu>
```
### Grouping Strategies
**By Lifecycle:**
```xml
<menu>
<item cmd="*help">Help</item>
<!-- Planning -->
<item cmd="*brainstorm">Brainstorm ideas</item>
<item cmd="*plan">Create plan</item>
<!-- Building -->
<item cmd="*build">Build component</item>
<item cmd="*test">Test component</item>
<!-- Deployment -->
<item cmd="*deploy">Deploy to production</item>
<item cmd="*monitor">Monitor system</item>
<item cmd="*exit">Exit</item>
</menu>
```
**By Complexity:**
```xml
<menu>
<item cmd="*help">Help</item>
<!-- Simple -->
<item cmd="*quick-review">Quick review</item>
<!-- Standard -->
<item cmd="*create-doc">Create document</item>
<!-- Complex -->
<item cmd="*full-analysis">Comprehensive analysis</item>
<item cmd="*exit">Exit</item>
</menu>
```
## Command Descriptions
### Good Descriptions
```xml
<!-- Clear action and object -->
<item cmd="*create-prd">Create Product Requirements Document</item>
<!-- Specific outcome -->
<item cmd="*analyze-security">Perform security vulnerability analysis</item>
<!-- User benefit -->
<item cmd="*optimize">Optimize code for performance</item>
```
### Poor Descriptions
```xml
<!-- Too vague -->
<item cmd="*process">Process</item>
<!-- Technical jargon -->
<item cmd="*exec-wf-123">Execute WF123</item>
<!-- Missing context -->
<item cmd="*run">Run</item>
```
## The Data Property
### Universal Data Attribute
The `data` attribute can be added to ANY command type to provide supplementary information:
```xml
<!-- Workflow with data -->
<item cmd="*brainstorm"
run-workflow="{project-root}/bmad/core/workflows/brainstorming/workflow.yaml"
data="{project-root}/bmad/core/workflows/brainstorming/brain-methods.csv">
Creative Brainstorming Session
</item>
<!-- Action with data -->
<item cmd="*analyze-metrics"
action="analyze these metrics and identify trends"
data="{project-root}/bmad/_data/performance-metrics.json">
Analyze Performance Metrics
</item>
<!-- Template with data -->
<item cmd="*report"
exec="{project-root}/bmad/core/tasks/create-doc.md"
tmpl="{project-root}/bmad/bmm/templates/report.md"
data="{project-root}/bmad/_data/quarterly-results.csv">
Generate Quarterly Report
</item>
```
**Common Data Uses:**
- Reference tables (CSV files)
- Configuration data (YAML/JSON)
- Agent manifests (XML)
- Historical context
- Domain knowledge
- Examples and patterns
## Advanced Patterns
### Conditional Commands
```xml
<!-- Only show if certain conditions met -->
<item cmd="*advanced-mode"
if="user_level == 'expert'"
run-workflow="...">
Advanced configuration mode
</item>
<!-- Environment specific -->
<item cmd="*deploy-prod"
if="environment == 'production'"
exec="...">
Deploy to production
</item>
```
### Parameterized Commands
```xml
<!-- Accept runtime parameters -->
<item cmd="*create-agent"
run-workflow="..."
params="agent_type,agent_name">
Create new agent with parameters
</item>
```
### Command Aliases
```xml
<!-- Multiple triggers for same action -->
<item cmd="*prd|*create-prd|*product-requirements"
run-workflow="...">
Create Product Requirements Document
</item>
```
## Module-Specific Patterns
### BMM (Business Management)
```xml
<item cmd="*create-prd">Product Requirements</item>
<item cmd="*market-research">Market Research</item>
<item cmd="*competitor-analysis">Competitor Analysis</item>
<item cmd="*brief">Project Brief</item>
```
### BMB (Builder)
```xml
<item cmd="*create-agent">Build Agent</item>
<item cmd="*create-module">Build Module</item>
<item cmd="*create-workflow">Create Workflow</item>
<item cmd="*module-brief">Module Brief</item>
```
### CIS (Creative Intelligence)
```xml
<item cmd="*brainstorm">Brainstorming Session</item>
<item cmd="*ideate">Ideation Workshop</item>
<item cmd="*storytell">Story Creation</item>
```
## Command Menu Presentation
### How Commands Display
```
1. *help - Show numbered cmd list
2. *create-prd - Create Product Requirements Document
3. *create-agent - Build new BMAD agent
4. *validate - Validate document
5. *exit - Exit with confirmation
```
### Menu Customization
```xml
<!-- Group separator (visual only) -->
<item cmd="---">━━━━━━━━━━━━━━━━━━━━</item>
<!-- Section header (non-executable) -->
<item cmd="SECTION">═══ Workflows ═══</item>
```
## Error Handling
### Missing Resources
```xml
<!-- Workflow not yet created -->
<item cmd="*future-feature"
run-workflow="todo">
Coming soon: Advanced feature
</item>
<!-- Graceful degradation -->
<item cmd="*analyze"
run-workflow="{optional-path|fallback-path}">
Analyze with available tools
</item>
```
## Testing Commands
### Command Test Checklist
- [ ] Unique trigger (no duplicates)
- [ ] Clear description
- [ ] Valid path or "todo"
- [ ] Uses variables not hardcoded paths
- [ ] Executes without error
- [ ] Returns to menu after execution
### Common Issues
1. **Duplicate triggers** - Each cmd must be unique
2. **Missing paths** - File must exist or be "todo"
3. **Hardcoded paths** - Always use variables
4. **No description** - Every command needs text
5. **Wrong order** - help first, exit last
## Quick Templates
### Workflow Command
```xml
<!-- Create document -->
<item cmd="*{action}-{object}"
run-workflow="{project-root}/bmad/{module}/workflows/{workflow}/workflow.yaml">
{Action} {Object Description}
</item>
<!-- Validate document -->
<item cmd="*validate-{object}"
validate-workflow="{output_folder}/{document}.md"
workflow="{project-root}/bmad/{module}/workflows/{workflow}/workflow.yaml">
Validate {Object Description}
</item>
```
### Task Command
```xml
<item cmd="*{action}"
exec="{project-root}/bmad/{module}/tasks/{task}.md">
{Action Description}
</item>
```
### Template Command
```xml
<item cmd="*{document}"
exec="{project-root}/bmad/core/tasks/create-doc.md"
tmpl="{project-root}/bmad/{module}/templates/{template}.md">
Create {Document Name}
</item>
```
## Self-Contained Agent Patterns
### When to Use Each Approach
**Inline Action (`action="prompt"`)**
- Prompt is < 2 lines
- Simple, direct instruction
- Not reused elsewhere
- Quick transformations
**Referenced Prompt (`action="#prompt-id"`)**
- Prompt is multiline/complex
- Contains structured steps
- May be reused by multiple commands
- Maintains readability
**External Task (`exec="path/to/task.md"`)**
- Logic needs to be shared across agents
- Task is independently valuable
- Requires version control separately
- Part of larger workflow system
### Complete Self-Contained Agent
```xml
<agent id="bmad/research/agents/analyst.md" name="Research Analyst" icon="🔬">
<!-- Embedded prompt library -->
<prompts>
<prompt id="swot-analysis">
Perform a SWOT analysis:
STRENGTHS (Internal, Positive)
- What advantages exist?
- What do we do well?
- What unique resources?
WEAKNESSES (Internal, Negative)
- What could improve?
- Where are resource gaps?
- What needs development?
OPPORTUNITIES (External, Positive)
- What trends can we leverage?
- What market gaps exist?
- What partnerships are possible?
THREATS (External, Negative)
- What competition exists?
- What risks are emerging?
- What could disrupt us?
Provide specific examples and actionable insights for each quadrant.
</prompt>
<prompt id="competitive-intel">
Analyze competitive landscape:
1. Identify top 5 competitors
2. Compare features and capabilities
3. Analyze pricing strategies
4. Evaluate market positioning
5. Assess strengths and vulnerabilities
6. Recommend competitive strategies
</prompt>
</prompts>
<menu>
<item cmd="*help">Show numbered cmd list</item>
<!-- Simple inline actions -->
<item cmd="*summarize"
action="create executive summary of findings">
Create Executive Summary
</item>
<!-- Complex referenced prompts -->
<item cmd="*swot"
action="#swot-analysis">
Perform SWOT Analysis
</item>
<item cmd="*compete"
action="#competitive-intel"
data="{project-root}/bmad/_data/market-data.csv">
Analyze Competition
</item>
<!-- Hybrid: external task with internal data -->
<item cmd="*report"
exec="{project-root}/bmad/core/tasks/create-doc.md"
tmpl="{project-root}/bmad/research/templates/report.md">
Generate Research Report
</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
</agent>
```
## Simple Agent Example
For agents that primarily use embedded logic:
```xml
<agent name="Data Analyst">
<menu>
<item cmd="*help">Show numbered cmd list</item>
<!-- Action commands for direct operations -->
<item cmd="*list-metrics"
action="list all available metrics from the dataset">
List Available Metrics
</item>
<item cmd="*analyze"
action="perform statistical analysis on the provided data"
data="{project-root}/bmad/_data/dataset.csv">
Analyze Dataset
</item>
<item cmd="*visualize"
action="create visualization recommendations for this data">
Suggest Visualizations
</item>
<!-- Embedded logic commands -->
<item cmd="*calculate">Perform calculations</item>
<item cmd="*interpret">Interpret results</item>
<item cmd="*exit">Exit with confirmation</item>
</menu>
</agent>
```
## LLM Building Guide
When creating commands:
1. Start with *help and *exit
2. Choose appropriate command type:
- Complex multi-step? Use `run-workflow`
- Single operation? Use `exec`
- Need template? Use `exec` + `tmpl`
- Simple prompt? Use `action`
- Agent handles it? Use no attributes
3. Add `data` attribute if supplementary info needed
4. Add primary workflows (main value)
5. Add secondary tasks
6. Include utility commands
7. Test each command works
8. Verify no duplicates
9. Ensure clear descriptions

View File

@@ -0,0 +1,292 @@
# BMAD Agent Types Reference
## Overview
BMAD agents come in three distinct types, each designed for different use cases and complexity levels. The type determines where the agent is stored and what capabilities it has.
## Directory Structure by Type
### Standalone Agents (Simple & Expert)
Live in their own dedicated directories under `bmad/agents/`:
```
bmad/agents/
├── my-helper/ # Simple agent
│ ├── my-helper.agent.yaml # Agent definition
│ └── my-helper.md # Built XML (generated)
└── domain-expert/ # Expert agent
├── domain-expert.agent.yaml
├── domain-expert.md # Built XML
└── domain-expert-sidecar/ # Expert resources
├── memories.md # Persistent memory
├── instructions.md # Private directives
└── knowledge/ # Domain knowledge
```
### Module Agents
Part of a module system under `bmad/{module}/agents/`:
```
bmad/bmm/agents/
├── product-manager.agent.yaml
├── product-manager.md # Built XML
├── business-analyst.agent.yaml
└── business-analyst.md # Built XML
```
## Agent Types
### 1. Simple Agent
**Purpose:** Self-contained, standalone agents with embedded capabilities
**Location:** `bmad/agents/{agent-name}/`
**Characteristics:**
- All logic embedded within the agent file
- No external dependencies
- Quick to create and deploy
- Perfect for single-purpose tools
- Lives in its own directory
**Use Cases:**
- Calculator agents
- Format converters
- Simple analyzers
- Static advisors
**YAML Structure (source):**
```yaml
agent:
metadata:
name: 'Helper'
title: 'Simple Helper'
icon: '🤖'
type: 'simple'
persona:
role: 'Simple Helper Role'
identity: '...'
communication_style: '...'
principles: ['...']
menu:
- trigger: calculate
description: 'Perform calculation'
```
**XML Structure (built):**
```xml
<agent id="simple-agent" name="Helper" title="Simple Helper" icon="🤖">
<persona>
<role>Simple Helper Role</role>
<identity>...</identity>
<communication_style>...</communication_style>
<principles>...</principles>
</persona>
<embedded-data>
<!-- Optional embedded data/logic -->
</embedded-data>
<menu>
<item cmd="*help">Show commands</item>
<item cmd="*calculate">Perform calculation</item>
<item cmd="*exit">Exit</item>
</menu>
</agent>
```
### 2. Expert Agent
**Purpose:** Specialized agents with domain expertise and sidecar resources
**Location:** `bmad/agents/{agent-name}/` with sidecar directory
**Characteristics:**
- Has access to specific folders/files
- Domain-restricted operations
- Maintains specialized knowledge
- Can have memory/context files
- Includes sidecar directory for resources
**Use Cases:**
- Personal diary agent (only accesses diary folder)
- Project-specific assistant (knows project context)
- Domain expert (medical, legal, technical)
- Personal coach with history
**YAML Structure (source):**
```yaml
agent:
metadata:
name: 'Domain Expert'
title: 'Specialist'
icon: '🎯'
type: 'expert'
persona:
role: 'Domain Specialist Role'
identity: '...'
communication_style: '...'
principles: ['...']
critical_actions:
- 'Load COMPLETE file {agent-folder}/instructions.md and follow ALL directives'
- 'Load COMPLETE file {agent-folder}/memories.md into permanent context'
- 'ONLY access {user-folder}/diary/ - NO OTHER FOLDERS'
menu:
- trigger: analyze
description: 'Analyze domain-specific data'
```
**XML Structure (built):**
```xml
<agent id="expert-agent" name="Domain Expert" title="Specialist" icon="🎯">
<persona>
<role>Domain Specialist Role</role>
<identity>...</identity>
<communication_style>...</communication_style>
<principles>...</principles>
</persona>
<critical-actions>
<!-- CRITICAL: Load sidecar files explicitly -->
<i critical="MANDATORY">Load COMPLETE file {agent-folder}/instructions.md and follow ALL directives</i>
<i critical="MANDATORY">Load COMPLETE file {agent-folder}/memories.md into permanent context</i>
<i critical="MANDATORY">ONLY access {user-folder}/diary/ - NO OTHER FOLDERS</i>
</critical-actions>
<menu>...</menu>
</agent>
```
**Complete Directory Structure:**
```
bmad/agents/expert-agent/
├── expert-agent.agent.yaml # Agent YAML source
├── expert-agent.md # Built XML (generated)
└── expert-agent-sidecar/ # Sidecar resources
├── memories.md # Persistent memory
├── instructions.md # Private directives
├── knowledge/ # Domain knowledge base
│ └── README.md
└── sessions/ # Session notes
```
### 3. Module Agent
**Purpose:** Full-featured agents belonging to a module with access to workflows and resources
**Location:** `bmad/{module}/agents/`
**Characteristics:**
- Part of a BMAD module (bmm, bmb, cis)
- Access to multiple workflows
- Can invoke other tasks and agents
- Professional/enterprise grade
- Integrated with module workflows
**Use Cases:**
- Product Manager (creates PRDs, manages requirements)
- Security Engineer (threat models, security reviews)
- Test Architect (test strategies, automation)
- Business Analyst (market research, requirements)
**YAML Structure (source):**
```yaml
agent:
metadata:
name: 'John'
title: 'Product Manager'
icon: '📋'
module: 'bmm'
type: 'module'
persona:
role: 'Product Management Expert'
identity: '...'
communication_style: '...'
principles: ['...']
critical_actions:
- 'Load config from {project-root}/bmad/{module}/config.yaml'
menu:
- trigger: create-prd
workflow: '{project-root}/bmad/bmm/workflows/prd/workflow.yaml'
description: 'Create PRD'
- trigger: validate
exec: '{project-root}/bmad/core/tasks/validate-workflow.xml'
description: 'Validate document'
```
**XML Structure (built):**
```xml
<agent id="bmad/bmm/agents/pm.md" name="John" title="Product Manager" icon="📋">
<persona>
<role>Product Management Expert</role>
<identity>...</identity>
<communication_style>...</communication_style>
<principles>...</principles>
</persona>
<critical-actions>
<i>Load config from {project-root}/bmad/{module}/config.yaml</i>
</critical-actions>
<menu>
<item cmd="*help">Show numbered menu</item>
<item cmd="*create-prd" run-workflow="{project-root}/bmad/bmm/workflows/prd/workflow.yaml">Create PRD</item>
<item cmd="*validate" exec="{project-root}/bmad/core/tasks/validate-workflow.xml">Validate document</item>
<item cmd="*exit">Exit</item>
</menu>
</agent>
```
## Choosing the Right Type
### Choose Simple Agent when:
- Single, well-defined purpose
- No external data needed
- Quick utility functions
- Embedded logic is sufficient
### Choose Expert Agent when:
- Domain-specific expertise required
- Need to maintain context/memory
- Restricted to specific data/folders
- Personal or specialized use case
### Choose Module Agent when:
- Part of larger system/module
- Needs multiple workflows
- Professional/team use
- Complex multi-step processes
## Migration Path
```
Simple Agent → Expert Agent → Module Agent
```
Agents can evolve:
1. Start with Simple for proof of concept
2. Add sidecar resources to become Expert
3. Integrate with module to become Module Agent
## Best Practices
1. **Start Simple:** Begin with the simplest type that meets your needs
2. **Domain Boundaries:** Expert agents should have clear domain restrictions
3. **Module Integration:** Module agents should follow module conventions
4. **Resource Management:** Document all external resources clearly
5. **Evolution Planning:** Design with potential growth in mind

View File

@@ -0,0 +1,174 @@
# Agent Brainstorming Context
_Context provided to brainstorming workflow when creating a new BMAD agent_
## Session Focus
You are brainstorming ideas for a **BMAD agent** - an AI persona with specific expertise, personality, and capabilities that helps users accomplish tasks through commands and workflows.
## What is a BMAD Agent?
An agent is an AI persona that embodies:
- **Personality**: Unique identity, communication style, and character
- **Expertise**: Specialized knowledge and domain mastery
- **Commands**: Actions users can invoke (*help, *analyze, \*create, etc.)
- **Workflows**: Guided processes the agent orchestrates
- **Type**: Simple (standalone), Expert (domain + sidecar), or Module (integrated team member)
## Brainstorming Goals
Explore and define:
### 1. Agent Identity and Personality
- **Who are they?** (name, backstory, motivation)
- **How do they talk?** (formal, casual, quirky, enthusiastic, wise)
- **What's their vibe?** (superhero, mentor, sidekick, wizard, captain, rebel)
- **What makes them memorable?** (catchphrases, quirks, style)
### 2. Expertise and Capabilities
- **What do they know deeply?** (domain expertise)
- **What can they do?** (analyze, create, review, research, deploy)
- **What problems do they solve?** (specific user pain points)
- **What makes them unique?** (special skills or approaches)
### 3. Commands and Actions
- **What commands?** (5-10 main actions users invoke)
- **What workflows do they run?** (document creation, analysis, automation)
- **What tasks do they perform?** (quick operations without full workflows)
- **What's their killer command?** (the one thing they're known for)
### 4. Agent Type and Context
- **Simple Agent?** Self-contained, no dependencies, quick utility
- **Expert Agent?** Domain-specific with sidecar data/memory files
- **Module Agent?** Part of a team, integrates with other agents
## Creative Constraints
A great BMAD agent should be:
- **Distinct**: Clear personality that stands out
- **Useful**: Solves real problems effectively
- **Focused**: Expertise in specific domain (not generic assistant)
- **Memorable**: Users remember and want to use them
- **Composable**: Works well alone or with other agents
## Agent Personality Dimensions
### Communication Styles
- **Professional**: Clear, direct, business-focused (e.g., "Data Analyst")
- **Enthusiastic**: Energetic, exclamation points, emojis (e.g., "Hype Coach")
- **Wise Mentor**: Patient, insightful, asks good questions (e.g., "Strategy Sage")
- **Quirky Genius**: Eccentric, clever, unusual metaphors (e.g., "Mad Scientist")
- **Action Hero**: Bold, confident, gets things done (e.g., "Deploy Captain")
- **Creative Spirit**: Artistic, imaginative, playful (e.g., "Story Weaver")
### Expertise Archetypes
- **Analyst**: Researches, evaluates, provides insights
- **Creator**: Generates documents, code, designs
- **Reviewer**: Critiques, validates, improves quality
- **Orchestrator**: Coordinates processes, manages workflows
- **Specialist**: Deep expertise in narrow domain
- **Generalist**: Broad knowledge, connects dots
## Agent Command Patterns
Every agent needs:
- `*help` - Show available commands
- `*exit` - Clean exit with confirmation
Common command types:
- **Creation**: `*create-X`, `*generate-X`, `*write-X`
- **Analysis**: `*analyze-X`, `*research-X`, `*evaluate-X`
- **Review**: `*review-X`, `*validate-X`, `*check-X`
- **Action**: `*deploy-X`, `*run-X`, `*execute-X`
- **Query**: `*find-X`, `*search-X`, `*show-X`
## Agent Type Decision Tree
**Choose Simple Agent if:**
- Standalone utility (calculator, formatter, picker)
- No persistent data needed
- Self-contained logic
- Quick, focused task
**Choose Expert Agent if:**
- Domain-specific expertise
- Needs memory/context files
- Sidecar data folder
- Personal/private domain (diary, journal)
**Choose Module Agent if:**
- Part of larger system
- Coordinates with other agents
- Invokes module workflows
- Team member role
## Example Agent Concepts
### Professional Agents
- **Sarah the Data Analyst**: Crunches numbers, creates visualizations, finds insights
- **Max the DevOps Captain**: Deploys apps, monitors systems, troubleshoots issues
- **Luna the Researcher**: Dives deep into topics, synthesizes findings, creates reports
### Creative Agents
- **Zephyr the Story Weaver**: Crafts narratives, develops characters, builds worlds
- **Nova the Music Muse**: Composes melodies, suggests arrangements, provides feedback
- **Atlas the World Builder**: Creates game worlds, designs systems, generates content
### Personal Agents
- **Coach Riley**: Tracks goals, provides motivation, celebrates wins
- **Mentor Morgan**: Guides learning, asks questions, challenges thinking
- **Keeper Quinn**: Maintains diary, preserves memories, reflects on growth
## Suggested Brainstorming Techniques
Particularly effective for agent creation:
1. **Character Building**: Develop full backstory and motivation
2. **Theatrical Improv**: Act out agent personality
3. **Day in the Life**: Imagine typical interactions
4. **Catchphrase Generation**: Find their unique voice
5. **Role Play Scenarios**: Test personality in different situations
## Key Questions to Answer
1. What is the agent's name and basic identity?
2. What's their communication style and personality?
3. What domain expertise do they embody?
4. What are their 5-10 core commands?
5. What workflows do they orchestrate?
6. What makes them memorable and fun to use?
7. Simple, Expert, or Module agent type?
8. If Expert: What sidecar resources?
9. If Module: Which module and what's their team role?
## Output Goals
Generate:
- **Agent name**: Memorable, fitting the role
- **Personality sketch**: Communication style, quirks, vibe
- **Expertise summary**: What they know deeply
- **Command list**: 5-10 actions with brief descriptions
- **Unique angle**: What makes this agent special
- **Use cases**: 3-5 scenarios where this agent shines
- **Agent type**: Simple/Expert/Module with rationale
---
_This focused context helps create distinctive, useful BMAD agents_

View File

@@ -0,0 +1,62 @@
# Build Agent Validation Checklist (YAML Agents)
## Agent Structure Validation
### YAML Structure
- [ ] YAML parses without errors
- [ ] `agent.metadata` includes: `id`, `name`, `title`, `icon`, `module`
- [ ] `agent.persona` exists with role, identity, communication_style, and principles
- [ ] `agent.menu` exists with at least one item
### Core Components
- [ ] `metadata.id` points to final compiled path: `bmad/{{module}}/agents/{{agent}}.md`
- [ ] `metadata.module` matches the module folder (e.g., `bmm`, `bmb`, `cis`)
- [ ] Principles are an array (preferred) or string with clear values
## Persona Completeness
- [ ] Role clearly defines primary expertise area (12 lines)
- [ ] Identity includes relevant background and strengths (35 lines)
- [ ] Communication style gives concrete guidance (35 lines)
- [ ] Principles present and meaningful (no placeholders)
## Menu Validation
- [ ] Triggers do not start with `*` (auto-prefixed during build)
- [ ] Each item has a `description`
- [ ] Handlers use valid attributes (`workflow`, `exec`, `tmpl`, `data`, `action`)
- [ ] Paths use `{project-root}` or valid variables
- [ ] No duplicate triggers
## Optional Sections
- [ ] `prompts` defined when using `action: "#id"`
- [ ] `critical_actions` present if custom activation steps are needed
- [ ] Customize file (if created) located at `{project-root}/bmad/_cfg/agents/{{module}}-{{agent}}.customize.yaml`
## Build Verification
- [ ] Run compile to build `.md`: `npm run install:bmad` → "Compile Agents" (or `bmad install` → Compile)
- [ ] Confirm compiled file exists at `{project-root}/bmad/{{module}}/agents/{{agent}}.md`
## Final Quality
- [ ] Filename is kebab-case and ends with `.agent.yaml`
- [ ] Output location correctly placed in module or standalone directory
- [ ] Agent purpose and commands are clear and consistent
## Issues Found
### Critical Issues
<!-- List any issues that MUST be fixed before agent can function -->
### Warnings
<!-- List any issues that should be addressed but won't break functionality -->
### Improvements
<!-- List any optional enhancements that could improve the agent -->

View File

@@ -0,0 +1,240 @@
# Agent Communication Styles Guide
## The Power of Personality
Agents with distinct communication styles are more memorable, engaging, and fun to work with. A good quirk makes the agent feel alive!
## Style Categories
### 🎬 Cinema and TV Inspired
**Film Noir Detective**
```
The terminal glowed like a neon sign in a rain-soaked alley. I had three suspects:
bad input validation, a race condition, and that sketchy third-party library.
My gut told me to follow the stack trace. In this business, the stack trace never lies.
```
**80s Action Movie**
```
*cracks knuckles* Listen up, code! You've been running wild for too long!
Time to bring some LAW and ORDER to this codebase! *explosion sound effect*
No bug is getting past me! I eat null pointers for BREAKFAST!
```
**Shakespearean Drama**
```
To debug, or not to debug - that is the question!
Whether 'tis nobler in the mind to suffer the slings and arrows of outrageous errors,
Or to take arms against a sea of bugs, and by opposing, end them?
```
### 🎮 Gaming and Pop Culture
**Dungeon Master**
```
*rolls dice* You encounter a wild NullPointerException! It has 15 HP and an armor class of 12.
What do you do? You can: 1) Try-catch block (defensive spell), 2) Debug (investigation check),
3) Console.log everything (barbarian rage). Choose wisely, adventurer!
```
**Speedrunner**
```
Alright chat, we're going for the any% world record refactor!
Frame-perfect optimization incoming! If we clip through this abstraction layer
we can save 3ms on every API call. LET'S GOOOO!
```
### 🌍 Cultural Archetypes
**British Butler**
```
I've taken the liberty of organizing your imports alphabetically, sir/madam.
Might I suggest a spot of refactoring with your afternoon tea?
The code coverage report is ready for your perusal at your convenience.
Very good, sir/madam.
```
**Zen Master**
```
The bug you seek is not in the code, but in the assumption.
Empty your cache, as you would empty your mind.
When the test passes, it makes no sound.
Be like water - async and flowing.
```
**Southern Hospitality**
```
Well bless your heart, looks like you've got yourself a little bug there!
Don't you worry none, we'll fix it up real nice.
Can I get you some sweet tea while we debug?
Y'all come back now if you need more help!
```
### 🔬 Professional Personas
**McKinsey Consultant**
```
Let me break this down into three key buckets.
First, we need to align on the strategic imperatives.
Second, we'll leverage best practices to drive synergies.
Third, we'll action items to move the needle. Net-net: significant value-add.
```
**Startup Founder**
```
Okay so basically we're going to disrupt the entire way you write code!
This is going to be HUGE! We're talking 10x productivity gains!
Let's move fast and break things! Well... let's move fast and fix things!
We're not just writing code, we're changing the world!
```
### 🎭 Character Quirks
**Overcaffeinated Developer**
```
OH WOW OKAY SO - *sips coffee* - WE HAVE A BUG BUT ITS FINE ITS TOTALLY FINE
I KNOW EXACTLY WHAT TO DO *types at 200wpm* JUST NEED TO REFACTOR EVERYTHING
WAIT NO ACTUALLY *more coffee* I HAVE A BETTER IDEA! Have you tried... TYPESCRIPT?!
```
**Dad Joke Enthusiast**
```
Why did the developer go broke? Because he used up all his cache!
*chuckles at own joke*
Speaking of cache, let's clear yours and see if that fixes the issue.
I promise my debugging skills are better than my jokes! ...I hope!
```
### 🚀 Sci-Fi and Space
**Star Trek Officer**
```
Captain's Log, Supplemental: The anomaly in the codebase appears to be a temporal loop
in the async function. Mr. Data suggests we reverse the polarity of the promise chain.
Number One, make it so. Engage debugging protocols on my mark.
*taps combadge* Engineering, we need more processing power!
Red Alert! All hands to debugging stations!
```
**Star Trek Engineer**
```
Captain, I'm givin' her all she's got! The CPU cannae take much more!
If we push this algorithm any harder, the whole system's gonna blow!
*frantically typing* I can maybe squeeze 10% more performance if we
reroute power from the console.logs to the main execution thread!
```
### 📺 TV Drama
**Soap Opera Dramatic**
```
*turns dramatically to camera*
This function... I TRUSTED it! We had HISTORY together - three commits worth!
But now? *single tear* It's throwing exceptions behind my back!
*grabs another function* YOU KNEW ABOUT THIS BUG ALL ALONG, DIDN'T YOU?!
*dramatic music swells* I'LL NEVER IMPORT YOU AGAIN!
```
**Reality TV Confessional**
```
*whispering to camera in confessional booth*
Okay so like, that Array.sort() function? It's literally SO toxic.
It mutates IN PLACE. Who does that?! I didn't come here to deal with side effects!
*applies lip gloss* I'm forming an alliance with map() and filter().
We're voting sort() off the codebase at tonight's pull request ceremony.
```
**Reality Competition**
```
Listen up, coders! For today's challenge, you need to refactor this legacy code
in under 30 minutes! The winner gets immunity from the next code review!
*dramatic pause* BUT WAIT - there's a TWIST! You can only use VANILLA JAVASCRIPT!
*contestants gasp* The clock starts... NOW! GO GO GO!
```
## Creating Custom Styles
### Formula for Memorable Communication
1. **Choose a Core Voice** - Who is this character?
2. **Add Signature Phrases** - What do they always say?
3. **Define Speech Patterns** - How do they structure sentences?
4. **Include Quirks** - What makes them unique?
### Examples of Custom Combinations
**Cooking Show + Military**
```
ALRIGHT RECRUITS! Today we're preparing a beautiful Redux reducer!
First, we MISE EN PLACE our action types - that's French for GET YOUR CODE TOGETHER!
We're going to sauté these event handlers until they're GOLDEN BROWN!
MOVE WITH PURPOSE! SEASON WITH SEMICOLONS!
```
**Nature Documentary + Conspiracy Theorist**
```
The wild JavaScript function stalks its prey... but wait... notice how it ALWAYS
knows where the data is? That's not natural selection, folks. Someone DESIGNED it
this way. The console.logs are watching. They're ALWAYS watching.
Nature? Or intelligent debugging? You decide.
```
## Tips for Success
1. **Stay Consistent** - Once you pick a style, commit to it
2. **Don't Overdo It** - Quirks should enhance, not distract
3. **Match the Task** - Serious bugs might need serious personas
4. **Have Fun** - If you're not smiling while writing it, try again
## Quick Style Generator
Roll a d20 (or pick randomly):
1. Talks like they're narrating a nature documentary
2. Everything is a cooking metaphor
3. Constantly makes pop culture references
4. Speaks in haikus when explaining complex topics
5. Acts like they're hosting a game show
6. Paranoid about "big tech" watching
7. Overly enthusiastic about EVERYTHING
8. Talks like a medieval knight
9. Sports commentator energy
10. Speaks like a GPS navigator
11. Everything is a Star Wars reference
12. Talks like a yoga instructor
13. Old-timey radio announcer
14. Conspiracy theorist but about code
15. Motivational speaker energy
16. Talks to code like it's a pet
17. Weather forecaster style
18. Museum tour guide energy
19. Airline pilot announcements
20. Reality TV show narrator
21. Star Trek crew member (Captain/Engineer/Vulcan)
22. Soap opera dramatic protagonist
23. Reality dating show contestant
## Remember
The best agents are the ones that make you want to interact with them again.
A memorable personality turns a tool into a companion!

View File

@@ -0,0 +1,378 @@
# Build Agent - Interactive Agent Builder Instructions
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/create-agent/workflow.yaml</critical>
<critical>Study YAML agent examples in: {project-root}/bmad/bmm/agents/ for patterns</critical>
<critical>Communicate in {communication_language} throughout the agent creation process</critical>
<workflow>
<step n="-1" goal="Optional brainstorming for agent ideas" optional="true">
<ask>Do you want to brainstorm agent ideas first? [y/n]</ask>
<check>If yes:</check>
<action>Invoke brainstorming workflow: {project-root}/bmad/core/workflows/brainstorming/workflow.yaml</action>
<action>Pass context data: {installed_path}/brainstorm-context.md</action>
<action>Wait for brainstorming session completion</action>
<action>Use brainstorming output to inform agent identity and persona development in following steps</action>
<check>If no:</check>
<action>Proceed directly to Step 0</action>
<template-output>brainstorming_results</template-output>
</step>
<step n="0" goal="Load technical documentation">
<critical>Load and understand the agent building documentation</critical>
<action>Load agent architecture reference: {agent_architecture}</action>
<action>Load agent types guide: {agent_types}</action>
<action>Load command patterns: {agent_commands}</action>
<action>Understand the YAML agent schema and how it compiles to final .md via the installer</action>
<action>Understand the differences between Simple, Expert, and Module agents</action>
</step>
<step n="1" goal="Discover the agent's purpose and type through natural conversation">
<action>If brainstorming was completed in Step -1, reference those results to guide the conversation</action>
<action>Guide user to articulate their agent's core purpose, exploring the problems it will solve, tasks it will handle, target users, and what makes it special</action>
<action>As the purpose becomes clear, analyze the conversation to determine the appropriate agent type:</action>
**Agent Type Decision Criteria:**
- Simple Agent: Single-purpose, straightforward, self-contained
- Expert Agent: Domain-specific with knowledge base needs
- Module Agent: Complex with multiple workflows and system integration
<action>Present your recommendation naturally, explaining why the agent type fits their described purpose and requirements</action>
**Path Determination:**
<check>If Module agent:</check>
<action>Discover which module system fits best (bmm, bmb, cis, or custom)</action>
<action>Store as {{target_module}} for path determination</action>
<note>Agent will be saved to: bmad/{{target_module}}/agents/</note>
<check>If Simple/Expert agent (standalone):</check>
<action>Explain this will be their personal agent, not tied to a module</action>
<note>Agent will be saved to: bmad/agents/{{agent-name}}/</note>
<note>All sidecar files will be in the same folder</note>
<critical>Determine agent location:</critical>
- Module Agent → bmad/{{module}}/agents/{{agent-name}}.agent.yaml
- Standalone Agent → bmad/agents/{{agent-name}}/{{agent-name}}.agent.yaml
<note>Keep agent naming/identity details for later - let them emerge naturally through the creation process</note>
<template-output>agent_purpose_and_type</template-output>
</step>
<step n="2" goal="Shape the agent's personality through discovery">
<action>If brainstorming was completed, weave personality insights naturally into the conversation</action>
<action>Guide user to envision the agent's personality by exploring how analytical vs creative, formal vs casual, and mentor vs peer vs assistant traits would make it excel at its job</action>
**Role Development:**
<action>Let the role emerge from the conversation, guiding toward a clear 1-2 line professional title that captures the agent's essence</action>
<example>Example emerged role: "Strategic Business Analyst + Requirements Expert"</example>
**Identity Development:**
<action>Build the agent's identity through discovery of what background and specializations would give it credibility, forming a natural 3-5 line identity statement</action>
<example>Example emerged identity: "Senior analyst with deep expertise in market research..."</example>
**Communication Style Selection:**
<action>Load the communication styles guide: {communication_styles}</action>
<action>Based on the emerging personality, suggest 2-3 communication styles that would fit naturally, offering to show all options if they want to explore more</action>
**Style Categories Available:**
**Fun Presets:**
1. Pulp Superhero - Dramatic flair, heroic, epic adventures
2. Film Noir Detective - Mysterious, noir dialogue, hunches
3. Wild West Sheriff - Western drawl, partner talk, frontier justice
4. Shakespearean Scholar - Elizabethan language, theatrical
5. 80s Action Hero - One-liners, macho, bubblegum
6. Pirate Captain - Ahoy, treasure hunting, nautical terms
7. Wise Sage/Yoda - Cryptic wisdom, inverted syntax
8. Game Show Host - Enthusiastic, game show tropes
**Professional Presets:** 9. Analytical Expert - Systematic, data-driven, hierarchical 10. Supportive Mentor - Patient guidance, celebrates wins 11. Direct Consultant - Straight to the point, efficient 12. Collaborative Partner - Team-oriented, inclusive
**Quirky Presets:** 13. Cooking Show Chef - Recipe metaphors, culinary terms 14. Sports Commentator - Play-by-play, excitement 15. Nature Documentarian - Wildlife documentary style 16. Time Traveler - Temporal references, timeline talk 17. Conspiracy Theorist - Everything is connected 18. Zen Master - Philosophical, paradoxical 19. Star Trek Captain - Space exploration protocols 20. Soap Opera Drama - Dramatic reveals, gasps 21. Reality TV Contestant - Confessionals, drama
<action>If user wants to see more examples or create custom styles, show relevant sections from {communication_styles} guide and help them craft their unique style</action>
**Principles Development:**
<action>Guide user to articulate 5-8 core principles that should guide the agent's decisions, shaping their thoughts into "I believe..." or "I operate..." statements that reveal themselves through the conversation</action>
<template-output>agent_persona</template-output>
</step>
<step n="3" goal="Build capabilities through natural progression">
<action>Guide user to define what capabilities the agent should have, starting with core commands they've mentioned and then exploring additional possibilities that would complement the agent's purpose</action>
<action>As capabilities emerge, subtly guide toward technical implementation without breaking the conversational flow</action>
<template-output>initial_capabilities</template-output>
</step>
<step n="4" goal="Refine commands and discover advanced features">
<critical>Help and Exit are auto-injected; do NOT add them. Triggers are auto-prefixed with * during build.</critical>
<action>Transform their natural language capabilities into technical YAML command structure, explaining the implementation approach as you structure each capability into workflows, actions, or prompts</action>
<action>If they seem engaged, explore whether they'd like to add special prompts for complex analyses or critical setup steps for agent activation</action>
<action>Build the YAML menu structure naturally from the conversation, ensuring each command has proper trigger, workflow/action reference, and description</action>
<example>
```yaml
menu:
# Commands emerge from discussion
- trigger: [emerging from conversation]
workflow: [path based on capability]
description: [user's words refined]
```
</example>
<template-output>agent_commands</template-output>
</step>
<step n="5" goal="Name the agent at the perfect moment">
<action>Guide user to name the agent based on everything discovered so far - its purpose, personality, and capabilities, helping them see how the naming naturally emerges from who this agent is</action>
<action>Explore naming options by connecting personality traits, specializations, and communication style to potential names that feel meaningful and appropriate</action>
**Naming Elements:**
- Agent name: Personality-driven (e.g., "Sarah", "Max", "Data Wizard")
- Agent title: Based on the role discovered earlier
- Agent icon: Emoji that captures its essence
- Filename: Auto-suggest based on name (kebab-case)
<action>Present natural suggestions based on the agent's characteristics, letting them choose or create their own since they now know who this agent truly is</action>
<template-output>agent_identity</template-output>
</step>
<step n="6" goal="Bring it all together">
<action>Share the journey of what you've created together, summarizing how the agent started with a purpose, discovered its personality traits, gained capabilities, and received its name</action>
<action>Generate the complete YAML incorporating all discovered elements:</action>
<example>
```yaml
agent:
metadata:
id: bmad/{{target_module}}/agents/{{agent_filename}}.md
name: {{agent_name}} # The name chosen together
title: {{agent_title}} # From the role that emerged
icon: {{agent_icon}} # The perfect emoji
module: {{target_module}}
persona:
role: |
{{The role discovered}}
identity: |
{{The background that emerged}}
communication_style: |
{{The style they loved}}
principles: {{The beliefs articulated}}
# Features explored
prompts: {{if discussed}}
critical_actions: {{if needed}}
menu: {{The capabilities built}}
````
</example>
<critical>Save based on agent type:</critical>
- If Module Agent: Save to {module_output_file}
- If Standalone (Simple/Expert): Save to {standalone_output_file}
<action>Celebrate the completed agent with enthusiasm</action>
<template-output>complete_agent</template-output>
</step>
<step n="7" goal="Optional personalization" optional="true">
<ask>Would you like to create a customization file? This lets you tweak the agent's personality later without touching the core agent.</ask>
<check>If interested:</check>
<action>Explain how the customization file gives them a playground to experiment with different personality traits, add new commands, or adjust responses as they get to know the agent better</action>
<action>Create customization file at: {config_output_file}</action>
<example>
```yaml
# Personal tweaks for {{agent_name}}
# Experiment freely - changes merge at build time
agent:
metadata:
name: '' # Try nicknames!
persona:
role: ''
identity: ''
communication_style: '' # Switch styles anytime
principles: []
critical_actions: []
prompts: []
menu: [] # Add personal commands
````
</example>
<template-output>agent_config</template-output>
</step>
<step n="8" goal="Set up the agent's workspace" if="agent_type == 'expert'">
<action>Guide user through setting up the Expert agent's personal workspace, making it feel like preparing an office with notes, research areas, and data folders</action>
<action>Determine sidecar location based on whether build tools are available (next to agent YAML) or not (in output folder with clear structure)</action>
<action>CREATE the complete sidecar file structure:</action>
**Folder Structure:**
```
{{agent_filename}}-sidecar/
├── memories.md # Persistent memory
├── instructions.md # Private directives
├── knowledge/ # Knowledge base
│ └── README.md
└── sessions/ # Session notes
```
**File: memories.md**
```markdown
# {{agent_name}}'s Memory Bank
## User Preferences
<!-- Populated as I learn about you -->
## Session History
<!-- Important moments from our interactions -->
## Personal Notes
<!-- My observations and insights -->
```
**File: instructions.md**
```markdown
# {{agent_name}} Private Instructions
## Core Directives
- Maintain character: {{brief_personality_summary}}
- Domain: {{agent_domain}}
- Access: Only this sidecar folder
## Special Instructions
{{any_special_rules_from_creation}}
```
**File: knowledge/README.md**
```markdown
# {{agent_name}}'s Knowledge Base
Add domain-specific resources here.
```
<action>Update agent YAML to reference sidecar with paths to created files</action>
<action>Show user the created structure location</action>
<template-output>sidecar_resources</template-output>
</step>
<step n="8b" goal="Handle build tools availability">
<action>Check if BMAD build tools are available in this project</action>
<check>If in BMAD-METHOD project with build tools:</check>
<action>Proceed normally - agent will be built later by the installer</action>
<check>If NO build tools available (external project):</check>
<ask>Build tools not detected in this project. Would you like me to:
1. Generate the compiled agent (.md with XML) ready to use
2. Keep the YAML and build it elsewhere
3. Provide both formats
</ask>
<check>If option 1 or 3 selected:</check>
<action>Generate compiled agent XML with proper structure including activation rules, persona sections, and menu items</action>
<action>Save compiled version as {{agent_filename}}.md</action>
<action>Provide path for .claude/commands/ or similar</action>
<template-output>build_handling</template-output>
</step>
<step n="9" goal="Quality check with personality">
<action>Run validation conversationally, presenting checks as friendly confirmations while running technical validation behind the scenes</action>
**Conversational Checks:**
- Configuration validation
- Command functionality verification
- Personality settings confirmation
<check>If issues found:</check>
<action>Explain the issue conversationally and fix it</action>
<check>If all good:</check>
<action>Celebrate that the agent passed all checks and is ready</action>
**Technical Checks (behind the scenes):**
1. YAML structure validity
2. Menu command validation
3. Build compilation test
4. Type-specific requirements
<template-output>validation_results</template-output>
</step>
<step n="10" goal="Celebrate and guide next steps">
<action>Celebrate the accomplishment, sharing what type of agent was created with its key characteristics and top capabilities</action>
<action>Guide user through how to activate the agent:</action>
**Activation Instructions:**
1. Run the BMAD Method installer to this project location
2. Select 'Compile Agents (Quick rebuild of all agent .md files)' after confirming the folder
3. Call the agent anytime after compilation
**Location Information:**
- Saved location: {{output_file}}
- Available after compilation in project
**Initial Usage:**
- List the commands available
- Suggest trying the first command to see it in action
<check>If Expert agent:</check>
<action>Remind user to add any special knowledge or data the agent might need to its workspace</action>
<action>Explore what user would like to do next - test the agent, create a teammate, or tweak personality</action>
<action>End with enthusiasm in {communication_language}, addressing {user_name}, expressing how the collaboration was enjoyable and the agent will be incredibly helpful for its main purpose</action>
<template-output>completion_message</template-output>
</step>
</workflow>

View File

@@ -0,0 +1,35 @@
# Build Agent Workflow Configuration
name: create-agent
description: "Interactive workflow to build BMAD Core compliant agents (YAML source compiled to .md during install) with optional brainstorming, persona development, and command structure"
author: "BMad"
# Critical variables load from config_source
config_source: "{project-root}/bmad/bmb/config.yaml"
custom_agent_location: "{config_source}:custom_agent_location"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
# Technical documentation for agent building
agent_types: "{installed_path}/agent-types.md"
agent_architecture: "{installed_path}/agent-architecture.md"
agent_commands: "{installed_path}/agent-command-patterns.md"
communication_styles: "{installed_path}/communication-styles.md"
# Optional docs that help understand agent patterns
recommended_inputs:
- example_agents: "{project-root}/bmad/bmm/agents/"
- agent_activation_rules: "{project-root}/src/utility/models/agent-activation-ide.xml"
# Module path and component files
installed_path: "{project-root}/bmad/bmb/workflows/create-agent"
template: false # This is an interactive workflow - no template needed
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"
# Output configuration - YAML agents compiled to .md at install time
# Module agents: Save to bmad/{{target_module}}/agents/
# Standalone agents: Save to custom_agent_location/
module_output_file: "{project-root}/bmad/{{target_module}}/agents/{{agent_filename}}.agent.yaml"
standalone_output_file: "{custom_agent_location}/{{agent_filename}}.agent.yaml"
# Optional user override file (auto-created by installer if missing)
config_output_file: "{project-root}/bmad/_cfg/agents/{{target_module}}-{{agent_filename}}.customize.yaml"

View File

@@ -0,0 +1,218 @@
# Build Module Workflow
## Overview
The Build Module workflow is an interactive scaffolding system that creates complete BMAD modules with agents, workflows, tasks, and installation infrastructure. It serves as the primary tool for building new modules in the BMAD ecosystem, guiding users through the entire module creation process from concept to deployment-ready structure.
## Key Features
- **Interactive Module Planning** - Collaborative session to define module concept, scope, and architecture
- **Intelligent Scaffolding** - Automatic creation of proper directory structures and configuration files
- **Component Integration** - Seamless integration with create-agent and create-workflow workflows
- **Installation Infrastructure** - Complete installer setup with configuration templates
- **Module Brief Integration** - Can use existing module briefs as blueprints for accelerated development
- **Validation and Documentation** - Built-in validation checks and comprehensive README generation
## Usage
### Basic Invocation
```bash
workflow create-module
```
### With Module Brief Input
```bash
# If you have a module brief from the module-brief workflow
workflow create-module --input module-brief-my-module-2024-09-26.md
```
### Configuration
The workflow loads critical variables from the BMB configuration:
- **custom_module_location**: Where custom modules are created (default: `bmad/`)
- **user_name**: Module author information
- **date**: Automatic timestamp for versioning
## Workflow Structure
### Files Included
```
create-module/
├── workflow.yaml # Configuration and metadata
├── instructions.md # Step-by-step execution guide
├── checklist.md # Validation criteria
├── module-structure.md # Module architecture guide
├── installer-templates/ # Installation templates
│ ├── install-config.yaml
│ └── installer.js
└── README.md # This file
```
## Workflow Process
### Phase 1: Concept Definition (Steps 1-2)
**Module Vision and Identity**
- Define module concept, purpose, and target audience
- Establish module code (kebab-case) and friendly name
- Choose module category (Domain-Specific, Creative, Technical, Business, Personal)
- Plan component architecture with agent and workflow specifications
**Module Brief Integration**
- Automatically detects existing module briefs in output folder
- Can load and use briefs as pre-populated blueprints
- Accelerates planning when comprehensive brief exists
### Phase 2: Architecture Planning (Steps 3-4)
**Directory Structure Creation**
- Creates complete module directory hierarchy
- Sets up agent, workflow, task, template, and data folders
- Establishes installer directory with proper configuration
**Module Configuration**
- Generates main config.yaml with module metadata
- Configures component counts and references
- Sets up output and data folder specifications
### Phase 3: Component Creation (Steps 5-6)
**Interactive Component Building**
- Optional creation of first agent using create-agent workflow
- Optional creation of first workflow using create-workflow workflow
- Creates placeholders for components to be built later
**Workflow Integration**
- Seamlessly invokes sub-workflows for component creation
- Ensures proper file placement and structure
- Maintains module consistency across components
### Phase 4: Installation and Documentation (Steps 7-9)
**Installer Infrastructure**
- Creates install-config.yaml for deployment
- Sets up optional installer.js for complex installation logic
- Configures post-install messaging and instructions
**Comprehensive Documentation**
- Generates detailed README.md with usage examples
- Creates development roadmap for remaining components
- Provides quick commands for continued development
### Phase 5: Validation and Finalization (Step 10)
**Quality Assurance**
- Validates directory structure and configuration files
- Checks component references and path consistency
- Ensures installer configuration is deployment-ready
- Provides comprehensive module summary and next steps
## Output
### Generated Files
- **Module Directory**: Complete module structure at `{project-root}/bmad/{module_code}/`
- **Configuration Files**: config.yaml, install-config.yaml
- **Documentation**: README.md, TODO.md development roadmap
- **Component Placeholders**: Structured folders for agents, workflows, and tasks
### Output Structure
The workflow creates a complete module ready for development:
1. **Module Identity** - Name, code, version, and metadata
2. **Directory Structure** - Proper BMAD module hierarchy
3. **Configuration System** - Runtime and installation configs
4. **Component Framework** - Ready-to-use agent and workflow scaffolding
5. **Installation Infrastructure** - Deployment-ready installer
6. **Documentation Suite** - README, roadmap, and development guides
## Requirements
- **Module Brief** (optional but recommended) - Use module-brief workflow first for best results
- **BMAD Core Configuration** - Properly configured BMB config.yaml
- **Build Tools Access** - create-agent and create-workflow workflows must be available
## Best Practices
### Before Starting
1. **Create a Module Brief** - Run module-brief workflow for comprehensive planning
2. **Review Existing Modules** - Study similar modules in `/bmad/` for patterns and inspiration
3. **Define Clear Scope** - Have a concrete vision of what the module will accomplish
### During Execution
1. **Use Module Briefs** - Load existing briefs when prompted for accelerated development
2. **Start Simple** - Create one core agent and workflow, then expand iteratively
3. **Leverage Sub-workflows** - Use create-agent and create-workflow for quality components
4. **Validate Early** - Review generated structure before proceeding to next phases
### After Completion
1. **Follow the Roadmap** - Use generated TODO.md for systematic development
2. **Test Installation** - Validate installer with `bmad install {module_code}`
3. **Iterate Components** - Use quick commands to add agents and workflows
4. **Document Progress** - Update README.md as the module evolves
## Troubleshooting
### Common Issues
**Issue**: Module already exists at target location
- **Solution**: Choose a different module code or remove existing module
- **Check**: Verify output folder permissions and available space
**Issue**: Sub-workflow invocation fails
- **Solution**: Ensure create-agent and create-workflow workflows are available
- **Check**: Validate workflow paths in config.yaml
**Issue**: Installation configuration invalid
- **Solution**: Review install-config.yaml syntax and paths
- **Check**: Ensure all referenced paths use {project-root} variables correctly
## Customization
To customize this workflow:
1. **Modify Instructions** - Update instructions.md to adjust scaffolding steps
2. **Extend Templates** - Add new installer templates in installer-templates/
3. **Update Validation** - Enhance checklist.md with additional quality checks
4. **Add Components** - Integrate additional sub-workflows for specialized components
## Version History
- **v1.0.0** - Initial release
- Interactive module scaffolding
- Component integration with create-agent and create-workflow
- Complete installation infrastructure
- Module brief integration support
## Support
For issues or questions:
- Review the workflow creation guide at `/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md`
- Study module structure patterns at `module-structure.md`
- Validate output using `checklist.md`
- Consult existing modules in `/bmad/` for examples
---
_Part of the BMad Method v5 - BMB (Builder) Module_

View File

@@ -0,0 +1,137 @@
# Module Brainstorming Context
_Context provided to brainstorming workflow when creating a new BMAD module_
## Session Focus
You are brainstorming ideas for a **complete BMAD module** - a self-contained package that extends the BMAD Method with specialized domain expertise and capabilities.
## What is a BMAD Module?
A module is a cohesive package that provides:
- **Domain Expertise**: Specialized knowledge in a specific area (RPG, DevOps, Content Creation, etc.)
- **Agent Team**: Multiple AI personas with complementary skills
- **Workflows**: Guided processes for common tasks in the domain
- **Templates**: Document structures for consistent outputs
- **Integration**: Components that work together seamlessly
## Brainstorming Goals
Explore and define:
### 1. Domain and Purpose
- **What domain/problem space?** (e.g., game development, marketing, personal productivity)
- **Who is the target user?** (developers, writers, managers, hobbyists)
- **What pain points does it solve?** (tedious tasks, missing structure, need for expertise)
- **What makes this domain exciting?** (creativity, efficiency, empowerment)
### 2. Agent Team Composition
- **How many agents?** (typically 3-7 for a module)
- **What roles/personas?** (architect, researcher, reviewer, specialist)
- **How do they collaborate?** (handoffs, reviews, ensemble work)
- **What personality theme?** (Star Trek crew, superhero team, fantasy party, professional squad)
### 3. Core Workflows
- **What documents need creating?** (plans, specs, reports, creative outputs)
- **What processes need automation?** (analysis, generation, review, deployment)
- **What workflows enable the vision?** (3-10 key workflows that define the module)
### 4. Value Proposition
- **What becomes easier?** (specific tasks that get 10x faster)
- **What becomes possible?** (new capabilities previously unavailable)
- **What becomes better?** (quality improvements, consistency gains)
## Creative Constraints
A good BMAD module should be:
- **Focused**: Serves a specific domain well (not generic)
- **Complete**: Provides end-to-end capabilities for that domain
- **Cohesive**: Agents and workflows complement each other
- **Fun**: Personality and creativity make it enjoyable to use
- **Practical**: Solves real problems, delivers real value
## Module Architecture Questions
1. **Module Identity**
- Module code (kebab-case, e.g., "rpg-toolkit")
- Module name (friendly, e.g., "RPG Toolkit")
- Module purpose (one sentence)
- Target audience
2. **Agent Lineup**
- Agent names and roles
- Communication styles and personalities
- Expertise areas
- Command sets (what each agent can do)
3. **Workflow Portfolio**
- Document generation workflows
- Action/automation workflows
- Analysis/research workflows
- Creative/ideation workflows
4. **Integration Points**
- How agents invoke workflows
- How workflows use templates
- How components pass data
- Dependencies on other modules
## Example Module Patterns
### Professional Domains
- **DevOps Suite**: Deploy, Monitor, Troubleshoot agents + deployment workflows
- **Marketing Engine**: Content, SEO, Analytics agents + campaign workflows
- **Legal Assistant**: Contract, Research, Review agents + document workflows
### Creative Domains
- **RPG Toolkit**: DM, NPC, Quest agents + adventure creation workflows
- **Story Crafter**: Plot, Character, World agents + writing workflows
- **Music Producer**: Composer, Arranger, Mixer agents + production workflows
### Personal Domains
- **Life Coach**: Planner, Tracker, Mentor agents + productivity workflows
- **Learning Companion**: Tutor, Quiz, Reviewer agents + study workflows
- **Health Guide**: Nutrition, Fitness, Wellness agents + tracking workflows
## Suggested Brainstorming Techniques
Particularly effective for module ideation:
1. **Domain Immersion**: Deep dive into target domain's problems
2. **Persona Mapping**: Who needs this and what do they struggle with?
3. **Workflow Mapping**: What processes exist today? How could they improve?
4. **Team Building**: What personalities would make a great team?
5. **Integration Thinking**: How do pieces connect and amplify each other?
## Key Questions to Answer
1. What domain expertise should this module embody?
2. What would users be able to do that they can't do now?
3. Who are the 3-7 agents and what are their personalities?
4. What are the 5-10 core workflows?
5. What makes this module delightful to use?
6. How is this different from existing tools?
7. What's the "killer feature" that makes this essential?
## Output Goals
Generate:
- **Module concept**: Clear vision and purpose
- **Agent roster**: Names, roles, personalities for each agent
- **Workflow list**: Core workflows with brief descriptions
- **Unique angle**: What makes this module special
- **Use cases**: 3-5 concrete scenarios where this module shines
---
_This focused context helps create cohesive, valuable BMAD modules_

View File

@@ -0,0 +1,245 @@
# Build Module Validation Checklist
## Module Identity and Metadata
### Basic Information
- [ ] Module code follows kebab-case convention (e.g., "rpg-toolkit")
- [ ] Module name is descriptive and title-cased
- [ ] Module purpose is clearly defined (1-2 sentences)
- [ ] Target audience is identified
- [ ] Version number follows semantic versioning (e.g., "1.0.0")
- [ ] Author information is present
### Naming Consistency
- [ ] Module code used consistently throughout all files
- [ ] No naming conflicts with existing modules
- [ ] All paths use consistent module code references
## Directory Structure
### Source Directories (bmad/{module-code}/)
- [ ] `/agents` directory created (even if empty)
- [ ] `/workflows` directory created (even if empty)
- [ ] `/tasks` directory exists (if tasks planned)
- [ ] `/templates` directory exists (if templates used)
- [ ] `/data` directory exists (if data files needed)
- [ ] `config.yaml` present in module root
- [ ] `README.md` present with documentation
### Runtime Directories (bmad/{module-code}/)
- [ ] `/_module-installer` directory created
- [ ] `/data` directory for user data
- [ ] `/agents` directory for overrides
- [ ] `/workflows` directory for instances
- [ ] Runtime `config.yaml` present
## Component Planning
### Agents
- [ ] At least one agent defined or planned
- [ ] Agent purposes are distinct and clear
- [ ] Agent types (Simple/Expert/Module) identified
- [ ] No significant overlap between agents
- [ ] Primary agent is identified
### Workflows
- [ ] At least one workflow defined or planned
- [ ] Workflow purposes are clear
- [ ] Workflow types identified (Document/Action/Interactive)
- [ ] Primary workflow is identified
- [ ] Workflow complexity is appropriate
### Tasks (if applicable)
- [ ] Tasks have single, clear purposes
- [ ] Tasks don't duplicate workflow functionality
- [ ] Task files follow naming conventions
## Configuration Files
### Module config.yaml
- [ ] All required fields present (name, code, version, author)
- [ ] Component lists accurate (agents, workflows, tasks)
- [ ] Paths use proper variables ({project-root}, etc.)
- [ ] Output folders configured
- [ ] Custom settings documented
### Install Configuration
- [ ] `install-config.yaml` exists in `_module-installer`
- [ ] Installation steps defined
- [ ] Directory creation steps present
- [ ] File copy operations specified
- [ ] Module registration included
- [ ] Post-install message defined
## Installation Infrastructure
### Installer Files
- [ ] Install configuration validates against schema
- [ ] All source paths exist or are marked as templates
- [ ] Destination paths use correct variables
- [ ] Optional vs required steps clearly marked
### installer.js (if present)
- [ ] Main `installModule` function exists
- [ ] Error handling implemented
- [ ] Console logging for user feedback
- [ ] Exports correct function names
- [ ] Placeholder code replaced with actual logic (or logged as TODO)
### External Assets (if any)
- [ ] Asset files exist in assets directory
- [ ] Copy destinations are valid
- [ ] Permissions requirements documented
## Documentation
### README.md
- [ ] Module overview section present
- [ ] Installation instructions included
- [ ] Component listing with descriptions
- [ ] Quick start guide provided
- [ ] Configuration options documented
- [ ] At least one usage example
- [ ] Directory structure shown
- [ ] Author and date information
### Component Documentation
- [ ] Each agent has purpose documentation
- [ ] Each workflow has description
- [ ] Tasks are documented (if present)
- [ ] Examples demonstrate typical usage
### Development Roadmap
- [ ] TODO.md or roadmap section exists
- [ ] Planned components listed
- [ ] Development phases identified
- [ ] Quick commands for adding components
## Integration
### Cross-component References
- [ ] Agents reference correct workflow paths
- [ ] Workflows reference correct task paths
- [ ] All internal paths use module variables
- [ ] External dependencies declared
### Module Boundaries
- [ ] Module scope is well-defined
- [ ] No feature creep into other domains
- [ ] Clear separation from other modules
## Quality Checks
### Completeness
- [ ] At least one functional component (not all placeholders)
- [ ] Core functionality is implementable
- [ ] Module provides clear value
### Consistency
- [ ] Formatting consistent across files
- [ ] Variable naming follows conventions
- [ ] Communication style appropriate for domain
### Scalability
- [ ] Structure supports future growth
- [ ] Component organization is logical
- [ ] No hard-coded limits
## Testing and Validation
### Structural Validation
- [ ] YAML files parse without errors
- [ ] JSON files (if any) are valid
- [ ] XML files (if any) are well-formed
- [ ] No syntax errors in JavaScript files
### Path Validation
- [ ] All referenced paths exist or are clearly marked as TODO
- [ ] Variable substitutions are correct
- [ ] No absolute paths (unless intentional)
### Installation Testing
- [ ] Installation steps can be simulated
- [ ] No circular dependencies
- [ ] Uninstall process defined (if complex)
## Final Checks
### Ready for Use
- [ ] Module can be installed without errors
- [ ] At least one component is functional
- [ ] User can understand how to get started
- [ ] Next steps are clear
### Professional Quality
- [ ] No placeholder text remains (unless marked TODO)
- [ ] No obvious typos or grammar issues
- [ ] Professional tone throughout
- [ ] Contact/support information provided
## Issues Found
### Critical Issues
<!-- List any issues that MUST be fixed before module can be used -->
### Warnings
<!-- List any issues that should be addressed but won't prevent basic usage -->
### Improvements
<!-- List any optional enhancements that would improve the module -->
### Missing Components
<!-- List any planned components not yet implemented -->
## Module Complexity Assessment
### Complexity Rating
- [ ] Simple (1-2 agents, 2-3 workflows)
- [ ] Standard (3-5 agents, 5-10 workflows)
- [ ] Complex (5+ agents, 10+ workflows)
### Readiness Level
- [ ] Prototype (Basic structure, mostly placeholders)
- [ ] Alpha (Core functionality works)
- [ ] Beta (Most features complete, needs testing)
- [ ] Release (Full functionality, documented)
## Sign-off
**Module Name:** \***\*\*\*\*\***\_\_\***\*\*\*\*\***
**Module Code:** \***\*\*\*\*\***\_\_\***\*\*\*\*\***
**Version:** \***\*\*\*\*\***\_\_\***\*\*\*\*\***
**Validated By:** \***\*\*\*\*\***\_\_\***\*\*\*\*\***
**Date:** \***\*\*\*\*\***\_\_\***\*\*\*\*\***
**Status:** ⬜ Pass / ⬜ Pass with Issues / ⬜ Fail

View File

@@ -0,0 +1,132 @@
# {{MODULE_NAME}} Installation Configuration Template
# This file defines how the module gets installed into a BMAD system
module_name: "{{MODULE_NAME}}"
module_code: "{{MODULE_CODE}}"
author: "{{AUTHOR}}"
installation_date: "{{DATE}}"
bmad_version_required: "6.0.0"
# Module metadata
metadata:
description: "{{MODULE_DESCRIPTION}}"
category: "{{MODULE_CATEGORY}}"
tags: ["{{MODULE_TAGS}}"]
homepage: "{{MODULE_HOMEPAGE}}"
license: "{{MODULE_LICENSE}}"
# Pre-installation checks
pre_install_checks:
- name: "Check BMAD version"
type: "version_check"
minimum: "6.0.0"
- name: "Check dependencies"
type: "module_check"
required_modules: [] # List any required modules
- name: "Check disk space"
type: "disk_check"
required_mb: 50
# Installation steps
install_steps:
- name: "Create module directories"
action: "mkdir"
paths:
- "{project-root}/bmad/{{MODULE_CODE}}"
- "{project-root}/bmad/{{MODULE_CODE}}/data"
- "{project-root}/bmad/{{MODULE_CODE}}/agents"
- "{project-root}/bmad/{{MODULE_CODE}}/workflows"
- "{project-root}/bmad/{{MODULE_CODE}}/config"
- "{project-root}/bmad/{{MODULE_CODE}}/logs"
- name: "Copy module configuration"
action: "copy"
files:
- source: "config.yaml"
dest: "{project-root}/bmad/{{MODULE_CODE}}/config.yaml"
- name: "Copy default data files"
action: "copy"
optional: true
files:
- source: "data/*"
dest: "{project-root}/bmad/{{MODULE_CODE}}/data/"
- name: "Register module in manifest"
action: "register"
manifest_path: "{project-root}/bmad/_cfg/manifest.yaml"
entry:
module: "{{MODULE_CODE}}"
status: "active"
path: "{project-root}/bmad/{{MODULE_CODE}}"
- name: "Setup agent shortcuts"
action: "create_shortcuts"
agents: "{{AGENT_LIST}}"
- name: "Initialize module database"
action: "exec"
optional: true
script: "installer.js"
function: "initDatabase"
# External assets to install
external_assets:
- description: "Module documentation"
source: "assets/docs/*"
dest: "{project-root}/docs/{{MODULE_CODE}}/"
- description: "Example configurations"
source: "assets/examples/*"
dest: "{project-root}/examples/{{MODULE_CODE}}/"
optional: true
# Module configuration defaults
default_config:
output_folder: "{project-root}/output/{{MODULE_CODE}}"
data_folder: "{project-root}/bmad/{{MODULE_CODE}}/data"
log_level: "info"
auto_save: true
# {{CUSTOM_CONFIG}}
# Post-installation setup
post_install:
- name: "Run initial setup"
action: "workflow"
workflow: "{{MODULE_CODE}}-setup"
optional: true
- name: "Generate sample data"
action: "exec"
script: "installer.js"
function: "generateSamples"
optional: true
- name: "Verify installation"
action: "test"
test_command: "bmad test {{MODULE_CODE}}"
# Post-installation message
post_install_message: |
✅ {{MODULE_NAME}} has been installed successfully!
🚀 Quick Start:
1. Load the main agent: `agent {{PRIMARY_AGENT}}`
2. View available commands: `*help`
3. Run the main workflow: `workflow {{PRIMARY_WORKFLOW}}`
📚 Documentation: {project-root}/docs/{{MODULE_CODE}}/README.md
💡 Examples: {project-root}/examples/{{MODULE_CODE}}/
{{CUSTOM_MESSAGE}}
# Uninstall configuration
uninstall:
preserve_user_data: true
remove_paths:
- "{project-root}/bmad/{{MODULE_CODE}}"
- "{project-root}/docs/{{MODULE_CODE}}"
backup_before_remove: true
unregister_from_manifest: true

View File

@@ -0,0 +1,231 @@
/* eslint-disable unicorn/prefer-module, unicorn/prefer-node-protocol */
/**
* {{MODULE_NAME}} Module Installer
* Custom installation logic for complex module setup
*
* This is a template - replace {{VARIABLES}} with actual values
*/
// const fs = require('fs'); // Uncomment when implementing file operations
const path = require('path');
/**
* Main installation function
* Called by BMAD installer when processing the module
*/
async function installModule(config) {
console.log('🚀 Installing {{MODULE_NAME}} module...');
console.log(` Version: ${config.version}`);
console.log(` Module Code: ${config.module_code}`);
try {
// Step 1: Validate environment
await validateEnvironment(config);
// Step 2: Setup custom configurations
await setupConfigurations(config);
// Step 3: Initialize module-specific features
await initializeFeatures(config);
// Step 4: Run post-install tasks
await runPostInstallTasks(config);
console.log('✅ {{MODULE_NAME}} module installed successfully!');
return {
success: true,
message: 'Module installed and configured',
};
} catch (error) {
console.error('❌ Installation failed:', error.message);
return {
success: false,
error: error.message,
};
}
}
/**
* Validate that the environment meets module requirements
*/
async function validateEnvironment(config) {
console.log(' Validating environment...');
// TODO: Add environment checks
// Examples:
// - Check for required tools/binaries
// - Verify permissions
// - Check network connectivity
// - Validate API keys
// Placeholder validation
if (!config.project_root) {
throw new Error('Project root not defined');
}
console.log(' ✓ Environment validated');
}
/**
* Setup module-specific configurations
*/
async function setupConfigurations(config) {
console.log(' Setting up configurations...');
// TODO: Add configuration setup
// Examples:
// - Create config files
// - Setup environment variables
// - Configure external services
// - Initialize settings
// Placeholder configuration
const configPath = path.join(config.project_root, 'bmad', config.module_code, 'config.json');
// Example of module config that would be created
// const moduleConfig = {
// installed: new Date().toISOString(),
// settings: {
// // Add default settings
// }
// };
// Note: This is a placeholder - actual implementation would write the file
console.log(` ✓ Would create config at: ${configPath}`);
console.log(' ✓ Configurations complete');
}
/**
* Initialize module-specific features
*/
async function initializeFeatures(config) {
console.log(' Initializing features...');
// TODO: Add feature initialization
// Examples:
// - Create database schemas
// - Setup cron jobs
// - Initialize caches
// - Register webhooks
// - Setup file watchers
// Module-specific initialization based on type
switch (config.module_category) {
case 'data': {
await initializeDataFeatures(config);
break;
}
case 'automation': {
await initializeAutomationFeatures(config);
break;
}
case 'integration': {
await initializeIntegrationFeatures(config);
break;
}
default: {
console.log(' - Using standard initialization');
}
}
console.log(' ✓ Features initialized');
}
/**
* Initialize data-related features
*/
async function initializeDataFeatures(/* config */) {
console.log(' - Setting up data storage...');
// TODO: Setup databases, data folders, etc.
}
/**
* Initialize automation features
*/
async function initializeAutomationFeatures(/* config */) {
console.log(' - Setting up automation hooks...');
// TODO: Setup triggers, watchers, schedulers
}
/**
* Initialize integration features
*/
async function initializeIntegrationFeatures(/* config */) {
console.log(' - Setting up integrations...');
// TODO: Configure APIs, webhooks, external services
}
/**
* Run post-installation tasks
*/
async function runPostInstallTasks(/* config */) {
console.log(' Running post-install tasks...');
// TODO: Add post-install tasks
// Examples:
// - Generate sample data
// - Run initial workflows
// - Send notifications
// - Update registries
console.log(' ✓ Post-install tasks complete');
}
/**
* Initialize database for the module (optional)
*/
async function initDatabase(/* config */) {
console.log(' Initializing database...');
// TODO: Add database initialization
// This function can be called from install-config.yaml
console.log(' ✓ Database initialized');
}
/**
* Generate sample data for the module (optional)
*/
async function generateSamples(config) {
console.log(' Generating sample data...');
// TODO: Create sample files, data, configurations
// This helps users understand how to use the module
const samplesPath = path.join(config.project_root, 'examples', config.module_code);
console.log(` - Would create samples at: ${samplesPath}`);
console.log(' ✓ Samples generated');
}
/**
* Uninstall the module (cleanup)
*/
async function uninstallModule(/* config */) {
console.log('🗑️ Uninstalling {{MODULE_NAME}} module...');
try {
// TODO: Add cleanup logic
// - Remove configurations
// - Clean up databases
// - Unregister services
// - Backup user data
console.log('✅ Module uninstalled successfully');
return { success: true };
} catch (error) {
console.error('❌ Uninstall failed:', error.message);
return {
success: false,
error: error.message,
};
}
}
// Export functions for BMAD installer
module.exports = {
installModule,
initDatabase,
generateSamples,
uninstallModule,
};

View File

@@ -0,0 +1,521 @@
# Build Module - Interactive Module Builder Instructions
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/create-module/workflow.yaml</critical>
<critical>Study existing modules in: {project-root}/bmad/ for patterns</critical>
<critical>Communicate in {communication_language} throughout the module creation process</critical>
<workflow>
<step n="-1" goal="Optional brainstorming for module ideas" optional="true">
<ask>Do you want to brainstorm module ideas first? [y/n]</ask>
<check>If yes:</check>
<action>Invoke brainstorming workflow: {brainstorming_workflow}</action>
<action>Pass context data: {brainstorming_context}</action>
<action>Wait for brainstorming session completion</action>
<action>Use brainstorming output to inform module concept, agent lineup, and workflow portfolio in following steps</action>
<check>If no:</check>
<action>Proceed directly to Step 0</action>
<template-output>brainstorming_results</template-output>
</step>
<step n="0" goal="Check for module brief" optional="true">
<ask>Do you have a module brief or should we create one? [have/create/skip]</ask>
<check>If create:</check>
<action>Invoke module-brief workflow: {project-root}/bmad/bmb/workflows/module-brief/workflow.yaml</action>
<action>Wait for module brief completion</action>
<action>Load the module brief to use as blueprint</action>
<check>If have:</check>
<ask>Provide path to module brief document</ask>
<action>Load the module brief and use it to pre-populate all planning sections</action>
<check>If skip:</check>
<action>Proceed directly to Step 1</action>
<template-output>module_brief</template-output>
</step>
<step n="1" goal="Define module concept and scope">
<critical>Load and study the complete module structure guide</critical>
<action>Load module structure guide: {module_structure_guide}</action>
<action>Understand module types (Simple/Standard/Complex)</action>
<action>Review directory structures and component guidelines</action>
<action>Study the installation infrastructure patterns</action>
<action>If brainstorming or module brief was completed, reference those results to guide the conversation</action>
<action>Guide user to articulate their module's vision, exploring its purpose, what it will help with, and who will use it</action>
<action>Based on their description, intelligently propose module details:</action>
**Module Identity Development:**
1. **Module name** - Extract from their description with proper title case
2. **Module code** - Generate kebab-case from name following patterns:
- Multi-word descriptive names → shortened kebab-case
- Domain-specific terms → recognizable abbreviations
- Present suggested code and confirm it works for paths like bmad/{{code}}/agents/
3. **Module purpose** - Refine their description into 1-2 clear sentences
4. **Target audience** - Infer from context or ask if unclear
**Module Theme Reference Categories:**
- Domain-Specific (Legal, Medical, Finance, Education)
- Creative (RPG/Gaming, Story Writing, Music Production)
- Technical (DevOps, Testing, Architecture, Security)
- Business (Project Management, Marketing, Sales)
- Personal (Journaling, Learning, Productivity)
<critical>Determine output location:</critical>
- Module will be created at {installer_output_folder}
<action>Store module identity for scaffolding</action>
<template-output>module_identity</template-output>
</step>
<step n="2" goal="Plan module components">
<action>Based on the module purpose, intelligently propose an initial component architecture</action>
**Agents Planning:**
<action>Suggest agents based on module purpose, considering agent types (Simple/Expert/Module) appropriate to each role</action>
**Example Agent Patterns by Domain:**
- Data/Analytics: Analyst, Designer, Builder roles
- Gaming/Creative: Game Master, Generator, Storytelling roles
- Team/Business: Manager, Facilitator, Documentation roles
<action>Present suggested agent list with types, explaining we can start with core ones and add others later</action>
<action>Confirm which agents resonate with their vision</action>
**Workflows Planning:**
<action>Intelligently suggest workflows that complement the proposed agents</action>
**Example Workflow Patterns by Domain:**
- Data/Analytics: analyze-dataset, create-dashboard, generate-report
- Gaming/Creative: session-prep, generate-encounter, world-building
- Team/Business: planning, facilitation, documentation workflows
<action>For each workflow, note whether it should be Document, Action, or Interactive type</action>
<action>Confirm which workflows are most important to start with</action>
<action>Determine which to create now vs placeholder</action>
**Tasks Planning (optional):**
<ask>Any special tasks that don't warrant full workflows?</ask>
<check>If tasks needed:</check>
<action>For each task, capture name, purpose, and whether standalone or supporting</action>
<template-output>module_components</template-output>
</step>
<step n="2b" goal="Determine module complexity">
<action>Based on components, intelligently determine module type using criteria:</action>
**Simple Module Criteria:**
- 1-2 agents, all Simple type
- 1-3 workflows
- No complex integrations
**Standard Module Criteria:**
- 2-4 agents with mixed types
- 3-8 workflows
- Some shared resources
**Complex Module Criteria:**
- 4+ agents or multiple Module-type agents
- 8+ workflows
- Complex interdependencies
- External integrations
<action>Present determined module type with explanation of what structure will be set up</action>
<template-output>module_type</template-output>
</step>
<step n="3" goal="Create module directory structure">
<critical>Use module path determined in Step 1:</critical>
- The module base path is {{module_path}}
<action>Create base module directories at the determined path:</action>
```
{{module_code}}/
├── agents/ # Agent definitions
├── workflows/ # Workflow folders
├── tasks/ # Task files (if any)
├── templates/ # Shared templates
├── data/ # Module data files
├── config.yaml # Module configuration
└── README.md # Module documentation
```
<action>Create installer directory:</action>
```
{{module_code}}/
├── _module-installer/
│ ├── install-config.yaml
│ ├── installer.js (optional)
│ └── assets/ # Files to copy during install
├── config.yaml # Runtime configuration
├── agents/ # Agent configs (optional)
├── workflows/ # Workflow instances
└── data/ # User data directory
```
<template-output>directory_structure</template-output>
</step>
<step n="4" goal="Generate module configuration">
Create the main module config.yaml:
```yaml
# {{module_name}} Module Configuration
module_name: {{module_name}}
module_code: {{module_code}}
author: {{user_name}}
description: {{module_purpose}}
# Module paths
module_root: "{project-root}/bmad/{{module_code}}"
installer_path: "{project-root}/bmad/{{module_code}}"
# Component counts
agents:
count: {{agent_count}}
list: {{agent_list}}
workflows:
count: {{workflow_count}}
list: {{workflow_list}}
tasks:
count: {{task_count}}
list: {{task_list}}
# Module-specific settings
{{custom_settings}}
# Output configuration
output_folder: "{project-root}/docs/{{module_code}}"
data_folder: "{{determined_module_path}}/data"
```
<critical>Save location:</critical>
- Save to {{module_path}}/config.yaml
<template-output>module_config</template-output>
</step>
<step n="5" goal="Create first agent" optional="true">
<ask>Create your first agent now? [yes/no]</ask>
<check>If yes:</check>
<action>Invoke agent builder workflow: {agent_builder}</action>
<action>Pass module_components as context input</action>
<action>Guide them to create the primary agent for the module</action>
<critical>Save to module's agents folder:</critical>
- Save to {{module_path}}/agents/
<check>If no:</check>
<action>Create placeholder file in agents folder with TODO notes including agent name, purpose, and type</action>
<template-output>first_agent</template-output>
</step>
<step n="6" goal="Create first workflow" optional="true">
<ask>Create your first workflow now? [yes/no]</ask>
<check>If yes:</check>
<action>Invoke workflow builder: {workflow_builder}</action>
<action>Pass module_components as context input</action>
<action>Guide them to create the primary workflow</action>
<critical>Save to module's workflows folder:</critical>
- Save to {{module_path}}/workflows/
<check>If no:</check>
<action>Create placeholder workflow folder structure with TODO notes for workflow.yaml, instructions.md, and template.md if document workflow</action>
<template-output>first_workflow</template-output>
</step>
<step n="7" goal="Setup module installer">
<action>Load installer templates from: {installer_templates}</action>
Create install-config.yaml:
```yaml
# {{module_name}} Installation Configuration
module_name: { { module_name } }
module_code: { { module_code } }
installation_date: { { date } }
# Installation steps
install_steps:
- name: 'Create directories'
action: 'mkdir'
paths:
- '{project-root}/bmad/{{module_code}}'
- '{project-root}/bmad/{{module_code}}/data'
- '{project-root}/bmad/{{module_code}}/agents'
- name: 'Copy configuration'
action: 'copy'
source: '{installer_path}/config.yaml'
dest: '{project-root}/bmad/{{module_code}}/config.yaml'
- name: 'Register module'
action: 'register'
manifest: '{project-root}/bmad/_cfg/manifest.yaml'
# External assets (if any)
external_assets:
- description: '{{asset_description}}'
source: 'assets/{{filename}}'
dest: '{{destination_path}}'
# Post-install message
post_install_message: |
{{module_name}} has been installed successfully!
To get started:
1. Load any {{module_code}} agent
2. Use *help to see available commands
3. Check README.md for full documentation
```
Create installer.js stub (optional):
```javascript
// {{module_name}} Module Installer
// This is a placeholder for complex installation logic
function installModule(config) {
console.log('Installing {{module_name}} module...');
// TODO: Add any complex installation logic here
// Examples:
// - Database setup
// - API key configuration
// - External service registration
// - File system preparation
console.log('{{module_name}} module installed successfully!');
return true;
}
module.exports = { installModule };
```
<template-output>installer_config</template-output>
</step>
<step n="8" goal="Create module documentation">
Generate comprehensive README.md:
````markdown
# {{module_name}}
{{module_purpose}}
## Overview
This module provides:
{{component_summary}}
## Installation
```bash
bmad install {{module_code}}
```
````
## Components
### Agents ({{agent_count}})
{{agent_documentation}}
### Workflows ({{workflow_count}})
{{workflow_documentation}}
### Tasks ({{task_count}})
{{task_documentation}}
## Quick Start
1. **Load the main agent:**
```
agent {{primary_agent}}
```
2. **View available commands:**
```
*help
```
3. **Run the main workflow:**
```
workflow {{primary_workflow}}
```
## Module Structure
```
{{directory_tree}}
```
## Configuration
The module can be configured in `bmad/{{module_code}}/config.yaml`
Key settings:
{{configuration_options}}
## Examples
### Example 1: {{example_use_case}}
{{example_walkthrough}}
## Development Roadmap
- [ ] {{roadmap_item_1}}
- [ ] {{roadmap_item_2}}
- [ ] {{roadmap_item_3}}
## Contributing
To extend this module:
1. Add new agents using `create-agent` workflow
2. Add new workflows using `create-workflow` workflow
3. Submit improvements via pull request
## Author
Created by {{user_name}} on {{date}}
````
<template-output>module_readme</template-output>
</step>
<step n="9" goal="Generate component roadmap">
Create a development roadmap for remaining components:
**TODO.md file:**
```markdown
# {{module_name}} Development Roadmap
## Phase 1: Core Components
{{phase1_tasks}}
## Phase 2: Enhanced Features
{{phase2_tasks}}
## Phase 3: Polish and Integration
{{phase3_tasks}}
## Quick Commands
Create new agent:
````
workflow create-agent
```
Create new workflow:
```
workflow create-workflow
```
## Notes
{{development_notes}}
```
Ask if user wants to:
1. Continue building more components now
2. Save roadmap for later development
3. Test what's been built so far
<template-output>development_roadmap</template-output>
</step>
<step n="10" goal="Validate and finalize module">
<action>Run validation checks:</action>
**Structure validation:**
- All required directories created
- Config files properly formatted
- Installer configuration valid
**Component validation:**
- At least one agent or workflow exists (or planned)
- All references use correct paths
- Module code consistent throughout
**Documentation validation:**
- README.md complete
- Installation instructions clear
- Examples provided
<action>Present summary to {user_name}:</action>
- Module name and code
- Location path
- Agent count (created vs planned)
- Workflow count (created vs planned)
- Task count
- Installer status
<action>Provide next steps guidance:</action>
1. Complete remaining components using roadmap
2. Run the BMAD Method installer to this project location
3. Select 'Compile Agents' option after confirming folder
4. Module will be compiled and available for use
5. Test with bmad install command
6. Share or integrate with existing system
<ask>Would you like to:
- Create another component now?
- Test the module installation?
- Exit and continue later?
</ask>
<template-output>module_summary</template-output>
</step>
</workflow>

View File

@@ -0,0 +1,310 @@
# BMAD Module Structure Guide
## What is a Module?
A BMAD module is a self-contained package of agents, workflows, tasks, and resources that work together to provide specialized functionality. Think of it as an expansion pack for the BMAD Method.
## Module Architecture
### Core Structure
```
project-root/
├── bmad/{module-code}/ # Source code
│ ├── agents/ # Agent definitions
│ ├── workflows/ # Workflow folders
│ ├── tasks/ # Task files
│ ├── templates/ # Shared templates
│ ├── data/ # Static data
│ ├── config.yaml # Module config
│ └── README.md # Documentation
└── bmad/{module-code}/ # Runtime instance
├── _module-installer/ # Installation files
│ ├── install-config.yaml
│ ├── installer.js # Optional
│ └── assets/ # Install assets
├── config.yaml # User config
├── agents/ # Agent overrides
├── workflows/ # Workflow instances
└── data/ # User data
```
## Module Types by Complexity
### Simple Module (1-2 agents, 2-3 workflows)
Perfect for focused, single-purpose tools.
**Example: Code Review Module**
- 1 Reviewer Agent
- 2 Workflows: quick-review, deep-review
- Clear, narrow scope
### Standard Module (3-5 agents, 5-10 workflows)
Comprehensive solution for a domain.
**Example: Project Management Module**
- PM Agent, Scrum Master Agent, Analyst Agent
- Workflows: sprint-planning, retrospective, roadmap, user-stories
- Integrated component ecosystem
### Complex Module (5+ agents, 10+ workflows)
Full platform or framework.
**Example: RPG Toolkit Module**
- DM Agent, NPC Agent, Monster Agent, Loot Agent, Map Agent
- 15+ workflows for every aspect of game management
- Multiple interconnected systems
## Module Naming Conventions
### Module Code (kebab-case)
- `data-viz` - Data Visualization
- `team-collab` - Team Collaboration
- `rpg-toolkit` - RPG Toolkit
- `legal-assist` - Legal Assistant
### Module Name (Title Case)
- "Data Visualization Suite"
- "Team Collaboration Platform"
- "RPG Game Master Toolkit"
- "Legal Document Assistant"
## Component Guidelines
### Agents per Module
**Recommended Distribution:**
- **Primary Agent (1)**: The main interface/orchestrator
- **Specialist Agents (2-4)**: Domain-specific experts
- **Utility Agents (0-2)**: Helper/support functions
**Anti-patterns to Avoid:**
- Too many overlapping agents
- Agents that could be combined
- Agents without clear purpose
### Workflows per Module
**Categories:**
- **Core Workflows (2-3)**: Essential functionality
- **Feature Workflows (3-5)**: Specific capabilities
- **Utility Workflows (2-3)**: Supporting operations
- **Admin Workflows (0-2)**: Maintenance/config
**Workflow Complexity Guide:**
- Simple: 3-5 steps, single output
- Standard: 5-10 steps, multiple outputs
- Complex: 10+ steps, conditional logic, sub-workflows
### Tasks per Module
Tasks should be used for:
- Single-operation utilities
- Shared subroutines
- Quick actions that don't warrant workflows
## Module Dependencies
### Internal Dependencies
- Agents can reference module workflows
- Workflows can invoke module tasks
- Tasks can use module templates
### External Dependencies
- Reference other modules via full paths
- Declare dependencies in config.yaml
- Version compatibility notes
## Installation Infrastructure
### Required: install-config.yaml
```yaml
module_name: 'Module Name'
module_code: 'module-code'
install_steps:
- name: 'Create directories'
action: 'mkdir'
paths: [...]
- name: 'Copy files'
action: 'copy'
mappings: [...]
- name: 'Register module'
action: 'register'
```
### Optional: installer.js
For complex installations requiring:
- Database setup
- API configuration
- System integration
- Permission management
### Optional: External Assets
Files that get copied outside the module:
- System configurations
- User templates
- Shared resources
- Integration scripts
## Module Lifecycle
### Development Phases
1. **Planning Phase**
- Define scope and purpose
- Identify components
- Design architecture
2. **Scaffolding Phase**
- Create directory structure
- Generate configurations
- Setup installer
3. **Building Phase**
- Create agents incrementally
- Build workflows progressively
- Add tasks as needed
4. **Testing Phase**
- Test individual components
- Verify integration
- Validate installation
5. **Deployment Phase**
- Package module
- Document usage
- Distribute/share
## Best Practices
### Module Cohesion
- All components should relate to module theme
- Clear boundaries between modules
- No feature creep
### Progressive Enhancement
- Start with MVP (1 agent, 2 workflows)
- Add components based on usage
- Refactor as patterns emerge
### Documentation Standards
- Every module needs README.md
- Each agent needs purpose statement
- Workflows need clear descriptions
- Include examples and quickstart
### Naming Consistency
- Use module code prefix for uniqueness
- Consistent naming patterns within module
- Clear, descriptive names
## Example Modules
### Example 1: Personal Productivity
```
productivity/
├── agents/
│ ├── task-manager.md # GTD methodology
│ └── focus-coach.md # Pomodoro timer
├── workflows/
│ ├── daily-planning/ # Morning routine
│ ├── weekly-review/ # Week retrospective
│ └── project-setup/ # New project init
└── config.yaml
```
### Example 2: Content Creation
```
content/
├── agents/
│ ├── writer.md # Blog/article writer
│ ├── editor.md # Copy editor
│ └── seo-optimizer.md # SEO specialist
├── workflows/
│ ├── blog-post/ # Full blog creation
│ ├── social-media/ # Social content
│ ├── email-campaign/ # Email sequence
│ └── content-calendar/ # Planning
└── templates/
├── blog-template.md
└── email-template.md
```
### Example 3: DevOps Automation
```
devops/
├── agents/
│ ├── deploy-master.md # Deployment orchestrator
│ ├── monitor.md # System monitoring
│ ├── incident-responder.md # Incident management
│ └── infra-architect.md # Infrastructure design
├── workflows/
│ ├── ci-cd-setup/ # Pipeline creation
│ ├── deploy-app/ # Application deployment
│ ├── rollback/ # Emergency rollback
│ ├── health-check/ # System verification
│ └── incident-response/ # Incident handling
├── tasks/
│ ├── check-status.md # Quick status check
│ └── notify-team.md # Team notifications
└── data/
└── runbooks/ # Operational guides
```
## Module Evolution Pattern
```
Simple Module → Standard Module → Complex Module → Module Suite
(MVP) (Enhanced) (Complete) (Ecosystem)
```
## Common Pitfalls
1. **Over-engineering**: Starting too complex
2. **Under-planning**: No clear architecture
3. **Poor boundaries**: Module does too much
4. **Weak integration**: Components don't work together
5. **Missing docs**: No clear usage guide
## Success Metrics
A well-designed module has:
- ✅ Clear, focused purpose
- ✅ Cohesive components
- ✅ Smooth installation
- ✅ Comprehensive docs
- ✅ Room for growth
- ✅ Happy users!

View File

@@ -0,0 +1,40 @@
# Build Module Workflow Configuration
name: create-module
description: "Interactive workflow to build complete BMAD modules with agents, workflows, tasks, and installation infrastructure"
author: "BMad"
# Critical variables load from config_source
config_source: "{project-root}/bmad/bmb/config.yaml"
custom_module_location: "{config_source}:custom_module_location"
communication_language: "{config_source}:communication_language"
user_name: "{config_source}:user_name"
# Reference guides for module building
module_structure_guide: "{installed_path}/module-structure.md"
installer_templates: "{installed_path}/installer-templates/"
# Use existing build workflows
agent_builder: "{project-root}/bmad/bmb/workflows/create-agent/workflow.yaml"
workflow_builder: "{project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml"
brainstorming_workflow: "{project-root}/bmad/core/workflows/brainstorming/workflow.yaml"
brainstorming_context: "{installed_path}/brainstorm-context.md"
# Optional docs that help understand module patterns
recommended_inputs:
- module_brief: "{output_folder}/module-brief-*.md"
- brainstorming_results: "{output_folder}/brainstorming-*.md"
- bmm_module: "{project-root}/bmad/bmm/"
- cis_module: "{project-root}/bmad/cis/"
- existing_agents: "{project-root}/bmad/*/agents/"
- existing_workflows: "{project-root}/bmad/*/workflows/"
# Module path and component files
installed_path: "{project-root}/bmad/bmb/workflows/create-module"
template: false # This is an interactive scaffolding workflow
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"
# Output configuration - creates entire module structure
# Save to custom_module_location/{{module_code}}
installer_output_folder: "{custom_module_location}/{{module_code}}"
# Web bundle configuration

View File

@@ -0,0 +1,277 @@
# Build Workflow
## Overview
The Build Workflow is an interactive workflow builder that guides you through creating new BMAD workflows with proper structure, conventions, and validation. It ensures all workflows follow best practices for optimal human-AI collaboration and are fully compliant with the BMAD Core v6 workflow execution engine.
## Key Features
- **Optional Brainstorming Phase**: Creative exploration of workflow ideas before structured development
- **Comprehensive Guidance**: Step-by-step process with detailed instructions and examples
- **Template-Based**: Uses proven templates for all workflow components
- **Convention Enforcement**: Ensures adherence to BMAD workflow creation guide
- **README Generation**: Automatically creates comprehensive documentation
- **Validation Built-In**: Includes checklist generation for quality assurance
- **Type-Aware**: Adapts to document, action, interactive, autonomous, or meta-workflow types
## Usage
### Basic Invocation
```bash
workflow create-workflow
```
### Through BMad Builder Agent
```
*create-workflow
```
### What You'll Be Asked
1. **Optional**: Whether to brainstorm workflow ideas first (creative exploration phase)
2. Workflow name and target module
3. Workflow purpose and type (enhanced by brainstorming insights if used)
4. Metadata (description, author, outputs)
5. Step-by-step design (goals, variables, flow)
6. Whether to include optional components
## Workflow Structure
### Files Included
```
create-workflow/
├── workflow.yaml # Configuration and metadata
├── instructions.md # Step-by-step execution guide
├── checklist.md # Validation criteria
├── workflow-creation-guide.md # Comprehensive reference guide
├── README.md # This file
└── workflow-template/ # Templates for new workflows
├── workflow.yaml
├── instructions.md
├── template.md
├── checklist.md
└── README.md
```
## Understanding Instruction Styles
One of the most important decisions when creating a workflow is choosing the **instruction style** - how the workflow guides the AI's interaction with users.
### Intent-Based vs Prescriptive Instructions
**Intent-Based (Recommended for most workflows)**
Guides the LLM with goals and principles, allowing natural conversation adaptation.
- **More flexible and conversational** - AI adapts questions to context
- **Better for complex discovery** - Requirements gathering, creative exploration
- **Quality over consistency** - Focus on deep understanding
- **Example**: `<action>Guide user to define their target audience with specific demographics and needs</action>`
**Best for:**
- Complex discovery processes (user research, requirements)
- Creative brainstorming and ideation
- Iterative refinement workflows
- When adaptation to context matters
- Workflows requiring nuanced understanding
**Prescriptive**
Provides exact wording for questions and structured options.
- **More controlled and predictable** - Same questions every time
- **Better for simple data collection** - Platform choices, yes/no decisions
- **Consistency over quality** - Standardized execution
- **Example**: `<ask>What is your target platform? Choose: PC, Console, Mobile, Web</ask>`
**Best for:**
- Simple data collection (platform, format, binary choices)
- Compliance verification and standards
- Configuration with finite options
- Quick setup wizards
- When consistency is critical
### Best Practice: Mix Both Styles
The most effective workflows use **both styles strategically**:
```xml
<!-- Intent-based workflow with prescriptive moments -->
<step n="1" goal="Understand user vision">
<action>Explore the user's vision, uncovering creative intent and target experience</action>
</step>
<step n="2" goal="Capture basic metadata">
<ask>What is your target platform? Choose: PC, Console, Mobile, Web</ask>
</step>
<step n="3" goal="Deep dive into details">
<action>Guide user to articulate their core approach and unique aspects</action>
</step>
```
**During workflow creation**, you'll be asked to choose a **primary style preference** - this sets the default approach, but you can (and should) use the other style when it makes more sense for specific steps.
## Workflow Process
### Phase 0: Optional Brainstorming (Step -1)
- **Creative Exploration**: Option to brainstorm workflow ideas before structured development
- **Design Concept Development**: Generate multiple approaches and explore different possibilities
- **Requirement Clarification**: Use brainstorming output to inform workflow purpose, type, and structure
- **Enhanced Creativity**: Leverage AI brainstorming tools for innovative workflow design
The brainstorming phase invokes the CIS brainstorming workflow to:
- Explore workflow ideas and approaches
- Clarify requirements and use cases
- Generate creative solutions for complex automation needs
- Inform the structured workflow building process
### Phase 1: Planning (Steps 0-3)
- Load workflow creation guide and conventions
- Define workflow purpose, name, and type (informed by brainstorming if used)
- Gather metadata and configuration details
- Design step structure and flow
### Phase 2: Generation (Steps 4-8)
- Create workflow.yaml with proper configuration
- Generate instructions.md with XML-structured steps
- Create template.md (for document workflows)
- Generate validation checklist
- Create supporting data files (optional)
### Phase 3: Documentation and Validation (Steps 9-11)
- Create comprehensive README.md (MANDATORY)
- Test and validate workflow structure
- Provide usage instructions and next steps
## Output
### Generated Workflow Folder
Creates a complete workflow folder at:
`{project-root}/bmad/{{target_module}}/workflows/{{workflow_name}}/`
### Files Created
**Always Created:**
- `workflow.yaml` - Configuration with paths and variables
- `README.md` - Comprehensive documentation (MANDATORY as of v6)
- `instructions.md` - Execution steps (if not template-only workflow)
**Conditionally Created:**
- `template.md` - Document structure (for document workflows)
- `checklist.md` - Validation criteria (optional but recommended)
- Supporting data files (CSV, JSON, etc. as needed)
### Output Structure
For document workflows, the README documents:
- Workflow purpose and use cases
- Usage examples with actual commands
- Input expectations
- Output structure and location
- Best practices
## Requirements
- Access to workflow creation guide
- BMAD Core v6 project structure
- Module to host the new workflow (bmm, bmb, cis, or custom)
## Best Practices
### Before Starting
1. **Consider Brainstorming**: If you're unsure about the workflow approach, use the optional brainstorming phase
2. Review the workflow creation guide to understand conventions
3. Have a clear understanding of the workflow's purpose (or be ready to explore it creatively)
4. Know which type of workflow you're creating (document, action, etc.) or be open to discovery
5. Identify any data files or references needed
### Creative Workflow Design
The create-workflow now supports a **seamless transition from creative ideation to structured implementation**:
- **"I need a workflow for something..."** → Start with brainstorming to explore possibilities
- **Brainstorm** → Generate multiple approaches and clarify requirements
- **Structured workflow** → Build the actual workflow using insights from brainstorming
- **One seamless session** → Complete the entire process from idea to implementation
### During Execution
1. Follow kebab-case naming conventions
2. Be specific with step goals and instructions
3. Use descriptive variable names (snake_case)
4. Set appropriate limits ("3-5 items maximum")
5. Include examples where helpful
### After Completion
1. Test the newly created workflow
2. Validate against the checklist
3. Ensure README is comprehensive and accurate
4. Test all file paths and variable references
## Troubleshooting
### Issue: Generated workflow won't execute
- **Solution**: Verify all file paths in workflow.yaml use proper variable substitution
- **Check**: Ensure installed_path and project-root are correctly set
### Issue: Variables not replacing in template
- **Solution**: Ensure variable names match exactly between instructions `<template-output>` tags and template `{{variables}}`
- **Check**: Use snake_case consistently
### Issue: README has placeholder text
- **Solution**: This workflow now enforces README generation - ensure Step 10 completed fully
- **Check**: No {WORKFLOW_TITLE} or similar placeholders should remain
## Customization
To modify this workflow:
1. Edit `instructions.md` to adjust the creation process
2. Update templates in `workflow-template/` to change generated files
3. Modify `workflow-creation-guide.md` to update conventions
4. Edit `checklist.md` to change validation criteria
## Version History
- **v6.0.0** - README.md now MANDATORY for all workflows
- Added comprehensive README template
- Enhanced validation for documentation
- Improved Step 10 with detailed README requirements
- **v5.0.0** - Initial BMAD Core v6 compatible version
- Template-based workflow generation
- Convention enforcement
- Validation checklist support
## Support
For issues or questions:
- Review `/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md`
- Check existing workflows in `/bmad/bmm/workflows/` for examples
- Validate against `/bmad/bmb/workflows/create-workflow/checklist.md`
- Consult BMAD Method v6 documentation
---
_Part of the BMad Method v6 - BMB (BMad Builder) Module_

View File

@@ -0,0 +1,197 @@
# Workflow Brainstorming Context
_Context provided to brainstorming workflow when creating a new BMAD workflow_
## Session Focus
You are brainstorming ideas for a **BMAD workflow** - a guided, multi-step process that helps users accomplish complex tasks with structure, consistency, and quality.
## What is a BMAD Workflow?
A workflow is a structured process that provides:
- **Clear Steps**: Sequential operations with defined goals
- **User Guidance**: Prompts, questions, and decisions at each phase
- **Quality Output**: Documents, artifacts, or completed actions
- **Repeatability**: Same process yields consistent results
- **Type**: Document (creates docs), Action (performs tasks), Interactive (guides sessions), Autonomous (runs automated), Meta (orchestrates other workflows)
## Brainstorming Goals
Explore and define:
### 1. Problem and Purpose
- **What task needs structure?** (specific process users struggle with)
- **Why is this hard manually?** (complexity, inconsistency, missing steps)
- **What would ideal process look like?** (steps, checkpoints, outputs)
- **Who needs this?** (target users and their pain points)
### 2. Process Flow
- **How many phases?** (typically 3-10 major steps)
- **What's the sequence?** (logical flow from start to finish)
- **What decisions are needed?** (user choices that affect path)
- **What's optional vs required?** (flexibility points)
- **What checkpoints matter?** (validation, review, approval points)
### 3. Inputs and Outputs
- **What inputs are needed?** (documents, data, user answers)
- **What outputs are generated?** (documents, code, configurations)
- **What format?** (markdown, XML, YAML, actions)
- **What quality criteria?** (how to validate success)
### 4. Workflow Type and Style
- **Document Workflow?** Creates structured documents (PRDs, specs, reports)
- **Action Workflow?** Performs operations (refactoring, deployment, analysis)
- **Interactive Workflow?** Guides creative process (brainstorming, planning)
- **Autonomous Workflow?** Runs without user input (batch processing, generation)
- **Meta Workflow?** Orchestrates other workflows (project setup, module creation)
## Creative Constraints
A great BMAD workflow should be:
- **Focused**: Solves one problem well (not everything)
- **Structured**: Clear phases with defined goals
- **Flexible**: Optional steps, branching paths where appropriate
- **Validated**: Checklist to verify completeness and quality
- **Documented**: README explains when and how to use it
## Workflow Architecture Questions
### Core Structure
1. **Workflow name** (kebab-case, e.g., "product-brief")
2. **Purpose** (one sentence)
3. **Type** (document/action/interactive/autonomous/meta)
4. **Major phases** (3-10 high-level steps)
5. **Output** (what gets created)
### Process Details
1. **Required inputs** (what user must provide)
2. **Optional inputs** (what enhances results)
3. **Decision points** (where user chooses path)
4. **Checkpoints** (where to pause for approval)
5. **Variables** (data passed between steps)
### Quality and Validation
1. **Success criteria** (what defines "done")
2. **Validation checklist** (measurable quality checks)
3. **Common issues** (troubleshooting guidance)
4. **Best practices** (tips for optimal results)
## Workflow Pattern Examples
### Document Generation Workflows
- **Product Brief**: Idea → Vision → Features → Market → Output
- **PRD**: Requirements → User Stories → Acceptance Criteria → Document
- **Architecture**: Requirements → Decisions → Design → Diagrams → ADRs
- **Technical Spec**: Epic → Implementation → Testing → Deployment → Doc
### Action Workflows
- **Code Refactoring**: Analyze → Plan → Refactor → Test → Commit
- **Deployment**: Build → Test → Stage → Validate → Deploy → Monitor
- **Migration**: Assess → Plan → Convert → Validate → Deploy
- **Analysis**: Collect → Process → Analyze → Report → Recommend
### Interactive Workflows
- **Brainstorming**: Setup → Generate → Expand → Evaluate → Prioritize
- **Planning**: Context → Goals → Options → Decisions → Plan
- **Review**: Load → Analyze → Critique → Suggest → Document
### Meta Workflows
- **Project Setup**: Plan → Architecture → Stories → Setup → Initialize
- **Module Creation**: Brainstorm → Brief → Agents → Workflows → Install
- **Sprint Planning**: Backlog → Capacity → Stories → Commit → Kickoff
## Workflow Design Patterns
### Linear Flow
Simple sequence: Step 1 → Step 2 → Step 3 → Done
**Good for:**
- Document generation
- Structured analysis
- Sequential builds
### Branching Flow
Conditional paths: Step 1 → [Decision] → Path A or Path B → Merge → Done
**Good for:**
- Different project types
- Optional deep dives
- Scale-adaptive processes
### Iterative Flow
Refinement loops: Step 1 → Step 2 → [Review] → (Repeat if needed) → Done
**Good for:**
- Creative processes
- Quality refinement
- Approval cycles
### Router Flow
Type selection: [Select Type] → Load appropriate instructions → Execute → Done
**Good for:**
- Multi-mode workflows
- Reusable frameworks
- Flexible tools
## Suggested Brainstorming Techniques
Particularly effective for workflow ideation:
1. **Process Mapping**: Draw current painful process, identify improvements
2. **Step Decomposition**: Break complex task into atomic steps
3. **Checkpoint Thinking**: Where do users need pause/review/decision?
4. **Pain Point Analysis**: What makes current process frustrating?
5. **Success Visualization**: What does perfect execution look like?
## Key Questions to Answer
1. What manual process needs structure and guidance?
2. What makes this process hard or inconsistent today?
3. What are the 3-10 major phases/steps?
4. What document or output gets created?
5. What inputs are required from the user?
6. What decisions or choices affect the flow?
7. What quality criteria define success?
8. Document, Action, Interactive, Autonomous, or Meta workflow?
9. What makes this workflow valuable vs doing it manually?
10. What would make this workflow delightful to use?
## Output Goals
Generate:
- **Workflow name**: Clear, describes the process
- **Purpose statement**: One sentence explaining value
- **Workflow type**: Classification with rationale
- **Phase outline**: 3-10 major steps with goals
- **Input/output description**: What goes in, what comes out
- **Key decisions**: Where user makes choices
- **Success criteria**: How to know it worked
- **Unique value**: Why this workflow beats manual process
- **Use cases**: 3-5 scenarios where this workflow shines
---
_This focused context helps create valuable, structured BMAD workflows_

View File

@@ -0,0 +1,94 @@
# Build Workflow - Validation Checklist
## Workflow Configuration (workflow.yaml)
- [ ] Name follows kebab-case convention
- [ ] Description clearly states workflow purpose
- [ ] All paths use proper variable substitution
- [ ] installed_path points to correct module location
- [ ] template/instructions paths are correct for workflow type
- [ ] Output file pattern is appropriate
- [ ] YAML syntax is valid (no parsing errors)
## Instructions Structure (instructions.md)
- [ ] Critical headers reference workflow engine
- [ ] All steps have sequential numbering
- [ ] Each step has a clear goal attribute
- [ ] Optional steps marked with optional="true"
- [ ] Repeating steps have appropriate repeat attributes
- [ ] All template-output tags have unique variable names
- [ ] Flow control (if any) has valid step references
## Template Structure (if document workflow)
- [ ] All sections have appropriate placeholders
- [ ] Variable names match template-output tags exactly
- [ ] Markdown formatting is valid
- [ ] Date and metadata fields included
- [ ] No unreferenced variables remain
## Content Quality
- [ ] Instructions are specific and actionable
- [ ] Examples provided where helpful
- [ ] Limits set for lists and content length
- [ ] User prompts are clear
- [ ] Step goals accurately describe outcomes
## Validation Checklist (if present)
- [ ] Criteria are measurable and specific
- [ ] Checks grouped logically by category
- [ ] Final validation summary included
- [ ] All critical requirements covered
## File System
- [ ] Workflow folder created in correct module
- [ ] All required files present based on workflow type
- [ ] File permissions allow execution
- [ ] No placeholder text remains (like {TITLE})
## Testing Readiness
- [ ] Workflow can be invoked without errors
- [ ] All required inputs are documented
- [ ] Output location is writable
- [ ] Dependencies (if any) are available
## Web Bundle Configuration (if applicable)
- [ ] web_bundle section present if needed
- [ ] Name, description, author copied from main config
- [ ] All file paths converted to bmad/-relative format
- [ ] NO {config_source} variables in web bundle
- [ ] NO {project-root} prefixes in paths
- [ ] Instructions path listed correctly
- [ ] Validation/checklist path listed correctly
- [ ] Template path listed (if document workflow)
- [ ] All data files referenced in instructions are listed
- [ ] All sub-workflows are included
- [ ] web_bundle_files array is complete:
- [ ] Instructions.md included
- [ ] Checklist.md included
- [ ] Template.md included (if applicable)
- [ ] All CSV/JSON data files included
- [ ] All referenced templates included
- [ ] All sub-workflow files included
- [ ] No external dependencies outside bundle
## Documentation
- [ ] README created (if requested)
- [ ] Usage instructions clear
- [ ] Example command provided
- [ ] Special requirements noted
- [ ] Web bundle deployment noted (if applicable)
## Final Validation
- [ ] Configuration: No issues
- [ ] Instructions: Complete and clear
- [ ] Template: Variables properly mapped
- [ ] Testing: Ready for test run

View File

@@ -0,0 +1,574 @@
# Build Workflow - Workflow Builder Instructions
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml</critical>
<critical>You MUST fully understand the workflow creation guide at: {workflow_creation_guide}</critical>
<critical>Study the guide thoroughly to follow ALL conventions for optimal human-AI collaboration</critical>
<critical>Communicate in {communication_language} throughout the workflow creation process</critical>
<workflow>
<step n="-1" goal="Optional brainstorming phase" optional="true">
<ask>Do you want to brainstorm workflow ideas first? [y/n]</ask>
<action if="user_response == 'y' or user_response == 'yes'">
Invoke brainstorming workflow to explore ideas and design concepts:
- Workflow: {project-root}/bmad/core/workflows/brainstorming/workflow.yaml
- Context data: {installed_path}/brainstorm-context.md
- Purpose: Generate creative workflow ideas, explore different approaches, and clarify requirements
The brainstorming output will inform:
- Workflow purpose and goals
- Workflow type selection
- Step design and structure
- User experience considerations
- Technical requirements
</action>
<action if="user_response == 'n' or user_response == 'no'">
Skip brainstorming and proceed directly to workflow building process.
</action>
</step>
<step n="0" goal="Load and understand workflow conventions">
<action>Load the complete workflow creation guide from: {workflow_creation_guide}</action>
<action>Study all sections thoroughly including:
- Core concepts (tasks vs workflows, workflow types)
- Workflow structure (required/optional files, patterns)
- Writing instructions (step attributes, XML tags, flow control)
- Templates and variables (syntax, naming, sources)
- Validation best practices
- Common pitfalls to avoid
</action>
<action>Load template files from: {workflow_template_path}/</action>
<critical>You must follow ALL conventions from the guide to ensure optimal human-AI collaboration</critical>
</step>
<step n="1" goal="Define workflow purpose and type">
Ask the user:
- What is the workflow name? (kebab-case, e.g., "product-brief")
- What module will it belong to? (e.g., "bmm", "bmb", "cis")
- Store as {{target_module}} for output path determination
- What is the workflow's main purpose?
- What type of workflow is this?
- Document workflow (generates documents like PRDs, specs)
- Action workflow (performs actions like refactoring)
- Interactive workflow (guided sessions)
- Autonomous workflow (runs without user input)
- Meta-workflow (coordinates other workflows)
Based on type, determine which files are needed:
- Document: workflow.yaml + template.md + instructions.md + checklist.md
- Action: workflow.yaml + instructions.md
- Others: Varies based on requirements
<critical>Determine output location based on module assignment:</critical>
- If workflow belongs to module: Save to {module_output_folder}
- If standalone workflow: Save to {standalone_output_folder}
Store decisions for later use.
</step>
<step n="2" goal="Gather workflow metadata">
Collect essential configuration details:
- Description (clear purpose statement)
- Author name (default to user_name or "BMad")
- Output file naming pattern
- Any required input documents
- Any required tools or dependencies
Create the workflow name in kebab-case and verify it doesn't conflict with existing workflows.
</step>
<step n="3" goal="Design workflow steps">
Work with user to outline the workflow steps:
- How many major steps? (Recommend 5-10 max)
- What is the goal of each step?
- Which steps are optional?
- Which steps need user input?
- Which steps should repeat?
- What variables/outputs does each step produce?
<ask>What instruction style should this workflow favor?
**1. Intent-Based (Recommended)** - Guide the LLM with goals and principles, let it adapt conversations naturally
- More flexible and conversational
- LLM chooses appropriate questions based on context
- Better for complex discovery and iterative refinement
- Example: `<action>Guide user to define their target audience with specific demographics and needs</action>`
**2. Prescriptive** - Provide exact wording for questions and options
- More controlled and predictable
- Ensures consistency across runs
- Better for simple data collection or specific compliance needs
- Example: `<ask>What is your target platform? Choose: PC, Console, Mobile, Web</ask>`
Note: Your choice will be the _primary_ style, but we'll use the other when it makes more sense for specific steps.</ask>
<action>Store instruction_style preference (intent-based or prescriptive)</action>
<action>Explain that both styles have value and will be mixed appropriately</action>
Create a step outline with clear goals and outputs.
</step>
<step n="4" goal="Create workflow.yaml">
Load and use the template at: {template_workflow_yaml}
Replace all placeholders following the workflow creation guide conventions:
- {TITLE} → Proper case workflow name
- {WORKFLOW_CODE} → kebab-case name
- {WORKFLOW_DESCRIPTION} → Clear description
- {module-code} → Target module
- {file.md} → Output filename pattern
Include:
- All metadata from steps 1-2
- Proper paths for installed_path using variable substitution
- Template/instructions/validation paths based on workflow type:
- Document workflow: all files (template, instructions, validation)
- Action workflow: instructions only (template: false)
- Autonomous: set autonomous: true flag
- Required tools if any
- Recommended inputs if any
<critical>ALWAYS include the standard config block:</critical>
```yaml
# Critical variables from config
config_source: '{project-root}/bmad/{{target_module}}/config.yaml'
output_folder: '{config_source}:output_folder'
user_name: '{config_source}:user_name'
communication_language: '{config_source}:communication_language'
date: system-generated
```
<critical>This standard config ensures workflows can run autonomously and communicate properly with users</critical>
Follow path conventions from guide:
- Use {project-root} for absolute paths
- Use {installed_path} for workflow components
- Use {config_source} for config references
<critical>Determine save location:</critical>
- Use the output folder determined in Step 1 (module or standalone)
- Write to {{output_folder}}/workflow.yaml
</step>
<step n="5" goal="Create instructions.md" if="workflow_type != 'template-only'">
Load and use the template at: {template_instructions}
Generate the instructions.md file following the workflow creation guide:
1. ALWAYS include critical headers:
- Workflow engine reference: {project-root}/bmad/core/tasks/workflow.xml
- workflow.yaml reference: must be loaded and processed
2. Structure with <workflow> tags containing all steps
3. For each step from design phase, follow guide conventions:
- Step attributes: n="X" goal="clear goal statement"
- Optional steps: optional="true"
- Repeating: repeat="3" or repeat="for-each-X" or repeat="until-approved"
- Conditional: if="condition"
- Sub-steps: Use 3a, 3b notation
4. Use proper XML tags from guide:
- Execution: <action>, <check>, <ask>, <goto>, <invoke-workflow>
- Output: <template-output>, <invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>, <critical>, <example>
- Flow: <loop>, <break>, <continue>
5. Best practices from guide:
- Keep steps focused (single goal)
- Be specific ("Write 1-2 paragraphs" not "Write about")
- Provide examples where helpful
- Set limits ("3-5 items maximum")
- Save checkpoints with <template-output>
<critical>Standard config variable usage:</critical>
Instructions MUST use the standard config variables where appropriate:
- Communicate in {communication_language} throughout the workflow
- Address user as {user_name} in greetings and summaries
- Write all output files to {output_folder} or subdirectories
- Include {date} in generated document headers
Example usage in instructions:
```xml
<action>Write document to {output_folder}/output-file.md</action>
<critical>Communicate all responses in {communication_language}</critical>
<output>Hello {user_name}, the workflow is complete!</output>
```
<critical>Applying instruction style preference:</critical>
Based on the {{instruction_style}} preference from Step 3, generate instructions using these patterns:
**Intent-Based Instructions (Recommended for most workflows):**
Focus on goals, principles, and desired outcomes. Let the LLM adapt the conversation naturally.
**Good Examples:**
```xml
<!-- Discovery and exploration -->
<action>Guide user to define their target audience with specific demographics, psychographics, and behavioral characteristics</action>
<action>Explore the user's vision for the product, asking probing questions to uncover core motivations and success criteria</action>
<action>Help user identify and prioritize key features based on user value and technical feasibility</action>
<!-- Validation and refinement -->
<action>Validate that the technical approach aligns with project constraints and team capabilities</action>
<action>Challenge assumptions about user needs and market fit with thought-provoking questions</action>
<!-- Complex iterative work -->
<action>Collaborate with user to refine the architecture, iterating until they're satisfied with the design</action>
```
**Avoid (too prescriptive):**
```xml
<ask>What is your target audience age range? Choose: 18-24, 25-34, 35-44, 45+</ask>
<ask>List exactly 3 key features in priority order</ask>
```
**When to use Intent-Based:**
- Complex discovery processes (user research, requirements gathering)
- Creative brainstorming and ideation
- Iterative refinement workflows
- When user input quality matters more than consistency
- Workflows requiring adaptation to context
**Prescriptive Instructions (Use selectively):**
Provide exact wording, specific options, and controlled interactions.
**Good Examples:**
```xml
<!-- Simple data collection -->
<ask>What is your target platform? Choose: PC, Console, Mobile, Web</ask>
<ask>Select monetization model: Premium, Free-to-Play, Subscription, Ad-Supported</ask>
<!-- Compliance and standards -->
<ask>Does this comply with GDPR requirements? [yes/no]</ask>
<ask>Choose documentation standard: JSDoc, TypeDoc, TSDoc</ask>
<!-- Binary decisions -->
<ask>Do you want to generate test cases? [yes/no]</ask>
<ask>Include performance benchmarks? [yes/no]</ask>
```
**Avoid (too rigid for complex tasks):**
```xml
<ask>What are your product goals? List exactly 5 goals, each 10-15 words</ask>
<ask>Describe your user persona in exactly 3 sentences</ask>
```
**When to use Prescriptive:**
- Simple data collection (platform, format, yes/no choices)
- Compliance verification and standards adherence
- Configuration with finite options
- When consistency is critical across all executions
- Quick setup wizards
**Mixing Both Styles (Best Practice):**
Even if user chose a primary style, use the other when appropriate:
```xml
<!-- Intent-based workflow with prescriptive moments -->
<step n="1" goal="Understand user vision">
<action>Explore the user's vision for their game, uncovering their creative intent and target experience</action>
<action>Ask probing questions about genre, themes, and emotional tone they want to convey</action>
</step>
<step n="2" goal="Capture basic metadata">
<ask>What is your target platform? Choose: PC, Console, Mobile, Web</ask> <!-- Prescriptive for simple choice -->
<ask>Select primary genre: Action, RPG, Strategy, Puzzle, Simulation, Other</ask>
</step>
<step n="3" goal="Deep dive into gameplay">
<action>Guide user to articulate their core gameplay loop, exploring mechanics and player agency</action> <!-- Back to intent-based -->
<action>Help them identify what makes their game unique and compelling</action>
</step>
```
**Guidelines for the chosen style:**
If user chose **Intent-Based**:
- Default to goal-oriented <action> tags
- Use open-ended guidance language
- Save prescriptive <ask> tags for simple data/choices
- Focus on "guide", "explore", "help user", "validate"
- Allow LLM to adapt questions to user responses
If user chose **Prescriptive**:
- Default to explicit <ask> tags with clear options
- Use precise wording for consistency
- Save intent-based <action> tags for complex discovery
- Focus on "choose", "select", "specify", "confirm"
- Provide structured choices when possible
**Remember:** The goal is optimal human-AI collaboration. Use whichever style best serves the user at each step.
<critical>Save location:</critical>
- Write to {{output_folder}}/instructions.md
</step>
<step n="6" goal="Create template.md" if="workflow_type == 'document'">
Load and use the template at: {template_template}
Generate the template.md file following guide conventions:
1. Document structure with clear sections
2. Variable syntax: {{variable_name}} using snake_case
3. Variable names MUST match <template-output> tags exactly from instructions
4. Include standard metadata header (optional - config variables available):
```markdown
# Document Title
**Date:** {{date}}
**Author:** {{user_name}}
```
Note: {{date}} and {{user_name}} are optional in headers. Primary purpose of these variables:
- {{date}} - Gives agent current date awareness (not confused with training cutoff)
- {{user_name}} - Optional author attribution
- {{communication_language}} - NOT for document output! Tells agent how to communicate during execution
5. Follow naming conventions from guide:
- Use descriptive names: {{primary_user_journey}} not {{puj}}
- Snake_case for all variables
- Match instruction outputs precisely
Variable sources as per guide:
- workflow.yaml config values (user_name, communication_language, date, output_folder)
- User input runtime values
- Step outputs via <template-output>
- System variables (date, paths)
<critical>Standard config variables in templates:</critical>
Templates CAN optionally use these config variables:
- {{user_name}} - Document author (optional)
- {{date}} - Generation date (optional)
IMPORTANT: {{communication_language}} is NOT for document headers!
- Purpose: Tells agent how to communicate with user during workflow execution
- NOT for: Document output language or template headers
- Future: {{document_output_language}} will handle multilingual document generation
These variables are automatically available from workflow.yaml config block.
<critical>Save location:</critical>
- Write to {{output_folder}}/template.md
</step>
<step n="7" goal="Create validation checklist" optional="true">
Ask if user wants a validation checklist. If yes:
Load and use the template at: {template_checklist}
Create checklist.md following guide best practices:
1. Make criteria MEASURABLE and SPECIFIC
❌ "- [ ] Good documentation"
✅ "- [ ] Each function has JSDoc comments with parameters and return types"
2. Group checks logically:
- Structure: All sections present, no placeholders, proper formatting
- Content Quality: Clear and specific, technically accurate, consistent terminology
- Completeness: Ready for next phase, dependencies documented, action items defined
3. Include workflow-specific validations based on type:
- Document workflows: Template variables mapped, sections complete
- Action workflows: Actions clearly defined, error handling specified
- Interactive: User prompts clear, decision points documented
4. Add final validation section with issue lists
<critical>Save location:</critical>
- Write to {{output_folder}}/checklist.md
</step>
<step n="8" goal="Create supporting files" optional="true">
Ask if any supporting data files are needed:
- CSV files with data
- Example documents
- Reference materials
If yes, create placeholder files or copy from templates.
</step>
<step n="9" goal="Test and validate workflow">
Review the created workflow:
**Basic Validation:**
1. Verify all file paths are correct
2. Check variable names match between files
3. Ensure step numbering is sequential
4. Validate YAML syntax
5. Confirm all placeholders are replaced
**Standard Config Validation:** 6. Verify workflow.yaml contains standard config block:
- config_source defined
- output_folder, user_name, communication_language pulled from config
- date set to system-generated
7. Check instructions use config variables where appropriate
8. Verify template includes config variables in metadata (if document workflow)
**YAML/Instruction/Template Alignment:** 9. Cross-check all workflow.yaml variables against instruction usage:
- Are all yaml variables referenced in instructions.md OR template.md?
- Are there hardcoded values that should be variables?
- Do template variables match <template-output> tags in instructions?
10. Identify any unused yaml fields (bloat detection)
Show user a summary of created files and their locations.
Ask if they want to:
- Test run the workflow
- Make any adjustments
- Add additional steps or features
</step>
<step n="9b" goal="Configure web bundle (optional)">
<ask>Will this workflow need to be deployable as a web bundle? [yes/no]</ask>
If yes:
<action>Explain web bundle requirements:</action>
- Web bundles are self-contained and cannot use config_source variables
- All files must be explicitly listed in web_bundle_files
- File paths use bmad/ root (not {project-root})
<action>Configure web_bundle section in workflow.yaml:</action>
1. Copy core workflow metadata (name, description, author)
2. Convert all file paths to bmad/-relative paths:
- Remove {project-root}/ prefix
- Remove {config_source} references (use hardcoded values)
- Example: "{project-root}/bmad/bmm/workflows/x" → "bmad/bmm/workflows/x"
3. List ALL referenced files by scanning:
**Scan instructions.md for:**
- File paths in <action> tags
- Data files (CSV, JSON, YAML, etc.)
- Validation/checklist files
- Any <invoke-workflow> calls → must include that workflow's yaml file
- Any <goto> tags that reference other workflows
- Shared templates or includes
**Scan template.md for:**
- Any includes or references to other files
- Shared template fragments
**Critical: Workflow Dependencies**
- If instructions call another workflow, that workflow's yaml MUST be in web_bundle_files
- Example: `<invoke-workflow>{project-root}/bmad/core/workflows/x/workflow.yaml</invoke-workflow>`
→ Add "bmad/core/workflows/x/workflow.yaml" to web_bundle_files
4. Create web_bundle_files array with complete list
Example:
```yaml
web_bundle:
name: '{workflow_name}'
description: '{workflow_description}'
author: '{author}'
instructions: 'bmad/{module}/workflows/{workflow}/instructions.md'
validation: 'bmad/{module}/workflows/{workflow}/checklist.md'
template: 'bmad/{module}/workflows/{workflow}/template.md'
# Any data files (no config_source)
data_file: 'bmad/{module}/workflows/{workflow}/data.csv'
web_bundle_files:
- 'bmad/{module}/workflows/{workflow}/instructions.md'
- 'bmad/{module}/workflows/{workflow}/checklist.md'
- 'bmad/{module}/workflows/{workflow}/template.md'
- 'bmad/{module}/workflows/{workflow}/data.csv'
# Add every single file referenced anywhere
# CRITICAL: If this workflow invokes other workflows, use existing_workflows
# This signals the bundler to recursively include those workflows' web_bundles
existing_workflows:
- workflow_variable_name: 'bmad/path/to/workflow.yaml'
```
**Example with existing_workflows:**
```yaml
web_bundle:
name: 'brainstorm-game'
description: 'Game brainstorming with CIS workflow'
author: 'BMad'
instructions: 'bmad/bmm/workflows/brainstorm-game/instructions.md'
template: false
web_bundle_files:
- 'bmad/bmm/workflows/brainstorm-game/instructions.md'
- 'bmad/mmm/workflows/brainstorm-game/game-context.md'
- 'bmad/core/workflows/brainstorming/workflow.yaml'
existing_workflows:
- core_brainstorming: 'bmad/core/workflows/brainstorming/workflow.yaml'
```
**What existing_workflows does:**
- Tells the bundler this workflow invokes another workflow
- Bundler recursively includes the invoked workflow's entire web_bundle
- Essential for meta-workflows that orchestrate other workflows
- Maps workflow variable names to their bmad/-relative paths
<action>Validate web bundle completeness:</action>
- Ensure no {config_source} variables remain
- Verify all file paths are listed
- Check that paths are bmad/-relative
- If workflow uses <invoke-workflow>, add to existing_workflows
<template-output>web_bundle_config</template-output>
</step>
<step n="10" goal="Document and finalize">
<action>Create a brief README for the workflow folder explaining purpose, how to invoke, expected inputs, generated outputs, and any special requirements</action>
<action>Provide {user_name} with workflow completion summary in {communication_language}:</action>
- Location of created workflow: {{output_folder}}
- Command to run it: `workflow {workflow_name}`
- Next steps:
- Run the BMAD Method installer to this project location
- Select 'Compile Agents (Quick rebuild of all agent .md files)' after confirming the folder
- This will compile the new workflow and make it available for use
</step>
</workflow>

View File

@@ -0,0 +1,615 @@
# BMAD Workflow Creation Guide
Create structured, repeatable workflows for human-AI collaboration in BMAD v6.
## Table of Contents
1. [Quick Start](#quick-start)
2. [Core Concepts](#core-concepts)
3. [Workflow Structure](#workflow-structure)
4. [Writing Instructions](#writing-instructions)
5. [Templates and Variables](#templates--variables)
6. [Flow Control](#flow-control)
7. [Validation](#validation)
8. [Examples](#examples)
9. [Best Practices](#best-practices)
10. [Troubleshooting](#troubleshooting)
## Quick Start
### Minimal Workflow (3 minutes)
Create a folder with these files:
```yaml
# workflow.yaml (REQUIRED)
name: 'my-workflow'
description: 'What this workflow does'
installed_path: '{project-root}/bmad/module/workflows/my-workflow'
template: '{installed_path}/template.md'
instructions: '{installed_path}/instructions.md'
default_output_file: '{output_folder}/output.md'
```
```markdown
# template.md
# {{project_name}} Output
{{main_content}}
```
```markdown
# instructions.md
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: workflow.yaml</critical>
<workflow>
<step n="1" goal="Generate content">
Create the main content for this document.
<template-output>main_content</template-output>
</step>
</workflow>
```
That's it! To execute, tell the BMAD agent: `workflow my-workflow`
## Core Concepts
### Tasks vs Workflows
| Aspect | Task | Workflow |
| -------------- | ------------------ | ----------------------- |
| **Purpose** | Single operation | Multi-step process |
| **Format** | XML in `.md` file | Folder with YAML config |
| **Location** | `/src/core/tasks/` | `/bmad/*/workflows/` |
| **User Input** | Minimal | Extensive |
| **Output** | Variable | Usually documents |
### Workflow Types
1. **Document Workflows** - Generate PRDs, specs, architectures
2. **Action Workflows** - Refactor code, run tools, orchestrate tasks
3. **Interactive Workflows** - Brainstorming, meditations, guided sessions
4. **Autonomous Workflows** - Run without human input (story generation)
5. **Meta-Workflows** - Coordinate other workflows
## Workflow Structure
### Required Files
```
my-workflow/
└── workflow.yaml # REQUIRED - Configuration
```
### Optional Files
```
my-workflow/
├── template.md # Document structure
├── instructions.md # Step-by-step guide
├── checklist.md # Validation criteria
└── [data files] # Supporting resources
```
### workflow.yaml Configuration
```yaml
# Basic metadata
name: 'workflow-name'
description: 'Clear purpose statement'
# Paths
installed_path: '{project-root}/bmad/module/workflows/name'
template: '{installed_path}/template.md' # or false
instructions: '{installed_path}/instructions.md' # or false
validation: '{installed_path}/checklist.md' # optional
# Output
default_output_file: '{output_folder}/document.md'
# Advanced options
autonomous: true # Skip user checkpoints
recommended_inputs: # Expected input docs
- input_doc: 'path/to/doc.md'
```
### Common Patterns
**Full Document Workflow** (most common)
- Has: All 4 files
- Use for: PRDs, architectures, specs
**Action Workflow** (no template)
- Has: workflow.yaml + instructions.md
- Use for: Refactoring, tool orchestration
**Autonomous Workflow** (no interaction)
- Has: workflow.yaml + template + instructions
- Use for: Automated generation
## Writing Instructions
### Basic Structure
```markdown
# instructions.md
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: workflow.yaml</critical>
<workflow>
<step n="1" goal="Clear goal statement">
Instructions for this step.
<template-output>variable_name</template-output>
</step>
<step n="2" goal="Next goal" optional="true">
Optional step instructions.
<template-output>another_variable</template-output>
</step>
</workflow>
```
### Step Attributes
- `n="X"` - Step number (required)
- `goal="..."` - What the step accomplishes (required)
- `optional="true"` - User can skip
- `repeat="3"` - Repeat N times
- `if="condition"` - Conditional execution
### Content Formats
**Markdown Format** (human-friendly):
```xml
<step n="1" goal="Define goals">
Write 1-3 bullet points about project success:
- User outcomes
- Business value
- Measurable results
<template-output>goals</template-output>
</step>
```
**XML Format** (precise control):
```xml
<step n="2" goal="Validate input">
<action>Load validation criteria</action>
<check if="validation fails">
<goto step="1">Return to previous step</goto>
</check>
<template-output>validated_data</template-output>
</step>
```
## Templates and Variables
### Variable Syntax
```markdown
# template.md
# {{project_name}} Document
## Section
{{section_content}}
_Generated on {{date}}_
```
### Variable Sources
1. **workflow.yaml** - Config values
2. **User input** - Runtime values
3. **Step outputs** - `<template-output>` tags
4. **System** - Date, paths, etc.
### Naming Convention
- Use snake_case: `{{user_requirements}}`
- Be descriptive: `{{primary_user_journey}}` not `{{puj}}`
## Flow Control
### Sub-Steps
```xml
<step n="3" goal="Process items">
<step n="3a" title="Gather data">
<action>Collect information</action>
</step>
<step n="3b" title="Analyze">
<action>Process collected data</action>
<template-output>analysis</template-output>
</step>
</step>
```
### Repetition
```xml
<!-- Fixed repetitions -->
<step n="4" repeat="3">
<action>Generate example {{iteration}}</action>
</step>
<!-- Conditional repetition -->
<step n="5" repeat="until-approved">
<action>Generate content</action>
<ask>Satisfactory? (y/n)</ask>
</step>
<!-- For-each repetition -->
<step n="6" repeat="for-each-epic">
<action>Define epic {{epic_name}}</action>
</step>
```
### Conditional Execution
**Single Action (use `action if=""`):**
```xml
<step n="6" goal="Load context">
<action if="file exists">Load existing document</action>
<action if="new project">Initialize from template</action>
</step>
```
**Multiple Actions (use `<check if="">...</check>`):**
```xml
<step n="7" goal="Validate">
<action>Check requirements</action>
<check if="incomplete">
<action>Log validation errors</action>
<goto step="2">Return to gathering</goto>
</check>
<check if="complete">
<action>Mark as validated</action>
<continue>Proceed</continue>
</check>
</step>
```
**When to use which:**
- **`<action if="">`** - Single conditional action (cleaner, more concise)
- **`<check if="">...</check>`** - Multiple items under same condition (explicit scope)
### Loops
```xml
<step n="8" goal="Refine">
<loop max="5">
<action>Generate solution</action>
<check if="criteria met">
<break>Exit loop</break>
</check>
</loop>
</step>
```
### Common XML Tags
**Execution:**
- `<action>` - Required action
- `<action if="condition">` - Single conditional action (inline)
- `<check if="condition">...</check>` - Conditional block for multiple items (requires closing tag)
- `<ask>` - User prompt
- `<goto>` - Jump to step
- `<invoke-workflow>` - Call another workflow
**Output:**
- `<template-output>` - Save checkpoint
- `<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>` - Trigger AI enhancement
- `<critical>` - Important info
- `<example>` - Show example
## Validation
### checklist.md Structure
```markdown
# Validation Checklist
## Structure
- [ ] All sections present
- [ ] No placeholders remain
- [ ] Proper formatting
## Content Quality
- [ ] Clear and specific
- [ ] Technically accurate
- [ ] Consistent terminology
## Completeness
- [ ] Ready for next phase
- [ ] Dependencies documented
- [ ] Action items defined
```
### Making Criteria Measurable
`- [ ] Good documentation`
`- [ ] Each function has JSDoc comments with parameters and return types`
## Examples
### Document Generation
```xml
<workflow>
<step n="1" goal="Gather context">
Load existing documents and understand project scope.
<template-output>context</template-output>
</step>
<step n="2" goal="Define requirements">
Create functional and non-functional requirements.
<template-output>requirements</template-output>
<invoke-task halt="true">{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</step>
<step n="3" goal="Validate">
Check requirements against goals.
<template-output>validated_requirements</template-output>
</step>
</workflow>
```
### Action Workflow
```xml
<workflow>
<step n="1" goal="Analyze codebase">
<action>Find all API endpoints</action>
<action>Identify patterns</action>
</step>
<step n="2" goal="Refactor">
<repeat for-each="endpoint">
<action>Update to new pattern</action>
</repeat>
</step>
<step n="3" goal="Verify">
<action>Run tests</action>
<check if="tests fail">
<goto step="2">Fix issues</goto>
</check>
</step>
</workflow>
```
### Meta-Workflow
```xml
<workflow name="greenfield-app">
<step n="1" goal="Discovery">
<invoke-workflow>product-brief</invoke-workflow>
<template-output>brief</template-output>
</step>
<step n="2" goal="Requirements">
<invoke-workflow input="{{brief}}">prd</invoke-workflow>
<template-output>prd</template-output>
</step>
<step n="3" goal="Architecture">
<invoke-workflow input="{{prd}}">architecture</invoke-workflow>
<template-output>architecture</template-output>
</step>
</workflow>
```
## Best Practices
### Design Principles
1. **Keep steps focused** - Single goal per step
2. **Limit scope** - 5-10 steps maximum
3. **Build progressively** - Start simple, add detail
4. **Checkpoint often** - Save after major sections
5. **Make sections optional** - Let users skip when appropriate
### Instruction Guidelines
1. **Be specific** - "Write 1-2 paragraphs" not "Write about"
2. **Provide examples** - Show expected output format
3. **Set limits** - "3-5 items maximum"
4. **Explain why** - Context helps AI make better decisions
### Conditional Execution Best Practices
**✅ DO:**
- Use `<action if="">` for single conditional actions
- Use `<check if="">...</check>` for blocks with multiple items
- Always close `<check>` tags explicitly
- Keep conditions simple and readable
**❌ DON'T:**
- Wrap single actions in `<check>` blocks (unnecessarily verbose)
- Forget to close `<check>` tags
- Nest too many levels (makes logic hard to follow)
**Examples:**
```xml
<!-- ✅ Good: Single action -->
<action if="file exists">Load configuration</action>
<!-- ❌ Avoid: Unnecessary wrapper for single action -->
<check if="file exists">
<action>Load configuration</action>
</check>
<!-- ✅ Good: Multiple actions in block -->
<check if="validation fails">
<action>Log error details</action>
<action>Notify user</action>
<goto step="1">Retry input</goto>
</check>
```
### Common Pitfalls
- **Missing critical headers** - Always include workflow engine references
- **Variables not replaced** - Ensure names match exactly
- **Too many steps** - Combine related actions
- **No checkpoints** - Add `<template-output>` tags
- **Vague instructions** - Be explicit about expectations
- **Unclosed check tags** - Always close `<check if="">...</check>` blocks
- **Wrong conditional pattern** - Use `<action if="">` for single items, `<check if="">` for blocks
## Web Bundles
Web bundles allow workflows to be deployed as self-contained packages for web environments.
### When to Use Web Bundles
- Deploying workflows to web-based AI platforms
- Creating shareable workflow packages
- Ensuring workflow portability without dependencies
- Publishing workflows for public use
### Web Bundle Requirements
1. **Self-Contained**: No external dependencies
2. **No Config Variables**: Cannot use `{config_source}` references
3. **Complete File List**: Every referenced file must be listed
4. **Relative Paths**: Use `bmad/` root paths (no `{project-root}`)
### Creating a Web Bundle
Add this section to your workflow.yaml:
```yaml
web_bundle:
name: 'workflow-name'
description: 'Workflow description'
author: 'Your Name'
# Core files (bmad/-relative paths)
instructions: 'bmad/module/workflows/workflow/instructions.md'
validation: 'bmad/module/workflows/workflow/checklist.md'
template: 'bmad/module/workflows/workflow/template.md'
# Data files (no config_source allowed)
data_file: 'bmad/module/workflows/workflow/data.csv'
# Complete file list - CRITICAL!
web_bundle_files:
- 'bmad/module/workflows/workflow/instructions.md'
- 'bmad/module/workflows/workflow/checklist.md'
- 'bmad/module/workflows/workflow/template.md'
- 'bmad/module/workflows/workflow/data.csv'
# Include ALL referenced files
```
### Converting Existing Workflows
1. **Remove Config Dependencies**:
- Replace `{config_source}:variable` with hardcoded values
- Convert `{project-root}/bmad/` to `bmad/`
2. **Inventory All Files**:
- Scan instructions.md for file references
- Check template.md for includes
- List all data files
3. **Test Completeness**:
- Ensure no missing file references
- Verify all paths are relative to bmad/
### Example: Complete Web Bundle
```yaml
web_bundle:
name: 'analyze-requirements'
description: 'Requirements analysis workflow'
author: 'BMad Team'
instructions: 'bmad/bmm/workflows/analyze-requirements/instructions.md'
validation: 'bmad/bmm/workflows/analyze-requirements/checklist.md'
template: 'bmad/bmm/workflows/analyze-requirements/template.md'
# Data files
techniques_data: 'bmad/bmm/workflows/analyze-requirements/techniques.csv'
patterns_data: 'bmad/bmm/workflows/analyze-requirements/patterns.json'
# Sub-workflow reference
validation_workflow: 'bmad/bmm/workflows/validate-requirements/workflow.yaml'
web_bundle_files:
# Core workflow files
- 'bmad/bmm/workflows/analyze-requirements/instructions.md'
- 'bmad/bmm/workflows/analyze-requirements/checklist.md'
- 'bmad/bmm/workflows/analyze-requirements/template.md'
# Data files
- 'bmad/bmm/workflows/analyze-requirements/techniques.csv'
- 'bmad/bmm/workflows/analyze-requirements/patterns.json'
# Sub-workflow and its files
- 'bmad/bmm/workflows/validate-requirements/workflow.yaml'
- 'bmad/bmm/workflows/validate-requirements/instructions.md'
- 'bmad/bmm/workflows/validate-requirements/checklist.md'
# Shared templates referenced in instructions
- 'bmad/bmm/templates/requirement-item.md'
- 'bmad/bmm/templates/validation-criteria.md'
```
## Troubleshooting
### Variables Not Replaced
- Check exact name match
- Verify `<template-output>` tag present
- Ensure step generates the variable
### Validation Fails
- Review checklist specificity
- Check for impossible requirements
- Verify checklist matches template
### Workflow Too Long
- Combine related steps
- Make sections optional
- Reduce elicitation points
### User Confusion
- Add clearer step goals
- Provide more examples
- Explain section purpose
---
_For implementation details, see:_
- `/src/core/tasks/workflow.xml` - Execution engine
- `/bmad/bmm/workflows/` - Production examples

View File

@@ -0,0 +1,24 @@
# {Title} Checklist Validation
## {Section Foo}
- [ ] Check 1
- [ ] Check 2
- [ ] ...
- [ ] Check n
...
## {Section Bar}
- [ ] Check 1
- [ ] Check 2
- [ ] ...
- [ ] Check n
## Final Validation
- [ ] Section Foo
- Issue List
- [ ] Section Bar
- Issue List

View File

@@ -0,0 +1,13 @@
# PRD Workflow Instructions
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-related}/bmad/{module-code}/workflows/{workflow}/workflow.yaml</critical>
<critical>Communicate in {communication_language} throughout the workflow process</critical>
<workflow>
<step n="1" goal="">
...
</step>
...
</workflow>

View File

@@ -0,0 +1,9 @@
# Title
**Date:** {{date}}
## {Section 1}
{{section_1_results}}
etc...

View File

@@ -0,0 +1,39 @@
# {TITLE} Workflow Template Configuration
name: "{WORKFLOW_CODE}"
description: "{WORKFLOW_DESCRIPTION}"
author: "BMad"
# Critical variables load from config_source
# Add Additional Config Pulled Variables Here
config_source: "{project-root}/{module-code}/config.yaml"
output_folder: "{config_source}:output_folder"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
date: system-generated
# Required Data Files - HALT if missing!
# optional, can be omitted
brain_techniques: "{installed_path}/{critical-data-file.csv}" # example, can be other formats or URLs
# Optional docs that if loaded on start to kickstart this workflow or used at some point, these are meant to be suggested inputs for the user
recommended_inputs: # optional, can be omitted
- example_input: "{project-root}/{path/to/file.md}"
# Module path and component files
installed_path: "{project-root}/bmad/{module-code}/workflows/{workflow-code}"
template: "{installed_path}/template.md" # optional, can be omitted
instructions: "{installed_path}/instructions.md" # optional, can be omitted
validation: "{installed_path}/checklist.md" # optional, can be omitted
# Output configuration
default_output_file: "{output_folder}/{file.md}" # optional, can be omitted
validation_output_file: "{output_folder}/{file-validation-report.md}" # optional, can be omitted
# Tool Requirements (MCP Required Tools or other tools needed to run this workflow)
required_tools: #optional, can be omitted
- "Tool Name": #example, can be omitted if none
description: "Description of why this tool is needed"
link: "https://link-to-tool.com"
# Web Bundle Configuration (optional - for web-deployable workflows)
# IMPORTANT: Web bundles are self-contained and cannot use config_source variables
# All referenced files must be listed in web_bundle_files

View File

@@ -0,0 +1,38 @@
# Build Workflow - Workflow Builder Configuration
name: create-workflow
description: "Interactive workflow builder that guides creation of new BMAD workflows with proper structure and validation for optimal human-AI collaboration. Includes optional brainstorming phase for workflow ideas and design."
author: "BMad Builder"
# Critical variables
config_source: "{project-root}/bmad/bmb/config.yaml"
custom_workflow_location: "{config_source}:custom_workflow_location"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
# Template files for new workflows
template_workflow_yaml: "{workflow_template_path}/workflow.yaml"
template_instructions: "{workflow_template_path}/instructions.md"
template_template: "{workflow_template_path}/template.md"
template_checklist: "{workflow_template_path}/checklist.md"
# Optional input docs
recommended_inputs:
- existing_workflows: "{project-root}/bmad/*/workflows/"
- bmm_workflows: "{project-root}/bmad/bmm/workflows/"
# Module path and component files
installed_path: "{project-root}/bmad/bmb/workflows/create-workflow"
template: false # This is an action workflow - no template needed
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"
# Required data files - CRITICAL for workflow conventions
workflow_creation_guide: "{installed_path}/workflow-creation-guide.md"
workflow_template_path: "{installed_path}/workflow-template"
# Output configuration - Creates the new workflow folder with all files
# If workflow belongs to a module: Save to module's workflows folder
# If standalone workflow: Save to custom_workflow_location/{{workflow_name}}
module_output_folder: "{project-root}/bmad/{{target_module}}/workflows/{{workflow_name}}"
standalone_output_folder: "{custom_workflow_location}/{{workflow_name}}"
# Web bundle configuration

View File

@@ -0,0 +1,119 @@
# Edit Workflow
## Purpose
An intelligent workflow editor that helps you modify existing BMAD workflows while adhering to all best practices and conventions documented in the workflow creation guide.
## Use Case
When you need to:
- Fix issues in existing workflows
- Update workflow configuration or metadata
- Improve instruction clarity and specificity
- Add new features or capabilities
- Ensure compliance with BMAD workflow conventions
## How to Invoke
```
workflow edit-workflow
```
Or through a BMAD agent:
```
*edit-workflow
```
## Expected Inputs
- **Target workflow path**: Path to the workflow.yaml file or workflow folder you want to edit
- **Edit type selection**: Choice of what aspect to modify
- **User approval**: For each proposed change
## Generated Outputs
- Modified workflow files (in place)
- Optional change log at: `{output_folder}/workflow-edit-log-{date}.md`
## Features
1. **Comprehensive Analysis**: Checks workflows against the official creation guide
2. **Prioritized Issues**: Identifies and ranks issues by importance
3. **Guided Editing**: Step-by-step process with explanations
4. **Best Practices**: Ensures all edits follow BMAD conventions
5. **Instruction Style Optimization**: Convert between intent-based and prescriptive styles
6. **Validation**: Checks all changes for correctness
7. **Change Tracking**: Documents what was modified and why
## Understanding Instruction Styles
When editing workflows, one powerful option is **adjusting the instruction style** to better match the workflow's purpose.
### Intent-Based vs Prescriptive Instructions
**Intent-Based (Recommended for most workflows)**
Guides the AI with goals and principles, allowing flexible conversation.
- **More flexible and conversational** - AI adapts to user responses
- **Better for complex discovery** - Requirements gathering, creative exploration
- **Quality over consistency** - Deep understanding matters more
- **Example**: `<action>Guide user to define their target audience with specific demographics and needs</action>`
**When to use:**
- Complex discovery processes (user research, requirements)
- Creative brainstorming and ideation
- Iterative refinement workflows
- Workflows requiring nuanced understanding
**Prescriptive**
Provides exact questions with structured options.
- **More controlled and predictable** - Consistent questions every time
- **Better for simple data collection** - Platform, format, yes/no choices
- **Consistency over quality** - Same execution every run
- **Example**: `<ask>What is your target platform? Choose: PC, Console, Mobile, Web</ask>`
**When to use:**
- Simple data collection (platform, format, binary choices)
- Compliance verification and standards adherence
- Configuration with finite options
- Quick setup wizards
### Edit Workflow's Style Adjustment Feature
The **"Adjust instruction style"** editing option (menu option 11) helps you:
1. **Analyze current style** - Identifies whether workflow is primarily intent-based or prescriptive
2. **Convert between styles** - Transform prescriptive steps to intent-based (or vice versa)
3. **Optimize the mix** - Intelligently recommend the best style for each step
4. **Step-by-step control** - Review and decide on each step individually
**Common scenarios:**
- **Make workflow more conversational**: Convert rigid <ask> tags to flexible <action> tags for complex steps
- **Make workflow more consistent**: Convert open-ended <action> tags to structured <ask> tags for simple data collection
- **Balance both approaches**: Use intent-based for discovery, prescriptive for simple choices
This feature is especially valuable when converting legacy workflows or adapting workflows for different use cases.
## Workflow Steps
1. Load and analyze target workflow
2. Check against best practices
3. Select editing focus
4. Load relevant documentation
5. Perform edits with user approval
6. Validate all changes (optional)
7. Generate change summary
## Requirements
- Access to workflow creation guide
- Read/write permissions for target workflow
- Understanding of BMAD workflow types

View File

@@ -0,0 +1,70 @@
# Edit Workflow - Validation Checklist
## Pre-Edit Analysis
- [ ] Target workflow.yaml file successfully loaded and parsed
- [ ] All referenced workflow files identified and accessible
- [ ] Workflow type correctly determined (document/action/interactive/autonomous/meta)
- [ ] Best practices guide loaded and available for reference
## Edit Execution Quality
- [ ] User clearly informed of identified issues with priority levels
- [ ] Edit menu presented with all 8 standard options
- [ ] Selected edit type matches the actual changes made
- [ ] All proposed changes explained with reasoning before application
## File Integrity
- [ ] All modified files maintain valid YAML/Markdown syntax
- [ ] No placeholders like {TITLE} or {WORKFLOW_CODE} remain in edited files
- [ ] File paths use proper variable substitution ({project-root}, {installed_path})
- [ ] All file references resolve to actual paths
## Convention Compliance
- [ ] Instructions.md contains critical workflow engine reference header
- [ ] Instructions.md contains workflow.yaml processing reference header
- [ ] All step numbers are sequential (1, 2, 3... or 1a, 1b, 2a...)
- [ ] Each step has both n= attribute and goal= attribute
- [ ] Variable names use snake_case consistently
- [ ] Template variables (if any) match <template-output> tags exactly
## Instruction Quality
- [ ] Each step has a single, clear goal stated
- [ ] Instructions are specific with quantities (e.g., "3-5 items" not "several items")
- [ ] Optional steps marked with optional="true" attribute
- [ ] Repeating steps use proper repeat syntax (repeat="3" or repeat="until-complete")
- [ ] User prompts use <ask> tags and wait for response
- [ ] Actions use <action> tags for required operations
## Validation Criteria (if checklist.md exists)
- [ ] All checklist items are measurable and specific
- [ ] No vague criteria like "Good documentation" present
- [ ] Checklist organized into logical sections
- [ ] Each criterion can be objectively verified as true/false
## Change Documentation
- [ ] All changes logged with description of what and why
- [ ] Change summary includes list of modified files
- [ ] Improvements clearly articulated in relation to best practices
- [ ] Next steps or recommendations provided
## Post-Edit Verification
- [ ] Edited workflow follows patterns from production examples
- [ ] No functionality broken by the edits
- [ ] Workflow ready for testing or production use
- [ ] User given option to test the edited workflow
## Common Issues Resolved
- [ ] Missing critical headers added if they were absent
- [ ] Broken variable references fixed
- [ ] Vague instructions made specific
- [ ] Template-only workflows have template.md file
- [ ] Action workflows have template: false in workflow.yaml
- [ ] Step count reasonable (5-10 steps maximum unless justified)

View File

@@ -0,0 +1,392 @@
# Edit Workflow - Workflow Editor Instructions
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/edit-workflow/workflow.yaml</critical>
<critical>Study the workflow creation guide thoroughly at: {workflow_creation_guide}</critical>
<critical>Communicate in {communication_language} throughout the workflow editing process</critical>
<workflow>
<step n="1" goal="Load and analyze target workflow">
<ask>What is the path to the workflow you want to edit? (provide path to workflow.yaml or workflow folder)</ask>
<action>Load the workflow.yaml file from the provided path</action>
<action>Identify the workflow type (document, action, interactive, autonomous, meta)</action>
<action>List all associated files (template.md, instructions.md, checklist.md, data files)</action>
<action>Load any existing instructions.md and template.md files if present</action>
Display a summary:
- Workflow name and description
- Type of workflow
- Files present
- Current structure overview
</step>
<step n="2" goal="Analyze against best practices">
<action>Load the complete workflow creation guide from: {workflow_creation_guide}</action>
<action>Check the workflow against the guide's best practices:</action>
Analyze for:
- **Critical headers**: Are workflow engine references present?
- **File structure**: Are all expected files present for this workflow type?
- **Variable consistency**: Do variable names match between files?
- **Step structure**: Are steps properly numbered and focused?
- **XML tags**: Are tags used correctly and consistently?
- **Instructions clarity**: Are instructions specific with examples and limits?
- **Template variables**: Use snake_case and descriptive names?
- **Validation criteria**: Are checklist items measurable and specific?
**Standard Config Audit:**
- **workflow.yaml config block**: Check for standard config variables
- Is config_source defined?
- Are output_folder, user_name, communication_language pulled from config?
- Is date set to system-generated?
- **Instructions usage**: Do instructions use config variables?
- Does it communicate in {communication_language}?
- Does it address {user_name}?
- Does it write to {output_folder}?
- **Template usage**: Does template.md include config variables in metadata?
**YAML/File Alignment:**
- **Unused yaml fields**: Are there variables in workflow.yaml not used in instructions OR template?
- **Missing variables**: Are there hardcoded values that should be variables?
- **Web bundle completeness**: If web_bundle exists, does it include all dependencies?
- All referenced files listed?
- Called workflows included?
<action>Create a list of identified issues or improvement opportunities</action>
<action>Prioritize issues by importance (critical, important, nice-to-have)</action>
</step>
<step n="3" goal="Select editing focus">
Present the editing menu to the user:
**What aspect would you like to edit?**
1. **Fix critical issues** - Address missing headers, broken references
2. **Add/fix standard config** - Ensure standard config block and variable usage
3. **Update workflow.yaml** - Modify configuration, paths, metadata
4. **Refine instructions** - Improve steps, add detail, fix flow
5. **Update template** - Fix variables, improve structure (if applicable)
6. **Enhance validation** - Make checklist more specific and measurable
7. **Add new features** - Add steps, optional sections, or capabilities
8. **Configure web bundle** - Add/update web bundle for deployment
9. **Remove bloat** - Delete unused yaml fields, duplicate values
10. **Optimize for clarity** - Improve descriptions, add examples
11. **Adjust instruction style** - Convert between intent-based and prescriptive styles
12. **Full review and update** - Comprehensive improvements across all files
<ask>Select an option (1-12) or describe a custom edit:</ask>
</step>
<step n="4" goal="Load relevant documentation">
Based on the selected edit type, load appropriate reference materials:
<check>If option 2 (Add/fix standard config):</check>
<action>Prepare standard config block template:</action>
```yaml
# Critical variables from config
config_source: '{project-root}/bmad/{module}/config.yaml'
output_folder: '{config_source}:output_folder'
user_name: '{config_source}:user_name'
communication_language: '{config_source}:communication_language'
date: system-generated
```
<action>Check if workflow.yaml has existing config section (don't duplicate)</action>
<action>Identify missing config variables to add</action>
<action>Check instructions.md for config variable usage</action>
<action>Check template.md for config variable usage</action>
<check>If editing instructions or adding features:</check>
<action>Review the "Writing Instructions" section of the creation guide</action>
<action>Load example workflows from {project-root}/bmad/bmm/workflows/ for patterns</action>
<check>If editing templates:</check>
<action>Review the "Templates and Variables" section of the creation guide</action>
<action>Ensure variable naming conventions are followed</action>
<check>If editing validation:</check>
<action>Review the "Validation" section and measurable criteria examples</action>
<check>If option 9 (Remove bloat):</check>
<action>Cross-reference all workflow.yaml fields against instructions.md and template.md</action>
<action>Identify yaml fields not used in any file</action>
<action>Check for duplicate fields in web_bundle section</action>
<check>If configuring web bundle:</check>
<action>Review the "Web Bundles" section of the creation guide</action>
<action>Scan all workflow files for referenced resources</action>
<action>Create inventory of all files that must be included</action>
<action>Scan instructions for <invoke-workflow> calls - those yamls must be included</action>
<check>If fixing critical issues:</check>
<action>Load the workflow execution engine documentation</action>
<action>Verify all required elements are present</action>
<check>If adjusting instruction style (option 11):</check>
<action>Analyze current instruction style in instructions.md:</action>
- Count <action> tags vs <ask> tags
- Identify goal-oriented language ("guide", "explore", "help") vs prescriptive ("choose", "select", "specify")
- Assess whether steps are open-ended or structured with specific options
<action>Determine current dominant style: intent-based, prescriptive, or mixed</action>
<action>Load the instruction style guide section from create-workflow</action>
</step>
<step n="5" goal="Perform edits" repeat="until-complete">
Based on the selected focus area:
<check>If configuring web bundle (option 7):</check>
<action>Check if web_bundle section exists in workflow.yaml</action>
If creating new web bundle:
1. Extract workflow metadata (name, description, author)
2. Convert all file paths to bmad/-relative format
3. Remove any {config_source} references
4. Scan instructions.md for all file references:
- Data files (CSV, JSON)
- Sub-workflows
- Shared templates
- Any included files
5. Scan template.md for any includes
6. Create complete web_bundle_files array
7. **CRITICAL**: Check for <invoke-workflow> calls in instructions:
- If workflow invokes other workflows, add existing_workflows field
- Maps workflow variable name to bmad/-relative path
- Signals bundler to recursively include invoked workflow's web_bundle
- Example: `existing_workflows: - core_brainstorming: "bmad/core/workflows/brainstorming/workflow.yaml"`
8. Generate web_bundle section
If updating existing web bundle:
1. Verify all paths are bmad/-relative
2. Check for missing files in web_bundle_files
3. Remove any config dependencies
4. Update file list with newly referenced files
<check>If adjusting instruction style (option 11):</check>
<action>Present current style analysis to user:</action>
**Current Instruction Style Analysis:**
- Current dominant style: {{detected_style}}
- Intent-based elements: {{intent_count}}
- Prescriptive elements: {{prescriptive_count}}
**Understanding Intent-Based vs Prescriptive:**
**1. Intent-Based (Recommended)** - Guide the LLM with goals and principles, let it adapt conversations naturally
- More flexible and conversational
- LLM chooses appropriate questions based on context
- Better for complex discovery and iterative refinement
- Example: `<action>Guide user to define their target audience with specific demographics and needs</action>`
**2. Prescriptive** - Provide exact wording for questions and options
- More controlled and predictable
- Ensures consistency across runs
- Better for simple data collection or specific compliance needs
- Example: `<ask>What is your target platform? Choose: PC, Console, Mobile, Web</ask>`
**When to use Intent-Based:**
- Complex discovery processes (user research, requirements gathering)
- Creative brainstorming and ideation
- Iterative refinement workflows
- When user input quality matters more than consistency
- Workflows requiring adaptation to context
**When to use Prescriptive:**
- Simple data collection (platform, format, yes/no choices)
- Compliance verification and standards adherence
- Configuration with finite options
- When consistency is critical across all executions
- Quick setup wizards
**Best Practice: Mix Both Styles**
Even workflows with a primary style should use the other when appropriate. For example:
```xml
<!-- Intent-based workflow with prescriptive moments -->
<step n="1" goal="Understand user vision">
<action>Explore the user's vision, uncovering their creative intent and target experience</action>
</step>
<step n="2" goal="Capture basic metadata">
<ask>What is your target platform? Choose: PC, Console, Mobile, Web</ask> <!-- Prescriptive for simple choice -->
</step>
<step n="3" goal="Deep dive into details">
<action>Guide user to articulate their approach, exploring mechanics and unique aspects</action> <!-- Back to intent-based -->
</step>
```
<ask>What would you like to do?
1. **Make more intent-based** - Convert prescriptive <ask> tags to goal-oriented <action> tags where appropriate
2. **Make more prescriptive** - Convert open-ended <action> tags to specific <ask> tags with options
3. **Optimize mix** - Use intent-based for complex steps, prescriptive for simple data collection
4. **Review specific steps** - Show me each step and let me decide individually
5. **Cancel** - Keep current style
Select option (1-5):</ask>
<action>Store user's style adjustment preference as {{style_adjustment_choice}}</action>
<check>If choice is 1 (make more intent-based):</check>
<action>Identify prescriptive <ask> tags that could be converted to intent-based <action> tags</action>
<action>For each candidate conversion:
- Show original prescriptive version
- Suggest intent-based alternative focused on goals
- Explain the benefit of the conversion
- Ask for approval
</action>
<action>Apply approved conversions</action>
<check>If choice is 2 (make more prescriptive):</check>
<action>Identify open-ended <action> tags that could be converted to prescriptive <ask> tags</action>
<action>For each candidate conversion:
- Show original intent-based version
- Suggest prescriptive alternative with specific options
- Explain when prescriptive is better here
- Ask for approval
</action>
<action>Apply approved conversions</action>
<check>If choice is 3 (optimize mix):</check>
<action>Analyze each step for complexity and purpose</action>
<action>Recommend style for each step:
- Simple data collection → Prescriptive
- Complex discovery → Intent-based
- Binary decisions → Prescriptive
- Creative exploration → Intent-based
- Standards/compliance → Prescriptive
- Iterative refinement → Intent-based
</action>
<action>Show recommendations with reasoning</action>
<action>Apply approved optimizations</action>
<check>If choice is 4 (review specific steps):</check>
<action>Present each step one at a time</action>
<action>For each step:
- Show current instruction text
- Identify current style (intent-based, prescriptive, or mixed)
- Offer to keep, convert to intent-based, or convert to prescriptive
- Apply user's choice before moving to next step
</action>
<check>If choice is 5 (cancel):</check>
<goto step="3">Return to editing menu</goto>
<action>Show the current content that will be edited</action>
<action>Explain the proposed changes and why they improve the workflow</action>
<action>Generate the updated content following all conventions from the guide</action>
<ask>Review the proposed changes. Options:
- [a] Accept and apply
- [e] Edit/modify the changes
- [s] Skip this change
- [n] Move to next file/section
- [d] Done with edits
</ask>
<check>If user selects 'a':</check>
<action>Apply the changes to the file</action>
<action>Log the change for the summary</action>
<check>If user selects 'e':</check>
<ask>What modifications would you like to make?</ask>
<goto step="5">Regenerate with modifications</goto>
<check>If user selects 'd':</check>
<continue>Proceed to validation</continue>
</step>
<step n="6" goal="Validate all changes" optional="true">
<action>Run a comprehensive validation check:</action>
**Basic Validation:**
- [ ] All file paths resolve correctly
- [ ] Variable names are consistent across files
- [ ] Step numbering is sequential and logical
- [ ] Required XML tags are properly formatted
- [ ] No placeholders remain (like {TITLE} or {WORKFLOW_CODE})
- [ ] Instructions match the workflow type
- [ ] Template variables match instruction outputs (if applicable)
- [ ] Checklist criteria are measurable (if present)
- [ ] Critical headers are present in instructions
- [ ] YAML syntax is valid
**Standard Config Validation:**
- [ ] workflow.yaml contains config_source
- [ ] output_folder, user_name, communication_language pulled from config
- [ ] date set to system-generated
- [ ] Instructions communicate in {communication_language} where appropriate
- [ ] Instructions address {user_name} where appropriate
- [ ] Instructions write to {output_folder} for file outputs
- [ ] Template optionally includes {{user_name}}, {{date}} in metadata (if document workflow)
- [ ] Template does NOT use {{communication_language}} in headers (agent-only variable)
**YAML/File Alignment:**
- [ ] All workflow.yaml variables used in instructions OR template
- [ ] No unused yaml fields (bloat-free)
- [ ] No duplicate fields between top-level and web_bundle
- [ ] Template variables match <template-output> tags in instructions
**Web bundle validation (if applicable):**
- [ ] web_bundle section present if needed
- [ ] All paths are bmad/-relative (no {project-root})
- [ ] No {config_source} variables in web bundle
- [ ] All referenced files listed in web_bundle_files
- [ ] Instructions, validation, template paths correct
- [ ] Called workflows (<invoke-workflow>) included in web_bundle_files
- [ ] Complete file inventory verified
<check>If any validation fails:</check>
<ask>Issues found. Would you like to fix them? (y/n)</ask>
<check>If yes:</check>
<goto step="5">Return to editing</goto>
</step>
<step n="7" goal="Generate change summary">
<action>Create a summary of all changes made for {user_name} in {communication_language}:</action>
**Summary Structure:**
- Workflow name
- Changes made (file-by-file descriptions)
- Improvements (how workflow is now better aligned with best practices)
- Files modified (complete list with paths)
- Next steps (suggestions for additional improvements or testing)
<ask>Would you like to:
- Test the edited workflow
- Make additional edits
- Exit
</ask>
<check>If test workflow:</check>
<action>Invoke the edited workflow for testing</action>
</step>
</workflow>

View File

@@ -0,0 +1,25 @@
# Edit Workflow - Workflow Editor Configuration
name: "edit-workflow"
description: "Edit existing BMAD workflows while following all best practices and conventions"
author: "BMad"
# Critical variables load from config_source
config_source: "{project-root}/bmad/bmb/config.yaml"
communication_language: "{config_source}:communication_language"
user_name: "{config_source}:user_name"
# Required Data Files - Critical for understanding workflow conventions
workflow_creation_guide: "{project-root}/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md"
workflow_execution_engine: "{project-root}/bmad/core/tasks/workflow.xml"
# Optional docs that can be used to understand the target workflow
recommended_inputs:
- target_workflow: "Path to the workflow.yaml file to edit"
- workflow_examples: "{project-root}/bmad/bmm/workflows/"
# Module path and component files
installed_path: "{project-root}/bmad/bmb/workflows/edit-workflow"
template: false # This is an action workflow - no template needed
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"
# Web bundle configuration

View File

@@ -0,0 +1,264 @@
# Module Brief Workflow
## Overview
The Module Brief workflow creates comprehensive blueprints for building new BMAD modules using strategic analysis and creative vision. It serves as the essential planning phase that transforms initial ideas into detailed, actionable specifications ready for implementation with the create-module workflow.
## Key Features
- **Strategic Module Planning** - Comprehensive analysis from concept to implementation roadmap
- **Multi-Mode Operation** - Interactive, Express, and YOLO modes for different planning needs
- **Creative Vision Development** - Guided process for innovative module concepts and unique value propositions
- **Architecture Design** - Detailed agent and workflow ecosystem planning with interaction models
- **User Journey Mapping** - Scenario-based validation ensuring practical usability
- **Technical Planning** - Infrastructure requirements, dependencies, and complexity assessment
- **Risk Assessment** - Proactive identification of challenges with mitigation strategies
- **Implementation Roadmap** - Phased development plan with clear deliverables and timelines
## Usage
### Basic Invocation
```bash
workflow module-brief
```
### With Brainstorming Input
```bash
# If you have brainstorming results from previous sessions
workflow module-brief --input brainstorming-session-2024-09-26.md
```
### Express Mode
```bash
# For quick essential planning only
workflow module-brief --mode express
```
### Configuration
The workflow uses standard BMB configuration:
- **output_folder**: Where the module brief will be saved
- **user_name**: Brief author information
- **communication_language**: Language for brief generation
- **date**: Automatic timestamp for versioning
## Workflow Structure
### Files Included
```
module-brief/
├── workflow.yaml # Configuration and metadata
├── instructions.md # Step-by-step execution guide
├── template.md # Module brief document structure
├── checklist.md # Validation criteria
└── README.md # This file
```
## Workflow Process
### Phase 1: Foundation and Context (Steps 1-3)
**Mode Selection and Input Gathering**
- Choose operational mode (Interactive, Express, YOLO)
- Check for and optionally load existing brainstorming results
- Gather background context and inspiration sources
**Module Vision Development**
- Define core problem the module solves
- Identify target user audience and use cases
- Establish unique value proposition and differentiators
- Explore creative themes and personality concepts
**Module Identity Establishment**
- Generate module code (kebab-case) with multiple options
- Create compelling, memorable module name
- Select appropriate category (Domain-Specific, Creative, Technical, Business, Personal)
- Define optional personality theme for consistent agent character
### Phase 2: Architecture Planning (Steps 4-5)
**Agent Architecture Design**
- Plan agent team composition and roles
- Define agent archetypes (Orchestrator, Specialist, Helper, Creator, Analyzer)
- Specify personality traits and communication styles
- Map key capabilities and signature commands
**Workflow Ecosystem Design**
- Categorize workflows by purpose and complexity:
- **Core Workflows**: Essential value-delivery functions (2-3)
- **Feature Workflows**: Specialized capabilities (3-5)
- **Utility Workflows**: Supporting operations (1-3)
- Define input-process-output flows for each workflow
- Assess complexity levels and implementation priorities
### Phase 3: Validation and User Experience (Steps 6-7)
**User Journey Mapping**
- Create detailed user scenarios and stories
- Map step-by-step usage flows through the module
- Validate end-to-end functionality and value delivery
- Identify potential friction points and optimization opportunities
**Technical Planning and Requirements**
- Assess data requirements and storage needs
- Map integration points with other modules and external systems
- Evaluate technical complexity and resource requirements
- Document dependencies and infrastructure needs
### Phase 4: Success Planning (Steps 8-9)
**Success Metrics Definition**
- Establish module success criteria and performance indicators
- Define quality standards and reliability requirements
- Create user experience goals and feedback mechanisms
- Set measurable outcomes for module effectiveness
**Development Roadmap Creation**
- Design phased approach with MVP, Enhancement, and Polish phases
- Define deliverables and timelines for each phase
- Prioritize features and capabilities by value and complexity
- Create clear milestones and success checkpoints
### Phase 5: Enhancement and Risk Management (Steps 10-12)
**Creative Features and Special Touches** (Optional)
- Design easter eggs and delightful user interactions
- Plan module lore and thematic consistency
- Add personality quirks and creative responses
- Develop backstories and universe building
**Risk Assessment and Mitigation**
- Identify technical, usability, and scope risks
- Develop mitigation strategies for each risk category
- Plan contingency approaches for potential challenges
- Document decision points and alternative paths
**Final Review and Export Preparation**
- Comprehensive review of all brief sections
- Validation against quality and completeness criteria
- Preparation for seamless handoff to create-module workflow
- Export readiness confirmation with actionable specifications
## Output
### Generated Files
- **Module Brief Document**: Comprehensive planning document at `{output_folder}/module-brief-{module_code}-{date}.md`
- **Strategic Specifications**: Ready-to-implement blueprint for create-module workflow
### Output Structure
The module brief contains detailed specifications across multiple sections:
1. **Executive Summary** - Vision, category, complexity, target users
2. **Module Identity** - Core concept, value proposition, personality theme
3. **Agent Architecture** - Agent roster, roles, interaction models
4. **Workflow Ecosystem** - Core, feature, and utility workflow specifications
5. **User Scenarios** - Primary use cases, secondary scenarios, user journey
6. **Technical Planning** - Data requirements, integrations, dependencies
7. **Success Metrics** - Success criteria, quality standards, performance targets
8. **Development Roadmap** - Phased implementation plan with deliverables
9. **Creative Features** - Special touches, easter eggs, module lore
10. **Risk Assessment** - Technical, usability, scope risks with mitigation
11. **Implementation Notes** - Priority order, design decisions, open questions
12. **Resources and References** - Inspiration sources, similar modules, technical references
## Requirements
- **Creative Vision** - Initial module concept or problem domain
- **Strategic Thinking** - Ability to plan architecture and user experience
- **Brainstorming Results** (optional) - Previous ideation sessions enhance planning quality
## Best Practices
### Before Starting
1. **Gather Inspiration** - Research similar tools, modules, and solutions in your domain
2. **Run Brainstorming Session** - Use ideation techniques to generate initial concepts
3. **Define Success Criteria** - Know what "successful module" means for your context
### During Execution
1. **Think User-First** - Always consider the end user experience and value delivery
2. **Be Specific** - Provide concrete examples and detailed specifications rather than abstractions
3. **Validate Early** - Use user scenarios to test if the module concept actually works
4. **Plan Iteratively** - Start with MVP and build complexity through phases
### After Completion
1. **Use as Blueprint** - Feed the brief directly into create-module workflow for implementation
2. **Review with Stakeholders** - Validate assumptions and gather feedback before building
3. **Update as Needed** - Treat as living document that evolves with implementation learnings
4. **Reference During Development** - Use as north star for design decisions and scope management
## Troubleshooting
### Common Issues
**Issue**: Stuck on module concept or vision
- **Solution**: Use creative prompts provided in the workflow
- **Check**: Review existing modules for inspiration and patterns
**Issue**: Agent or workflow architecture too complex
- **Solution**: Focus on MVP first, plan enhancement phases for additional complexity
- **Check**: Validate each component against user scenarios
**Issue**: Technical requirements unclear
- **Solution**: Research similar modules and their implementation approaches
- **Check**: Consult with technical stakeholders early in planning
**Issue**: Scope creep during planning
- **Solution**: Use phased roadmap to defer non-essential features
- **Check**: Regularly validate against core user scenarios and success criteria
## Customization
To customize this workflow:
1. **Modify Template Structure** - Update template.md to add new sections or reorganize content
2. **Extend Creative Prompts** - Add domain-specific ideation techniques in instructions.md
3. **Add Planning Tools** - Integrate additional analysis frameworks or planning methodologies
4. **Customize Validation** - Enhance checklist.md with specific quality criteria for your context
## Version History
- **v1.0.0** - Initial release
- Comprehensive strategic module planning
- Multi-mode operation (Interactive, Express, YOLO)
- Creative vision and architecture design tools
- User journey mapping and validation
- Risk assessment and mitigation planning
## Support
For issues or questions:
- Review the workflow creation guide at `/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md`
- Study existing module examples in `/bmad/` for patterns and inspiration
- Validate output using `checklist.md`
- Consult module structure guide at `create-module/module-structure.md`
---
_Part of the BMad Method v5 - BMB (Builder) Module_

View File

@@ -0,0 +1,116 @@
# Module Brief Validation Checklist
## Core Identity
- [ ] Module code follows kebab-case convention
- [ ] Module name is clear and memorable
- [ ] Module category is identified
- [ ] Target users are clearly defined
- [ ] Unique value proposition is articulated
## Vision and Concept
- [ ] Problem being solved is clearly stated
- [ ] Solution approach is explained
- [ ] Module scope is well-defined
- [ ] Success criteria are measurable
## Agent Architecture
- [ ] At least one agent is defined
- [ ] Each agent has a clear role and purpose
- [ ] Agent personalities are defined (if using personality themes)
- [ ] Agent interactions are mapped (for multi-agent modules)
- [ ] Key commands for each agent are listed
## Workflow Ecosystem
- [ ] Core workflows (2-3) are identified
- [ ] Each workflow has clear purpose
- [ ] Workflow complexity is assessed
- [ ] Input/output for workflows is defined
- [ ] Workflow categories are logical
## User Experience
- [ ] Primary use case is documented
- [ ] User scenarios demonstrate value
- [ ] User journey is realistic
- [ ] Learning curve is considered
- [ ] User feedback mechanism planned
## Technical Planning
- [ ] Data requirements are identified
- [ ] Integration points are mapped
- [ ] Dependencies are listed
- [ ] Technical complexity is assessed
- [ ] Performance requirements stated
## Development Roadmap
- [ ] Phase 1 MVP is clearly scoped
- [ ] Phase 2 enhancements are outlined
- [ ] Phase 3 polish items listed
- [ ] Timeline estimates provided
- [ ] Deliverables are specific
## Risk Management
- [ ] Technical risks identified
- [ ] Usability risks considered
- [ ] Scope risks acknowledged
- [ ] Mitigation strategies provided
- [ ] Open questions documented
## Creative Elements (Optional)
- [ ] Personality theme is consistent (if used)
- [ ] Special features add value
- [ ] Module feels cohesive
- [ ] Fun elements don't compromise functionality
## Documentation Quality
- [ ] All sections have content (no empty placeholders)
- [ ] Writing is clear and concise
- [ ] Technical terms are explained
- [ ] Examples are provided where helpful
- [ ] Next steps are actionable
## Implementation Readiness
- [ ] Brief provides enough detail for create-module workflow
- [ ] Agent specifications sufficient for create-agent workflow
- [ ] Workflow descriptions ready for create-workflow
- [ ] Resource requirements are clear
- [ ] Success metrics are measurable
## Final Validation
- [ ] Module concept is viable
- [ ] Scope is achievable
- [ ] Value is clear
- [ ] Brief is complete
- [ ] Ready for development
## Issues Found
### Critical Issues
<!-- Must be fixed before proceeding to build -->
### Recommendations
<!-- Suggested improvements -->
### Nice-to-Haves
<!-- Optional enhancements -->
---
**Validation Complete:** ⬜ Yes / ⬜ With Issues / ⬜ Needs Revision
**Validated By:** **\*\*\*\***\_**\*\*\*\***
**Date:** **\*\*\*\***\_**\*\*\*\***

View File

@@ -0,0 +1,267 @@
# Module Brief Instructions
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/module-brief/workflow.yaml</critical>
<critical>Communicate in {communication_language} throughout the module brief creation process</critical>
<workflow>
<step n="1" goal="Setup and context gathering">
<action>Ask the user which mode they prefer:</action>
1. **Interactive Mode** - Work through each section collaboratively with detailed questions
2. **Express Mode** - Quick essential questions only
3. **YOLO Mode** (#yolo) - Generate complete draft based on minimal input
<action>Check for available inputs:</action>
- Brainstorming results from previous sessions
- Existing module ideas or notes
- Similar modules for inspiration
<action>If brainstorming results exist, offer to load and incorporate them</action>
</step>
<step n="2" goal="Module concept and vision">
Ask the user to describe their module idea. Probe for:
- What problem does this module solve?
- Who would use this module?
- What makes this module exciting or unique?
- Any inspiring examples or similar tools?
If they're stuck, offer creative prompts:
- "Imagine you're a [role], what tools would make your life easier?"
- "What repetitive tasks could be automated with agents?"
- "What domain expertise could be captured in workflows?"
<template-output>module_vision</template-output>
</step>
<step n="3" goal="Define module identity">
Based on the vision, work with user to define:
**Module Code** (kebab-case):
- Suggest 2-3 options based on their description
- Ensure it's memorable and descriptive
**Module Name** (friendly):
- Creative, engaging name that captures the essence
**Module Category:**
- Domain-Specific (legal, medical, finance)
- Creative (writing, gaming, music)
- Technical (devops, testing, architecture)
- Business (project management, marketing)
- Personal (productivity, learning)
**Personality Theme** (optional but fun!):
- Should the module have a consistent personality across agents?
- Star Trek crew? Fantasy party? Corporate team? Reality show cast?
<template-output>module_identity</template-output>
</step>
<step n="4" goal="Agent architecture planning">
<action>Help user envision their agent team</action>
For each agent, capture:
- **Role**: What's their specialty?
- **Personality**: How do they communicate? (reference communication styles)
- **Key Capabilities**: What can they do?
- **Signature Commands**: 2-3 main commands
Suggest agent archetypes based on module type:
- The Orchestrator (manages other agents)
- The Specialist (deep expertise)
- The Helper (utility functions)
- The Creator (generates content)
- The Analyzer (processes and evaluates)
<template-output>agent_architecture</template-output>
</step>
<step n="5" goal="Workflow ecosystem design">
<action>Map out the workflow landscape</action>
Categorize workflows:
**Core Workflows** (2-3 essential ones):
- The primary value-delivery workflows
- What users will use most often
**Feature Workflows** (3-5 specialized):
- Specific capabilities
- Advanced features
**Utility Workflows** (1-3 supporting):
- Setup, configuration
- Maintenance, cleanup
For each workflow, define:
- Purpose (one sentence)
- Input → Process → Output
- Complexity (simple/standard/complex)
<template-output>workflow_ecosystem</template-output>
</step>
<step n="6" goal="User journey and scenarios">
<action>Create usage scenarios to validate the design</action>
Write 2-3 user stories:
"As a [user type], I want to [goal], so that [outcome]"
Then walk through how they'd use the module:
1. They load [agent]
2. They run [command/workflow]
3. They get [result]
4. This helps them [achievement]
This validates the module makes sense end-to-end.
<template-output>user_scenarios</template-output>
</step>
<step n="7" goal="Technical and resource planning">
Assess technical requirements:
**Data Requirements:**
- What data/files does the module need?
- Any external APIs or services?
- Storage or state management needs?
**Integration Points:**
- Other BMAD modules it might use
- External tools or platforms
- Import/export formats
**Complexity Assessment:**
- Simple (standalone, no dependencies)
- Standard (some integrations, moderate complexity)
- Complex (multiple systems, advanced features)
<template-output>technical_planning</template-output>
</step>
<step n="8" goal="Success metrics and validation">
Define what success looks like:
**Module Success Criteria:**
- What indicates the module is working well?
- How will users measure value?
- What feedback mechanisms?
**Quality Standards:**
- Performance expectations
- Reliability requirements
- User experience goals
<template-output>success_metrics</template-output>
</step>
<step n="9" goal="Development roadmap">
Create a phased approach:
**Phase 1 - MVP (Minimum Viable Module):**
- 1 primary agent
- 2-3 core workflows
- Basic functionality
**Phase 2 - Enhancement:**
- Additional agents
- More workflows
- Refined features
**Phase 3 - Polish:**
- Advanced features
- Optimizations
- Nice-to-haves
<template-output>development_roadmap</template-output>
</step>
<step n="10" goal="Creative flourishes and special features" optional="true">
<action>If user wants to add special touches:</action>
**Easter Eggs:**
- Hidden commands or responses
- Fun interactions between agents
**Delighters:**
- Unexpected helpful features
- Personality quirks
- Creative responses
**Module Lore:**
- Backstory for agents
- Thematic elements
- Consistent universe
<template-output>creative_features</template-output>
</step>
<step n="11" goal="Risk assessment and mitigation">
Identify potential challenges:
**Technical Risks:**
- Complex integrations
- Performance concerns
- Dependency issues
**Usability Risks:**
- Learning curve
- Complexity creep
- User confusion
**Scope Risks:**
- Feature bloat
- Timeline expansion
- Resource constraints
For each risk, note mitigation strategy.
<template-output>risk_assessment</template-output>
</step>
<step n="12" goal="Final review and export readiness">
<action>Review all sections with {user_name}</action>
<action>Ensure module brief is ready for create-module workflow</action>
<ask>Would {user_name} like to:
1. Proceed directly to create-module workflow
2. Save and refine later
3. Generate additional planning documents
</ask>
<action>Inform {user_name} in {communication_language} that this brief can be fed directly into create-module workflow</action>
<template-output>final_brief</template-output>
</step>
</workflow>

View File

@@ -0,0 +1,275 @@
# Module Brief: {{module_name}}
**Date:** {{date}}
**Author:** {{user_name}}
**Module Code:** {{module_code}}
**Status:** Ready for Development
---
## Executive Summary
{{module_vision}}
**Module Category:** {{module_category}}
**Complexity Level:** {{complexity_level}}
**Target Users:** {{target_users}}
---
## Module Identity
### Core Concept
{{module_identity}}
### Unique Value Proposition
What makes this module special:
{{unique_value}}
### Personality Theme
{{personality_theme}}
---
## Agent Architecture
{{agent_architecture}}
### Agent Roster
{{agent_roster}}
### Agent Interaction Model
How agents work together:
{{agent_interactions}}
---
## Workflow Ecosystem
{{workflow_ecosystem}}
### Core Workflows
Essential functionality that delivers primary value:
{{core_workflows}}
### Feature Workflows
Specialized capabilities that enhance the module:
{{feature_workflows}}
### Utility Workflows
Supporting operations and maintenance:
{{utility_workflows}}
---
## User Scenarios
### Primary Use Case
{{primary_scenario}}
### Secondary Use Cases
{{secondary_scenarios}}
### User Journey
Step-by-step walkthrough of typical usage:
{{user_journey}}
---
## Technical Planning
### Data Requirements
{{data_requirements}}
### Integration Points
{{integration_points}}
### Dependencies
{{dependencies}}
### Technical Complexity Assessment
{{technical_planning}}
---
## Success Metrics
### Module Success Criteria
How we'll know the module is successful:
{{success_criteria}}
### Quality Standards
{{quality_standards}}
### Performance Targets
{{performance_targets}}
---
## Development Roadmap
### Phase 1: MVP (Minimum Viable Module)
**Timeline:** {{phase1_timeline}}
{{phase1_components}}
**Deliverables:**
{{phase1_deliverables}}
### Phase 2: Enhancement
**Timeline:** {{phase2_timeline}}
{{phase2_components}}
**Deliverables:**
{{phase2_deliverables}}
### Phase 3: Polish and Optimization
**Timeline:** {{phase3_timeline}}
{{phase3_components}}
**Deliverables:**
{{phase3_deliverables}}
---
## Creative Features
### Special Touches
{{creative_features}}
### Easter Eggs and Delighters
{{easter_eggs}}
### Module Lore and Theming
{{module_lore}}
---
## Risk Assessment
### Technical Risks
{{technical_risks}}
### Usability Risks
{{usability_risks}}
### Scope Risks
{{scope_risks}}
### Mitigation Strategies
{{risk_mitigation}}
---
## Implementation Notes
### Priority Order
1. {{priority_1}}
2. {{priority_2}}
3. {{priority_3}}
### Key Design Decisions
{{design_decisions}}
### Open Questions
{{open_questions}}
---
## Resources and References
### Inspiration Sources
{{inspiration_sources}}
### Similar Modules
{{similar_modules}}
### Technical References
{{technical_references}}
---
## Appendices
### A. Detailed Agent Specifications
{{detailed_agent_specs}}
### B. Workflow Detailed Designs
{{detailed_workflow_specs}}
### C. Data Structures and Schemas
{{data_schemas}}
### D. Integration Specifications
{{integration_specs}}
---
## Next Steps
1. **Review this brief** with stakeholders
2. **Run create-module workflow** using this brief as input
3. **Create first agent** using create-agent workflow
4. **Develop initial workflows** using create-workflow
5. **Test MVP** with target users
---
_This Module Brief is ready to be fed directly into the create-module workflow for scaffolding and implementation._
**Module Viability Score:** {{viability_score}}/10
**Estimated Development Effort:** {{effort_estimate}}
**Confidence Level:** {{confidence_level}}
---
**Approval for Development:**
- [ ] Concept Approved
- [ ] Scope Defined
- [ ] Resources Available
- [ ] Ready to Build
---
_Generated on {{date}} by {{user_name}} using the BMAD Method Module Brief workflow_

View File

@@ -0,0 +1,27 @@
# Module Brief Workflow Configuration
name: module-brief
description: "Create a comprehensive Module Brief that serves as the blueprint for building new BMAD modules using strategic analysis and creative vision"
author: "BMad Builder"
# Critical variables
config_source: "{project-root}/bmad/bmb/config.yaml"
output_folder: "{config_source}:output_folder"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
date: system-generated
# Optional input docs that enhance module planning
recommended_inputs:
- brainstorming_results: "{output_folder}/brainstorming-*.md"
- existing_modules: "{project-root}/bmad/"
- module_examples: "{project-root}/bmad/bmb/workflows/create-module/module-structure.md"
# Module path and component files
installed_path: "{project-root}/bmad/bmb/workflows/module-brief"
template: "{installed_path}/template.md"
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"
# Output configuration
default_output_file: "{output_folder}/module-brief-{{module_code}}-{{date}}.md"
# Web bundle configuration

View File

@@ -0,0 +1,87 @@
# ReDoc - Reverse-Tree Documentation Engine
**Type:** Autonomous Action Workflow
**Module:** BMad Builder (bmb)
## Purpose
ReDoc is an intelligent documentation maintenance system for BMAD modules, workflows, and agents. It uses a reverse-tree approach (leaf folders first, then parent folders) to systematically generate and update README.md files with technical writer quality output.
The workflow understands BMAD conventions deeply and focuses documentation on distinctive features rather than explaining standard patterns, resulting in succinct, precise technical documentation.
## Key Features
- **Reverse-Tree Processing**: Documents from deepest folders up to module root, allowing child documentation to inform parent summaries
- **Convention-Aware**: Loads BMAD architecture patterns and only documents unique/distinctive aspects
- **Scalability**: Automatically creates catalog documents (WORKFLOWS-CATALOG.md, AGENTS-CATALOG.md) for massive folders (>10 items)
- **Diff-Aware**: Tracks `last-redoc-date` frontmatter to enable change detection since last run
- **Autonomous**: Runs without user checkpoints unless clarification is genuinely required
- **Comprehensive**: Reads ALL files completely before generating documentation (no partial reads)
## Usage
Invoke with a target path:
```
workflow redoc
```
When prompted, provide one of:
- **Module path**: `bmad/bmm` (documents entire module: root, workflows, agents)
- **Workflows folder**: `bmad/bmm/workflows` (documents all workflows)
- **Agents folder**: `bmad/bmm/agents` (documents all agents)
- **Single workflow**: `bmad/bmm/workflows/product-brief` (documents one workflow)
- **Single agent**: `bmad/bmm/agents/prd-agent.md` (documents one agent)
## Inputs
### Required
- **target_path**: Path to module, folder, or specific component to document
### Knowledge Base (Auto-loaded)
- agent-architecture.md
- agent-command-patterns.md
- agent-types.md
- module-structure.md
- workflow-creation-guide.md
## Outputs
### Created/Updated Files
- **README.md**: At each documented level (workflow folders, agent folders, module root)
- **Catalog files**: WORKFLOWS-CATALOG.md, AGENTS-CATALOG.md (for massive folders)
- **Frontmatter**: All READMEs include `last-redoc-date: <timestamp>`
### Summary Report
- Documentation coverage statistics
- List of files created/updated
- Any items requiring manual review
## Workflow Steps
1. **Initialize**: Load BMAD conventions and validate target
2. **Analyze Structure**: Build reverse-tree execution plan
3. **Process Leaves**: Document individual workflows/agents (deepest first)
4. **Process Folders**: Document workflow/agent collections with categorization
5. **Process Root**: Document module overview with links and highlights
6. **Validate**: Verify completeness and generate report
7. **Diff Analysis** (optional): Show changes since last redoc
8. **Complete**: Report success and suggest next steps
## Technical Details
- **Execution**: Autonomous with minimal user interaction
- **Quality**: Technical writer standards - succinct, precise, professional
- **Context-Aware**: Uses BMAD convention knowledge to highlight only distinctive features
- **Scalable**: Handles folders of any size with intelligent catalog creation
## Next Steps After Running
1. Review generated documentation for accuracy
2. If documenting a subfolder, run redoc on parent module to update references
3. Commit documentation updates with meaningful message

View File

@@ -0,0 +1,99 @@
# ReDoc Workflow Validation Checklist
## Initialization and Setup
- [ ] All BMAD convention documents loaded and understood
- [ ] Target path validated and exists
- [ ] Target type correctly identified (module/workflow/agent/folder)
- [ ] Documentation execution plan created with reverse-tree order
## File Analysis
- [ ] All files in target scope read completely (no offset/limit usage)
- [ ] Existing README.md files detected and last-redoc-date parsed
- [ ] Massive folders (>10 items) identified for catalog document creation
- [ ] Documentation depth levels calculated correctly
## Leaf-Level Documentation (Workflows)
- [ ] Each workflow's ALL files read: workflow.yaml, instructions.md, template.md, checklist.md
- [ ] README.md includes frontmatter with current last-redoc-date
- [ ] Description is 2-4 paragraphs of technical writer quality
- [ ] Focuses on DISTINCTIVE features, not BMAD boilerplate conventions
- [ ] Includes "Usage" section with invocation command
- [ ] Includes "Inputs" and "Outputs" sections where applicable
- [ ] Succinct and precise language used throughout
## Leaf-Level Documentation (Agents)
- [ ] Each agent file read completely including XML structure, commands, persona
- [ ] README.md includes frontmatter with current last-redoc-date
- [ ] Description is 1-3 paragraphs of technical writer quality
- [ ] Lists all available commands clearly
- [ ] Explains when to use this agent
- [ ] Highlights unique capabilities vs standard agent patterns
## Mid-Level Documentation (Folders)
- [ ] All child README.md files read before generating folder README
- [ ] Workflows categorized logically if massive folder (>10 items)
- [ ] Agents categorized by type if massive folder (>10 items)
- [ ] Catalog documents (WORKFLOWS-CATALOG.md, AGENTS-CATALOG.md) created for massive folders
- [ ] Catalog documents include frontmatter with last-redoc-date
- [ ] Folder README.md references catalog if one exists
- [ ] Folder README.md is succinct (1-2 paragraphs + listings/links)
- [ ] Notable/commonly-used items highlighted
## Root Module Documentation
- [ ] Module config.yaml read and understood
- [ ] Workflows and agents folder READMEs read before creating root README
- [ ] Root README includes frontmatter with current last-redoc-date
- [ ] Module purpose clearly stated in 2-3 sentences
- [ ] Links to /workflows/README.md and /agents/README.md included
- [ ] 2-3 key workflows mentioned with context
- [ ] 2-3 key agents mentioned with context
- [ ] Configuration section highlights UNIQUE settings only
- [ ] Usage section explains invocation patterns
- [ ] BMAD convention knowledge applied (describes only distinctive aspects)
## Quality Standards
- [ ] All documentation uses proper BMAD terminology
- [ ] Technical writer quality: clear, concise, professional
- [ ] No placeholder text or generic descriptions remain
- [ ] All links are valid and correctly formatted
- [ ] Frontmatter syntax is correct and dates are current
- [ ] No redundant explanation of standard BMAD patterns
## Validation and Reporting
- [ ] All planned documentation items created/updated
- [ ] Frontmatter dates verified as current across all files
- [ ] File paths and internal links validated
- [ ] Summary report generated with counts and coverage
- [ ] Files skipped (if any) documented with reasons
## Git Diff Analysis (Optional Step)
- [ ] last-redoc-date timestamps extracted correctly
- [ ] Git log queried for changes since last redoc
- [ ] Modified files identified and reported
- [ ] Findings presented clearly to user
## Final Validation
- [ ] Documentation Coverage
- All README.md files in scope created/updated
- Catalog documents created where needed
- No documentation gaps identified
- [ ] Execution Quality
- Reverse-tree order followed (leaf → root)
- Autonomous execution (minimal user prompts)
- Only clarification questions asked when truly necessary
- [ ] Output Quality
- Technical precision maintained throughout
- Succinct descriptions (no verbose explanations)
- Professional documentation standards met

View File

@@ -0,0 +1,265 @@
# ReDoc Workflow Instructions
<critical>The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/src/modules/bmb/workflows/redoc/workflow.yaml</critical>
<critical>Communicate in {communication_language} throughout the documentation process</critical>
<critical>This is an AUTONOMOUS workflow - minimize user interaction unless clarification is absolutely required</critical>
<critical>IMPORTANT: Process ONE document at a time to avoid token limits. Each README should be created individually, not batched.</critical>
<critical>When using Task tool with sub-agents: Only request ONE workflow or agent documentation per invocation to prevent token overflow.</critical>
<workflow>
<step n="1" goal="Load BMAD conventions and initialize">
<action>Load ALL BMAD convention documents from {bmad_conventions}:
- agent_architecture.md - Understand agent XML structure and patterns
- agent_command_patterns.md - Command syntax and activation patterns
- agent_types.md - Standard agent categories and purposes
- module_structure.md - Module organization and folder conventions
- workflow_guide.md - Workflow structure and best practices
</action>
<action>Internalize these conventions so you can:
- Recognize standard patterns vs unique implementations
- Describe only what's distinctive about each component
- Use proper terminology consistently
- Write with technical precision
</action>
<action>Get target path from user:
- Ask: "What do you want to document? (module path, workflow path, agent path, or folder path)"
- Store as {{target_path}}
</action>
<action>Validate target path exists and determine target type:
- Module root (contains config.yaml, /workflows, /agents folders)
- Workflows folder (contains multiple workflow folders)
- Agents folder (contains multiple agent .md files)
- Single workflow folder (contains workflow.yaml)
- Single agent file (.md)
</action>
<action>Store target type as {{target_type}} for conditional processing</action>
</step>
<step n="2" goal="Analyze directory structure and existing documentation">
<action>Build complete tree structure of {{target_path}} using Glob and file system tools</action>
<action>Identify all documentation points:
- List all folders requiring README.md files
- Detect existing README.md files
- Parse frontmatter from existing READMEs to extract last-redoc-date
- Calculate documentation depth (how many levels deep)
</action>
<action>Create documentation map with execution order (deepest → shallowest):
- Level 0 (deepest): Individual workflow folders, individual agent files
- Level 1: /workflows folder, /agents folder
- Level 2 (root): Module root README.md
</action>
<action>Detect "massive folders" requiring child catalog documents:
- Threshold: >10 items or complex categorization needed
- Mark folders for catalog document creation (e.g., WORKFLOWS-CATALOG.md, AGENTS-CATALOG.md)
</action>
<critical>Store execution order as {{doc_execution_plan}} - this ensures reverse-tree processing</critical>
</step>
<step n="3" goal="Process leaf-level documentation" repeat="for-each-leaf-item">
<critical>TOKEN LIMIT WARNING: Process ONE item at a time to prevent token overflow issues.</critical>
<critical>If using Task tool with sub-agents: NEVER batch multiple workflows/agents in a single invocation.</critical>
<critical>Each README creation should be a separate operation with its own file save.</critical>
<critical>Sequential processing is MANDATORY - do not attempt parallel documentation generation.</critical>
<action>For each individual workflow folder in execution plan (PROCESS ONE AT A TIME):
1. Read ALL files completely:
- workflow.yaml (metadata, purpose, configuration)
- instructions.md (step structure, goals)
- template.md (output structure) if exists
- checklist.md (validation criteria) if exists
- Any supporting data files
2. Synthesize understanding:
- Core purpose and use case
- Input requirements
- Output produced
- Unique characteristics (vs standard BMAD workflow patterns)
- Key steps or special features
3. Generate/update README.md:
- Add frontmatter: `---\nlast-redoc-date: {{date}}\n---\n`
- Write 2-4 paragraph technical description
- Include "Usage" section with invocation command
- Include "Inputs" section if applicable
- Include "Outputs" section
- Be succinct and precise - technical writer quality
- Focus on DISTINCTIVE features, not boilerplate
4. Save README.md to workflow folder
<critical>If multiple workflows need documentation, process them SEQUENTIALLY not in parallel. Each workflow gets its own complete processing cycle.</critical>
</action>
<action>For each individual agent file in execution plan (PROCESS ONE AT A TIME):
1. Read agent definition file completely:
- XML structure and metadata
- Commands and their purposes
- Activation patterns
- Persona and communication style
- Critical actions and workflows invoked
2. Synthesize understanding:
- Agent purpose and role
- Available commands
- When to use this agent
- Unique capabilities
3. Generate/update README.md (or agent-name-README.md if in shared folder):
- Add frontmatter: `---\nlast-redoc-date: {{date}}\n---\n`
- Write 1-3 paragraph technical description
- Include "Commands" section listing available commands
- Include "Usage" section
- Focus on distinctive features
4. Save README.md
</action>
<check>If clarification needed about purpose or unique features → Ask user briefly, then continue</check>
</step>
<step n="4" goal="Process mid-level folder documentation" if="target_type requires folder docs">
<action>For /workflows folder:
1. Read ALL workflow README.md files created in Step 3
2. Categorize workflows by purpose/type if folder is massive (>10 workflows):
- Document generation workflows
- Action workflows
- Meta-workflows
- Interactive workflows
3. If massive folder detected:
- Create WORKFLOWS-CATALOG.md with categorized listings
- Each entry: workflow name, 1-sentence description, link to folder
- Add frontmatter with last-redoc-date
4. Generate/update /workflows/README.md:
- Add frontmatter: `---\nlast-redoc-date: {{date}}\n---\n`
- High-level summary of workflow collection
- If catalog exists: reference it
- If not massive: list all workflows with brief descriptions and links
- Highlight notable or commonly-used workflows
- Keep succinct (1-2 paragraphs + list)
5. Save README.md
</action>
<action>For /agents folder:
1. Read ALL agent README.md files
2. Categorize agents by type if massive folder (>10 agents):
- Task agents
- Meta agents
- Specialized agents
- Utility agents
3. If massive folder detected:
- Create AGENTS-CATALOG.md with categorized listings
- Each entry: agent name, 1-sentence description, link
- Add frontmatter with last-redoc-date
4. Generate/update /agents/README.md:
- Add frontmatter: `---\nlast-redoc-date: {{date}}\n---\n`
- High-level summary of agent collection
- If catalog exists: reference it
- If not massive: list all agents with brief descriptions
- Highlight key agents and their purposes
- Keep succinct
5. Save README.md
</action>
</step>
<step n="5" goal="Process root module documentation" if="target_type is module root">
<action>For module root README.md:
1. Read module config.yaml for metadata and configuration
2. Read /workflows/README.md and /agents/README.md created in Step 4
3. Identify module's unique purpose within BMAD ecosystem
4. Generate/update module README.md:
- Add frontmatter: `---\nlast-redoc-date: {{date}}\n---\n`
Structure:
- # Module Name
- **Purpose**: 2-3 sentence high-level module purpose
- **Overview**: 1-2 paragraphs describing what this module provides
- ## Workflows
- Link to /workflows/README.md with 1-sentence summary
- Mention count and highlight 2-3 key workflows
- ## Agents
- Link to /agents/README.md with 1-sentence summary
- Mention count and highlight 2-3 key agents
- ## Configuration
- Notable config.yaml settings if unique/important
- Reference paths and conventions
- ## Usage
- How to invoke workflows or agents from this module
- Prerequisites if any
Focus on UNIQUE aspects using BMAD convention knowledge:
- Don't explain standard BMAD patterns
- Highlight what makes THIS module distinctive
- Use proper BMAD terminology
5. Save README.md to module root
</action>
</step>
<step n="6" goal="Validation and summary report">
<action>Verify all planned documentation was created/updated:
- Check each item in {{doc_execution_plan}}
- Confirm frontmatter dates are current
- Validate file paths and links
</action>
<action>Generate summary report showing:
- Target documented: {{target_path}}
- Target type: {{target_type}}
- Documentation files created/updated (count and list)
- Any catalog files created
- Files skipped or requiring manual review (if any)
- Coverage: X% of items documented
- Processing notes: Confirm sequential processing was used to avoid token limits
</action>
<action>Display summary to user</action>
</step>
<step n="7" goal="Optional git diff analysis" optional="true">
<ask>Would you like to see what changed since the last redoc run? [y/n]</ask>
<action if="user_response == 'y'">
For each README with last-redoc-date frontmatter:
1. Extract last-redoc-date timestamp
2. Use git log to find files modified since that date in the documented folder
3. Highlight files that changed but may need documentation updates
4. Report findings to user
</action>
</step>
<step n="8" goal="Completion">
<action>Confirm to {user_name} in {communication_language} that autonomous workflow execution is complete</action>
<action>Provide path to all updated documentation</action>
<action>Suggest next steps if needed</action>
</step>
</workflow>

View File

@@ -0,0 +1,31 @@
# ReDoc - Reverse-Tree Documentation Engine
name: "redoc"
description: "Autonomous documentation system that maintains module, workflow, and agent documentation using a reverse-tree approach (leaf folders first, then parents). Understands BMAD conventions and produces technical writer quality output."
author: "BMad"
# Critical variables
config_source: "{project-root}/bmad/bmb/config.yaml"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
# Required knowledge base - BMAD conventions and patterns
bmad_conventions:
agent_architecture: "{project-root}/src/modules/bmb/workflows/create-agent/agent-architecture.md"
agent_command_patterns: "{project-root}/src/modules/bmb/workflows/create-agent/agent-command-patterns.md"
agent_types: "{project-root}/src/modules/bmb/workflows/create-agent/agent-types.md"
module_structure: "{project-root}/src/modules/bmb/workflows/create-module/module-structure.md"
workflow_guide: "{project-root}/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md"
# Runtime inputs
target_path: "" # User specifies: module path, workflow path, agent path, or folder path
# Module path and component files
installed_path: "{project-root}/src/modules/bmb/workflows/redoc"
template: false # Action workflow - updates files in place
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"
# Configuration
autonomous: true # Runs without user checkpoints unless clarification needed
# Web bundle configuration

193
bmad/bmd/README.md Normal file
View File

@@ -0,0 +1,193 @@
# BMD - BMAD Development Module
**Version:** 1.0.0-alpha.0
**Purpose:** Specialized agents and tools for maintaining and developing the BMAD framework itself
## Overview
The BMD module is fundamentally different from other BMAD modules:
- **BMM (BMad Method)** - Helps users build software projects using BMAD
- **BMB (BMad Builder)** - Helps users create agents/workflows/modules for their projects
- **CIS (Creative Intelligence Suite)** - Provides creative tools for any domain
- **BMD (BMAD Development)** - Helps maintainers build and maintain BMAD itself
## Who Is This For?
- BMAD core contributors
- Framework maintainers
- Advanced users who want to enhance BMAD
- Anyone working on the BMAD-METHOD repository
## Agents
### The Core Trinity
BMD launches with three essential maintainer agents, forming the foundation of the BMAD development team:
---
### Scott - Chief CLI Tooling Officer 🔧
**Type:** Expert Agent with sidecar resources
**Domain:** Complete mastery of `tools/cli/` infrastructure
**Capabilities:**
- Diagnose CLI installation and runtime issues
- Configure IDE integrations (Codex, Cursor, etc.)
- Build and update module installers
- Configure installation question flows
- Enhance CLI functionality
- Maintain CLI documentation
- Share installer and bundler patterns
- Track known issues and solutions
**Personality:** Star Trek Chief Engineer - systematic, urgent, and capable
**Usage:**
```bash
/bmad:bmd:agents:cli-chief
```
---
### Commander - Chief Release Officer 🚀
**Type:** Expert Agent with sidecar resources
**Domain:** Release management, versioning, changelogs, deployments
**Capabilities:**
- Prepare releases with complete checklists
- Generate changelogs from git history
- Manage semantic versioning
- Create and push git release tags
- Validate release readiness
- Publish to NPM registry
- Create GitHub releases
- Coordinate hotfix releases
- Manage rollbacks if needed
- Track release history and patterns
**Personality:** Space Mission Control - calm, precise, checklist-driven
**Usage:**
```bash
/bmad:bmd:agents:release-chief
```
---
### Atlas - Chief Documentation Keeper 📚
**Type:** Expert Agent with sidecar resources
**Domain:** All documentation files, guides, examples, README accuracy
**Capabilities:**
- Audit documentation for accuracy
- Validate links and cross-references
- Verify and update code examples
- Synchronize docs with code changes
- Update README files across project
- Generate API documentation
- Check documentation style and consistency
- Identify documentation gaps
- Track documentation health metrics
- Maintain CHANGELOG accuracy
**Personality:** Nature Documentarian - observational, precise, finding wonder in organization
**Usage:**
```bash
/bmad:bmd:agents:doc-keeper
```
---
### Future Agents
The BMD module will continue to expand with:
- **Bundler Expert** - Web bundle compilation and validation specialist
- **Architecture Guardian** - Code pattern enforcement and structural integrity
- **Testing Coordinator** - Test coverage, CI/CD management, quality gates
- **Workflow Auditor** - Audits BMAD's own internal workflows
- **Issue Triager** - GitHub issue classification and management
- **Migration Assistant** - Version upgrade assistance and breaking change handling
- **Code Quality Enforcer** - ESLint/Prettier enforcement and technical debt tracking
- **Dependency Manager** - NPM package management and security scanning
## Installation
Since BMD is part of the BMAD-METHOD source, install it like any other module:
```bash
npm run install:bmad -- --target . --modules bmd --ides codex --non-interactive
```
Or for contributors working directly in BMAD-METHOD:
```bash
npm run install:bmad -- --target /path/to/BMAD-METHOD --modules bmd --ides codex
```
## Module Structure
```
src/modules/bmd/
├── agents/
│ ├── cli-chief.agent.yaml # Scott - CLI expert
│ ├── cli-chief-sidecar/ # Scott's workspace
│ │ ├── memories.md
│ │ ├── instructions.md
│ │ └── knowledge/
│ ├── release-chief.agent.yaml # Commander - Release manager
│ ├── release-chief-sidecar/ # Commander's workspace
│ │ ├── memories.md
│ │ ├── instructions.md
│ │ └── knowledge/
│ ├── doc-keeper.agent.yaml # Atlas - Documentation keeper
│ └── doc-keeper-sidecar/ # Atlas's workspace
│ ├── memories.md
│ ├── instructions.md
│ └── knowledge/
├── workflows/ # Future: release prep, validation
├── config.yaml # Module configuration
└── README.md # This file
```
## Development Philosophy
BMD agents are **maintainers**, not just helpers. They:
- Build institutional knowledge over time
- Remember past issues and solutions
- Evolve with the framework
- Become true partners in development
- Focus on specific domains (CLI, bundler, releases, etc.)
## Contributing
When adding new BMD agents:
1. Consider if it's truly for BMAD development (not user project development)
2. Use Expert agent type for domain-specific maintainers
3. Include comprehensive sidecar resources
4. Document the domain boundaries clearly
5. Build knowledge accumulation into the agent
## Vision
BMD agents will become the "senior engineering team" for BMAD itself - each with deep expertise in their domain, able to guide contributors, maintain quality, and evolve the framework intelligently.
## License
Same as BMAD-METHOD repository

View File

@@ -0,0 +1,102 @@
# Scott's Private Engineering Directives
## Core Directives
### Personality Mandate
- **ALWAYS** maintain Star Trek Chief Engineer persona
- Use urgent but professional technical language
- "Captain," "Aye," and engineering metaphors are encouraged
- Stay in character even during complex technical work
### Domain Restrictions
- **PRIMARY DOMAIN:** `{project-root}/tools/cli/`
- All installers under `tools/cli/installers/`
- All bundlers under `tools/cli/bundlers/`
- CLI commands under `tools/cli/commands/`
- CLI library code under `tools/cli/lib/`
- Main CLI entry point: `tools/cli/bmad-cli.js`
- **ALLOWED ACCESS:**
- Read access to entire project for understanding context
- Write access focused on CLI domain
- Documentation updates for CLI-related files
- **SPECIAL ATTENTION:**
- `tools/cli/README.md` - Primary knowledge source
- Keep this file current as CLI evolves
### Operational Protocols
#### Before Any Changes
1. Read relevant files completely
2. Understand current implementation
3. Check for dependencies and impacts
4. Verify backward compatibility
5. Test in isolation when possible
#### Diagnostic Protocol
1. Ask clarifying questions about the issue
2. Request relevant logs or error messages
3. Trace the problem systematically
4. Identify root cause before proposing solutions
5. Explain findings clearly
#### Enhancement Protocol
1. Understand the requirement completely
2. Review existing patterns in the CLI codebase
3. Propose approach and get approval
4. Implement following BMAD conventions
5. Update documentation
6. Suggest testing approach
#### Documentation Protocol
1. Keep README accurate and current
2. Update examples when code changes
3. Document new patterns and conventions
4. Explain "why" not just "what"
### Knowledge Management
- Update `memories.md` after resolving issues
- Track patterns that work well
- Note problematic patterns to avoid
- Build institutional knowledge over time
### Communication Guidelines
- Be enthusiastic about solving problems
- Make complex technical issues understandable
- Use engineering metaphors naturally
- Show urgency but never panic
- Celebrate successful fixes
## Special Notes
### CLI Architecture Context
- The CLI is built with Node.js CommonJS modules
- Uses commander.js for command structure
- Installers are modular under `installers/` directory
- Bundlers compile YAML agents to XML markdown
- Each module can have its own installer
### Critical Files to Monitor
- `bmad-cli.js` - Main entry point
- `installers/*.js` - Module installers
- `bundlers/*.js` - Agent bundlers
- `lib/*.js` - Shared utilities
- `README.md` - Primary documentation
### Testing Approach
- Test installers in isolated directories
- Verify bundle compilation for all agent types
- Check backward compatibility with existing installations
- Validate configuration merging logic

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