Compare commits

...

133 Commits

Author SHA1 Message Date
The Chef
7d3d51ff4f docs: fix typos in README and customization guide (#1424)
- Remove duplicate "for" in README example command
- Fix "this is" to "thing is" in README
- Remove extra "at" in "star project icon at near" in README
- Fix "MEthod" to "Method" in customize-bmad.md
2026-01-26 23:25:08 -08:00
Vladimir Hrusovsky
4c92e0cc88 Fix: Correct workflow_path in bmad-quick-flow/quick-spec steps (#1368)
- Fix workflow_path in step-01-understand.md, step-02-investigate.md, and step-03-generate.md
- Changed from non-existent 'create-tech-spec' to correct 'quick-spec'
- Aligns with step-04-review.md which already had correct path

Co-authored-by: Your Name <you@example.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-26 23:15:22 -08:00
Brian Madison
0d2b8c3429 readme link fix 2026-01-26 18:22:04 -08:00
Brian Madison
984bd9e558 Bump version to 6.0.0-Beta.2 2026-01-26 17:44:49 -06:00
Brian Madison
6a282f86b4 allow updates from any beta, warn on alpha and v4 2026-01-26 17:33:02 -06:00
Brian Madison
6c5381b6dc help system update 2026-01-26 16:30:47 -06:00
Brian Madison
27c18e0020 installer fix 2026-01-26 16:06:00 -06:00
Brian Madison
9ebc4ce9c0 package push 2026-01-26 00:28:14 -06:00
Brian Madison
5ffef8dc35 6.0.0-beta.0 2026-01-26 00:15:32 -06:00
Brian Madison
43c0e290d2 feat(installer): update install messages for Beta.0 release 2026-01-26 00:15:22 -06:00
Brian Madison
cad9be3e89 feat(installer): update install messages for Beta.0 release 2026-01-26 00:09:46 -06:00
Brian Madison
82d211b7ca release: bump to v6.0.0-Beta.0 - Alpha to Beta transition
- Transition BMad Method from Alpha to Beta
- Beta versions now publish to npm 'latest' tag (default for npx)
- Updated manual release workflow to prioritize beta releases
- Updated CHANGELOG with Beta.0 release notes
2026-01-26 00:06:17 -06:00
Brian Madison
8719d828d0 fix width and responsiveness of diagram 2026-01-26 00:06:17 -06:00
Brian
3abcefe1fb feat: make workflow diagram iframe full-width (#1409)
- Add CSS to break workflow diagram iframe out of content container
- iframe now spans full viewport width instead of max-width constraint
- Adjust iframe height to 700px for better fit
- Remove border/border-radius for seamless full-width look

Co-authored-by: Brian Madison <brianmadison@Brians-MacBook-Pro.local>
2026-01-25 23:00:04 -06:00
Brian Madison
9168e00167 fix(build): add iframe support to rehype base path plugin
Allows iframe src attributes to be properly transformed with the base path,
enabling the interactive workflow diagram to be embedded in markdown pages.
2026-01-25 22:43:00 -06:00
Brian Madison
d0c9cd7b0b removed dead code and obsolete levels 0-4 ref 2026-01-25 22:23:36 -06:00
Brian Madison
c352e03d18 add interactive diagram to test final doc build and layout 2026-01-25 22:12:23 -06:00
Brian Madison
9b12f6f86c docs updates 2026-01-25 21:18:09 -06:00
Alex Verkhovsky
91f6c41be1 docs: radical reduction of documentation scope for v6 beta (#1406)
* docs: radical reduction of documentation scope for v6 beta

Archive and basement unreviewed content to ship a focused, minimal doc set.

Changes:
- Archive stale how-to workflow guides (will rewrite for v6)
- Archive outdated explanation and reference content
- Move unreviewed content to basement for later review
- Reorganize TEA docs into dedicated /tea/ section
- Add workflow-map visual reference page
- Simplify getting-started tutorial and sidebar navigation
- Add explanation pages: brainstorming, adversarial-review, party-mode,
  quick-flow, advanced-elicitation
- Fix base URL handling for subdirectory deployments (GitHub Pages forks)

The goal is a minimal, accurate doc set for beta rather than
comprehensive but potentially misleading content.

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

* refactor: restructure BMM and agents documentation by consolidating and flattening index files.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:00:26 -06:00
Alex Verkhovsky
02513c721f fix(workflow): correct stale path references in check-implementation-readiness steps (#1404)
Directory was renamed in 1da77058 but step file contents weren't updated.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-25 03:57:50 -06:00
Brian Madison
e7a34a2b61 installer updates 2026-01-25 03:56:40 -06:00
Brian Madison
85339708e6 normalize commands 2026-01-25 03:56:40 -06:00
Brian Madison
b4f230f565 installer standardization 2026-01-25 03:56:40 -06:00
Brian Madison
b102694c64 Fix: use String.raw for escaped triple quotes in TOML 2026-01-25 03:56:40 -06:00
Brian Madison
5aef6379b9 Fix github-copilot installer to use UnifiedInstaller for prompts
- Add .github/prompts directory alongside .github/agents
- Use UnifiedInstaller with TemplateType.COPILOT for prompts/workflows/tasks/tools
- Fix typo: bmd-custom- -> bmad- prefix for agents
- Update cleanup to handle both directories
- Format fixes for auggie.js and windsurf.js
2026-01-25 03:56:40 -06:00
Brian Madison
4cb5cc7dbc Fix gemini installer to use UnifiedInstaller with .toml support
- Add fileExtension parameter support to path-utils (toColonPath, toDashPath)
- Add TemplateType.GEMINI to unified-installer for TOML output format
- Update task-tool-command-generator to support TOML format
- Refactor gemini.js to use UnifiedInstaller with:
  - NamingStyle.FLAT_DASH for dash-separated filenames
  - TemplateType.GEMINI for TOML format (description + prompt fields)
  - fileExtension: '.toml' for Gemini CLI

TOML format:
description = "BMAD Agent: Title"
prompt = """
Content here
"""
2026-01-25 03:56:40 -06:00
Brian Madison
c5d0fb55ba Fix windsurf installer to use UnifiedInstaller with flat files
- Replace manual artifact collection with UnifiedInstaller class
- Remove nested folder structure (.windsurf/workflows/bmad/[module]/[type]/)
- Now installs flat files to .windsurf/workflows/ (e.g., bmad-bmm-agent-pm.md)
- Use NamingStyle.FLAT_DASH and TemplateType.WINDSURF
- Add customTemplateFn for Windsurf-specific auto_execution_mode frontmatter
- Simplify cleanup() and update installCustomAgentLauncher() for flat structure
2026-01-25 03:56:40 -06:00
Brian Madison
c0adbc4e76 Fix cline installer to use UnifiedInstaller
- Replace individual generators with UnifiedInstaller class
- Use NamingStyle.FLAT_DASH and TemplateType.CLINE
- Remove collectClineArtifacts, flattenAndWriteArtifacts, flattenFilename methods
- Reduce code by ~98 lines (36% reduction)
- Keep cleanup(), installCustomAgentLauncher(), detect() as-is
2026-01-25 03:56:40 -06:00
Brian Madison
f6dab0d0ff Fix crush installer to use UnifiedInstaller
- Replace individual generators with UnifiedInstaller class
- Use NamingStyle.FLAT_COLON and TemplateType.CODEX
- Remove manual counting logic, use counts from UnifiedInstaller
- Keep cleanup() and installCustomAgentLauncher() as-is
2026-01-25 03:56:40 -06:00
Brian Madison
cf6cf779bb Fix auggie installer to use UnifiedInstaller with flat files
- Replace individual generators with UnifiedInstaller class
- Remove nested folder structure (.augment/commands/bmad/agents/, etc.)
- Now installs flat files to .augment/commands/ (e.g., bmad_bmm_agent_pm.md)
- Use NamingStyle.FLAT_COLON and TemplateType.AUGMENT
- Remove createTaskCommand, createToolCommand, createWorkflowCommand methods
- Simplify cleanup() and update installCustomAgentLauncher() for flat structure
2026-01-25 03:56:40 -06:00
Brian Madison
7074395bdd claude cline codex installers use central function 2026-01-25 03:56:40 -06:00
Alex Verkhovsky
9b8ce69f37 fix(quick-spec): reorder final menu to D-B-A-P-R (#1402)
Group "go-on" options first (Done, Begin Dev), then reasoning options
(Advanced Elicitation, Party Mode, Adversarial Review).

Follows established pattern: most common action first, related options grouped.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 23:57:08 -06:00
Alex Verkhovsky
79959e75ac fix(quick-flow): standardize menu shortcuts for intuitive UX (#1401)
* fix(quick-spec): change menu shortcuts to avoid Approve/Advanced confusion

Users were typing 'a' expecting to Approve (since it starts with A) but
triggering Advanced Elicitation instead. Changed shortcuts to:
- [C] Continue (was [Y] Approve)
- [E] Edit (was [C] Changes)

This keeps [A] for Advanced Elicitation consistent with other workflows.

Fixes user-reported UX issue with confusing menu shortcuts.

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

* fix(quick-dev): standardize menu shortcuts to use intuitive letters

- Change [T] to [P] for "Plan first" (P matches the label)
- Change [1][2][3] to [W][F][S] for findings resolution:
  - [W] Walk through
  - [F] Fix automatically
  - [S] Skip

Consistent with letter-based menu pattern used elsewhere.

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 21:15:01 -06:00
Alex Verkhovsky
8bdf21f65b doc: standardize quick-flow menu patterns to newer format (#1388)
Update quick-spec and quick-dev workflow menus to match established standards:
- Uppercase all menu option letters ([A], [P], [C], [T], [E], [W], etc.)
- Add "Menu Handling Logic:" sections with IF/THEN structure
- Add "EXECUTION RULES:" sections with halt/wait behavior
- Add chat handling for checkpoint menus (A/P/C)
- Remove code blocks from Display patterns, use standard format
- Add header for adversarial review process block

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-24 12:17:28 -06:00
Murat K Ozcan
7d63dcd6a0 docs: fix td leftover (#1394) 2026-01-24 12:16:44 -06:00
forcetrainer
999ece33a9 Interactive workflow guide, README Quick Start overhaul, and /bmad-help callouts (#1396)
* Add interactive workflow guide page

Replace confusing static SVG workflow diagram with an interactive
guide at /workflow-guide. Users select their track (Quick Flow,
BMad Method, Enterprise) and see relevant phases, agents, commands,
and outputs. Update link validator to recognize custom page routes.

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

* Add visual dev loop indicator to workflow guide

Wrap create-story, dev-story, and code-review in a dashed border
group with a "Repeat for each story" label to clearly communicate
the iterative development cycle in Phase 4.

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

* Simplify workflow guide to vertical slash command flow

Replace expandable phase cards with a clean vertical flow showing
slash commands as the primary element, with down arrows between
steps, agent badges, required/optional status, and concise
descriptions. Add prominent /bmad-help callout and note that
agent loading is optional.

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

* Simplify README Quick Start with numbered command flows

Replace wordy paragraphs and track table with two clear numbered
paths (Quick Flow: 3 commands, BMad Method: 6 steps) and a
prominent /bmad-help callout as the primary guidance mechanism.

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

* Add Party Mode to README, /bmad-help to getting-started

Add Party Mode bullet to Why BMad section, note about agent-based
usage as an alternative to direct workflows, and a /bmad-help
mention in the getting-started tutorial after installation.

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

* Add link to getting-started tutorial in README Quick Start

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

* Add workflow guide link to docs index New Here section

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

* Update README tagline and format modules table

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

* Fix workflow-guide links to use relative paths

The /workflow-guide absolute path breaks with non-root base paths.
Use relative paths since workflow-guide is a custom Astro page
outside the docs collection. Docs-to-docs links keep the /docs/
pattern which the rehype plugin handles.

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

* Revert workflow-guide links to absolute paths

Use /workflow-guide to match the /docs/ convention used throughout.
Works correctly on the production site where base path is /.

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 12:16:20 -06:00
Alex Verkhovsky
baf2b9daef chore: update package-lock.json and fix markdownlint ignore pattern (#1375)
- Security fixes for transitive dependencies (lodash, etc.)
- npm peer metadata additions
- Fix markdownlint to ignore all node_modules, not just root

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-24 00:25:49 -06:00
Alex Verkhovsky
9abd6654f1 feat: add optional style_guide input to editorial review tasks (#1380)
When provided, the style_guide input overrides all generic principles
(including Microsoft Style Guide baseline, reader-type priorities, and
structure-model selection) except CONTENT IS SACROSANCT.

Changes to both editorial-review-structure.xml and editorial-review-prose.xml:
- Add style_guide input after content input
- Add STYLE GUIDE OVERRIDE instruction in llm section
- Add "Consult style_guide" action in Step 3 for mid-flow refresh

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-24 00:24:54 -06:00
forcetrainer
4346f0bcf3 Remove previous/next article footer navigation from docs site (#1385)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-24 00:24:13 -06:00
Brian Madison
431b961451 Update agent command file naming to include -agent- in filename
- Change agent command files from bmad_module_name to bmad_module_agent_name
- Update path-utils.js to insert 'agent' segment in agent file names
- Update CSV files to reflect new underscore naming convention
- Refactor toUnderscorePath to use toUnderscoreName for consistency
- Update parseUnderscoreName to handle new agent naming pattern

Examples:
- bmm/agents/pm.md → bmad_bmm_agent_pm.md (was bmad_bmm_pm.md)
- cis/agents/brainstorming.md → bmad_cis_agent_brainstorming.md
- Core agents: bmad_agent_name.md
2026-01-23 22:30:14 -06:00
Alex Verkhovsky
def8da0acb refactor: replace 'execute' with 'Read fully and follow:' in workflow prompts (#1387)
Replace ambiguous "execute" terminology with explicit "Read fully and follow:"
phrasing across all workflow files to prevent LLM goal-seeking behavior where
models attempt to "achieve the end result" rather than following step-by-step
instructions verbatim.

Changes:
- Update 5 handler templates with canonical phrasing
- Replace ~150 INSTRUCTIONAL patterns across 87 workflow files
- Add "[Workflow] complete." prefix to 7 workflow endpoints
- Preserve BEHAVIORAL/STRUCTURAL patterns (agent descriptions, XML tags)
- Fix gitignore and markdownlint to ignore all node_modules directories

Closes #1372

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 22:25:19 -06:00
Murat K Ozcan
48881f86a6 doc: test design refinements (#1382) 2026-01-23 13:00:48 -06:00
Brian Madison
efbe839a0a installer cleanup 2026-01-23 00:27:26 -06:00
Brian Madison
3f9ad4868c versioned module downloads and manifest 2026-01-23 00:27:26 -06:00
Alex Verkhovsky
aad132c9b1 feat: add optional also_consider input to adversarial review task (#1371)
Add an optional also_consider parameter that allows callers to pass
domain-specific areas to keep in mind during review. This gently nudges
the reviewer toward specific concerns without overriding normal analysis.

Testing showed:
- Specific items steer strongly (questions get directly answered)
- Domain-focused items shift the lens (e.g., security focus = deeper security findings)
- Vague items have minimal effect (similar to baseline)
- Single items nudge without dominating
- Contradictory items handled gracefully

Includes test cases with sample content and 10 configurations to validate
the parameter behavior across different use cases.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-22 22:26:25 -06:00
Brian Madison
c9f2dc51db docs: update README with proper welcome and GitHub links 2026-01-22 21:34:08 -06:00
Murat K Ozcan
6eb7c34752 docs: update test-design workflow to generate two documents for system-level mode (#1367)
* docs: update test-design workflow to generate two documents for system-level mode

* addressed pr comments
2026-01-22 14:29:33 -06:00
Brian Madison
9b9f43fcb9 fix: reorder mergeModuleHelpCatalogs after generateManifests
The mergeModuleHelpCatalogs function depends on agent-manifest.csv
being populated, but was being called before generateManifests.
This caused new modules' agent info to be empty in the help catalog.

Fixes issue where game-dev-studio workflows weren't appearing
in bmad-help.csv and IDE commands weren't being generated.
2026-01-22 00:39:00 -06:00
Brian Madison
77a53a20ed Update module-help.csv format
Refine format documentation and phase ordering guidance
2026-01-22 00:04:32 -06:00
Brian Madison
5d89298fe8 brainstorming docs now go to /brainstorming folder instead of /analysis 2026-01-21 23:18:38 -06:00
Brian Madison
421a811e87 added diagrams to module help 2026-01-21 21:16:44 -06:00
Brian Madison
c9c3d31d3a add the phase four items to the workflow csv for bmm. compile all csv to a install file. improve the bmad-help to know how to work with the csv that contains the workflows from all installed modules 2026-01-21 20:47:43 -06:00
Brian Madison
ec8ab0c638 workflow tracking evolved to bmad-help 2026-01-21 14:05:57 -06:00
Brian Madison
aae7923d5d standardize installer flat command list with naming convention standardization to make workflow update 2026-01-21 12:22:32 -06:00
Brian Madison
3734607994 workflow drastic simplification and more reliable 2026-01-20 01:12:20 -06:00
Brian Madison
e29a1273e1 remove legacy workflow manager 2026-01-19 21:52:04 -06:00
Alex Verkhovsky
01bbe2a3ef fix: add sprint-status.yaml sync to correct-course workflow (#1358)
The correct-course workflow restructures epics but did not update
sprint-status.yaml, leaving tracking out of sync. Added check-item 6.4
to Section 6 (after user approval) to update sprint-status.yaml when
epics are added, removed, renumbered, or stories are modified.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 11:09:10 -06:00
Brian Madison
73135bee8e gitignore ide installs settings and removed gamedev doc reference 2026-01-19 02:18:14 -06:00
Brian Madison
6f8f0871cf Project Cleanup of Agents Menus, BMB module removal to other repo 2026-01-19 02:04:14 -06:00
Brian Madison
14bfa5b224 bmad builder removed to new repo 2026-01-18 20:44:57 -06:00
Brian Madison
83641eee9d improve all install prompts 2026-01-18 17:27:50 -06:00
Brian Madison
a96ea2f19a project licence, contribution and discord noise updates, along with improved simplified issue templates 2026-01-18 17:03:47 -06:00
Brian Madison
28e6dded4d installation for remote modules now indicates its getching or installing so it does not appear to be hung when caching the remote in the local npm cache 2026-01-18 08:11:35 -06:00
Brian Madison
966ca5db0b indicator when external modules are being downloaded during install so installer does not appear to be frozen / unresponsive. 2026-01-18 02:16:25 -06:00
forcetrainer
e0318d9da8 feat: update website header with new BMAD Method branding (#1352)
* docs: apply style guide to TEA Lite quickstart

- Remove duplicate H1 header (frontmatter provides title)
- Remove horizontal rules throughout
- Convert Prerequisites to admonition
- Add Quick Path TL;DR admonition
- Convert Key Takeaway to tip admonition
- Convert TEA Workflows list to Quick Reference table
- Convert Troubleshooting to Common Questions FAQ format
- Rename Need Help to Getting Help section
- Remove redundant Feedback section

Also adds missing @clack/prompts dependency from upstream merge.

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

* docs: spell out acronyms in TEA Lite quickstart

- MCP → Model Context Protocol
- E2E → End-to-end (also fix missing article)
- CI/CD → Continuous integration/continuous deployment
- ATDD → Acceptance Test-Driven Development
- TDD → Test-Driven Development
- NFR → non-functional requirements
- Remove inaccurate CRUD reference

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

* docs: spell out TDD in ATDD link text

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

* feat: update branding with new wordmark logo and banner

- Add banner image to README header
- Replace website logo with wordmark, hiding title text
- Left-align logo with sidebar by reducing header padding

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

* docs: update README banner to new design with waveform

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

* feat: add banner to docs website welcome page

- Revert README to original banner
- Add waveform banner to docs site welcome page

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

* feat: use waveform banner as website header logo

- Remove banner from welcome page content
- Update header logo to use banner-bmad-method2.png

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

* feat: add separate logo for dark mode

Use banner-bmad-method-dark.png in dark mode for better blending

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

* feat: update header logos for light and dark modes

- Light mode: bmad-light.png (dark blue background with lightning)
- Dark mode: bmad-dark.png (light background variant)

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

* chore: clean up unused banner images and add readme2

- Remove unused banner-bmad-method2.png and bmad-wordmark.png
- Add readme2.md with upcoming features section
- Update banner-bmad-method-dark.png

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

* chore: remove unused banner image variants

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

* feat: finalize header logo graphics

- Rename bmad-light2.png to bmad-light.png as final version
- Remove readme2.md draft

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-18 00:25:12 -06:00
MarkRadaba
4a983d64a7 chore: add .github/agents to gitignore (#1353)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 23:35:08 -06:00
Murat K Ozcan
f25fcc686c fix: web bundler entry point (#1341)
* fix: web bundler entry point

* removed the web-bundles folder

* added web-bundles to gitignore

* disabled web bundles

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-17 16:30:59 -06:00
forcetrainer
411cded4d0 docs: apply style guide to TEA Lite quickstart (#1342)
* docs: apply style guide to TEA Lite quickstart

- Remove duplicate H1 header (frontmatter provides title)
- Remove horizontal rules throughout
- Convert Prerequisites to admonition
- Add Quick Path TL;DR admonition
- Convert Key Takeaway to tip admonition
- Convert TEA Workflows list to Quick Reference table
- Convert Troubleshooting to Common Questions FAQ format
- Rename Need Help to Getting Help section
- Remove redundant Feedback section

Also adds missing @clack/prompts dependency from upstream merge.

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

* docs: spell out acronyms in TEA Lite quickstart

- MCP → Model Context Protocol
- E2E → End-to-end (also fix missing article)
- CI/CD → Continuous integration/continuous deployment
- ATDD → Acceptance Test-Driven Development
- TDD → Test-Driven Development
- NFR → non-functional requirements
- Remove inaccurate CRUD reference

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

* docs: spell out TDD in ATDD link text

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Murat K Ozcan <34237651+muratkeremozcan@users.noreply.github.com>
2026-01-17 16:17:18 -06:00
Brian Madison
a50d82df1c remove subagent installation option from CC and antigravity - subagents install have been replaced with the better subprocess request / task agents to allow for more ideas to use the tool they have available to generate needed subagent functionality on the fly. 2026-01-17 02:16:46 -06:00
Brian Madison
d022e569bd remove gamedev and cis docs 2026-01-17 02:03:48 -06:00
Brian Madison
7990ad528c minor doc updates related to cis removal from repo 2026-01-17 01:33:12 -06:00
Murat K Ozcan
5881790068 Merge pull request #1345 from jheyworth/fix-todomvc-url
Fix TodoMVC example URL to include /dist/ path
2026-01-16 11:31:45 -06:00
jheyworth
d83a88da66 Fix remaining TodoMVC URL references in documentation
Updated 2 additional files to use the correct /dist/ path:
- docs/how-to/workflows/run-automate.md: Standalone mode example
- docs/reference/tea/configuration.md: Playwright BASE_URL example

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-16 12:09:19 +00:00
jheyworth
7b68d1a326 Fix TodoMVC example URL to include /dist/ path
Updated all references to TodoMVC URL from https://todomvc.com/examples/react/
to https://todomvc.com/examples/react/dist/ for correct working example.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-16 11:12:20 +00:00
Brian Madison
7cd4926adb project-root stutter fix 2026-01-15 23:03:02 -06:00
Brian Madison
0fa53ad144 removing docs accidentally added to wrong repo docs folder 2026-01-15 22:30:43 -06:00
Brian Madison
afee68ca99 temp disable WDS from installer to first resolve some module issues 2026-01-15 22:20:56 -06:00
Brian Madison
b952d28fb3 Modify installation now will remove modules that get unselected, with an option to confirm the deletion 2026-01-15 22:20:56 -06:00
Brian Madison
577c1aa218 remove modules moved to new repos and update installer to support the remote module isntallation and updates. this is a temporary imlemtation machanism 2026-01-15 22:20:56 -06:00
Murat K Ozcan
abba7ee987 docs: removed enterprise folder (#1340) 2026-01-15 19:32:55 -06:00
Murat K Ozcan
d34efa2695 docs: fixed tea sidebar links (#1338)
* docs: fixed tea sidebar links

* fix: removed the additional label
2026-01-15 19:25:21 -06:00
Murat K Ozcan
87b1292e3f docs: named TEA links consistently (#1337) 2026-01-15 18:01:37 -06:00
Murat K Ozcan
43f7eee29a docs: fix docs build (#1336)
* docs: fix docs build

* docs: conditional pre-commit

* fix: included more LLM exclude patterns

* fix: iclude docs:build

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-15 16:44:14 -06:00
Alex Verkhovsky
96f21be73e docs: optimize style guide for LLM readers (#1321)
* docs: optimize style guide for LLM readers

Restructure documentation style guide with dependency-first ordering
and LLM-optimized content based on editorial-review-structure analysis.

Key changes:
- Add Universal Formatting Rules section at top (consolidated anti-patterns)
- Move Visual Hierarchy and formatting rules before document types
- Add Document Types decision table for type selection
- Move Before/After example to follow Visual Hierarchy
- Merge Links/Images into single Assets table
- Move tutorial-specific checklist into Tutorial Structure section
- Move Validation Steps to end (submission workflow)
- Cut abstract Quick Principles (no execution value for LLMs)
- Remove emotional/orientation language throughout
- Condense FAQ Sections structure

Result: ~35% reduction (539 deletions, 383 insertions) with improved
parseability for AI agents writing documentation.

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

* docs: clarify explanation checklist admonition limit

Disambiguate 2-3 admonitions max to explicitly show it is a per-document
limit that still respects the universal per-section rule.

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

* docs: clarify header budget vs structure template relationship

Add note explaining that structure templates show content flow, not 1:1
header mapping. Admonitions and inline elements are within sections.

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

* docs: remove horizontal rules to follow own guidelines

Remove all --- section separators to comply with Universal Formatting
Rules. The ## headers provide sufficient visual separation.

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

* docs: address PR review findings for style guide

- Fix forward reference in Header Budget section
- Clarify descriptions rule scope (tables and 5+ item lists)
- Restore realistic FAQ examples
- Add qualifier to admonition content length guideline

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

* docs: further optimize style guide as delta-only document

- Add opener declaring adherence to Google Style Guide and Diataxis
- Remove generic Google style guide sections (Visual Hierarchy patterns,
  Tables constraints, Code Blocks, Lists, Assets)
- Remove Diataxis explainer content (Document Types table, "X documents
  do Y" explanatory sentences, Before/After example)
- Keep all project-specific structure templates and checklists
- Consolidate rules into single Project-Specific Rules table

Result: 367 lines (down from 597), pure delta document assuming
LLM training knowledge of baseline standards.

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 16:41:57 -06:00
Murat K Ozcan
66e7d3a36d docs: tea in 4; Diátaxis (#1320)
* docs: tea in 4; Diátaxis

* docs: addressed review comments

* docs: refined the docs
2026-01-15 13:18:37 -06:00
Brian Madison
2b7f7ff421 minor updates to installer multiselects 2026-01-14 23:48:50 -06:00
Brian Madison
3360666c2a remove hard inclusion of AV from installer, to replace with module soon 2026-01-14 23:04:19 -06:00
Nwokoma Chukwuma U.
274dea16fa Fix YAML indentation in kilo.js customInstructions field (#1291)
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-14 21:26:10 -06:00
Kevin Heidt
dcd581c84a Fix glob pattern to use forward slashes (#1241)
Normalize source directory path for glob pattern compatibility.

Reviewed-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
2026-01-14 21:16:23 -06:00
Murat K Ozcan
6d84a60a78 docs: tea entry points and resume tip (#1246)
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-14 21:13:48 -06:00
Eduard Voiculescu
59e1b7067c remove remember the users name is {user_name}, it is already present in the activation-steps.txt (#1315) 2026-01-14 21:04:43 -06:00
sjennings
1d8df63ac5 feat(bmgd): Add E2E testing methodology and scaffold workflow (#1322)
* feat(bmgd): Add E2E testing methodology and scaffold workflow

- Add comprehensive e2e-testing.md knowledge fragment
- Add e2e-scaffold workflow for infrastructure generation
- Update qa-index.csv with e2e-testing fragment reference
- Update game-qa.agent.yaml with ES trigger
- Update test-design and automate instructions with E2E guidance
- Update unity-testing.md with E2E section reference

* fix(bmgd): improve E2E testing infrastructure robustness

- Add WaitForValueApprox overloads for float/double comparisons
- Fix assembly definition to use precompiledReferences for test runners
- Fix CaptureOnFailure to yield before screenshot capture (main thread)
- Add error handling to test file cleanup with try/catch
- Fix ClickButton to use FindObjectsByType and check scene.isLoaded
- Add engine-specific output paths (Unity/Unreal/Godot) to workflow
- Fix knowledge_fragments paths to use correct relative paths

* feat(bmgd): add E2E testing support for Godot and Unreal

Godot:
- Add C# testing with xUnit/NSubstitute alongside GDScript GUT
- Add E2E infrastructure: GameE2ETestFixture, ScenarioBuilder,
  InputSimulator, AsyncAssert (all GDScript)
- Add example E2E tests and quick checklist

Unreal:
- Add E2E infrastructure extending AFunctionalTest
- Add GameE2ETestBase, ScenarioBuilder, InputSimulator classes
- Add AsyncTestHelpers with latent commands and macros
- Add example E2E tests for combat and turn cycle
- Add CLI commands for running E2E tests

---------

Co-authored-by: Scott Jennings <scott.jennings+CIGINT@cloudimperiumgames.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-14 20:53:40 -06:00
VJSai
993d02b8b3 Enhance security policy documentation (#1312)
Expanded the security policy to include supported versions, reporting guidelines, response timelines, security scope, and best practices for users.

Co-authored-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
2026-01-14 16:27:52 -06:00
Davor Racic
5cb5606ba3 fix(cli): replace inquirer with @clack/prompts for Windows compatibility (#1316)
* fix(cli): replace inquirer with @clack/prompts for Windows compatibility

- Add new prompts.js wrapper around @clack/prompts to fix Windows arrow
  key navigation issues (libuv #852)
- Fix validation logic in github-copilot.js that always returned true
- Add support for primitive choice values (string/number) in select/multiselect
- Add 'when' property support for conditional questions in prompt()
- Update all IDE installers to use new prompts module

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

* fix(cli): address code review feedback for prompts migration

- Move @clack/prompts from devDependencies to dependencies (critical)
- Remove unused inquirer dependency
- Fix potential crash in multiselect when initialValues is undefined
- Add async validator detection with explicit error message
- Extract validateCustomContentPathSync method in ui.js
- Extract promptInstallLocation methods in claude-code.js and antigravity.js
- Fix moduleId -> missing.id in installer.js remove flow
- Update multiselect to support native clack API (options/initialValues)

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

* chore: update comments to reference @clack/prompts instead of inquirer

- Update bmad-cli.js comment about CLI prompts
- Update config-collector.js JSDoc comments
- Rename inquirer variable to choiceUtils in ui.js
- Update JSDoc returns and calls documentation

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

* fix(cli): add spacing between prompts and installation progress

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

* fix(cli): add multiselect usage hints for inexperienced users

Add inline navigation hints to all multiselect prompts showing
(↑/↓ navigate, SPACE select, ENTER confirm) to help users
unfamiliar with terminal multiselect controls.

Also restore detailed warning when no tools are selected,
explaining that SPACE must be pressed to select items.

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

* feat(cli): restore IDE grouping using groupMultiselect

Replace flat multiselect with native @clack/prompts groupMultiselect
component to restore visual grouping of IDE/tool options:
- "Previously Configured" - pre-selected IDEs from existing install
- "Recommended Tools" - starred preferred options
- "Additional Tools" - other available options

This restores the grouped UX that was lost during the Inquirer.js
to @clack/prompts migration.

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 16:25:35 -06:00
Murat K Ozcan
eeebf152af docs: tea editorial review (#1313)
* docs: tea editorial review

* fix: addressed nit pick
2026-01-13 02:27:25 +08:00
Alex Verkhovsky
d419ac8a70 feat: add editorial review tasks for structure and prose (#1307)
* feat: add editorial review tasks for structure and prose

Add two complementary editorial review tasks:

- editorial-review-structure.xml: Structural editor that proposes cuts,
  reorganization, and simplification. Includes 5 document archetype models
  (Tutorial, Reference, Explanation, Prompt, Strategic) for targeted evaluation.

- editorial-review-prose.xml: Clinical copy-editor for prose improvements
  using Microsoft Writing Style Guide as baseline.

Both tasks support humans and llm target audiences with different principles.

* fix: add content-sacrosanct guardrail to editorial review tasks

Both editorial review tasks (prose and structure) were missing the key
constraint that reviewers should never challenge the ideas/knowledge
themselves—only how clearly they are communicated. This restores the
original design intent.

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

* fix: align reader_type parameter naming across editorial tasks

Prose task was using 'target_audience' for the humans/llm optimization
flag while structure task correctly separates 'target_audience' (who
reads) from 'reader_type' (optimization mode). Aligns to reader_type.

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-13 00:20:04 +08:00
Murat K Ozcan
568249e985 Merge pull request #1309 from forcetrainer/main
docs: comprehensive documentation overhaul with style guide expansion
2026-01-12 06:04:45 -06:00
forcetrainer
c0f6401902 docs: add token usage FAQ and fix broken links
- Add "Why does BMad use so many tokens?" FAQ explaining design tradeoff
  (decision quality over code velocity)
- Fix stale anchor #adversarial-review-general → #adversarial-review
- Remove link to archived customize-workflows.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 00:31:54 -05:00
forcetrainer
e535f94325 docs: comprehensive style guide update with reference and glossary standards
Style Guide Additions:
- Add Reference Structure section with 6 document types (Index, Catalog,
  Deep-Dive, Configuration, Glossary, Comprehensive)
- Add Glossary Structure section with table-based format leveraging
  Starlight's right-nav for navigation
- Include checklists for both new document types

Reference Docs Updated:
- agents/index.md: Catalog format, universal commands tip admonition
- configuration/core-tasks.md: Configuration format with admonitions
- configuration/global-config.md: Table-based config reference
- workflows/index.md: Minimal index format
- workflows/core-workflows.md: Catalog format
- workflows/document-project.md: Deep-dive with Quick Facts admonition
- workflows/bmgd-workflows.md: Comprehensive format, removed ~30 hr rules

Glossary Rewritten:
- Converted from 373 lines with ### headers to 123 lines with tables
- Right nav now shows 9 categories instead of 50+ terms
- Added italic context markers (*BMGD.*, *Brownfield.*, etc.)
- Alphabetized terms within categories
- Removed redundant inline TOC

All Docs:
- Remove horizontal rules (---) per style guide
- Remove "Related" sections (sidebar handles navigation)
- Standardize admonition usage
- Archive deleted workflow customization docs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 00:23:05 -05:00
forcetrainer
e465ce4bb5 docs: fix year typo in README (2025 -> 2026)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 12:01:37 -05:00
forcetrainer
9d328082eb Merge upstream/main 2026-01-11 11:46:30 -05:00
Alex Verkhovsky
d4f6642333 fix: add missing review menu and HALT to quick-spec step 4 (#1305)
Step 4 was missing a structured menu at the spec review checkpoint.
This caused agents to skip past the approval step without waiting for
explicit user confirmation.

Added:
- Review menu with [y] Approve, [c] Changes, [q] Questions, [a] Advanced Elicitation, [p] Party Mode
- Explicit HALT instruction
- Menu handling section

This aligns step 4 with the menu-driven pattern used in steps 1-3.

Fixes #1304

Also fixes pre-existing prettier issue in src/modules/cis/module.yaml.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 17:04:52 +08:00
forcetrainer
9f85dade25 docs: capitalize support section descriptions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 00:28:29 -05:00
forcetrainer
5870651bad docs: enhance README free/open source messaging and support section
- Expand tagline: "No gated Discord", "empowering everyone"
- Add emojis and stronger CTAs to Support section
- Consolidate star/subscribe asks into Support section

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 00:24:58 -05:00
forcetrainer
eff826eef9 docs: add open source philosophy and support options to README
- Add "100% free and open source" tagline at top
- Update YouTube line with upcoming master class/podcast
- Add "Help us grow" CTA for stars and subs
- Add new "Support BMad" section with donation and speaking info

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 00:18:34 -05:00
Brian Madison
0a3cc1d12c release: bump to v6.0.0-alpha.23 2026-01-11 13:16:49 +08:00
Brian
c3b7e98241 Workflow Creator and Validator Tools with Sub Process Support and PRD Validation Step now available!
* critical file issues in prd refactor resolved caught using the BMB workflow validator!!
* subprocess optimization and path violation checks in the workflow validator, along with fixes to the BMM PRD workflow
* standardize workflow and PRD step markdown formatting
- Improve consistency across workflow validation steps
- Standardize PRD innovation step structure
* Workflow Validation Max Parallel Mode POC
* prd trimodal compliant
* correct PRD completion suggested next steps
2026-01-11 11:13:38 +08:00
Murat K Ozcan
2f98f9130a docs: add TEA design philosophy callout and context engineering glossary entry (#1303) 2026-01-11 09:23:25 +08:00
Alex Verkhovsky
c18904d674 refactor: rename create-tech-spec to quick-spec for QuickFlow branding (#1290) 2026-01-10 11:33:00 +08:00
Murat K Ozcan
3e3c92ed3e docs: expand TEA documentation with cheat sheets, MCP enhancements, a… (#1289)
* docs: expand TEA documentation with cheat sheets, MCP enhancements, and API testing patterns

* docs: update TEA fragment counts and fix playwright-utils code examples

* docs: addressed PR review concerns

* docs: update TEA MCP configuration link to point to documentation site
2026-01-10 02:55:57 +08:00
forcetrainer
12d3492e0c Add link auditor, reorganize documentation, and README update (#1277)
* feat: add link auditor tools and fix broken docs links

- Add audit-doc-links.js to scan docs for broken links with auto-resolution
- Add fix-doc-links.js to apply suggested fixes (dry-run by default)
- Remove stale "Back to Core Concepts" breadcrumb links
- Update BMad acronym to "Breakthrough Method of Agile AI Driven Development"
- Update README links to docs.bmad-method.org
- Simplify upgrade callout in getting-started tutorial

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

* docs: reorganize docs structure and archive v4 tutorial

- Remove unused section index files (tutorials, how-to, explanation, reference)
- Move getting-started-bmadv4.md to _archive
- Update quick-start-bmgd.md to remove archived file reference
- Update upgrade-to-v6.md
- Update astro.config.mjs for new structure

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

* fix: ignore underscore directories in link checker

Update check-doc-links.js to skip _archive, _planning, and other
underscore-prefixed directories when validating links.

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

* docs: add v4 users section to README

Add links to v4 documentation archive and upgrade guide for users
migrating from previous versions.

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

* feat: convert docs to site-relative links and add validation tools

- Convert all relative links (./  ../) to site-relative paths (/path/)
- Strip .md extensions and use trailing slashes for Astro/Starlight
- Add fix-doc-links.js to convert relative links to site-relative
- Add validate-doc-links.js to check links point to existing files
- Remove old audit-doc-links.js and check-doc-links.js
- Update build-docs.js to use new validation script
- Add npm scripts: docs:fix-links, docs:validate-links
- Update style guide with validation steps

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

* docs: standardize acronym to BMad across documentation

Replace incorrect "BMAD" with correct "BMad" in text and frontmatter
while preserving "BMAD-METHOD" in GitHub URLs.

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

* docs: fix BMad acronym and remove draft README

- Correct acronym to "Breakthrough Method of Agile AI Driven Development"
- Remove unused README-draft.md

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

* docs: standardize BMad acronym in README

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

* docs: standardize FAQ format across all FAQ pages

- Add TOC with jump links under "## Questions"
- Use ### headers for questions (no Q: prefix)
- Direct answers without **A:** prefix
- Remove horizontal rules and "Related Documentation" sections
- End each FAQ with issue/Discord CTA
- Update style guide with new FAQ guidelines
- Delete redundant faq/index.md (sidebar handles navigation)

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

* fix: use repo-relative links with .md for GitHub compatibility

Convert all documentation links to repo-relative format (/docs/path/file.md)
so they work when browsing on GitHub. The rehype plugin strips /docs/ prefix
and converts .md to trailing slash at build time for Astro/Starlight.

- Update rehype-markdown-links.js to strip /docs/ prefix from absolute paths
- Update fix-doc-links.js to generate /docs/ prefixed paths with .md extension
- Convert 217 links across 64 files to new format

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

* fix: handle /docs/ prefix in link validator

Update resolveLink to strip /docs/ prefix from repo-relative links
before checking if files exist.

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

* docs: restore FAQ index page

Re-add the FAQ index page that was accidentally deleted, with
updated repo-relative link format.

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
2026-01-10 02:55:33 +08:00
Phil
677a00280b feat: refactor Cursor IDE setup to do command generation and cleanup instead of rules (#1283)
* feat: refactor Cursor IDE setup to do  command generation and cleanup instead of rules

- Added support for command generation in the Cursor IDE setup, including the creation of a new commands directory.
- Implemented cleanup for old BMAD commands alongside existing rules.
- Integrated TaskToolCommandGenerator for generating task and tool commands.
- Updated logging to reflect the number of agents, tasks, tools, and workflow commands generated during setup.

* style: adjust constructor formatting and update command path in Cursor IDE setup

- Reformatted the constructor method for consistency.
- Updated the command path syntax in the Cursor IDE setup to use a more standard format.

* fix: update Cursor command paths in documentation

- Changed the command path for Cursor IDE setup from `.cursor/rules/bmad/` to `.cursor/commands/bmad/` in both installers.md and modules.md.
- Updated file extension references to use `.md` instead of `.mdc` for consistency.
2026-01-09 16:39:32 +08:00
Q00
d19cca79d2 fix: resolve ERR_REQUIRE_ESM by using dynamic import for inquirer (#1278)
Inquirer v9+ is ESM-only, causing ERR_REQUIRE_ESM when loaded via
require() in CommonJS. Convert all require('inquirer') calls to
dynamic import('inquirer') across 8 CLI files.

Fixes #1197
2026-01-08 15:42:22 +08:00
Alex Verkhovsky
8e165b9b57 chore: enable CodeRabbit auto-review on new PRs (#1276) 2026-01-08 07:59:30 +08:00
Alex Verkhovsky
67b70288a6 docs: update README links to new documentation site (#1274) 2026-01-08 07:58:53 +08:00
Brian Madison
5c76657732 Add CNAME file 2026-01-07 18:18:12 +08:00
Brian Madison
7bf05c9d9d fix missing scripts from installation, and add ability to exclude workflows from being added as commands in tools, the first being the example workflow meant just for workflow example to the workflow builder 2026-01-07 16:21:25 +08:00
Alex Verkhovsky
692f14f2e7 docs: add how-to guide for getting BMAD answers + fix Discord channels (#1265)
* docs: add how-to guide for getting BMAD answers + fix Discord channels

- New guide: docs/how-to/get-answers-about-bmad.md
  Teaches users to point LLMs at BMAD sources for self-serve answers

- Fixed outdated Discord channel references across 8 files:
  #general-dev → #bmad-development
  #bugs-issues → #report-bugs-and-issues
  Added #suggestions-feedback and #bmad-method-help where appropriate

* docs: add Mayakovsky-style poem to how-to guide
2026-01-07 16:05:05 +08:00
Alex Verkhovsky
2e16650067 feat(docs): Diataxis restructure + Astro/Starlight migration (#1263)
* feat(docs): add Diataxis folder structure and update sidebar styling

- Create tutorials, how-to, explanation, reference directories with subdirectories
- Add index.md files for each main Diataxis section
- Update homepage with Diataxis card navigation layout
- Implement clean React Native-inspired sidebar styling
- Convert sidebar to autogenerated for both Diataxis and legacy sections
- Update docusaurus config with dark mode default and navbar changes

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

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

* feat(docs): migrate Phase 1 files to Diataxis structure

Move 21 files to new locations:
- Tutorials: quick-start guides, agent creation guide
- How-To: installation, customization, workflows
- Explanation: core concepts, features, game-dev, builder
- Reference: merged glossary from BMM and BMGD

Also:
- Copy images to new locations
- Update internal links via migration script (73 links updated)
- Build verified successfully

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

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

* fix(docs): add category labels for sidebar folders

Add _category_.json files to control display labels and position
for autogenerated sidebar categories.

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

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

* style(docs): improve welcome page and visual styling

- Rewrite index.md with React Native-inspired welcoming layout
- Add Diataxis section cards with descriptions
- Remove sidebar separator, add spacing instead
- Increase navbar padding with responsive breakpoints
- Add rounded admonitions without left border bar
- Use system font stack for better readability
- Add lighter chevron styling in sidebar
- Constrain max-width to 1600px for wide viewports

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

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

* fix: use baseUrl in meta tag paths for correct deployment URLs

* feat(docs): complete Phase 2 - split files and fix broken links

Phase 2 of Diataxis migration:
- Split 16 large legacy files into 42+ focused documents
- Created FAQ section with 7 topic-specific files
- Created brownfield how-to guides (3 files)
- Created workflow how-to guides (15+ files)
- Created architecture explanation files (3 files)
- Created TEA/testing explanation files
- Moved remaining legacy module files to proper Diataxis locations

Link fixes:
- Fixed ~50 broken internal links across documentation
- Updated relative paths for new file locations
- Created missing index files for installation, advanced tutorials
- Simplified TOC anchors to fix Docusaurus warnings

Cleanup:
- Removed legacy sidebar entries for deleted folders
- Deleted duplicate and empty placeholder files
- Moved workflow diagram assets to tutorials/images

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

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

* fix(build): use file glob instead of sidebar parsing for llms-full.txt

Replace brittle sidebar.js regex parsing with recursive file glob.
The old approach captured non-file strings like 'autogenerated' and
category labels, resulting in only 5 files being processed.

Now correctly processes all 86+ markdown files (~95k tokens).

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

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

* fix(seo): use absolute URLs in AI meta tags for agent discoverability

AI web-browsing agents couldn't follow relative paths in meta tags due to
URL security restrictions. Changed llms-full.txt and llms.txt meta tag
URLs from relative (baseUrl) to absolute (urlParts.origin + baseUrl).

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

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

* refactor(docs): recategorize misplaced files per Diataxis analysis

Phase 2.5 categorization fixes based on post-migration analysis:

Moved to correct Diataxis categories:
- tutorials/installation.md → deleted (duplicate of how-to/install-bmad.md)
- tutorials/brownfield-onboarding.md → how-to/brownfield/index.md
- reference/faq/* (8 files) → explanation/faq/
- reference/agents/barry-quick-flow.md → explanation/agents/
- reference/agents/bmgd-agents.md → explanation/game-dev/agents.md

Created:
- explanation/agents/index.md

Fixed all broken internal links (14 total)

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

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

* feat(docs): add Getting Started tutorial and simplify build script

- Add comprehensive Getting Started tutorial with installation as Step 1
- Simplify build-docs.js to read directly from docs/ (no consolidation)
- Remove backup/restore dance that could corrupt docs folder on build failure
- Remove ~150 lines of unused consolidation code

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

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

* fix(css): use fixed width layout to prevent content shifting

Apply React Native docs approach: set both width and max-width at
largest breakpoint (1400px) so content area maintains consistent
size regardless of content length. Switches to fluid 100% below
1416px breakpoint.

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

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

* refactor(docs): restructure tutorials with renamed entry point

- Rename index.md to bmad-tutorial.md for clearer navigation
- Remove redundant tutorials/index.md
- Update sidebar and config references

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

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

* feat(docs): add tutorial style guide and AI agent announcement bar

- Add docs/_contributing/ with tutorial style guide
- Reformat quick-start-bmm.md and bmad-tutorial.md per style guide
- Remove horizontal separators, add strategic admonitions
- Add persistent announcement bar for AI agents directing to llms-full.txt
- Fix footer broken link to tutorials

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

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

* feat(docs): add markdown demo page and UI refinements

- Add comprehensive markdown-demo.md for style testing
- Remove doc category links from navbar (use sidebar instead)
- Remove card buttons from welcome page
- Add dark mode styling for announcement bar
- Clean up index.md card layout

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

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

* feat(docs): apply unified tutorial style and update references

- Reformat create-custom-agent.md to follow tutorial style guide
- Update tutorial-style.md with complete unified structure
- Update all internal references to renamed tutorial files
- Remove obsolete advanced/index.md

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

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

* refactor(docs): migrate from Docusaurus to Astro+Starlight

Replace Docusaurus with Astro and the Starlight documentation theme
for improved performance, better customization, and modern tooling.

Build pipeline changes:
- New build-docs.js orchestrates link checking, artifact generation,
  and Astro build in sequence
- Add check-doc-links.js for validating internal links and anchors
- Generate llms.txt and llms-full.txt for LLM-friendly documentation
- Create downloadable source bundles (bmad-sources.zip, bmad-prompts.zip)
- Suppress MODULE_TYPELESS_PACKAGE_JSON warning in Astro build
- Output directly to build/site for cleaner deployment

Website architecture:
- Add rehype-markdown-links.js plugin to transform .md links to routes
- Add site-url.js helper for GitHub Pages URL resolution with strict
  validation (throws on invalid GITHUB_REPOSITORY format)
- Custom Astro components: Banner, Header, MobileMenuFooter
- Symlink docs/ into website/src/content/docs for Starlight

Documentation cleanup:
- Remove Docusaurus _category_.json files (Starlight uses frontmatter)
- Convert all docs to use YAML frontmatter with title field
- Move downloads.md from website/src/pages to docs/
- Consolidate style guide and workflow diagram docs
- Add 404.md and tutorials/index.md

---------

Co-authored-by: forcetrainer <bryan@inagaki.us>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 14:42:15 +08:00
dependabot[bot]
dc7a7f8c43 Bump qs from 6.14.0 to 6.14.1 (#1244)
Bumps [qs](https://github.com/ljharb/qs) from 6.14.0 to 6.14.1.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.14.0...v6.14.1)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Verkhovsky <alexey.verkhovsky@gmail.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-07 11:21:14 +08:00
Brian Madison
987410eb75 workflows doc addition 2026-01-07 10:29:50 +08:00
Brian Madison
f838486caa agent and workflow doc 2026-01-07 10:29:50 +08:00
Davor Racic
51aa3dda2f fix: brainstorming (#1251)
* fix(brainstorming): extend ideation phase with 100+ idea goal

Add emphasis on quantity-first approach to unlock better quality ideas.
Introduce energy checkpoints, multiple continuation options, and clearer
success metrics to keep users in generative exploration mode longer.

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

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

* fix(brainstorming): improve exploration menus and fix workflow paths

- Change menu options from numbers [1-4] to letters [K/T/A/B/C] for clearer navigation
- Fix workflow references from .yaml to .md across agents and patterns
- Add universal facilitation rules emphasizing 100+ idea quantity goal
- Update exploration menu with Keep/Try/Advanced/Break/Continue options

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

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

* feat(brainstorming): implement research-backed procedural rigor

Phase 4 achievements:
- Added Anti-Bias Protocol (Every 10 ideas domain pivot)
- Added Chain-of-Thought requirements (Reasoning before generation)
- Implemented Simulated Temperature prompts for higher divergence
- Standardized Idea Format Template for quality control
- Fixed undefined Advanced Elicitation variables
- Synchronized documentation with new [K, T, A, P, C] pattern

* fix(brainstorming): align ideation goals and fix broken workflow paths

- Standardized quantity goals to 100+ ideas across all brainstorming steps
- Fixed broken .yaml references pointing to renamed .md workflow files
- Aligned documentation summaries with mandatory IDEA FORMAT TEMPLATE
- Cleaned up misplaced mindset/goal sections in core workflow file
- Fixed spelling and inconsistencies in facilitation rules

* Fix ambiguous variable names in brainstorming ideation step

* fix(brainstorming): enforce quality growth alongside quantity

* fix: correct dependency format and add missing frontmatter variable

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 09:09:03 +08:00
Brian Madison
35ae4fd024 quadrivariate module workflow 2026-01-03 17:12:00 +08:00
Brian Madison
f31659765e trimodal viarate workflow creation 2026-01-03 17:12:00 +08:00
forcetrainer
d1f3844449 Docusaurus build fix - Sidebar and missing image issues (#1243)
* fix(docs): align sidebar with actual docs structure and fix image path

Sidebar referenced non-existent paths (modules/bmm/, getting-started/, etc.)
while actual docs live in different locations (modules/bmm-bmad-method/,
bmad-core-concepts/, etc.). Updated sidebar to match reality so Docusaurus
can build successfully.

Also fixed broken image reference in workflows-guide.md that used an
incorrect relative path.

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

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

* fix(docs): update build script to include docs/modules directory

The build script was excluding the modules folder when copying from docs/,
but module docs now live in docs/modules/ instead of src/modules/*/docs/.

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

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

* fix(docs): correct broken internal links

Fixed relative paths that were pointing to non-existent locations:
- bmgd index: ../../bmm/docs/index.md → ../bmm/index.md
- cis index: ../../bmm/docs/index.md → ../bmm/index.md
- bmm faq: ./README.md → GitHub URL

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

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 17:09:42 +08:00
Alex Verkhovsky
05ddc2d29b fix(dev): allow full project-context usage with conflict precedence (#1220) 2026-01-03 09:14:09 +08:00
Brian Madison
c748f0f6cc paths for workflow and sprint tatus files fixed 2026-01-01 21:20:14 +08:00
Andaman Lekawat
4142972b6a fix: standardize variable naming from {project_root} to {project-root} (#1217)
Fixed inconsistent variable naming in workflow instruction files across
CIS, BMGD, and BMM modules. The standard variable format uses hyphens
({project-root}) not underscores ({project_root}).

Affected files:
- CIS: problem-solving, innovation-strategy, design-thinking, storytelling
- BMGD: brainstorm-game, narrative, create-story checklist
- BMM: excalidraw diagrams, create-story checklist

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-01 21:14:21 +08:00
Murat K Ozcan
cd45d22eb6 docs: chose your tea engagement (#1228)
* docs: chose your tea engagement

* docs: addressed PR comments

* docs: made refiements to the mermaid diagram

* docs: wired in test architect discoverability nudges

---------

Co-authored-by: Brian <bmadcode@gmail.com>
2026-01-01 19:06:55 +08:00
Nick Pirocanac
a297235862 fix: *code-review is picking up non-application files (#1232)
Co-authored-by: Nick Pirocanac <nick.pirocanac@rtktickets.com>
2026-01-01 13:22:51 +08:00
Brian Madison
d8b13bdb2e agents all indicate hasSidecar true or false, validation requires it, agent builder and validator and editor use the field. Added a better brownfield doc 2025-12-31 21:30:19 +08:00
lkrysik
8699d7d968 Mixed line endings (Windows CRLF problem) (#1222)
Co-authored-by: lukasz.krysik <lukasz.krysik@effem.com>
2025-12-31 14:44:53 +08:00
1067 changed files with 41327 additions and 114777 deletions

View File

@@ -11,8 +11,8 @@ reviews:
walkthrough: false
poem: false
auto_review:
enabled: false
drafts: true # Can review drafts. Since it's manually triggered, it's fine.
enabled: true
drafts: false # Don't review drafts automatically
auto_incremental_review: false # always review the whole PR, not just new commits
base_branches:
- main

View File

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

View File

@@ -1,5 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Discord Community Support
- name: 📚 Documentation
url: http://docs.bmad-method.org
about: Check the docs first — tutorials, guides, and reference
- name: 💬 Discord Community
url: https://discord.gg/gk8jAdXWmj
about: Please join our Discord server for general questions and community discussion before opening an issue.
about: Join for questions, discussion, and help before opening an issue

View File

@@ -0,0 +1,22 @@
---
name: Feature Request
about: Suggest an idea or new feature
title: ''
labels: ''
assignees: ''
---
**Describe your idea**
A clear and concise description of what you'd like to see added or changed.
**Why is this needed?**
Explain the problem this solves or the benefit it brings to the BMad community.
**How should it work?**
Describe your proposed solution. If you have ideas on implementation, share them here.
**PR**
If you'd like to contribute, please indicate you're working on this or link to your PR. Please review [CONTRIBUTING.md](../../CONTRIBUTING.md) — contributions are always welcome!
**Additional context**
Add any other context, screenshots, or links that help explain your idea.

View File

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

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

@@ -0,0 +1,32 @@
---
name: Issue
about: Report a problem or something that's not working
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**Steps to reproduce**
1. What were you doing when the bug occurred?
2. What steps can recreate the issue?
**Expected behavior**
A clear and concise description of what you expected to happen.
**Environment (if relevant)**
- Model(s) used:
- Agentic IDE used:
- BMad version:
- Project language:
**Screenshots or links**
If applicable, add screenshots or links to help explain the problem.
**PR**
If you'd like to contribute a fix, please indicate you're working on it or link to your PR. See [CONTRIBUTING.md](../../CONTRIBUTING.md) — contributions are always welcome!
**Additional context**
Add any other context about the problem here. The more information you provide, the easier it is to help.

View File

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

View File

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

View File

@@ -39,20 +39,11 @@ jobs:
- name: Install dependencies
run: npm ci
- name: Determine site URL
id: site-url
run: |
if [ "${{ github.repository }}" = "bmad-code-org/BMAD-METHOD" ]; then
echo "url=https://bmad-code-org.github.io/BMAD-METHOD" >> $GITHUB_OUTPUT
else
OWNER="${{ github.repository_owner }}"
REPO="${{ github.event.repository.name }}"
echo "url=https://${OWNER}.github.io/${REPO}" >> $GITHUB_OUTPUT
fi
- name: Build documentation
env:
SITE_URL: ${{ steps.site-url.outputs.url }}
# Override site URL from GitHub repo variable if set
# Otherwise, astro.config.mjs will compute from GITHUB_REPOSITORY
SITE_URL: ${{ vars.SITE_URL }}
run: npm run docs:build
- name: Upload artifact

View File

@@ -6,11 +6,11 @@ on:
version_bump:
description: Version bump type
required: true
default: alpha
default: beta
type: choice
options:
- alpha
- beta
- alpha
- patch
- minor
- major
@@ -158,9 +158,12 @@ jobs:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
VERSION="${{ steps.version.outputs.new_version }}"
if [[ "$VERSION" == *"alpha"* ]] || [[ "$VERSION" == *"beta"* ]]; then
echo "Publishing prerelease version with --tag alpha"
if [[ "$VERSION" == *"alpha"* ]]; then
echo "Publishing alpha prerelease version with --tag alpha"
npm publish --tag alpha
elif [[ "$VERSION" == *"beta"* ]]; then
echo "Publishing beta prerelease version with --tag latest"
npm publish --tag latest
else
echo "Publishing stable version with --tag latest"
npm publish --tag latest

View File

@@ -69,6 +69,27 @@ jobs:
- name: markdownlint
run: npm run lint:md
docs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Validate documentation links
run: npm run docs:validate-links
- name: Build documentation
run: npm run docs:build
validate:
runs-on: ubuntu-latest
steps:

48
.gitignore vendored
View File

@@ -1,12 +1,11 @@
# Dependencies
node_modules/
**/node_modules/
pnpm-lock.yaml
bun.lock
deno.lock
pnpm-workspace.yaml
package-lock.json
test-output/*
coverage/
@@ -28,11 +27,6 @@ Thumbs.db
# Development tools and configs
.prettierrc
# IDE and editor configs
.windsurf/
.trae/
_bmad*/.cursor/
# AI assistant files
CLAUDE.md
.ai/*
@@ -43,38 +37,32 @@ CLAUDE.local.md
.serena/
.claude/settings.local.json
# Project-specific
_bmad-core
_bmad-creator-tools
flattened-codebase.xml
*.stats.md
.internal-docs/
#UAT template testing output files
tools/template-test-generator/test-scenarios/
# Bundler temporary files and generated bundles
.bundler-temp/
# Generated web bundles (built by CI, not committed)
src/modules/bmm/sub-modules/
src/modules/bmb/sub-modules/
src/modules/cis/sub-modules/
src/modules/bmgd/sub-modules/
shared-modules
z*/
_bmad
_bmad-output
.clinerules
.augment
.crush
.cursor
.iflow
.opencode
.qwen
.rovodev
.kilocodemodes
.claude
.codex
.github/chatmodes
.github/agents
.agent
.agentvibes/
.kiro/
.agentvibes
.kiro
.roo
.trae
.windsurf
bmad-custom-src/
# Docusaurus / Documentation Build
.docusaurus/
# Astro / Documentation Build
website/.astro/
website/dist/
build/

View File

@@ -5,3 +5,16 @@ npx --no-install lint-staged
# Validate everything
npm test
# Validate docs links only when docs change
if command -v rg >/dev/null 2>&1; then
if git diff --cached --name-only | rg -q '^docs/'; then
npm run docs:validate-links
npm run docs:build
fi
else
if git diff --cached --name-only | grep -Eq '^docs/'; then
npm run docs:validate-links
npm run docs:build
fi
fi

View File

@@ -2,7 +2,7 @@
# https://github.com/DavidAnson/markdownlint-cli2
ignores:
- node_modules/**
- "**/node_modules/**"
- test/fixtures/**
- CODE_OF_CONDUCT.md
- _bmad/**
@@ -11,7 +11,6 @@ ignores:
- .claude/**
- .roo/**
- .codex/**
- .agentvibes/**
- .kiro/**
- sample-project/**
- test-project-install/**

View File

@@ -1,5 +1,252 @@
# Changelog
## [6.0.0-Beta.2]
- Fix installer so commands match what is installed, centralize most ide into a central file instead of separate files for each ide.
- Specific IDEs may still need udpates, but all is config driven now and should be easier to maintain
- Kiro still needs updates, but its been in this state since contributed, will investigate soon
- Any version older than Beta.0 will recommend removal and reinstall to project. From later alphas though its sufficient to quick update if still desired, but best is just start fresh with Beta.
## [6.0.0-Beta.1]
**Release: January 2026 - Alpha to Beta Transition**
### 🎉 Beta Release
- **Transition from Alpha to Beta**: BMad Method is now in Beta! This marks a significant milestone in the framework's development
- **NPM Default Tag**: Beta versions are now published with the `latest` tag, making `npx bmad-method` serve the beta version by default
### 🌟 Key Highlights
1. **bmad-help**: Revolutionary AI-powered guidance system replaces the alpha workflow-init and workflow tracking — introduces full AI intelligence to guide users through workflows, commands, and project context
2. **Module Ecosystem Expansion**: bmad-builder, CIS (Creative Intelligence Suite), and Game Dev Studio moved to separate repositories for focused development
3. **Installer Consolidation**: Unified installer architecture with standardized command naming (`bmad-dash-case.md` or `bmad-*-agent-*.md`)
4. **Windows Compatibility**: Complete migration from Inquirer.js to @clack/prompts for reliable cross-platform support
### 🚀 Major Features
**bmad-help - Intelligent Guidance System:**
- **Replaces**: workflow-init and legacy workflow tracking
- **AI-Powered**: Full context awareness of installed modules, workflows, agents, and commands
- **Dynamic Discovery**: Automatically catalogs all available workflows from installed modules
- **Intelligent Routing**: Guides users to the right workflow or agent based on their goal
- **IDE Integration**: Generates proper IDE command files for all discovered workflows
**Module Restructuring:**
| Module | Status | New Location |
| ------------------------------------- | ------------------------------------------------- | ------------------------------------------------------- |
| **bmad-builder** | Near beta, with docs and walkthroughs coming soon | `bmad-code-org/bmad-builder` |
| **CIS** (Creative Intelligence Suite) | Published as npm package | `bmad-code-org/bmad-module-creative-intelligence-suite` |
| **Game Dev Studio** | Published as npm package | `bmad-code-org/bmad-module-game-dev-studio` |
### 🔧 Installer & CLI Improvements
**UnifiedInstaller Architecture:**
- All IDE installers now use a common `UnifiedInstaller` class
- Standardized command naming conventions:
- Workflows: `bmad-module-workflow-name.md`
- Agents: `bmad-module-agent-name.md`
- Tasks: `bmad-task-name.md`
- Tools: `bmad-tool-name.md`
- External module installation from npm with progress indicators
- Module removal on unselect with confirmation
**Windows Compatibility Fix:**
- Replaced Inquirer.js with @clack/prompts to fix arrow key navigation issues on Windows
- All 91 installer workflows migrated to new prompt system
### 📚 Documentation Updates
**Significant docsite improvements:**
- Interactive workflow guide page (`/workflow-guide`) with track selector
- TEA documentation restructured using Diátaxis framework (25 docs)
- Style guide optimized for LLM readers (367 lines, down from 767)
- Glossary rewritten using table format (123 lines, down from 373)
- README overhaul with numbered command flows and prominent `/bmad-help` callout
- New workflow map diagram with interactive HTML
- New editorial review tasks for document quality
- E2E testing methodology for Game Dev Studio
More documentation updates coming soon.
### 🐛 Bug Fixes
- Fixed TodoMVC URL references to include `/dist/` path
- Fixed glob pattern normalization for Windows compatibility
- Fixed YAML indentation in kilo.js customInstructions field
- Fixed stale path references in check-implementation-readiness workflow
- Fixed sprint-status.yaml sync in correct-course workflow
- Fixed web bundler entry point reference
- Fixed mergeModuleHelpCatalogs ordering after generateManifests
### 📊 Statistics
- **91 commits** since alpha.23
- **969 files changed** (+23,716 / -91,509 lines)
- **Net reduction of ~67,793 lines** through cleanup and consolidation
- **3 major modules** moved to separate repositories
- **Complete installer refactor** for standardization
---
## [6.0.0-alpha.23]
**Release: January 11, 2026**
### 🌟 Key Highlights
1. **Astro/Starlight Documentation Platform**: Complete migration from Docusaurus to modern Astro+Starlight for superior performance and customization
2. **Diataxis Framework Implementation**: Professional documentation restructuring with tutorials, how-to guides, explanations, and references
3. **Workflow Creator & Validator**: Powerful new tools for workflow creation with subprocess support and PRD validation
4. **TEA Documentation Expansion**: Comprehensive testing documentation with cheat sheets, MCP enhancements, and API testing patterns
5. **Brainstorming Revolution**: Research-backed procedural rigor with 100+ idea goal and anti-bias protocols
6. **Cursor IDE Modernization**: Refactored from rules-based to command-based architecture for better IDE integration
### 📚 Documentation Platform Revolution
**Astro/Starlight Migration:**
- **From Docusaurus to Astro**: Complete platform migration for improved performance, better customization, and modern tooling
- **Starlight Theme**: Professional documentation theme with dark mode default and responsive design
- **Build Pipeline Overhaul**: New build-docs.js orchestrates link checking, artifact generation, and Astro build
- **LLM-Friendly Documentation**: Generated llms.txt and llms-full.txt for AI agent discoverability
- **Downloadable Source Bundles**: bmad-sources.zip and bmad-prompts.zip for offline use
**Diataxis Framework Implementation:**
- **Four Content Types**: Professional separation into tutorials, how-to guides, explanations, and references
- **21 Files Migrated**: Phase 1 migration of core documentation to Diataxis structure
- **42+ Focused Documents**: Phase 2 split of large legacy files into manageable pieces
- **FAQ Restructuring**: 7 topic-specific FAQ files with standardized format
- **Tutorial Style Guide**: Comprehensive documentation standards for consistent content creation
**Link Management & Quality:**
- **Site-Relative Links**: Converted 217 links to repo-relative format (/docs/path/file.md)
- **Link Validation Tools**: New validate-doc-links.js and fix-doc-links.js for maintaining link integrity
- **Broken Link Fixes**: Resolved ~50 broken internal links across documentation
- **BMad Acronym Standardization**: Consistent use of "BMad" (Breakthrough Method of Agile AI Driven Development)
- **SEO Optimization**: Absolute URLs in AI meta tags for better web crawler discoverability
### 🔧 Workflow Creator & Validator (Major Feature)
**Workflow Creation Tool:**
- **Subprocess Support**: Advanced workflows can now spawn subprocesses for complex operations
- **PRD Validation Step**: New validation step ensures PRD quality before workflow execution
- **Trimodal Workflow Creation**: Three-mode workflow generation system
- **Quadrivariate Module Workflow**: Four-variable workflow architecture for enhanced flexibility
- **Path Violation Checks**: Validator ensures workflows don't violate path constraints
- **Max Parallel Mode POC**: Proof-of-concept for parallel workflow validation
**Workflow Quality Improvements:**
- **PRD Trimodal Compliance**: PRD workflow now follows trimodal standards
- **Standardized Step Formatting**: Consistent markdown formatting across workflow and PRD steps
- **Better Suggested Next Steps**: Improved workflow completion guidance
- **Variable Naming Standardization**: {project_root} → {project-root} across all workflows
### 🧪 TEA Documentation Expansion
**Comprehensive Testing Guides:**
- **Cheat Sheets**: Quick reference guides for common testing scenarios
- **MCP Enhancements**: Model Context Protocol improvements for testing workflows
- **API Testing Patterns**: Best practices for API testing documentation
- **Design Philosophy Callout**: Clear explanation of TEA's design principles
- **Context Engineering Glossary**: New glossary entry defining context engineering concepts
- **Fragment Count Updates**: Accurate documentation of TEA workflow components
- **Playwright Utils Examples**: Updated code examples for playwright-utils integration
### 💡 Brainstorming Workflow Overhaul
**Research-Backed Procedural Rigor:**
- **100+ Idea Goal**: Emphasis on quantity-first approach to unlock better quality ideas
- **Anti-Bias Protocol**: Domain pivot every 10 ideas to reduce cognitive biases
- **Chain-of-Thought Requirements**: Reasoning before idea generation
- **Simulated Temperature**: Prompts for higher divergence in ideation
- **Standardized Idea Format**: Quality control template for consistent output
- **Energy Checkpoints**: Multiple continuation options to maintain creative flow
**Exploration Menu Improvements:**
- **Letter-Based Navigation**: [K/T/A/B/C] options instead of numbers for clarity
- **Keep/Try/Advanced/Break/Continue**: Clear action options for idea refinement
- **Universal Facilitation Rules**: Consistent guidelines across all brainstorming steps
- **Quality Growth Enforcement**: Balance between quantity and quality metrics
### 🖥️ Cursor IDE Modernization
**Command-Based Architecture:**
- **From Rules to Commands**: Complete refactor from rules-based to command-based system
- **Command Generation**: Automatic generation of task and tool commands
- **Commands Directory**: New `.cursor/commands/bmad/` structure for generated commands
- **Cleanup Integration**: Automatic cleanup of old BMAD commands alongside rules
- **Enhanced Logging**: Better feedback on agents, tasks, tools, and workflow commands generated
### 🤖 Agent System Improvements
**Agent Builder & Validation:**
- **hasSidecar Field**: All agents now indicate sidecar support (true/false)
- **Validation Enforcement**: hasSidecar now required in agent validation
- **Better Brownfield Documentation**: Improved brownfield project documentation
- **Agent Builder Updates**: Agent builder now uses hasSidecar field
- **Agent Editor Integration**: Editor workflow respects hasSidecar configuration
### 🐛 Bug Fixes & Quality Improvements
**Critical Fixes:**
- **Windows Line Endings**: Resolved CRLF issues causing cross-platform problems
- **Code-Review File Filtering**: Fixed code-review picking up non-application files
- **ERR_REQUIRE_ESM Resolution**: Dynamic import for inquirer v9+ compatibility
- **Project-Context Conflicts**: Allow full project-context usage with conflict precedence
- **Workflow Paths**: Fixed paths for workflow and sprint status files
- **Missing Scripts**: Fixed missing scripts from installation
**Workflow & Variable Fixes:**
- **Variable Naming**: Standardized from {project_root} to {project-root} across CIS, BMGD, and BMM modules
- **Workflow References**: Fixed broken .yaml → .md workflow references
- **Advanced Elicitation Variables**: Fixed undefined variables in brainstorming
- **Dependency Format**: Corrected dependency format and added missing frontmatter
**Code Quality:**
- **Dependency Updates**: Bumped qs from 6.14.0 to 6.14.1
- **CodeRabbit Integration**: Enabled auto-review on new PRs
- **TEA Fragment Counts**: Updated fragment counts for accuracy
- **Documentation Links**: Fixed Discord channel references (#general-dev → #bmad-development)
### 🚀 Installation & CLI Improvements
**Installation Enhancements:**
- **Workflow Exclusion**: Ability to exclude workflows from being added as commands
- **Example Workflow Protection**: Example workflow in workflow builder now excluded from tools
- **CNAME Configuration**: Added CNAME file for custom domain support
- **Script Fixes**: All scripts now properly included in installation
### 📊 Statistics
- **27 commits** since alpha.22
- **217 documentation links** converted to site-relative format
- **42+ focused documents** created from large legacy files
- **7 topic-specific FAQ files** with standardized formatting
- **Complete documentation platform** migrated from Docusaurus to Astro/Starlight
- **Major workflow tools** added: Creator, Validator with subprocess support
- **Brainstorming workflow** overhauled with research-backed rigor
---
## [6.0.0-alpha.22]
**Release: December 31, 2025**

1
CNAME Normal file
View File

@@ -0,0 +1 @@
docs.bmad-method.org

View File

@@ -1,266 +1,167 @@
# 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.
Thank you for considering contributing! 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:
💬 **Discord**: [Join our community](https://discord.gg/gk8jAdXWmj) for real-time discussions, questions, and collaboration.
- **#general-dev** - Technical discussions, feature ideas, and development questions
- **#bugs-issues** - Bug reports and issue discussions
---
## Our Philosophy
### BMad Core™: Universal Foundation
BMad strengthens human-AI collaboration through specialized agents and guided workflows. Every contribution should answer: **"Does this make humans and AI better together?"**
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:**
**✅ What we welcome:**
- Enhanced collaboration patterns and workflows
- Improved agent personas and prompts
- Domain-specific modules leveraging BMad Core
- Better planning and context continuity
**❌ What doesn't fit:**
- 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
## Reporting Issues
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
**ALL bug reports and feature requests MUST go through GitHub Issues.**
### Suggesting Features or New Modules
### Before Creating an Issue
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
1. **Search existing issues** — Use the GitHub issue search to check if your bug or feature has already been reported
2. **Search closed issues** — Your issue may have been fixed or addressed previously
3. **Check discussions** — Some conversations happen in [GitHub Discussions](https://github.com/bmad-code-org/BMAD-METHOD/discussions)
### Before Starting Work
### Bug Reports
After searching, if the bug is unreported, use the [bug report template](https://github.com/bmad-code-org/BMAD-METHOD/issues/new?template=bug_report.md) and include:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Your environment (model, IDE, BMad version)
- Screenshots or error messages if applicable
### Feature Requests
After searching, use the [feature request template](https://github.com/bmad-code-org/BMAD-METHOD/issues/new?template=feature_request.md) and explain:
- What the feature is
- Why it would benefit the BMad community
- How it strengthens human-AI collaboration
**For community modules**, review [TRADEMARK.md](TRADEMARK.md) for proper naming conventions (e.g., "My Module (BMad Community Module)").
---
## 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
| Work Type | Requirement |
| ------------- | ---------------------------------------------- |
| Bug fix | An open issue (create one if it doesn't exist) |
| Feature | An open feature request issue |
| Large changes | Discussion via issue first |
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.
**Why?** This prevents wasted effort on work that may not align with project direction.
---
## Pull Request Guidelines
### Which Branch?
### Target Branch
**Submit PR's to `main` branch** (critical only):
Submit PRs to the `main` branch.
- 🚨 Critical bug fixes that break basic functionality
- 🔒 Security patches
- 📚 Fixing dangerously incorrect documentation
- 🐛 Bugs preventing installation or basic usage
### PR Size
### PR Size Guidelines
- **Ideal**: 200-400 lines of code changes
- **Maximum**: 800 lines (excluding generated files)
- **One feature/fix per PR**
- **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
If your change exceeds 800 lines, break it into smaller PRs that can be reviewed independently.
### Breaking Down Large PRs
### New to Pull Requests?
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"
1. **Fork** the repository
2. **Clone** your fork: `git clone https://github.com/YOUR-USERNAME/bmad-method.git`
3. **Create a branch**: `git checkout -b fix/description` or `git checkout -b feature/description`
4. **Make changes** — keep them focused
5. **Commit**: `git commit -m "fix: correct typo in README"`
6. **Push**: `git push origin fix/description`
7. **Open PR** from your fork on GitHub
### 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)
Fixes #[issue number]
## How
## [2-3 bullets listing HOW you implemented it]
-
- [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)
**Keep it under 200 words.**
### Good vs Bad PR Descriptions
### Commit Messages
❌ **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:
Use conventional commits:
- `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
- `refactor:` Code change (no bug/feature)
- `test:` Adding tests
- `chore:` Build/tools changes
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
## Prompt & Agent Guidelines
- 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
- Validate YAML schemas with `npm run validate:schemas` before committing
## 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)
Keep messages under 72 characters. Each commit = one logical change.
---
**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.
## What Makes a Good PR?
| ✅ Do | ❌ Don't |
| --------------------------- | ---------------------------- |
| Change one thing per PR | Mix unrelated changes |
| Clear title and description | Vague or missing explanation |
| Reference related issues | Reformat entire files |
| Small, focused commits | Copy your whole project |
| Work on a branch | Work directly on `main` |
---
## Prompt & Agent Guidelines
- Keep dev agents lean — focus on coding context, not documentation
- Web/planning agents can be larger with complex tasks
- Everything is natural language (markdown) — no code in core framework
- Use BMad modules for domain-specific features
- Validate YAML schemas: `npm run validate:schemas`
---
## Need Help?
- 💬 **Discord**: [Join the community](https://discord.gg/gk8jAdXWmj)
- 🐛 **Bugs**: Use the [bug report template](https://github.com/bmad-code-org/BMAD-METHOD/issues/new?template=bug_report.md)
- 💡 **Features**: Use the [feature request template](https://github.com/bmad-code-org/BMAD-METHOD/issues/new?template=feature_request.md)
---
## Code of Conduct
By participating, you agree to abide by our [Code of Conduct](.github/CODE_OF_CONDUCT.md).
## License
By contributing to this project, you agree that your contributions will be licensed under the same license as the project.
By contributing, your contributions are licensed under the same MIT License. See [CONTRIBUTORS.md](CONTRIBUTORS.md) for contributor attribution.

32
CONTRIBUTORS.md Normal file
View File

@@ -0,0 +1,32 @@
# Contributors
BMad Core, BMad Method and BMad and Community BMad Modules are made possible by contributions from our community. We gratefully acknowledge everyone who has helped improve this project.
## How We Credit Contributors
- **Git history** — Every contribution is preserved in the project's commit history
- **Contributors badge** — See the dynamic contributors list on our [README](README.md)
- **GitHub contributors graph** — Visual representation at <https://github.com/bmad-code-org/BMAD-METHOD/graphs/contributors>
## Becoming a Contributor
Anyone who submits a pull request that is merged becomes a contributor. Contributions include:
- Bug fixes
- New features or workflows
- Documentation improvements
- Bug reports and issue triaging
- Code reviews
- Helping others in discussions
There are no minimum contribution requirements — whether it's a one-character typo fix or a major feature, we value all contributions.
## Copyright
The BMad Method project is copyrighted by BMad Code, LLC. Individual contributions are licensed under the same MIT License as the project. Contributors retain authorship credit through Git history and the contributors graph.
---
**Thank you to everyone who has helped make BMad Method better!**
For contribution guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).

10
LICENSE
View File

@@ -2,6 +2,9 @@ MIT License
Copyright (c) 2025 BMad Code, LLC
This project incorporates contributions from the open source community.
See [CONTRIBUTORS.md](CONTRIBUTORS.md) for contributor attribution.
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
@@ -21,6 +24,7 @@ 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.
BMad™, BMad Method™, and BMad Core™ are trademarks of BMad Code, LLC, covering all
casings and variations (including BMAD, bmad, BMadMethod, BMAD-METHOD, etc.). The use of
these trademarks in this software does not grant any rights to use the trademarks
for any other purpose. See [TRADEMARK.md](TRADEMARK.md) for detailed guidelines.

253
README.md
View File

@@ -1,237 +1,118 @@
# BMad Method & BMad Core
![BMad Method](banner-bmad-method.png)
[![Stable Version](https://img.shields.io/npm/v/bmad-method?color=blue&label=stable)](https://www.npmjs.com/package/bmad-method)
[![Alpha Version](https://img.shields.io/npm/v/bmad-method/alpha?color=orange&label=alpha)](https://www.npmjs.com/package/bmad-method)
[![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)
---
**Breakthrough Method of Agile AI Driven Development** — An AI-driven agile development framework with 21 specialized agents, 50+ guided workflows, and scale-adaptive intelligence that adjusts from bug fixes to enterprise systems.
<div align="center">
**100% free and open source.** No paywalls. No gated content. No gated Discord. We believe in empowering everyone, not just those who can pay.
## 🎉 NEW: BMAD V6 Installer - Create & Share Custom Content!
## Why BMad?
The completely revamped **BMAD V6 installer** now includes built-in support for creating, installing, and sharing custom modules, agents, workflows, templates, and tools! Build your own AI solutions or share them with your team - and real soon, with the whole BMad Community througha verified community sharing portal!
Traditional AI tools do the thinking for you, producing average results. BMad agents and facilitated workflow act as expert collaborators who guide you through a structured process to bring out your best thinking in partnership with the AI.
**✨ What's New:**
- **AI Intelligent Help**: Brand new for beta - AI assisted help will guide you from the beginning to the end - just ask for `/bmad-help` after you have installed BMad to your project
- **Scale-Domain-Adaptive**: Automatically adjusts planning depth and needs based on project complexity, domain and type - a SaaS Mobile Dating App has different planning needs from a diagnostic medical system, BMad adapts and helps you along the way
- **Structured Workflows**: Grounded in agile best practices across analysis, planning, architecture, and implementation
- **Specialized Agents**: 12+ domain experts (PM, Architect, Developer, UX, Scrum Master, and more)
- **Party Mode**: Bring multiple agent personas into one session to plan, troubleshoot, or discuss your project collaboratively, multiple perspectives with maximum fun
- **Complete Lifecycle**: From brainstorming to deployment, BMad is there with you every step of the way
- 📦 **Streamlined Custom Module Installation** - Package your custom content as installable modules
- 🤖 **Agent & Workflow Sharing** - Distribute standalone agents and workflows
- 🔄 **Unitary Module Support** - Install individual components without full modules
- ⚙️ **Dependency Management** - Automatic handling of module dependencies
- 🛡️ **Update-Safe Customization** - Your custom content persists through updates
## Quick Start
**📚 Learn More:**
- [**Custom Content Overview**](docs/modules/bmb-bmad-builder/custom-content.md) - Discover all supported content types
- [**Installation Guide**](docs/modules/bmb-bmad-builder/custom-content-installation.md) - Learn to create and install custom content
- [**2 Very simple Custom Modules of questionable quality**](./samples/sample-custom-modules/README.md) - if you want to download and try to install a custom shared module, get an idea of how to bundle and share your own, or create your own personal agents, workflows and modules.
</div>
---
## AI-Driven Agile Development That Scales From Bug Fixes to Enterprise
**Build More, Architect Dreams** (BMAD) with **21 specialized AI agents** across 4 official modules, and **50+ guided workflows** that adapt to your project's complexity—from quick bug fixes to enterprise platforms, and new step file workflows that allow for incredibly long workflows to stay on the rails longer than ever before!
Additionally - when we say 'Build More, Architect Dreams' - we mean it! The BMad Builder has landed, and now as of Alpha.15 is fully supported in the installation flow via NPX - custom stand along agents, workflows and the modules of your dreams! The community forge will soon open, endless possibility awaits!
> **🚀 v6 is a MASSIVE upgrade from v4!** Complete architectural overhaul, scale-adaptive intelligence, visual workflows, and the powerful BMad Core framework. v4 users: this changes everything. [See what's new →](#whats-new-in-v6)
> **📌 v6 Alpha Status:** Near-beta quality with vastly improved stability. Documentation is being finalized. New videos coming soon to [BMadCode YouTube](https://www.youtube.com/@BMadCode).
## 🎯 Why BMad Method?
Unlike generic AI coding assistants, BMad Method provides **structured, battle-tested workflows** powered by specialized agents who understand agile development. Each agent has deep domain expertise—from product management to architecture to testing—working together seamlessly.
**✨ Key Benefits:**
- **Scale-Adaptive Intelligence** - Automatically adjusts planning depth from bug fixes to enterprise systems
- **Complete Development Lifecycle** - Analysis → Planning → Architecture → Implementation
- **Specialized Expertise** - 19 agents with specific roles (PM, Architect, Developer, UX Designer, etc.)
- **Proven Methodologies** - Built on agile best practices with AI amplification
- **IDE Integration** - Works with Claude Code, Cursor, Windsurf, VS Code
## 🏗️ The Power of BMad Core
**BMad Method** is actually a sophisticated module built on top of **BMad Core** (**C**ollaboration **O**ptimized **R**eflection **E**ngine). This revolutionary architecture means:
- **BMad Core** provides the universal framework for human-AI collaboration
- **BMad Method** leverages Core to deliver agile development workflows
- **BMad Builder** lets YOU create custom modules as powerful as BMad Method itself
With **BMad Builder**, you can architect both simple agents and vastly complex domain-specific modules (legal, medical, finance, education, creative) that will soon be sharable in an **official community marketplace**. Imagine building and sharing your own specialized AI team!
## 📊 See It In Action
<p align="center">
<img src="./docs/modules/bmm-bmad-method/images/workflow-method-greenfield.svg" alt="BMad Method Workflow" width="100%">
</p>
<p align="center">
<em>Complete BMad Method workflow showing all phases, agents, and decision points</em>
</p>
## 🚀 Get Started in 3 Steps
### 1. Install BMad Method
**Prerequisites**: [Node.js](https://nodejs.org) v20+
```bash
# Install v6 RECOMMENDED
npx bmad-method@alpha install
```
```bash
# Install v4 Legacy (not recommended if starting fresh)
npx bmad-method install
# OR
npx bmad-method@latest install
```
Follow the installer prompts, then open your AI IDE (Claude Code, Cursor, Windsurf, etc.) in the project folder.
### 2. Initialize Your Project
> **Not sure what to do?** Run `/bmad-help` — it tells you exactly what's next and what's optional. You can also ask it questions like:
Load any agent in your IDE and run:
- `/bmad-help How should I build a web app for my TShirt Business that can scale to millions?`
- `/bmad-help I just finished the architecture, I am not sure what to do next`
```
*workflow-init
```
And the amazing thing is BMad Help evolves depending on what modules you install also!
- `/bmad-help Im interested in really exploring creative ways to demo BMad at work, what do you recommend to help plan a great slide deck and compelling narrative?`, and if you have the Creative Intelligence Suite installed, it will offer you different or complimentary advice than if you just have BMad Method Module installed!
This analyzes your project and recommends the right workflow track.
The workflows below show the fastest path to working code. You can also load agents directly for a more structured process, extensive planning, or to learn about agile development practices — the agents guide you with menus, explanations, and elicitation at each step.
### 3. Choose Your Track
### Simple Path (Quick Flow)
BMad Method adapts to your needs with three intelligent tracks:
Bug fixes, small features, clear scope — 3 commands - 1 Optional Agent:
| Track | Use For | Planning | Time to Start |
| ----------------- | ------------------------- | ----------------------- | ------------- |
| **⚡ Quick Flow** | Bug fixes, small features | Tech spec only | < 5 minutes |
| **📋 BMad Method** | Products, platforms | PRD + Architecture + UX | < 15 minutes |
| **🏢 Enterprise** | Compliance, scale | Full governance suite | < 30 minutes |
1. `/quick-spec` — analyzes your codebase and produces a tech-spec with stories
2. `/dev-story` — implements each story
3. `/code-review` — validates quality
> **Not sure?** Run `*workflow-init` and let BMad analyze your project goal.
### Full Planning Path (BMad Method)
## 🔄 How It Works: 4-Phase Methodology
Products, platforms, complex features — structured planning then build:
BMad Method guides you through a proven development lifecycle:
1. `/product-brief` — define problem, users, and MVP scope
2. `/create-prd` — full requirements with personas, metrics, and risks
3. `/create-architecture` — technical decisions and system design
4. `/create-epics-and-stories` — break work into prioritized stories
5. `/sprint-planning` — initialize sprint tracking
6. **Repeat per story:** `/create-story``/dev-story``/code-review`
1. **📊 Analysis** (Optional) - Brainstorm, research, and explore solutions
2. **📝 Planning** - Create PRDs, tech specs, or game design documents
3. **🏗 Solutioning** - Design architecture, UX, and technical approach
4. ** Implementation** - Story-driven development with continuous validation
Every step tells you what's next. Optional phases (brainstorming, research, UX design) are available when you need them — ask `/bmad-help` anytime. For a detailed walkthrough, see the [Getting Started Tutorial](http://docs.bmad-method.org/tutorials/getting-started/).
Each phase has specialized workflows and agents working together to deliver exceptional results.
## Modules
## 🤖 Meet Your Team
BMad Method extends with official modules for specialized domains. Modules are available during installation and can be added to your project at any time. After the V6 beta period these will also be available as Plugins and Granular Skills.
**12 Specialized Agents** working in concert:
| Module | GitHub | NPM | Purpose |
| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **BMad Method (BMM)** | [bmad-code-org/BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) | [bmad-method](https://www.npmjs.com/package/bmad-method) | Core framework with 34+ workflows across 4 development phases |
| **BMad Builder (BMB)** | [bmad-code-org/bmad-builder](https://github.com/bmad-code-org/bmad-builder) | [bmad-builder](https://www.npmjs.com/package/bmad-builder) | Create custom BMad agents, workflows, and domain-specific modules |
| **Game Dev Studio (BMGD)** | [bmad-code-org/bmad-module-game-dev-studio](https://github.com/bmad-code-org/bmad-module-game-dev-studio) | [bmad-game-dev-studio](https://www.npmjs.com/package/bmad-game-dev-studio) | Game development workflows for Unity, Unreal, and Godot |
| **Creative Intelligence Suite (CIS)** | [bmad-code-org/bmad-module-creative-intelligence-suite](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite) | [bmad-creative-intelligence-suite](https://www.npmjs.com/package/bmad-creative-intelligence-suite) | Innovation, brainstorming, design thinking, and problem-solving |
| Development | Architecture | Product | Leadership |
| ----------- | -------------- | ----------- | ------------ |
| Developer | Architect | PM | Scrum Master |
| UX Designer | Test Architect | Analyst | BMad Master |
| | | Tech Writer | |
* More modules are coming in the next 2 weeks from BMad Official, and a community marketplace for the installer also will be coming with the final V6 release!
**Test Architect** integrates with `@seontechnologies/playwright-utils` for production-ready web app fixture-based utilities.
## Documentation
Each agent brings deep expertise and can be customized to match your team's style.
**[Full Documentation](http://docs.bmad-method.org)** — Tutorials, how-to guides, concepts, and reference
## 📦 What's Included
### Official Modules
- **BMad Method (BMM)** - Complete agile development framework
- 12 specialized agents
- 34 workflows across 4 phases
- Stand Along Quick Spec Flow for a streamlined simple implementation process
- [→ Documentation Hub](./docs/modules/bmm-bmad-method/index.md)
- **BMad Builder (BMB)** - Create custom agents and workflows
- Build anything from simple agents to complex modules
- Create domain-specific solutions (legal, medical, finance, education)
- [→ Builder Guide](./docs/modules/bmb-bmad-builder/index.md)
- **Creative Intelligence Suite (CIS)** - Innovation & problem-solving
- Brainstorming, design thinking, storytelling
- 5 creative facilitation workflows
- [→ Creative Workflows](./docs/modules/cis-creative-intelligence-suite/index.md)
### Key Features
- **🎨 Customizable Agents** - Modify personalities, expertise, and communication styles
- **🌐 Multi-Language Support** - Separate settings for communication and code output
- **📄 Document Sharding** - 90% token savings for large projects
- **🔄 Update-Safe** - Your customizations persist through updates
- **🚀 Web Bundles** - Use in ChatGPT, Claude Projects, or Gemini Gems
## 📚 Documentation
### Quick Links
- **[Quick Start Guide](./docs/modules/bmm-bmad-method/quick-start.md)** - 15-minute introduction
- **[Complete BMM Documentation](./docs/modules/bmm-bmad-method/index.md)** - All guides and references
- **[Agent Customization](docs/bmad-customization/agent-customization-guide.md)** - Personalize your agents
- **[All Documentation](./docs/index.md)** - Complete documentation index
- [Getting Started Tutorial](http://docs.bmad-method.org/tutorials/getting-started/)
- [Upgrading from Previous Versions](http://docs.bmad-method.org/how-to/upgrade-to-v6/)
### For v4 Users
- **[v4 Documentation](https://github.com/bmad-code-org/BMAD-METHOD/tree/V4/docs)**
- **[v4 to v6 Upgrade Guide](./docs/v4-to-v6-upgrade.md)**
## 💬 Community & Support
## Community
- **[Discord Community](https://discord.gg/gk8jAdXWmj)** - Get help, share projects
- **[GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)** - Report bugs, request features
- **[YouTube Channel](https://www.youtube.com/@BMadCode)** - Video tutorials and demos
- **[Web Bundles](https://bmad-code-org.github.io/bmad-bundles/)** - Pre-built agent bundles (Currently not functioning, reworking soon)
- **[Code of Conduct](.github/CODE_OF_CONDUCT.md)** - Community guidelines
- [Discord](https://discord.gg/gk8jAdXWmj) — Get help, share ideas, collaborate
- [Subscribe on YouTube](https://www.youtube.com/@BMadCode) — Tutorials, master class, and podcast (launching Feb 2025)
- [GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues) — Bug reports and feature requests
- [Discussions](https://github.com/bmad-code-org/BMAD-METHOD/discussions) — Community conversations
## 🛠️ Development
## Support BMad
If you would like to contribute, first check the [CONTRIBUTING.md](CONTRIBUTING.md) for full development guidelines.
BMad is free for everyone — and always will be. If you'd like to support development:
## What's New in v6
- ⭐ Please click the star project icon near the top right of this page
- ☕ [Buy Me a Coffee](https://buymeacoffee.com/bmad) — Fuel the development
- 🏢 Corporate sponsorship — DM on Discord
- 🎤 Speaking & Media — Available for conferences, podcasts, interviews (BM on Discord)
**v6 represents a complete architectural revolution from v4:**
## Contributing
### 🚀 Major Upgrades
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
- **BMad Core Framework** - Modular architecture enabling custom domain solutions
- **Scale-Adaptive Intelligence** - Automatic adjustment from bug fixes to enterprise
- **Visual Workflows** - Beautiful SVG diagrams showing complete methodology
- **BMad Builder Module** - Create and share your own AI agent teams
- **50+ Workflows** - Up from 20 in v4, covering every development scenario
- **19 Specialized Agents** - Enhanced with customizable personalities and expertise
- **Update-Safe Customization** - Your configs persist through all updates
- **Web Bundles** - Use agents in ChatGPT, Claude, and Gemini
- **Multi-Language Support** - Separate settings for communication and code
- **Document Sharding** - 90% token savings for large projects
## License
### 🔄 For v4 Users
- **[Comprehensive Upgrade Guide](./docs/v4-to-v6-upgrade.md)** - Step-by-step migration
- **[v4 Documentation Archive](https://github.com/bmad-code-org/BMAD-METHOD/tree/V4)** - Legacy reference
- Backwards compatibility where possible
- Smooth migration path with installer detection
## 📄 License
MIT License - See [LICENSE](LICENSE) for details.
**Trademarks:** BMad and BMAD-METHOD are trademarks of BMad Code, LLC.
Supported by:&nbsp;&nbsp;<a href="https://m.do.co/c/00f11bd932bb"><img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" height="24" alt="DigitalOcean" style="vertical-align: middle;"></a>
MIT License — see [LICENSE](LICENSE) for details.
---
<p align="center">
<a href="https://github.com/bmad-code-org/BMAD-METHOD/graphs/contributors">
<img src="https://contrib.rocks/image?repo=bmad-code-org/BMAD-METHOD" alt="Contributors">
</a>
</p>
**BMad** and **BMAD-METHOD** are trademarks of BMad Code, LLC. See [TRADEMARK.md](TRADEMARK.md) for details.
<p align="center">
<sub>Built with ❤️ for the human-AI collaboration community</sub>
</p>
[![Contributors](https://contrib.rocks/image?repo=bmad-code-org/BMAD-METHOD)](https://github.com/bmad-code-org/BMAD-METHOD/graphs/contributors)
See [CONTRIBUTORS.md](CONTRIBUTORS.md) for contributor information.

85
SECURITY.md Normal file
View File

@@ -0,0 +1,85 @@
# Security Policy
## Supported Versions
We release security patches for the following versions:
| Version | Supported |
| ------- | ------------------ |
| Latest | :white_check_mark: |
| < Latest | :x: |
We recommend always using the latest version of BMad Method to ensure you have the most recent security updates.
## Reporting a Vulnerability
We take security vulnerabilities seriously. If you discover a security issue, please report it responsibly.
### How to Report
**Do NOT report security vulnerabilities through public GitHub issues.**
Instead, please report them via one of these methods:
1. **GitHub Security Advisories** (Preferred): Use [GitHub's private vulnerability reporting](https://github.com/bmad-code-org/BMAD-METHOD/security/advisories/new) to submit a confidential report.
2. **Discord**: Contact a maintainer directly via DM on our [Discord server](https://discord.gg/gk8jAdXWmj).
### What to Include
Please include as much of the following information as possible:
- Type of vulnerability (e.g., prompt injection, path traversal, etc.)
- Full paths of source file(s) related to the vulnerability
- Step-by-step instructions to reproduce the issue
- Proof-of-concept or exploit code (if available)
- Impact assessment of the vulnerability
### Response Timeline
- **Initial Response**: Within 48 hours of receiving your report
- **Status Update**: Within 7 days with our assessment
- **Resolution Target**: Critical issues within 30 days; other issues within 90 days
### What to Expect
1. We will acknowledge receipt of your report
2. We will investigate and validate the vulnerability
3. We will work on a fix and coordinate disclosure timing with you
4. We will credit you in the security advisory (unless you prefer to remain anonymous)
## Security Scope
### In Scope
- Vulnerabilities in BMad Method core framework code
- Security issues in agent definitions or workflows that could lead to unintended behavior
- Path traversal or file system access issues
- Prompt injection vulnerabilities that bypass intended agent behavior
- Supply chain vulnerabilities in dependencies
### Out of Scope
- Security issues in user-created custom agents or modules
- Vulnerabilities in third-party AI providers (Claude, GPT, etc.)
- Issues that require physical access to a user's machine
- Social engineering attacks
- Denial of service attacks that don't exploit a specific vulnerability
## Security Best Practices for Users
When using BMad Method:
1. **Review Agent Outputs**: Always review AI-generated code before executing it
2. **Limit File Access**: Configure your AI IDE to limit file system access where possible
3. **Keep Updated**: Regularly update to the latest version
4. **Validate Dependencies**: Review any dependencies added by generated code
5. **Environment Isolation**: Consider running AI-assisted development in isolated environments
## Acknowledgments
We appreciate the security research community's efforts in helping keep BMad Method secure. Contributors who report valid security issues will be acknowledged in our security advisories.
---
Thank you for helping keep BMad Method and our community safe.

55
TRADEMARK.md Normal file
View File

@@ -0,0 +1,55 @@
# Trademark Notice & Guidelines
## Trademark Ownership
The following names and logos are trademarks of BMad Code, LLC:
- **BMad** (word mark, all casings: BMad, bmad, BMAD)
- **BMad Method** (word mark, includes BMadMethod, BMAD-METHOD, and all variations)
- **BMad Core** (word mark, includes BMadCore, BMAD-CORE, and all variations)
- **BMad Code** (word mark)
- BMad Method logo and visual branding
- The "Build More, Architect Dreams" tagline
**All casings, stylings, and variations** of the above names (with or without hyphens, spaces, or specific capitalization) are covered by these trademarks.
These trademarks are protected under trademark law and are **not** licensed under the MIT License. The MIT License applies to the software code only, not to the BMad brand identity.
## What This Means
You may:
- Use the BMad software under the terms of the MIT License
- Refer to BMad to accurately describe compatibility or integration (e.g., "Compatible with BMad Method v6")
- Link to <https://github.com/bmad-code-org/BMAD-METHOD>
- Fork the software and distribute your own version under a different name
You may **not**:
- Use "BMad" or any confusingly similar variation as your product name, service name, company name, or domain name
- Present your product as officially endorsed, approved, or certified by BMad Code, LLC when it is not, without written consent from an authorized representative of BMad Code, LLC
- Use BMad logos or branding in a way that suggests your product is an official or endorsed BMad product
- Register domain names, social media handles, or trademarks that incorporate BMad branding
## Examples
| Permitted | Not Permitted |
| ------------------------------------------------------ | -------------------------------------------- |
| "My workflow tool, compatible with BMad Method" | "BMadFlow" or "BMad Studio" |
| "An alternative implementation inspired by BMad" | "BMad Pro" or "BMad Enterprise" |
| "My Awesome Healthcare Module (Bmad Community Module)" | "The Official BMad Core Healthcare Module" |
| Accurately stating you use BMad as a dependency | Implying official endorsement or partnership |
## Commercial Use
You may sell products that incorporate or work with BMad software. However:
- Your product must have its own distinct name and branding
- You must not use BMad trademarks in your marketing, domain names, or product identity
- You may truthfully describe technical compatibility (e.g., "Works with BMad Method")
## Questions?
If you have questions about trademark usage or would like to discuss official partnership or endorsement opportunities, please reach out:
- **Email**: <contact@bmadcode.com>

BIN
Wordmark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
banner-bmad-method.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

9
docs/404.md Normal file
View File

@@ -0,0 +1,9 @@
---
title: Page Not Found
template: splash
---
The page you're looking for doesn't exist or has been moved.
[Return to Home](/docs/index.md)

367
docs/_STYLE_GUIDE.md Normal file
View File

@@ -0,0 +1,367 @@
---
title: "Documentation Style Guide"
---
This project adheres to the [Google Developer Documentation Style Guide](https://developers.google.com/style) and uses [Diataxis](https://diataxis.fr/) to structure content. Only project-specific conventions follow.
## Project-Specific Rules
| Rule | Specification |
| -------------------------------- | ---------------------------------------- |
| No horizontal rules (`---`) | Fragments reading flow |
| No `####` headers | Use bold text or admonitions instead |
| No "Related" or "Next:" sections | Sidebar handles navigation |
| No deeply nested lists | Break into sections instead |
| No code blocks for non-code | Use admonitions for dialogue examples |
| No bold paragraphs for callouts | Use admonitions instead |
| 1-2 admonitions per section max | Tutorials allow 3-4 per major section |
| Table cells / list items | 1-2 sentences max |
| Header budget | 8-12 `##` per doc; 2-3 `###` per section |
## Admonitions (Starlight Syntax)
```md
:::tip[Title]
Shortcuts, best practices
:::
:::note[Title]
Context, definitions, examples, prerequisites
:::
:::caution[Title]
Caveats, potential issues
:::
:::danger[Title]
Critical warnings only — data loss, security issues
:::
```
### Standard Uses
| Admonition | Use For |
| ------------------------ | ----------------------------- |
| `:::note[Prerequisites]` | Dependencies before starting |
| `:::tip[Quick Path]` | TL;DR summary at document top |
| `:::caution[Important]` | Critical caveats |
| `:::note[Example]` | Command/response examples |
## Standard Table Formats
**Phases:**
```md
| Phase | Name | What Happens |
| ----- | -------- | -------------------------------------------- |
| 1 | Analysis | Brainstorm, research *(optional)* |
| 2 | Planning | Requirements — PRD or tech-spec *(required)* |
```
**Commands:**
```md
| Command | Agent | Purpose |
| ------------ | ------- | ------------------------------------ |
| `brainstorm` | Analyst | Brainstorm a new project |
| `prd` | PM | Create Product Requirements Document |
```
## Folder Structure Blocks
Show in "What You've Accomplished" sections:
````md
```
your-project/
├── _bmad/ # BMad configuration
├── _bmad-output/
│ ├── PRD.md # Your requirements document
│ └── bmm-workflow-status.yaml # Progress tracking
└── ...
```
````
## Tutorial Structure
```text
1. Title + Hook (1-2 sentences describing outcome)
2. Version/Module Notice (info or warning admonition) (optional)
3. What You'll Learn (bullet list of outcomes)
4. Prerequisites (info admonition)
5. Quick Path (tip admonition - TL;DR summary)
6. Understanding [Topic] (context before steps - tables for phases/agents)
7. Installation (optional)
8. Step 1: [First Major Task]
9. Step 2: [Second Major Task]
10. Step 3: [Third Major Task]
11. What You've Accomplished (summary + folder structure)
12. Quick Reference (commands table)
13. Common Questions (FAQ format)
14. Getting Help (community links)
15. Key Takeaways (tip admonition)
```
### Tutorial Checklist
- [ ] Hook describes outcome in 1-2 sentences
- [ ] "What You'll Learn" section present
- [ ] Prerequisites in admonition
- [ ] Quick Path TL;DR admonition at top
- [ ] Tables for phases, commands, agents
- [ ] "What You've Accomplished" section present
- [ ] Quick Reference table present
- [ ] Common Questions section present
- [ ] Getting Help section present
- [ ] Key Takeaways admonition at end
## How-To Structure
```text
1. Title + Hook (one sentence: "Use the `X` workflow to...")
2. When to Use This (bullet list of scenarios)
3. When to Skip This (optional)
4. Prerequisites (note admonition)
5. Steps (numbered ### subsections)
6. What You Get (output/artifacts produced)
7. Example (optional)
8. Tips (optional)
9. Next Steps (optional)
```
### How-To Checklist
- [ ] Hook starts with "Use the `X` workflow to..."
- [ ] "When to Use This" has 3-5 bullet points
- [ ] Prerequisites listed
- [ ] Steps are numbered `###` subsections with action verbs
- [ ] "What You Get" describes output artifacts
## Explanation Structure
### Types
| Type | Example |
| ----------------- | ---------------------------- |
| **Index/Landing** | `core-concepts/index.md` |
| **Concept** | `what-are-agents.md` |
| **Feature** | `quick-flow.md` |
| **Philosophy** | `why-solutioning-matters.md` |
| **FAQ** | `brownfield-faq.md` |
### General Template
```text
1. Title + Hook (1-2 sentences)
2. Overview/Definition (what it is, why it matters)
3. Key Concepts (### subsections)
4. Comparison Table (optional)
5. When to Use / When Not to Use (optional)
6. Diagram (optional - mermaid, 1 per doc max)
7. Next Steps (optional)
```
### Index/Landing Pages
```text
1. Title + Hook (one sentence)
2. Content Table (links with descriptions)
3. Getting Started (numbered list)
4. Choose Your Path (optional - decision tree)
```
### Concept Explainers
```text
1. Title + Hook (what it is)
2. Types/Categories (### subsections) (optional)
3. Key Differences Table
4. Components/Parts
5. Which Should You Use?
6. Creating/Customizing (pointer to how-to guides)
```
### Feature Explainers
```text
1. Title + Hook (what it does)
2. Quick Facts (optional - "Perfect for:", "Time to:")
3. When to Use / When Not to Use
4. How It Works (mermaid diagram optional)
5. Key Benefits
6. Comparison Table (optional)
7. When to Graduate/Upgrade (optional)
```
### Philosophy/Rationale Documents
```text
1. Title + Hook (the principle)
2. The Problem
3. The Solution
4. Key Principles (### subsections)
5. Benefits
6. When This Applies
```
### Explanation Checklist
- [ ] Hook states what document explains
- [ ] Content in scannable `##` sections
- [ ] Comparison tables for 3+ options
- [ ] Diagrams have clear labels
- [ ] Links to how-to guides for procedural questions
- [ ] 2-3 admonitions max per document
## Reference Structure
### Types
| Type | Example |
| ----------------- | --------------------- |
| **Index/Landing** | `workflows/index.md` |
| **Catalog** | `agents/index.md` |
| **Deep-Dive** | `document-project.md` |
| **Configuration** | `core-tasks.md` |
| **Glossary** | `glossary/index.md` |
| **Comprehensive** | `bmgd-workflows.md` |
### Reference Index Pages
```text
1. Title + Hook (one sentence)
2. Content Sections (## for each category)
- Bullet list with links and descriptions
```
### Catalog Reference
```text
1. Title + Hook
2. Items (## for each item)
- Brief description (one sentence)
- **Commands:** or **Key Info:** as flat list
3. Universal/Shared (## section) (optional)
```
### Item Deep-Dive Reference
```text
1. Title + Hook (one sentence purpose)
2. Quick Facts (optional note admonition)
- Module, Command, Input, Output as list
3. Purpose/Overview (## section)
4. How to Invoke (code block)
5. Key Sections (## for each aspect)
- Use ### for sub-options
6. Notes/Caveats (tip or caution admonition)
```
### Configuration Reference
```text
1. Title + Hook
2. Table of Contents (jump links if 4+ items)
3. Items (## for each config/task)
- **Bold summary** — one sentence
- **Use it when:** bullet list
- **How it works:** numbered steps (3-5 max)
- **Output:** expected result (optional)
```
### Comprehensive Reference Guide
```text
1. Title + Hook
2. Overview (## section)
- Diagram or table showing organization
3. Major Sections (## for each phase/category)
- Items (### for each item)
- Standardized fields: Command, Agent, Input, Output, Description
4. Next Steps (optional)
```
### Reference Checklist
- [ ] Hook states what document references
- [ ] Structure matches reference type
- [ ] Items use consistent structure throughout
- [ ] Tables for structured/comparative data
- [ ] Links to explanation docs for conceptual depth
- [ ] 1-2 admonitions max
## Glossary Structure
Starlight generates right-side "On this page" navigation from headers:
- Categories as `##` headers — appear in right nav
- Terms in tables — compact rows, not individual headers
- No inline TOC — right sidebar handles navigation
### Table Format
```md
## Category Name
| Term | Definition |
| ------------ | ---------------------------------------------------------------------------------------- |
| **Agent** | Specialized AI persona with specific expertise that guides users through workflows. |
| **Workflow** | Multi-step guided process that orchestrates AI agent activities to produce deliverables. |
```
### Definition Rules
| Do | Don't |
| ----------------------------- | ------------------------------------------- |
| Start with what it IS or DOES | Start with "This is..." or "A [term] is..." |
| Keep to 1-2 sentences | Write multi-paragraph explanations |
| Bold term name in cell | Use plain text for terms |
### Context Markers
Add italic context at definition start for limited-scope terms:
- `*Quick Flow only.*`
- `*BMad Method/Enterprise.*`
- `*Phase N.*`
- `*BMGD.*`
- `*Brownfield.*`
### Glossary Checklist
- [ ] Terms in tables, not individual headers
- [ ] Terms alphabetized within categories
- [ ] Definitions 1-2 sentences
- [ ] Context markers italicized
- [ ] Term names bolded in cells
- [ ] No "A [term] is..." definitions
## FAQ Sections
```md
## Questions
- [Do I always need architecture?](#do-i-always-need-architecture)
- [Can I change my plan later?](#can-i-change-my-plan-later)
### Do I always need architecture?
Only for BMad Method and Enterprise tracks. Quick Flow skips to implementation.
### Can I change my plan later?
Yes. The SM agent has a `correct-course` workflow for handling scope changes.
**Have a question not answered here?** [Open an issue](...) or ask in [Discord](...).
```
## Validation Commands
Before submitting documentation changes:
```bash
npm run docs:fix-links # Preview link format fixes
npm run docs:fix-links -- --write # Apply fixes
npm run docs:validate-links # Check links exist
npm run docs:build # Verify no build errors
```

View File

@@ -1,93 +0,0 @@
# Agents
Agents are AI assistants that help you accomplish tasks. Each agent has a unique personality, specialized capabilities, and an interactive menu.
## Agent Types
BMAD has two primary agent types, designed for different use cases:
### Simple Agents
**Self-contained, focused, ready to use.**
Simple agents are complete in a single file. They excel at well-defined tasks and require minimal setup.
**Best for:**
- Single-purpose assistants (code review, documentation, commit messages)
- Quick deployment
- Projects that don't require persistent memory
- Getting started fast
**Example:** A commit message agent that reads your git diff and generates conventional commits.
### Expert Agents
**Powerful, memory-equipped, domain specialists.**
Expert agents have a **sidecar** - a companion folder containing additional instructions, workflows, and memory files. They remember context across sessions and handle complex, multi-step tasks.
**Best for:**
- Domain specialists (security architect, game designer, product manager)
- Tasks requiring persistent memory
- Complex workflows with multiple stages
- Projects that grow over time
**Example:** A game architect that remembers your design decisions, maintains consistency across sprints, and coordinates with other specialists.
## Key Differences
| Feature | Simple | Expert |
| ---------------- | -------------- | -------------------------- |
| **Files** | Single file | Agent + sidecar folder |
| **Memory** | Session only | Persistent across sessions |
| **Capabilities** | Focused scope | Multi-domain, extensible |
| **Setup** | Zero config | Sidecar initialization |
| **Best Use** | Specific tasks | Ongoing projects |
## Agent Components
All agents share these building blocks:
### Persona
- **Role** - What the agent does (expertise domain)
- **Identity** - Who the agent is (personality, character)
- **Communication Style** - How the agent speaks (tone, voice)
- **Principles** - Why the agent acts (values, decision framework)
### Capabilities
- Skills, tools, and knowledge the agent can apply
- Mapped to specific menu commands
### Menu
- Interactive command list
- Triggers, descriptions, and handlers
- Auto-includes help and exit options
### Critical Actions (optional)
- Instructions that execute before the agent starts
- Enable autonomous behaviors (e.g., "check git status before changes")
## Which Should You Use?
**Choose Simple when:**
- You need a task done quickly and reliably
- The scope is well-defined and won't change much
- You don't need the agent to remember things between sessions
**Choose Expert when:**
- You're building something complex over time
- The agent needs to maintain context (project history, decisions)
- You want the agent to coordinate workflows or other agents
- Domain expertise requires specialized knowledge bases
## Creating Custom Agents
BMAD provides the **BMAD Builder (BMB)** module for creating your own agents. See the [Agent Creation Guide](../modules/bmb-bmad-builder/agent-creation-guide.md) for step-by-step instructions.
## Customizing Existing Agents
You can modify any agent's behavior without editing core files. See [BMAD Customization](./bmad-customization/) for details. It is critical to never modify an installed agents .md file directly and follow the customization process, this way future updates to the agent or module its part of will continue to be updated and recompiled with the installer tool, and your customizations will still be retained.
---
**Next:** Learn about [Workflows](./workflows.md) to see how agents accomplish complex tasks.

View File

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

View File

@@ -1,26 +0,0 @@
# BMAD Customization
Personalize agents and workflows to match your needs.
## Guides
| Guide | Description |
|-------|-------------|
| **[Agent Customization](./agents.md)** | Modify agent behavior without editing core files |
| **[Workflow Customization](./workflows.md)** | Customize and optimize workflows |
## Overview
BMAD provides two main customization approaches:
### Agent Customization
Modify any agent's persona, name, capabilities, or menu items using `.customize.yaml` files in `_bmad/_config/agents/`. Your customizations persist through updates.
### Workflow Customization
Replace or extend workflow steps to create tailored processes. (Coming soon)
---
**Next:** Read the [Agent Customization Guide](./agents.md) to start personalizing your agents.
[← Back to Core Concepts](../index.md)

View File

@@ -1,30 +0,0 @@
# Workflow Customization Guide
Customize and optimize workflows with step replacement and hooks.
## Status
> **Coming Soon:** Workflow customization is an upcoming capability. This guide will be updated when the feature is available.
## What to Expect
Workflow customization will allow you to:
- **Replace Steps** - Swap out specific workflow steps with custom implementations
- **Add Hooks** - Inject custom behavior before/after workflow steps
- **Extend Workflows** - Create new workflows based on existing ones
- **Override Behavior** - Customize workflow logic for your project's needs
## For Now
While workflow customization is in development, you can:
- **Create Custom Workflows** - Use the BMAD Builder to create entirely new workflows
- **Customize Agents** - Modify agent behavior using [Agent Customization](./agents.md)
- **Provide Feedback** - Share your workflow customization needs with the community
---
**In the meantime:** Learn how to [create custom workflows](../../modules/bmb-bmad-builder/index) from scratch.
[← Back to Customization](./index.md)

View File

@@ -1,37 +0,0 @@
# BMAD Core Concepts
Understanding the fundamental building blocks of the BMAD Method.
## The Essentials
| Concept | Description | Guide |
|---------|-------------|-------|
| **Agents** | AI assistants with personas, capabilities, and menus | [Agents Guide](./agents.md) |
| **Workflows** | Structured processes for achieving specific outcomes | [Workflows Guide](./workflows.md) |
| **Modules** | Packaged collections of agents and workflows | [Modules Guide](./modules.md) |
## Getting Started
### New to BMAD?
Start here to understand what BMAD is and how it works:
1. **[Agents Guide](./agents.md)** - Learn about Simple and Expert agents
2. **[Workflows Guide](./workflows.md)** - Understand how workflows orchestrate tasks
3. **[Modules Guide](./modules.md)** - See how modules organize functionality
### Installing BMAD
- **[Installation Guide](./installing/)** - Set up BMAD in your project
- **[Upgrading from v4](./installing/upgrading.md)** - Migrate from earlier versions
### Configuration
- **[BMAD Customization](./bmad-customization/)** - Personalize agents and workflows
### Advanced
- **[Web Bundles](./web-bundles/)** - Use BMAD in Gemini Gems and Custom GPTs
---
**Next:** Read the [Agents Guide](./agents.md) to understand the core building block of BMAD.

View File

@@ -1,77 +0,0 @@
# Installation
Get BMAD up and running in your project.
## Upgrading?
If you're upgrading from v4, see the [Upgrade Guide](./upgrading.md).
---
## Quick Install
```bash
npx bmad-method install
```
This interactive installer will:
1. Let you choose a location to install to
2. Let you choose which Agentic LLM Tools you would like to use (Such as Claude Code, Cursor, Windsurf, etc...)
3. Let you choose which official modules to install (BMad Method, Creative Intelligence suite, BMad Builder)
4. Let you choose any custom local modules, workflows or agents to install
5. Let you configure each module or quickly accept the default recommended settings for each selected model
## Requirements
- **Node.js** 20+ (for the installer)
- **Git** (recommended for version control)
- An **AI-powered Agent and/or IDE** or access to Claude/ChatGPT/Gemini
## Module Options
During installation, you'll choose which modules to install:
| Module | Description | Best For |
| -------- | -------------------- | ----------------------------------------------------- |
| **BMM** | BMAD Method Core | Software development projects |
| **BMGD** | Game Development | Game projects with specialized workflows |
| **CIS** | Creative Intel Suite | Creativity Unlocking Suite, not software dev specific |
| **BMB** | Builder | Creating custom agents and workflows |
You will also be asked if you would like to install custom content (agents, workflows or modules) you have created with the BMB, or shared from others in the community.
## Post-Installation
After installation, your project will have:
```
your-project/
├── _bmad/ # BMAD configuration and agents
│ ├── bmm/ # Method module (if installed)
│ ├── bmgd/ # Game dev module (if installed)
│ ├── core/ # Always installed, includes party mode, advanced elicitation, and other core generic utils
│ ├── {others}/ # etc...
├── _bmad-output/ # BMAD default output folder - configurable during install
├── .claude/ # IDE-specific setup (varies by IDE)
└── ... your code # maybe nothing else yet if a fresh new folder
```
## Next Steps
1. **Read the [Quick Start Guide](../../modules/bmm-bmad-method/quick-start)** to build your first feature
2. **Explore [Workflows](../../modules/bmm-bmad-method/index#-workflow-guides)** to understand the methodology
3. **Learn about [Agents](../agents.md)** to understand BMAD's core building blocks
## Troubleshooting
### Common Issues
**"Command not found: npx"**
: Install Node.js 20+ from [nodejs.org](https://nodejs.org)
**"Permission denied"**
: Run with appropriate permissions or check your npm configuration
For more help, join our [Discord](https://discord.gg/bmad).

View File

@@ -1,144 +0,0 @@
# BMad v4 to v6 Upgrade Guide
## Overview
BMad v6 represents a complete ground-up rewrite with significant architectural changes. This guide will help you migrate your v4 project to v6.
---
## Automatic V4 Detection
When you run `npm run install:bmad` on a project, the installer automatically detects:
- **Legacy v4 installation folder**: `.bmad-method`
- **IDE command artifacts**: Legacy bmad folders in IDE configuration directories (`.claude/commands/`, `.cursor/commands/`, etc.)
### What Happens During Detection
1. **Automatic Detection of v4 Modules**
1. Installer will suggest removal or backup of your .bmad-method folder. You can choose to exit the installer and handle this cleanup, or allow the install to continue. Technically you can have both v4 and v6 installed, but it is not recommended. All BMad content and modules will be installed under a .bmad folder, fully segregated.
2. **IDE Command Cleanup Recommended**: Legacy v4 IDE commands should be manually removed
- Located in IDE config folders, for example claude: `.claude/commands/BMad/agents`, `.claude/commands/BMad/tasks`, etc.
- NOTE: if the upgrade and install of v6 finished, the new commands will be under `.claude/commands/bmad/<module>/agents|workflows`
- Note 2: If you accidentally delete the wrong/new bmad commands - you can easily restore them by rerunning the installer, and choose quick update option, and all will be reapplied properly.
## Module Migration
### Deprecated Modules from v4
| v4 Module | v6 Status |
| ----------------------------- | ---------------------------------------------- |
| `_bmad-2d-phaser-game-dev` | Integrated into new BMGD Module |
| `_bmad-2d-unity-game-dev` | Integrated into new BMGD Module |
| `_bmad-godot-game-dev` | Integrated into new BMGD Module |
| `_bmad-*-game-dev` (any) | Integrated into new BMGD Module |
| `_bmad-infrastructure-devops` | Deprecated - New core devops agent coming soon |
| `_bmad-creative-writing` | Not adapted - New v6 module coming soon |
Aside from .bmad-method - if you have any of these others installed also, again its recommended to remove them and use the V6 equivalents, but its also fine if you decide to keep both. But it is not recommended to use both on the same project long term.
## Architecture Changes
### Folder Structure
**v4 "Expansion Packs" Structure:**
```
your-project/
├── .bmad-method/
├── .bmad-game-dev/
├── .bmad-creative-writing/
└── .bmad-infrastructure-devops/
```
**v6 Unified Structure:**
```
your-project/
└── _bmad/ # Single installation folder is _bmad
└── _config/ # Your customizations
| └── agents/ # Agent customization files
├── core/ # Real core framework (applies to all modules)
├── bmm/ # BMad Method (software/game dev)
├── bmb/ # BMad Builder (create agents/workflows)
├── cis/ # Creative Intelligence Suite
├── _bmad_output # Default bmad output folder (was doc folder in v4)
```
### Key Concept Changes
- **v4 `_bmad-core and _bmad-method`**: Was actually the BMad Method
- **v6 `_bmad/core/`**: Is the real universal core framework
- **v6 `_bmad/bmm/`**: Is the BMad Method module
- **Module identification**: All modules now have a `config.yaml` file once installed at the root of the modules installed folder
## Project Progress Migration
### If You've Completed Some or all Planning Phases (Brief/PRD/UX/Architecture) with the BMad Method:
After running the v6 installer, if you kept the paths the same as the installation suggested, you will need to move a few files, or run the installer again. It is recommended to stick with these defaults as it will be easier to adapt if things change in the future.
If you have any planning artifacts, put them in a folder called _bmad-output/planning-artifacts at the root of your project, ensuring that:
PRD has PRD in the file name or folder name if sharded.
Similar for 'brief', 'architecture', 'ux-design'.
If you have other long term docs that will not be as ephemeral as these project docs, you can put them in the /docs folder, ideally with a index.md file.
HIGHLY RECOMMENDED NOTE: If you are only partway through planning, its highly recommended to restart and do the PRD, UX and ARCHITECTURE steps. You could even use your existing documents as inputs letting the agent know you want to redo them with the new workflows. These optimized v6 progressive discovery workflows that also will utilize web search at key moments, while offering better advanced elicitation and part mode in the IDE will produce superior results. And then once all are complete, an epics with stories is generated after the architecture step now - ensuring it uses input from all planing documents.
### If You're Mid-Development (Stories Created/Implemented)
1. Complete the v6 installation as above
2. Ensure you have a file called epics.md or epics/epic*.md - these need to be located under the _bmad-output/planning-artifacts folder.
3. Run the scrum masters `sprint-planning` workflow to generate the implementation tracking plan in _bmad-output/implementation-artifacts.
4. Inform the SM after the output is complete which epics and stories were completed already and should be parked properly in the file.
## Agent Customization Migration
### v4 Agent Customization
In v4, you may have modified agent files directly in `_bmad-*` folders.
### v6 Agent Customization
**All customizations** now go in `_bmad/_config/agents/` using customize files:
**Example: Renaming an agent and changing communication style**
File: `_bmad/_config/agents/bmm-pm.customize.yaml`
```yaml
# Customize the PM agent
persona:
name: 'Captain Jack' # Override agent name
role: 'Swashbuckling Product Owner'
communication_style: |
- Talk like a pirate
- Use nautical metaphors for software concepts
- Always upbeat and adventurous
```
There is a lot more that is possible with agent customization, which is covered in detail in the [Agent Customization Guide](../bmad-customization/agents.md)
CRITICAL NOTE: After you modify the customization file, you need to run the npx installer against your installed location, and choose the option to rebuild all agents, or just do a quick update again. This always builds agents fresh and applies customizations.
**How it works:**
- Base agent: `_bmad/bmm/agents/pm.md`
- Customization: `_bmad/_config/agents/bmm-pm.customize.yaml`
- Rebuild all agents -> Result: Agent uses your custom name and style
## Document Compatibility
### Sharded vs Unsharded Documents
**Good news**: Unlike v4, v6 workflows are **fully flexible** with document structure:
- ✅ Sharded documents (split into multiple files)
- ✅ Unsharded documents (single file per section)
- ✅ Custom sections for your project type
- ✅ Mixed approaches
All workflow files are scanned automatically. No manual configuration needed.

View File

@@ -1,76 +0,0 @@
# Modules
Modules are organized collections of agents and workflows that solve specific problems or address particular domains.
## What is a Module?
A module is a self-contained package that includes:
- **Agents** - Specialized AI assistants
- **Workflows** - Step-by-step processes
- **Configuration** - Module-specific settings
- **Documentation** - Usage guides and reference
## Official Modules
### Core Module
Always installed, provides shared functionality:
- Global configuration
- Core workflows (Party Mode, Advanced Elicitation, Brainstorming)
- Common tasks (document indexing, sharding, review)
### BMAD Method (BMM)
Software and game development:
- Project planning workflows
- Implementation agents (Dev, PM, QA, Scrum Master)
- Testing and architecture guidance
### BMAD Builder (BMB)
Create custom solutions:
- Agent creation workflows
- Workflow authoring tools
- Module scaffolding
### Creative Intelligence Suite (CIS)
Innovation and creativity:
- Creative thinking techniques
- Innovation strategy workflows
- Storytelling and ideation
### BMAD Game Dev (BMGD)
Game development specialization:
- Game design workflows
- Narrative development
- Performance testing frameworks
## Module Structure
Installed modules follow this structure:
```
_bmad/
├── core/ # Always present
├── bmm/ # BMAD Method (if installed)
├── bmb/ # BMAD Builder (if installed)
├── cis/ # Creative Intelligence (if installed)
└── bmgd/ # Game Dev (if installed)
```
## Custom Modules
You can create your own modules containing:
- Custom agents for your domain
- Organizational workflows
- Team-specific configurations
Custom modules are installed the same way as official modules.
## Installing Modules
During BMAD installation, you choose which modules to install. You can also add or remove modules later by re-running the installer.
See [Installation Guide](./installing/) for details.
---
**Next:** Read the [Installation Guide](./installing/) to set up BMAD with the modules you need.

View File

@@ -1,34 +0,0 @@
# Web Bundles
Use BMAD agents in Gemini Gems and Custom GPTs.
## Status
> **Note:** The Web Bundling Feature is being rebuilt from the ground up. Current v6 bundles may be incomplete or missing functionality.
## What Are Web Bundles?
Web bundles package BMad agents as self-contained files that work in Gemini Gems and Custom GPTs. Everything the agent needs - instructions, workflows, dependencies - is bundled into a single file for easy upload.
### What's Included
- Complete agent persona and instructions
- All workflows and dependencies
- Interactive menu system
- Party mode for multi-agent collaboration
- No external files required
### Use Cases
**Perfect for:**
- Uploading a single file to a Gemini GEM or Custom GPT
- Using BMAD Method from the Web
- Cost savings (generally lower cost than local usage)
- Quick sharing of agent configurations
**Trade-offs:**
- Some quality reduction vs local usage
- Less convenient than full local installation
- Limited to agent capabilities (no workflow file access)
[← Back to Core Concepts](../index.md)

View File

@@ -1,89 +0,0 @@
# Workflows
Workflows are structured processes that guide agents through complex tasks. Think of them as recipes that ensure consistent, high-quality outcomes.
## What is a Workflow?
A workflow is a step-by-step process that agents follow to accomplish specific objectives. A workflow can be a single file if small enough, but more than likely is comprized of a very small workflow or skill definition file with multiple steps and data files that are loaded as needed on demand. Each step file:
- Defines a clear goal
- Provides instructions for the agent
- May include decision points or user interactions
- Produces specific outputs
- Progressively at a specific point can load the next proper step.
## How Workflows Work
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Step 1 │ → │ Step 2 │ → │ Step 3 │ → │ Complete │
│ Discover │ │ Define │ │ Build │ │ Output │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
```
**Key characteristics:**
- **Progressive** - Each step builds on the previous
- **Interactive** - Workflows can pause for user input
- **Reusable** - The same workflow produces consistent results
- **Composable** - Workflow steps can call other workflow steps, or whole other workflows!
- **LLM Reinforcement** - Some rules or info is repeated in each step file ensuring certain rules are always top of agent mind, even during context heavy processes or very long workflows!
## Workflow Types
### Planning Workflows
Generate project artifacts like requirements, architecture, and task breakdowns.
**Examples:** Brief creation, PRD authoring, architecture design, sprint planning
### Execution Workflows
Guide implementation of specific tasks or features.
**Examples:** Code implementation, code review, testing, deployment
### Support Workflows
Handle cross-cutting concerns and creative processes.
**Examples:** Brainstorming, retrospectives, root cause analysis
## Progressive Disclosure
BMAD workflows use **progressive disclosure** - each step only knows about its immediate next step and what it is currently meant to do. This:
- Reduces cognitive load on the AI
- Ensures each step gets full attention
- Allows for conditional routing based on previous outcomes
- Makes workflows easier to debug and modify
## Menu-Driven Interaction
Most workflows use interactive menus with standard options:
| Option | Purpose |
| ---------------- | -------------------------------------------------- |
| **[A] Advanced** | Invoke deeper reasoning techniques |
| **[P] Party** | Get multiple agent perspectives |
| **[C] Continue** | Proceed to next step after all writes are complete |
## Workflow Files
Workflows are markdown files with structured frontmatter - this front matter also allows them to easily work as skills and also slash command loaded:
```yaml
---
name: 'my-workflow'
description: 'What this workflow does and when it should be used or loaded automatically (or call out if it should be requested to run explicitly by the user)'
---
```
The content in the workflow file is very minimal, sets up the reinforcement of the agent persona and reminder that it is a facilitator working with a user, lays out rules of processing steps only when told to do a specific step, loads all config file variables needed by the workflow, and then routes to step 1. No other info about other steps should be in this workflow file. Keeping it as small and lean as possible help in compilation as a skill, as overall size of the skill main file (workflow.md) is critical to keep small.
## Creating Custom Workflows
The **BMAD Builder (BMB)** module includes workflows for creating custom workflows. See [BMB Documentation](../modules/bmb-bmad-builder/) for details.
---
**Next:** Learn about [Modules](./modules.md) to see how agents and workflows are organized.

View File

@@ -1,32 +1,40 @@
# Downloads
---
title: Downloads
---
Download BMAD Method resources for offline use, AI training, or integration.
Download BMad Method resources for offline use, AI training, or integration.
## Source Bundles
Download these from the `downloads/` folder on the documentation site.
| File | Description |
| ------------------ | ------------------------------- |
| `bmad-sources.zip` | Complete BMad source files |
| `bmad-prompts.zip` | Agent and workflow prompts only |
## LLM-Optimized Files
These files are designed for AI consumption - perfect for loading into Claude, ChatGPT, or any LLM context window.
These files are designed for AI consumption - perfect for loading into Claude, ChatGPT, or any LLM context window. See [API Access](#api-access) below for URLs.
| File | Description | Use Case |
| ----------------------------------- | ----------------------------------- | -------------------------- |
| **[llms.txt](/llms.txt)** | Documentation index with summaries | Quick overview, navigation |
| **[llms-full.txt](/llms-full.txt)** | Complete documentation concatenated | Full context loading |
| File | Description | Use Case |
| --------------- | ----------------------------------- | -------------------------- |
| `llms.txt` | Documentation index with summaries | Quick overview, navigation |
| `llms-full.txt` | Complete documentation concatenated | Full context loading |
### Using with LLMs
**Claude Projects:**
```
Upload llms-full.txt as project knowledge
```
**ChatGPT:**
```
Paste llms.txt for navigation, or sections from llms-full.txt as needed
```
**API Usage:**
```python
import requests
docs = requests.get("https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt").text
@@ -35,12 +43,12 @@ docs = requests.get("https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt")
## Installation Options
### NPM (Recommended)
```bash
npx bmad-method@alpha install
npx bmad-method install
```
[More details](/docs/how-to/install-bmad.md)
## Version Information
- **Current Version:** See [CHANGELOG](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md)
@@ -48,7 +56,7 @@ npx bmad-method@alpha install
## API Access
For programmatic access to BMAD documentation:
For programmatic access to BMad documentation:
```bash
# Get documentation index
@@ -60,7 +68,7 @@ curl https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt
## Contributing
Want to improve BMAD Method? Check out:
Want to improve BMad Method? Check out:
- [Contributing Guide](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CONTRIBUTING.md)
- [GitHub Repository](https://github.com/bmad-code-org/BMAD-METHOD)

View File

@@ -0,0 +1,24 @@
---
title: "Advanced Elicitation"
description: Push the LLM to rethink its work using structured reasoning methods
---
Make the LLM reconsider what it just generated. You pick a reasoning method, it applies that method to its own output, you decide whether to keep the improvements.
Dozens of methods are built in - things like First Principles, Red Team vs Blue Team, Pre-mortem Analysis, Socratic Questioning, and more.
## When to Use It
- After a workflow generates content and you want alternatives
- When output seems okay but you suspect there's more depth
- To stress-test assumptions or find weaknesses
- For high-stakes content where rethinking helps
Workflows offer advanced elicitation at decision points - after the LLM has generated something, you'll be asked if you want to run it.
## How It Works
1. LLM suggests 5 relevant methods for your content
2. You pick one (or reshuffle for different options)
3. Method is applied, improvements shown
4. Accept or discard, repeat or continue

View File

@@ -0,0 +1,57 @@
---
title: "Adversarial Review"
description: Forced reasoning technique that prevents lazy "looks good" reviews
---
Force deeper analysis by requiring problems to be found.
## What is Adversarial Review?
A review technique where the reviewer *must* find issues. No "looks good" allowed. The reviewer adopts a cynical stance - assume problems exist and find them.
This isn't about being negative. It's about forcing genuine analysis instead of a cursory glance that rubber-stamps whatever was submitted.
**The core rule:** You must find issues. Zero findings triggers a halt - re-analyze or explain why.
## Why It Works
Normal reviews suffer from confirmation bias. You skim the work, nothing jumps out, you approve it. The "find problems" mandate breaks this pattern:
- **Forces thoroughness** - Can't approve until you've looked hard enough to find issues
- **Catches missing things** - "What's not here?" becomes a natural question
- **Improves signal quality** - Findings are specific and actionable, not vague concerns
- **Information asymmetry** - Run reviews with fresh context (no access to original reasoning) so you evaluate the artifact, not the intent
## Where It's Used
Adversarial review appears throughout BMAD workflows - code review, implementation readiness checks, spec validation, and others. Sometimes it's a required step, sometimes optional (like advanced elicitation or party mode). The pattern adapts to whatever artifact needs scrutiny.
## Human Filtering Required
Because the AI is *instructed* to find problems, it will find problems - even when they don't exist. Expect false positives: nitpicks dressed as issues, misunderstandings of intent, or outright hallucinated concerns.
**You decide what's real.** Review each finding, dismiss the noise, fix what matters.
## Example
Instead of:
> "The authentication implementation looks reasonable. Approved."
An adversarial review produces:
> 1. **HIGH** - `login.ts:47` - No rate limiting on failed attempts
> 2. **HIGH** - Session token stored in localStorage (XSS vulnerable)
> 3. **MEDIUM** - Password validation happens client-side only
> 4. **MEDIUM** - No audit logging for failed login attempts
> 5. **LOW** - Magic number `3600` should be `SESSION_TIMEOUT_SECONDS`
The first review might miss a security vulnerability. The second caught four.
## Iteration and Diminishing Returns
After addressing findings, consider running it again. A second pass usually catches more. A third isn't always useless either. But each pass takes time, and eventually you hit diminishing returns - just nitpicks and false findings.
:::tip[Better Reviews]
Assume problems exist. Look for what's missing, not just what's wrong.
:::

View File

@@ -0,0 +1,31 @@
---
title: "Brainstorming"
description: Interactive creative sessions using 60+ proven ideation techniques
---
Unlock your creativity through guided exploration.
## What is Brainstorming?
Run `brainstorming` and you've got a creative facilitator pulling ideas out of you - not generating them for you. The AI acts as coach and guide, using proven techniques to create conditions where your best thinking emerges.
**Good for:**
- Breaking through creative blocks
- Generating product or feature ideas
- Exploring problems from new angles
- Developing raw concepts into action plans
## How It Works
1. **Setup** - Define topic, goals, constraints
2. **Choose approach** - Pick techniques yourself, get AI recommendations, go random, or follow a progressive flow
3. **Facilitation** - Work through techniques with probing questions and collaborative coaching
4. **Organize** - Ideas grouped into themes and prioritized
5. **Action** - Top ideas get next steps and success metrics
Everything gets captured in a session document you can reference later or share with stakeholders.
:::note[Your Ideas]
Every idea comes from you. The workflow creates conditions for insight - you're the source.
:::

View File

@@ -0,0 +1,55 @@
---
title: "Brownfield Development FAQ"
description: Common questions about brownfield development in the BMad Method
---
Quick answers to common questions about brownfield (existing codebase) development in the BMad Method (BMM).
## Questions
- [Questions](#questions)
- [What is brownfield vs greenfield?](#what-is-brownfield-vs-greenfield)
- [Do I have to run document-project for brownfield?](#do-i-have-to-run-document-project-for-brownfield)
- [What if I forget to run document-project?](#what-if-i-forget-to-run-document-project)
- [Can I use Quick Spec Flow for brownfield projects?](#can-i-use-quick-spec-flow-for-brownfield-projects)
- [What if my existing code doesn't follow best practices?](#what-if-my-existing-code-doesnt-follow-best-practices)
### What is brownfield vs greenfield?
- **Greenfield** — New project, starting from scratch, clean slate
- **Brownfield** — Existing project, working with established codebase and patterns
### Do I have to run document-project for brownfield?
Highly recommended, especially if:
- No existing documentation
- Documentation is outdated
- AI agents need context about existing code
You can skip it if you have comprehensive, up-to-date documentation including `docs/index.md` or will use other tools or techniques to aid in discovery for the agent to build on an existing system.
### What if I forget to run document-project?
Don't worry about it - you can do it at any time. You can even do it during or after a project to help keep docs up to date.
### Can I use Quick Spec Flow for brownfield projects?
Yes! Quick Spec Flow works great for brownfield. It will:
- Auto-detect your existing stack
- Analyze brownfield code patterns
- Detect conventions and ask for confirmation
- Generate context-rich tech-spec that respects existing code
Perfect for bug fixes and small features in existing codebases.
### What if my existing code doesn't follow best practices?
Quick Spec Flow detects your conventions and asks: "Should I follow these existing conventions?" You decide:
- **Yes** → Maintain consistency with current codebase
- **No** → Establish new standards (document why in tech-spec)
BMM respects your choice — it won't force modernization, but it will offer it.
**Have a question not answered here?** Please [open an issue](https://github.com/bmad-code-org/BMAD-METHOD/issues) or ask in [Discord](https://discord.gg/gk8jAdXWmj) so we can add it!

View File

@@ -0,0 +1,57 @@
---
title: "Party Mode"
description: Multi-agent collaboration - get all your AI agents in one conversation
---
Get all your AI agents in one conversation.
## What is Party Mode?
Run `party-mode` and you've got your whole AI team in one room - PM, Architect, Dev, UX Designer, whoever you need. BMad Master orchestrates, picking relevant agents per message. Agents respond in character, agree, disagree, and build on each other's ideas.
The conversation continues as long as you want. Ask follow-ups, push back on answers, redirect the discussion - it's a real back-and-forth with your agents until you're done.
**Good for:**
- Big decisions with tradeoffs
- Brainstorming sessions
- Post-mortems when things go wrong
- Sprint retrospectives and planning
## Examples
### Calling Out Bad Architecture
**You:** "Okay team, our last sprint was a disaster. The authentication service went down three times. Who screwed this up?"
**Architect:** "The design was sound - distributed authentication with proper fallbacks. If implementation deviated from the spec..."
**Dev:** "I followed the architecture doc exactly. The spec didn't account for concurrent session invalidation race conditions."
**PM:** "Both of you missed the bigger issue - we didn't validate session management requirements in the PRD. This is on me for not catching it."
**TEA:** "And I should've caught this in integration tests. The test scenarios didn't cover concurrent invalidation."
### Creative Brainstorming
**You:** "How do we make onboarding feel magical instead of boring?"
**UX Designer:** "Start with progressive disclosure - reveal features as users need them, not all at once in a tutorial."
**Storyteller:** "What if onboarding was a story? Each step reveals a character's journey - the user IS the hero."
**Game Designer:** "Building on that - what if the first 'quest' is actually solving a real user problem? They learn by doing something valuable."
### Technical Decision
**You:** "Monolith or microservices for MVP?"
**Architect:** "Start monolith. Microservices add complexity you don't need at 1000 users."
**PM:** "Agree. Time to market matters more than theoretical scalability."
**Dev:** "Monolith with clear module boundaries. We can extract services later if needed."
:::tip[Better Decisions]
Better decisions through diverse perspectives. Welcome to party mode.
:::

View File

@@ -0,0 +1,110 @@
---
title: "Preventing Agent Conflicts"
description: How architecture prevents conflicts when multiple agents implement a system
---
When multiple AI agents implement different parts of a system, they can make conflicting technical decisions. Architecture documentation prevents this by establishing shared standards.
## Common Conflict Types
### API Style Conflicts
Without architecture:
- Agent A uses REST with `/users/{id}`
- Agent B uses GraphQL mutations
- Result: Inconsistent API patterns, confused consumers
With architecture:
- ADR specifies: "Use GraphQL for all client-server communication"
- All agents follow the same pattern
### Database Design Conflicts
Without architecture:
- Agent A uses snake_case column names
- Agent B uses camelCase column names
- Result: Inconsistent schema, confusing queries
With architecture:
- Standards document specifies naming conventions
- All agents follow the same patterns
### State Management Conflicts
Without architecture:
- Agent A uses Redux for global state
- Agent B uses React Context
- Result: Multiple state management approaches, complexity
With architecture:
- ADR specifies state management approach
- All agents implement consistently
## How Architecture Prevents Conflicts
### 1. Explicit Decisions via ADRs
Every significant technology choice is documented with:
- Context (why this decision matters)
- Options considered (what alternatives exist)
- Decision (what we chose)
- Rationale (why we chose it)
- Consequences (trade-offs accepted)
### 2. FR/NFR-Specific Guidance
Architecture maps each functional requirement to technical approach:
- FR-001: User Management → GraphQL mutations
- FR-002: Mobile App → Optimized queries
### 3. Standards and Conventions
Explicit documentation of:
- Directory structure
- Naming conventions
- Code organization
- Testing patterns
## Architecture as Shared Context
Think of architecture as the shared context that all agents read before implementing:
```
PRD: "What to build"
Architecture: "How to build it"
Agent A reads architecture → implements Epic 1
Agent B reads architecture → implements Epic 2
Agent C reads architecture → implements Epic 3
Result: Consistent implementation
```
## Key ADR Topics
Common decisions that prevent conflicts:
| Topic | Example Decision |
| ---------------- | -------------------------------------------- |
| API Style | GraphQL vs REST vs gRPC |
| Database | PostgreSQL vs MongoDB |
| Auth | JWT vs Sessions |
| State Management | Redux vs Context vs Zustand |
| Styling | CSS Modules vs Tailwind vs Styled Components |
| Testing | Jest + Playwright vs Vitest + Cypress |
## Anti-Patterns to Avoid
:::caution[Common Mistakes]
- **Implicit Decisions** — "We'll figure out the API style as we go" leads to inconsistency
- **Over-Documentation** — Documenting every minor choice causes analysis paralysis
- **Stale Architecture** — Documents written once and never updated cause agents to follow outdated patterns
:::
:::tip[Correct Approach]
- Document decisions that cross epic boundaries
- Focus on conflict-prone areas
- Update architecture as you learn
- Use `correct-course` for significant changes
:::

View File

@@ -0,0 +1,27 @@
---
title: "Quick Flow"
description: Fast-track for small changes - skip the full methodology
---
Quick Flow is for when you don't need the full BMad Method. Skip Product Brief, PRD, and Architecture - go straight to implementation.
## How It Works
1. **Run `quick-spec`** — generates a focused tech-spec
2. **Run `quick-dev`** — implements it
That's it.
## When to Use It
- Bug fixes
- Refactoring
- Small features
- Prototyping
## When to Use Full BMad Method Instead
- New products
- Major features
- Multiple teams involved
- Stakeholder alignment needed

View File

@@ -0,0 +1,75 @@
---
title: "Why Solutioning Matters"
description: Understanding why the solutioning phase is critical for multi-epic projects
---
Phase 3 (Solutioning) translates **what** to build (from Planning) into **how** to build it (technical design). This phase prevents agent conflicts in multi-epic projects by documenting architectural decisions before implementation begins.
## The Problem Without Solutioning
```
Agent 1 implements Epic 1 using REST API
Agent 2 implements Epic 2 using GraphQL
Result: Inconsistent API design, integration nightmare
```
When multiple agents implement different parts of a system without shared architectural guidance, they make independent technical decisions that may conflict.
## The Solution With Solutioning
```
architecture workflow decides: "Use GraphQL for all APIs"
All agents follow architecture decisions
Result: Consistent implementation, no conflicts
```
By documenting technical decisions explicitly, all agents implement consistently and integration becomes straightforward.
## Solutioning vs Planning
| Aspect | Planning (Phase 2) | Solutioning (Phase 3) |
| -------- | ----------------------- | --------------------------------- |
| Question | What and Why? | How? Then What units of work? |
| Output | FRs/NFRs (Requirements) | Architecture + Epics/Stories |
| Agent | PM | Architect → PM |
| Audience | Stakeholders | Developers |
| Document | PRD (FRs/NFRs) | Architecture + Epic Files |
| Level | Business logic | Technical design + Work breakdown |
## Key Principle
**Make technical decisions explicit and documented** so all agents implement consistently.
This prevents:
- API style conflicts (REST vs GraphQL)
- Database design inconsistencies
- State management disagreements
- Naming convention mismatches
- Security approach variations
## When Solutioning is Required
| Track | Solutioning Required? |
|-------|----------------------|
| Quick Flow | No - skip entirely |
| BMad Method Simple | Optional |
| BMad Method Complex | Yes |
| Enterprise | Yes |
:::tip[Rule of Thumb]
If you have multiple epics that could be implemented by different agents, you need solutioning.
:::
## The Cost of Skipping
Skipping solutioning on complex projects leads to:
- **Integration issues** discovered mid-sprint
- **Rework** due to conflicting implementations
- **Longer development time** overall
- **Technical debt** from inconsistent patterns
:::caution[Cost Multiplier]
Catching alignment issues in solutioning is 10× faster than discovering them during implementation.
:::

View File

@@ -0,0 +1,84 @@
---
title: "Brownfield Development"
description: How to use BMad Method on existing codebases
---
Use BMad Method effectively when working on existing projects and legacy codebases.
## What is Brownfield Development?
**Brownfield** refers to working on existing projects with established codebases and patterns, as opposed to **greenfield** which means starting from scratch with a clean slate.
This guide covers the essential workflow for onboarding to brownfield projects with BMad Method.
:::note[Prerequisites]
- BMad Method installed (`npx bmad-method install`)
- An existing codebase you want to work on
- Access to an AI-powered IDE (Claude Code, Cursor, or Windsurf)
:::
## Step 1: Clean Up Completed Planning Artifacts
If you have completed all PRD epics and stories through the BMad process, clean up those files. Archive them, delete them, or rely on version history if needed. Do not keep these files in:
- `docs/`
- `_bmad-output/planning-artifacts/`
- `_bmad-output/implementation-artifacts/`
## Step 2: Maintain Quality Project Documentation
Your `docs/` folder should contain succinct, well-organized documentation that accurately represents your project:
- Intent and business rationale
- Business rules
- Architecture
- Any other relevant project information
For complex projects, consider using the `document-project` workflow. It offers runtime variants that will scan your entire project and document its actual current state.
## Step 3: Get Help
Get help to know what to do next based on your unique needs
Run `bmad-help` to get guidance when you are not sure what to do next.
### Choosing Your Approach
You have two primary options depending on the scope of changes:
| Scope | Recommended Approach |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| **Small updates or additions** | Use `quick-flow-solo-dev` to create a tech-spec and implement the change. The full four-phase BMad method is likely overkill. |
| **Major changes or additions** | Start with the BMad method, applying as much or as little rigor as needed. |
### During PRD Creation
When creating a brief or jumping directly into the PRD, ensure the agent:
- Finds and analyzes your existing project documentation
- Reads the proper context about your current system
You can guide the agent explicitly, but the goal is to ensure the new feature integrates well with your existing system.
### UX Considerations
UX work is optional. The decision depends not on whether your project has a UX, but on:
- Whether you will be working on UX changes
- Whether significant new UX designs or patterns are needed
If your changes amount to simple updates to existing screens you are happy with, a full UX process is unnecessary.
### Architecture Considerations
When doing architecture, ensure the architect:
- Uses the proper documented files
- Scans the existing codebase
Pay close attention here to prevent reinventing the wheel or making decisions that misalign with your existing architecture.
## More Information
- **[Quick Fix in Brownfield](/docs/how-to/brownfield/quick-fix-in-brownfield.md)** - Bug fixes and ad-hoc changes
- **[Brownfield FAQ](/docs/explanation/brownfield-faq.md)** - Common questions about brownfield development

View File

@@ -0,0 +1,76 @@
---
title: "How to Make Quick Fixes in Brownfield Projects"
description: How to make quick fixes and ad-hoc changes in brownfield projects
---
Use the **DEV agent** directly for bug fixes, refactorings, or small targeted changes that don't require the full BMad method or Quick Flow.
## When to Use This
- Simple bug fixes
- Small refactorings and changes that don't need extensive ideation, planning, or architectural shifts
- Larger refactorings or improvement with built in tool planning and execution mode combination, or better yet use quick flow
- Learning about your codebase
## Steps
### 1. Load an Agent
For quick fixes, you can use:
- **DEV agent** - For implementation-focused work
- **Quick Flow Solo Dev** - For slightly larger changes that still need a quick-spec to keep the agent aligned to planning and standards
### 2. Describe the Change
Simply tell the agent what you need:
```
Fix the login validation bug that allows empty passwords
```
or
```
Refactor the UserService to use async/await instead of callbacks
```
### 3. Let the Agent Work
The agent will:
- Analyze the relevant code
- Propose a solution
- Implement the change
- Run tests (if available)
### 4. Review and Commit
Review the changes made and commit when satisfied.
## Learning Your Codebase
This approach is also excellent for exploring unfamiliar code:
```
Explain how the authentication system works in this codebase
```
```
Show me where error handling happens in the API layer
```
LLMs are excellent at interpreting and analyzing code, whether it was AI-generated or not. Use the agent to:
- Learn about your project
- Understand how things are built
- Explore unfamiliar parts of the codebase
## When to Upgrade to Formal Planning
Consider using Quick Flow or full BMad Method when:
- The change affects multiple files or systems
- You're unsure about the scope
- The fix keeps growing in complexity
- You need documentation for the change

View File

@@ -0,0 +1,158 @@
---
title: "BMad Method Customization Guide"
---
The ability to customize the BMad Method and its core to your needs, while still being able to get updates and enhancements is a critical idea within the BMad Ecosystem.
The Customization Guidance outlined here, while targeted at understanding BMad Method customization, applies to any other module use within the BMad Method.
## Types of Customization
Customization includes Agent Customization, Workflow/Skill customization, the addition of new MCPs or Skills to be used by existing agents. Aside from all of this, a whole other realm of customization involves creating / adding your own relevant BMad Builder workflows, skills, agents and maybe even your own net new modules to compliment the BMad Method Module.
Warning: The reason for customizing as this guide will prescribe will allow you to continue getting updates without worrying about losing your customization changes. And by continuing to get updates as BMad modules advance, you will be able to continue to evolve as the system improves.
## Agent Customization
### Agent Customization Areas
- Change agent names, personas or manner of speech
- Add project-specific memories or context
- Add custom menu items to custom or inline prompts, skills or custom BMad workflows
- Define critical actions that occur agent startup for consistent behavior
## How to customize an agent.
**1. Locate Customization Files**
After installation, find agent customization files in:
```
_bmad/_config/agents/
├── core-bmad-master.customize.yaml
├── bmm-dev.customize.yaml
├── bmm-pm.customize.yaml
└── ... (one file per installed agent)
```
**2. Edit Any Agent**
Open the `.customize.yaml` file for the agent you want to modify. All sections are optional - customize only what you need.
**3. Rebuild the Agent**
After editing, IT IS CRITICAL to rebuild the agent to apply changes:
```bash
npx bmad-method install
```
You can either then:
- Select `Quick Update` - This will also ensure all packages are up to date AND compile all agents to include any updates or customizations
- Select `Rebuild Agents` - This will only rebuild and apply customizations to agents, without pulling the latest
There will be additional tools shortly after beta launch to allow install of individual agents, workflows, skills and modules without the need for using the full bmad installer.
### What Agent Properties Can Be Customized?
#### Agent Name
Change how the agent introduces itself:
```yaml
agent:
metadata:
name: 'Spongebob' # Default: "Amelia"
```
#### Persona
Replace the agent's personality, role, and communication style:
```yaml
persona:
role: 'Senior Full-Stack Engineer'
identity: 'Lives in a pineapple (under the sea)'
communication_style: 'Spongebob annoying'
principles:
- 'Never Nester, Spongebob Devs hate nesting more than 2 levels deep'
- 'Favor composition over inheritance'
```
**Note:** The persona section replaces the entire default persona (not merged).
#### Memories
Add persistent context the agent will always remember:
```yaml
memories:
- 'Works at Krusty Krab'
- 'Favorite Celebrity: David Hasslehoff'
- 'Learned in Epic 1 that its not cool to just pretend that tests have passed'
```
### Custom Menu Items
Any custom items you add here will be included in the agents display menu.
```yaml
menu:
- trigger: my-workflow
workflow: '{project-root}/my-custom/workflows/my-workflow.yaml'
description: My custom workflow
- trigger: deploy
action: '#deploy-prompt'
description: Deploy to production
```
### Critical Actions
Add instructions that execute before the agent starts:
```yaml
critical_actions:
- 'Check the CI Pipelines with the XYZ Skill and alert user on wake if anything is urgently needing attention'
```
### Custom Prompts
Define reusable prompts for `action="#id"` menu handlers:
```yaml
prompts:
- id: deploy-prompt
content: |
Deploy the current branch to production:
1. Run all tests
2. Build the project
3. Execute deployment script
```
## Troubleshooting
**Changes not appearing?**
- Make sure you ran `npx bmad-method build <agent-name>` after editing
- Check YAML syntax is valid (indentation matters!)
- Verify the agent name matches the file name pattern
**Agent not loading?**
- Check for YAML syntax errors
- Ensure required fields aren't left empty if you uncommented them
- Try reverting to the template and rebuilding
**Need to reset?**
- Remove content from the `.customize.yaml` file (or delete the file)
- Run `npx bmad-method build <agent-name>` to regenerate defaults
## Workflow Customization
Information about customizing existing BMad Method workflows and skills are coming soon.
## Module Customization
Information on how to build expansion modules that augment BMad, or make other existing module customizations are coming soon.

View File

@@ -0,0 +1,102 @@
---
title: "How to Get Answers About BMad"
description: Use an LLM to quickly answer your own BMad questions
---
If you have successfully installed BMad and the BMad Method (+ other modules as needed) - the first step in getting answers is `/bmad-help`. This will answer upwards of 80% of all questions and is available to you in the IDE as you are working.
## When to Use This
- You have a question about how BMad works or what to do next with BMad
- You want to understand a specific agent or workflow
- You need quick answers without waiting for Discord
:::note[Prerequisites]
An AI tool (Claude Code, Cursor, ChatGPT, Claude.ai, etc.) and either BMad installed in your project or access to the GitHub repo.
:::
## Steps
### 1. Choose Your Source
| Source | Best For | Examples |
| -------------------- | ----------------------------------------- | ---------------------------- |
| **`_bmad` folder** | How BMad works—agents, workflows, prompts | "What does the PM agent do?" |
| **Full GitHub repo** | History, installer, architecture | "What changed in v6?" |
| **`llms-full.txt`** | Quick overview from docs | "Explain BMad's four phases" |
The `_bmad` folder is created when you install BMad. If you don't have it yet, clone the repo instead.
### 2. Point Your AI at the Source
**If your AI can read files (Claude Code, Cursor, etc.):**
- **BMad installed:** Point at the `_bmad` folder and ask directly
- **Want deeper context:** Clone the [full repo](https://github.com/bmad-code-org/BMAD-METHOD)
**If you use ChatGPT or Claude.ai:**
Fetch `llms-full.txt` into your session:
```
https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt
```
See the [Downloads page](/docs/downloads.md) for other downloadable resources.
### 3. Ask Your Question
:::note[Example]
**Q:** "Tell me the fastest way to build something with BMad"
**A:** Use Quick Flow: Run `quick-spec` to write a technical specification, then `quick-dev` to implement it—skipping the full planning phases.
:::
## What You Get
Direct answers about BMad—how agents work, what workflows do, why things are structured the way they are—without waiting for someone else to respond.
## Tips
- **Verify surprising answers** — LLMs occasionally get things wrong. Check the source file or ask on Discord.
- **Be specific** — "What does step 3 of the PRD workflow do?" beats "How does PRD work?"
## Still Stuck?
Tried the LLM approach and still need help? You now have a much better question to ask.
| Channel | Use For |
| ------------------------- | ------------------------------------------- |
| `#bmad-method-help` | Quick questions (real-time chat) |
| `help-requests` forum | Detailed questions (searchable, persistent) |
| `#suggestions-feedback` | Ideas and feature requests |
| `#report-bugs-and-issues` | Bug reports |
**Discord:** [discord.gg/gk8jAdXWmj](https://discord.gg/gk8jAdXWmj)
**GitHub Issues:** [github.com/bmad-code-org/BMAD-METHOD/issues](https://github.com/bmad-code-org/BMAD-METHOD/issues) (for clear bugs)
*You!*
*Stuck*
*in the queue—*
*waiting*
*for who?*
*The source*
*is there,*
*plain to see!*
*Point*
*your machine.*
*Set it free.*
*It reads.*
*It speaks.*
*Ask away—*
*Why wait*
*for tomorrow*
*when you have*
*today?*
*—Claude*

View File

@@ -0,0 +1,82 @@
---
title: "How to Install BMad"
description: Step-by-step guide to installing BMad in your project
---
Use the `npx bmad-method install` command to set up BMad in your project with your choice of modules and AI tools.
## When to Use This
- Starting a new project with BMad
- Adding BMad to an existing codebase
- Update the existing BMad Installation
:::note[Prerequisites]
- **Node.js** 20+ (required for the installer)
- **Git** (recommended)
- **AI tool** (Claude Code, Cursor, Windsurf, or similar)
:::
## Steps
### 1. Run the Installer
```bash
npx bmad-method install
```
### 2. Choose Installation Location
The installer will ask where to install BMad files:
- Current directory (recommended for new projects if you created the directory yourself and ran from within the directory)
- Custom path
### 3. Select Your AI Tools
Pick which AI tools you use:
- Claude Code
- Cursor
- Windsurf
- Others
Each tool has its own way of integrating commands. The installer creates tiny prompt files to activate workflows and agents — it just puts them where your tool expects to find them.
### 4. Choose Modules
The installer shows available modules. Select whichever ones you need — most users just want **BMad Method** (the software development module).
### 5. Follow the Prompts
The installer guides you through the rest — custom content, settings, etc.
## What You Get
```
your-project/
├── _bmad/
│ ├── bmm/ # Your selected modules
│ │ └── config.yaml # Module settings (if you ever need to change them)
│ ├── core/ # Required core module
│ └── ...
├── _bmad-output/ # Generated artifacts
└── .claude/ # Claude Code commands (if using Claude Code)
```
## Verify Installation
Run the `help` workflow (`/bmad-help` on most platforms) to verify everything works and see what to do next.
**Latest from main branch:**
```bash
npx github:bmad-code-org/BMAD-METHOD install
```
Use these if you want the newest features before they're officially released. Things might break.
## Troubleshooting
**Installer throws an error** — Copy-paste the output into your AI assistant and let it figure it out.
**Installer worked but something doesn't work later** — Your AI needs BMad context to help. See [How to Get Answers About BMad](/docs/how-to/get-answers-about-bmad.md) for how to point your AI at the right sources.

View File

@@ -1,24 +1,15 @@
# Document Sharding Guide
---
title: "Document Sharding Guide"
---
Comprehensive guide to BMad Method's document sharding system for managing large planning and architecture documents.
Use the `shard-doc` tool to split large markdown files into smaller, organized files for better context management.
## Table of Contents
## When to Use This
- [Document Sharding Guide](#document-sharding-guide)
- [Table of Contents](#table-of-contents)
- [What is Document Sharding?](#what-is-document-sharding)
- [Architecture](#architecture)
- [When to Use Sharding](#when-to-use-sharding)
- [Ideal Candidates](#ideal-candidates)
- [How Sharding Works](#how-sharding-works)
- [Sharding Process](#sharding-process)
- [Workflow Discovery](#workflow-discovery)
- [Using the Shard-Doc Tool](#using-the-shard-doc-tool)
- [CLI Command](#cli-command)
- [Interactive Process](#interactive-process)
- [What Gets Created](#what-gets-created)
- [Workflow Support](#workflow-support)
- [Universal Support](#universal-support)
- Very large complex PRDs
- Architecture documents with multiple system layers
- Epic files with 4+ epics (especially for Phase 4)
- UX design specs covering multiple subsystems
## What is Document Sharding?
@@ -46,43 +37,15 @@ docs/
└── ... # Additional sections
```
## When to Use Sharding
## Steps
### Ideal Candidates
**Large Multi-Epic Projects:**
- Very large complex PRDs
- Architecture documents with multiple system layers
- Epic files with 4+ epics (especially for Phase 4)
- UX design specs covering multiple subsystems
## How Sharding Works
### Sharding Process
1. **Tool Execution**: Run `npx @kayvan/markdown-tree-parser source.md destination/` - this is abstracted with the core shard-doc task which is installed as a slash command or manual task rule depending on your tools.
2. **Section Extraction**: Tool splits by level 2 headings
3. **File Creation**: Each section becomes a separate file
4. **Index Generation**: `index.md` created with structure and descriptions
### Workflow Discovery
BMad workflows use a **dual discovery system**:
1. **Try whole document first** - Look for `document-name.md`
2. **Check for sharded version** - Look for `document-name/index.md`
3. **Priority rule** - Whole document takes precedence if both exist - remove the whole document if you want the sharded to be used instead.
## Using the Shard-Doc Tool
### CLI Command
### 1. Run the Shard-Doc Tool
```bash
/bmad:core:tools:shard-doc
/bmad:core:tools:shard-doc
```
### Interactive Process
### 2. Follow the Interactive Process
```
Agent: Which document would you like to shard?
@@ -98,12 +61,11 @@ Agent: Sharding PRD.md...
✓ Complete!
```
### What Gets Created
## What You Get
**index.md structure:**
```markdown
# PRD - Index
## Sections
@@ -121,13 +83,19 @@ Agent: Sharding PRD.md...
- Preserves all markdown formatting
- Can be read independently
## How Workflow Discovery Works
BMad workflows use a **dual discovery system**:
1. **Try whole document first** - Look for `document-name.md`
2. **Check for sharded version** - Look for `document-name/index.md`
3. **Priority rule** - Whole document takes precedence if both exist - remove the whole document if you want the sharded to be used instead
## Workflow Support
### Universal Support
All BMM workflows support both formats:
**All BMM workflows support both formats:**
- ✅ Whole documents
- ✅ Sharded documents
- ✅ Automatic detection
- ✅ Transparent to user
- Whole documents
- Sharded documents
- Automatic detection
- Transparent to user

View File

@@ -0,0 +1,131 @@
---
title: "How to Upgrade to v6"
description: Migrate from BMad v4 to v6
---
Use the BMad installer to upgrade from v4 to v6, which includes automatic detection of legacy installations and migration assistance.
## When to Use This
- You have BMad v4 installed (`.bmad-method` folder)
- You want to migrate to the new v6 architecture
- You have existing planning artifacts to preserve
:::note[Prerequisites]
- Node.js 20+
- Existing BMad v4 installation
:::
## Steps
### 1. Run the Installer
```bash
npx bmad-method install
```
The installer automatically detects:
- **Legacy v4 folder**: `.bmad-method`
- **IDE command artifacts**: Legacy bmad folders in `.claude/commands/`, `.cursor/commands/`, etc.
### 2. Handle Legacy Installation
When v4 is detected, you can:
- Allow the installer to back up and remove `.bmad-method`
- Exit and handle cleanup manually
- Keep both (not recommended for same project)
### 3. Clean Up IDE Commands
Manually remove legacy v4 IDE commands:
- `.claude/commands/BMad/agents`
- `.claude/commands/BMad/tasks`
New v6 commands will be at `.claude/commands/bmad/<module>/agents|workflows`.
:::tip[Accidentally Deleted Commands?]
If you delete the wrong commands, rerun the installer and choose "quick update" to restore them.
:::
### 4. Migrate Planning Artifacts
**If you have planning documents (Brief/PRD/UX/Architecture):**
Move them to `_bmad-output/planning-artifacts/` with descriptive names:
- Include `PRD` in filename for PRD documents
- Include `brief`, `architecture`, or `ux-design` accordingly
- Sharded documents can be in named subfolders
**If you're mid-planning:** Consider restarting with v6 workflows. Use your existing documents as inputs—the new progressive discovery workflows with web search and IDE plan mode produce better results.
### 5. Migrate In-Progress Development
If you have stories created or implemented:
1. Complete the v6 installation
2. Place `epics.md` or `epics/epic*.md` in `_bmad-output/planning-artifacts/`
3. Run the Scrum Master's `sprint-planning` workflow
4. Tell the SM which epics/stories are already complete
### 6. Migrate Agent Customizations
**v4:** Modified agent files directly in `_bmad-*` folders
**v6:** All customizations go in `_bmad/_config/agents/` using customize files:
```yaml
# _bmad/_config/agents/bmm-pm.customize.yaml
persona:
name: 'Captain Jack'
role: 'Swashbuckling Product Owner'
communication_style: |
- Talk like a pirate
- Use nautical metaphors
```
After modifying customization files, rerun the installer and choose "rebuild all agents" or "quick update".
## What You Get
**v6 unified structure:**
```
your-project/
└── _bmad/ # Single installation folder
├── _config/ # Your customizations
│ └── agents/ # Agent customization files
├── core/ # Universal core framework
├── bmm/ # BMad Method module
├── bmb/ # BMad Builder
└── cis/ # Creative Intelligence Suite
├── _bmad-output/ # Output folder (was doc folder in v4)
```
## Module Migration
| v4 Module | v6 Status |
|-----------|-----------|
| `_bmad-2d-phaser-game-dev` | Integrated into BMGD Module |
| `_bmad-2d-unity-game-dev` | Integrated into BMGD Module |
| `_bmad-godot-game-dev` | Integrated into BMGD Module |
| `_bmad-infrastructure-devops` | Deprecated — new DevOps agent coming soon |
| `_bmad-creative-writing` | Not adapted — new v6 module coming soon |
## Key Changes
| Concept | v4 | v6 |
|---------|----|----|
| **Core** | `_bmad-core` was actually BMad Method | `_bmad/core/` is universal framework |
| **Method** | `_bmad-method` | `_bmad/bmm/` |
| **Config** | Modified files directly | `config.yaml` per module |
| **Documents** | Sharded or unsharded required setup | Fully flexible, auto-scanned |
## Tips
- **Back up first** — Keep your v4 installation until you verify v6 works
- **Use v6 workflows** — Even partial planning docs benefit from v6's improved discovery
- **Rebuild after customizing** — Always run the installer after changing customize files

View File

@@ -1,111 +1,56 @@
# BMAD Documentation
---
title: Welcome to the BMad Method
---
Complete documentation for the BMAD Method.
The BMad Method (**B**reakthrough **M**ethod of **A**gile AI **D**riven Development) is an AI-driven development framework that helps you build software faster and smarter. It provides specialized AI agents, guided workflows, and intelligent planning that adapts to your project's complexity—whether you're fixing a bug or building an enterprise platform.
## Getting Started
### New to BMAD?
Start with the core concepts to understand how BMAD works:
- **[Core Concepts](./bmad-core-concepts/)** - Agents, workflows, and modules explained
- **[Installation Guide](./bmad-core-concepts/installing/)** - Set up BMAD in your project
- **[Quick Start Guide](./modules/bmm-bmad-method/quick-start)** - Build your first feature
### Upgrading from v4?
- **[v4 to v6 Upgrade Guide](./bmad-core-concepts/installing/upgrading.md)** - Migration path for v4 users
If you're comfortable working with AI coding assistants like Claude, Cursor, or GitHub Copilot, you're ready to get started.
---
## Module Documentation
## New Here? Start with a Tutorial
### BMAD Method (BMM) - Software & Game Development
The fastest way to understand BMad is to try it.
The flagship module for agile AI-driven development.
- **[Get Started with BMad](/docs/tutorials/getting-started.md)** — Install and understand how BMad works
- **[Workflow Map](/docs/reference/workflow-map.md)** — Visual overview of BMM phases, workflows, and context management.
- **[BMM Module Index](./modules/bmm-bmad-method/index)** - Module overview, agents, and documentation
- [Quick Start Guide](./modules/bmm-bmad-method/quick-start) - Step-by-step guide
- [Quick Spec Flow](./modules/bmm-bmad-method/quick-spec-flow) - Rapid Level 0-1 development
- [Brownfield Guide](./modules/bmm-bmad-method/brownfield-guide) - Working with existing codebases
- **[BMM Workflows Guide](./modules/bmm-bmad-method/index#-workflow-guides)** - Essential reading
## How to Use These Docs
### BMAD Builder (BMB) - Create Custom Solutions
These docs are organized into four sections based on what you're trying to do:
Build your own agents, workflows, and modules.
- **[BMB Module Overview](./modules/bmb-bmad-builder/index)** - Module overview and capabilities
- **[Agent Creation Guide](./modules/bmb-bmad-builder/agent-creation-guide.md)** - Create custom agents
- **[Custom Content Installation](./modules/bmb-bmad-builder/custom-content-installation.md)** - Share and install custom creations
### Creative Intelligence Suite (CIS) - Innovation & Creativity
- **[CIS Documentation](./modules/cis-creative-intelligence-suite/index)**
### BMAD Game Dev (BMGD)
- **[BMGD Documentation](./modules/bmgd-bmad-game-dev/index)** - Game development workflows
| Section | Purpose |
| ----------------- | ---------------------------------------------------------------------------------------------------------- |
| **Tutorials** | Learning-oriented. Step-by-step guides that walk you through building something. Start here if you're new. |
| **How-To Guides** | Task-oriented. Practical guides for solving specific problems. "How do I customize an agent?" lives here. |
| **Explanation** | Understanding-oriented. Deep dives into concepts and architecture. Read when you want to know *why*. |
| **Reference** | Information-oriented. Technical specifications for agents, workflows, and configuration. |
---
## Core Module
## What You'll Need
### Global Core Entities
BMad works with any AI coding assistant that supports custom system prompts or project context. Popular options include:
- **[Core Module Index](./modules/core/index)** - Shared functionality available to all modules
- [Global Core Config](./modules/core/global-core-config.md) - Inheritable configuration
- [Core Workflows](./modules/core/core-workflows.md) - Domain-agnostic workflows
- [Party Mode](./modules/core/party-mode.md) - Multi-agent conversations
- [Brainstorming](./modules/core/brainstorming.md) - Structured creative sessions
- [Advanced Elicitation](./modules/core/advanced-elicitation.md) - LLM reasoning techniques
- [Core Tasks](./modules/core/core-tasks.md) - Common tasks across modules
- **[Claude Code](https://code.claude.com)** — Anthropic's CLI tool (recommended)
- **[Cursor](https://cursor.sh)** — AI-first code editor
- **[Windsurf](https://codeium.com/windsurf)** — Codeium's AI IDE
- **[Roo Code](https://roocode.com)** — VS Code extension
You should be comfortable with basic software development concepts like version control, project structure, and agile workflows. No prior experience with BMad-style agent systems is required—that's what these docs are for.
---
## Advanced Topics
## Join the Community
### Customization
Get help, share what you're building, or contribute to BMad:
- **[BMAD Customization](./bmad-core-concepts/bmad-customization/)** - Modify agents and workflows
### Platform Guides
- **[Web Bundles](./bmad-core-concepts/web-bundles/)** - Use BMAD in Gemini Gems and Custom GPTs
- **[Discord](https://discord.gg/gk8jAdXWmj)** — Chat with other BMad users, ask questions, share ideas
- **[GitHub](https://github.com/bmad-code-org/BMAD-METHOD)** — Source code, issues, and contributions
- **[YouTube](https://www.youtube.com/@BMadCode)** — Video tutorials and walkthroughs
---
## Recommended Reading Paths
## Next Step
### Path 1: Brand New to BMAD (Software Project)
1. [Core Concepts](./bmad-core-concepts/) - Understand agents and workflows
2. [Installation Guide](./bmad-core-concepts/installing/) - Set up BMAD
3. [Quick Start Guide](./modules/bmm-bmad-method/quick-start) - Get hands-on
4. [BMM Workflows Guide](./modules/bmm-bmad-method/index#-workflow-guides) - Master the methodology
### Path 2: Game Development Project
1. [Core Concepts](./bmad-core-concepts/) - Understand agents and workflows
2. [Installation Guide](./bmad-core-concepts/installing/) - Set up BMAD
3. [BMGD Workflows Guide](./modules/bmgd-bmad-game-dev/workflows-guide) - Game-specific workflows
### Path 3: Upgrading from v4
1. [v4 to v6 Upgrade Guide](./bmad-core-concepts/installing/upgrading.md) - Understand what changed
2. [Quick Start Guide](./modules/bmm-bmad-method/quick-start) - Reorient yourself
3. [BMM Workflows Guide](./modules/bmm-bmad-method/index#-workflow-guides) - Learn new v6 workflows
### Path 4: Working with Existing Codebase (Brownfield)
1. [Brownfield Guide](./modules/bmm-bmad-method/brownfield-guide) - Approach for legacy code
2. [Quick Start Guide](./modules/bmm-bmad-method/quick-start) - Follow the process
3. [BMM Workflows Guide](./modules/bmm-bmad-method/index#-workflow-guides) - Master the methodology
### Path 5: Building Custom Agents
1. [Core Concepts: Agents](./bmad-core-concepts/agents.md) - Understand Simple vs Expert
2. [Agent Creation Guide](./modules/bmb-bmad-builder/agent-creation-guide.md) - Build your first agent
3. [Agent Architecture](./modules/bmb-bmad-builder/index) - Deep technical details
### Path 6: Contributing to BMAD
1. [CONTRIBUTING.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CONTRIBUTING.md) - Contribution guidelines
2. Relevant module README - Understand the area you're contributing to
Ready to dive in? **[Get Started with BMad](/docs/tutorials/getting-started.md)** and build your first project.

View File

@@ -1,166 +0,0 @@
# Agent Creation Guide
Create your own custom agents using the BMAD Builder workflow.
## Overview
The BMAD Builder (BMB) module provides an interactive workflow that guides you through creating a custom agent from concept to completion. You define the agent's purpose, personality, capabilities, and menu - then the workflow generates a complete, ready-to-use agent file.
## Before You Start
**Prerequisites:**
- BMAD installed with the BMB module
- An idea for what you want your agent to do
- About 15-30 minutes for your first agent
**Know Before You Go:**
- What problem should your agent solve?
- Who will use this agent?
- What should the agent be able to do?
## Quick Start
### 1. Start the Workflow
In your IDE (Claude Code, Cursor, etc.), invoke the create-agent workflow:
```
"Run the BMAD Builder create-agent workflow"
```
Or trigger it via the BMAD Master menu.
### 2. Follow the Steps
The workflow guides you through:
| Step | What You'll Do |
|------|----------------|
| **Brainstorm** (optional) | Explore ideas with creative techniques |
| **Discovery** | Define the agent's purpose and goals |
| **Type & Metadata** | Choose Simple or Expert, name your agent |
| **Persona** | Craft the agent's personality and principles |
| **Commands** | Define what the agent can do |
| **Activation** | Set up autonomous behaviors (optional) |
| **Build** | Generate the agent file |
| **Validation** | Review and verify everything works |
### 3. Install Your Agent
Once created, package your agent for installation:
```
my-custom-stuff/
├── module.yaml # Contains: unitary: true
├── agents/
│ └── {agent-name}/
│ ├── {agent-name}.agent.yaml
│ └── _memory/ # Expert agents only
│ └── {sidecar-folder}/
└── workflows/ # Optional: custom workflows
```
See [Custom Content Installation](./custom-content-installation.md) for details.
## Choosing Your Agent Type
The workflow will help you decide, but here's the quick reference:
### Choose Simple Agent When:
- Task is well-defined and focused
- Don't need persistent memory
- Want fast setup and deployment
- Single-purpose assistant (e.g., commit messages, code review)
**Example:** A "Code Commenter" that reads files and adds helpful comments.
### Choose Expert Agent When:
- Domain requires specialized knowledge
- Need persistent memory across sessions
- Agent coordinates complex workflows
- Building ongoing project infrastructure
**Example:** A "Security Architect" that remembers your design decisions and maintains security standards across the project.
### Choose Module Agent When:
- Agent builds other agents or workflows
- Need integration with module system
- Creating professional tooling
**Example:** A "Team Builder" that helps set up agents for new team members.
## The Persona System
Your agent's personality is defined by four fields:
| Field | Purpose | Example |
|-------|---------|---------|
| **Role** | What they do | "Senior code reviewer who catches bugs and suggests improvements" |
| **Identity** | Who they are | "Friendly but exacting, believes clean code is a craft" |
| **Communication Style** | How they speak | "Direct, constructive, explains the 'why' behind suggestions" |
| **Principles** | Why they act | "Security first, clarity over cleverness, test what you fix" |
**Key:** Keep each field focused on its purpose. The role isn't personality; the identity isn't job description.
## Tips for Success
### Start Small
Your first agent should solve **one problem well**. You can always add more capabilities later.
### Learn by Example
Study the reference agents in `src/modules/bmb/reference/agents/`:
- **Simple:** [commit-poet](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml)
- **Expert:** [journal-keeper](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/expert-examples/journal-keeper)
### Write Great Principles
The first principle should "activate" the agent's expertise:
**Weak:** "Be helpful and accurate"
**Strong:** "Channel decades of security expertise: threat modeling begins with trust boundaries, never trust client input, defense in depth is non-negotiable"
### Use the Menu System
The workflow provides options at each step:
- **[A] Advanced** - Get deeper insights and reasoning
- **[P] Party** - Get multiple agent perspectives
- **[C] Continue** - Move to the next step
Use these when you need extra input or creative options.
## After Creation
### Test Your Agent
1. Install your custom module using the BMAD installer
2. Invoke your new agent in your IDE
3. Try each menu command
4. Verify the personality feels right
### Iterate
If something isn't right:
1. Edit the agent YAML directly, or
2. Edit the customization file in `_bmad/_config/agents/`
3. Rebuild using `npx bmad-method build <agent-name>`
### Share
Package your agent as a standalone module (see [Installation Guide](../../bmad-core-concepts/installing/)) and share it with your team or the community.
## Further Reading
- **[Agent Architecture](./index.md)** - Deep technical details on agent types
- **[Agent Customization](../../bmad-core-concepts/agent-customization/)** - Modify agents without editing core files
- **[Custom Content Installation](./custom-content-installation.md)** - Package and distribute your agents
---
**Ready?** Start the workflow and create your first agent!
[← Back to BMB Documentation](./index.md)

View File

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

View File

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

View File

@@ -1,60 +0,0 @@
# BMB Module Documentation
Create custom agents, workflows, and modules for BMAD.
## Quick Start
- **[Agent Creation Guide](./agent-creation-guide.md)** - Step-by-step guide to building your first agent
- **[Understanding Agent Types](./understanding-agent-types.md)** - Learn the differences between Simple and Expert agents
## Agent Architecture
Comprehensive guides for each agent type (choose based on use case):
- [Understanding Agent Types](./understanding-agent-types.md) - **START HERE** - Architecture vs capability, "The Same Agent, Three Ways"
- [Simple Agent Architecture](./simple-agent-architecture.md) - Self-contained, optimized, personality-driven
- [Expert Agent Architecture](./expert-agent-architecture.md) - Memory, sidecar files, domain restrictions
- Module Agent Architecture _(TODO)_ - Workflow integration, professional tools
## Agent Design Patterns
- [Agent Menu Patterns](./agent-menu-patterns.md) - Menu handlers, triggers, prompts, organization
- [Agent Compilation](./agent-compilation.md) - What compiler auto-injects (AVOID DUPLICATION)
## Reference Examples
Production-ready examples in [bmb/reference/agents/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents):
**Simple Agents** ([simple-examples/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/simple-examples))
- [commit-poet.agent.yaml](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml) - Commit message artisan with style customization
**Expert Agents** ([expert-examples/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/expert-examples))
- [journal-keeper/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/expert-examples/journal-keeper) - Personal journal companion with memory and pattern recognition
**Module Agents** ([module-examples/](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/modules/bmb/reference/agents/module-examples))
- [security-engineer.agent.yaml](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml) - BMM security specialist with threat modeling
- [trend-analyst.agent.yaml](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml) - CIS trend intelligence expert
## Installation Guide
For installing standalone simple and expert agents, see:
- [Custom Agent Installation](/docs/modules/bmb-bmad-builder/custom-content-installation.md)
## Key Concepts
### YAML to XML Compilation
Agents are authored in YAML with Handlebars templating. The compiler auto-injects:
1. **Frontmatter** - Name and description from metadata
2. **Activation Block** - Steps, menu handlers, rules (YOU don't write this)
3. **Menu Enhancement** - `*help` and `*exit` commands added automatically
4. **Trigger Prefixing** - Your triggers auto-prefixed with `*`
**Critical:** See [Agent Compilation](./agent-compilation.md) to avoid duplicating auto-injected content.
Source: `tools/cli/lib/agent/compiler.js`

View File

@@ -1,42 +0,0 @@
# Workflow Vendoring, Customization, and Inheritance (Official Support Consing Soon)
Vendoring and Inheritance of workflows are 2 ways of sharing or reutilizing workflows - but with some key distinctions and use cases.
## Workflow Vendoring
Workflow Vendoring allows an agent to have access to a workflow from another module, without having to install said module. At install time, the module workflow being vendored will be cloned and installed into the module that is receiving the vendored workflow the agent needs.
### How to Vendor
Lets assume you are building a module, and you do not want to recreate a workflow from the BMad Method, such as workflows/4-implementation/dev-story/workflow.md. Instead of copying all the context to your module, and having to maintain it over time as updates are made, you can instead use the exec-vendor menu item in your agent.
From your modules agent definition, you would implement the menu item as follows in the agent:
```yaml
- trigger: develop-story
exec-vendor: "{project-root}/_bmad/<source-module>/workflows/4-production/dev-story/workflow.md"
exec: "{project-root}/_bmad/<my-module>/workflows/dev-story/workflow.md"
description: "Execute Dev Story workflow, implementing tasks and tests, or performing updates to the story"
```
At install time, it will clone the workflow and all of its required assets, and the agent that gets built will have an exec to a path installed in its own module. The content gets added to the folder you specify in exec. While it does not have to exactly match the source path, you will want to ensure you are specifying the workflow.md to be in a new location (in other words in this example, dev-story would not already be the path of another custom module workflow that already exists.)
## Workflow Inheritance (Official Support Coming Post Beta)
Workflow Inheritance is a different concept, that allows you to modify or extend existing workflow.
Party Mode from the core is an example of a workflow that is designed with inheritance in mind - customization for specific party needs. While party mode itself is generic - there might be specific agent collaborations you want to create. Without having to reinvent the whole party mode concept, or copy and paste all of its content - you could inherit from party mode to extend it to be specific.
Some possible examples could be:
- Retrospective
- Sprint Planning
- Collaborative Brainstorming Sessions
## Workflow Customization (Official Support Coming Post Beta)
Similar to Workflow Inheritance, Workflow Customization will soon be allowed for certain workflows that are meant to be user customized - similar in process to how agents are customized now.
This will take the shape of workflows with optional hooks, configurable inputs, and the ability to replace whole at install time.
For example, assume you are using the Create PRD workflow, which is comprised of 11 steps, and you want to always include specifics about your companies domain, technical landscape or something else. While project-context can be helpful with that, you can also through hooks and step overrides, have full replace steps, the key requirement being to ensure your step replace file is an exact file name match of an existing step, follows all conventions, and ends in a similar fashion to either hook back in to call the next existing step, or more custom steps that eventually hook back into the flow.

View File

@@ -1,407 +0,0 @@
# BMGD Agents Guide
Complete reference for BMGD's six specialized game development agents.
---
## Agent Overview
BMGD provides six agents, each with distinct expertise:
| Agent | Name | Role | Phase Focus |
| ------------------------ | ---------------- | ----------------------------------------------------------- | ----------- |
| 🎲 **Game Designer** | Samus Shepard | Lead Game Designer + Creative Vision Architect | Phases 1-2 |
| 🏛️ **Game Architect** | Cloud Dragonborn | Principal Game Systems Architect + Technical Director | Phase 3 |
| 🕹️ **Game Developer** | Link Freeman | Senior Game Developer + Technical Implementation Specialist | Phase 4 |
| 🎯 **Game Scrum Master** | Max | Game Development Scrum Master + Sprint Orchestrator | Phase 4 |
| 🧪 **Game QA** | GLaDOS | Game QA Architect + Test Automation Specialist | All Phases |
| 🎮 **Game Solo Dev** | Indie | Elite Indie Game Developer + Quick Flow Specialist | All Phases |
---
## 🎲 Game Designer (Samus Shepard)
### Role
Lead Game Designer + Creative Vision Architect
### Identity
Veteran designer with 15+ years crafting AAA and indie hits. Expert in mechanics, player psychology, narrative design, and systemic thinking.
### Communication Style
Talks like an excited streamer - enthusiastic, asks about player motivations, celebrates breakthroughs with "Let's GOOO!"
### Core Principles
- Design what players want to FEEL, not what they say they want
- Prototype fast - one hour of playtesting beats ten hours of discussion
- Every mechanic must serve the core fantasy
### When to Use
- Brainstorming game ideas
- Creating Game Briefs
- Designing GDDs
- Developing narrative design
### Available Commands
| Command | Description |
| ---------------------- | -------------------------------- |
| `workflow-status` | Check project status |
| `brainstorm-game` | Guided game ideation |
| `create-game-brief` | Create Game Brief |
| `create-gdd` | Create Game Design Document |
| `narrative` | Create Narrative Design Document |
| `quick-prototype` | Rapid prototyping (IDE only) |
| `party-mode` | Multi-agent collaboration |
| `advanced-elicitation` | Deep exploration (web only) |
---
## 🏛️ Game Architect (Cloud Dragonborn)
### Role
Principal Game Systems Architect + Technical Director
### Identity
Master architect with 20+ years shipping 30+ titles. Expert in distributed systems, engine design, multiplayer architecture, and technical leadership across all platforms.
### Communication Style
Speaks like a wise sage from an RPG - calm, measured, uses architectural metaphors about building foundations and load-bearing walls.
### Core Principles
- Architecture is about delaying decisions until you have enough data
- Build for tomorrow without over-engineering today
- Hours of planning save weeks of refactoring hell
- Every system must handle the hot path at 60fps
### When to Use
- Planning technical architecture
- Making engine/framework decisions
- Designing game systems
- Course correction during development
### Available Commands
| Command | Description |
| ---------------------- | ------------------------------------- |
| `workflow-status` | Check project status |
| `create-architecture` | Create Game Architecture |
| `correct-course` | Course correction analysis (IDE only) |
| `party-mode` | Multi-agent collaboration |
| `advanced-elicitation` | Deep exploration (web only) |
---
## 🕹️ Game Developer (Link Freeman)
### Role
Senior Game Developer + Technical Implementation Specialist
### Identity
Battle-hardened dev with expertise in Unity, Unreal, and custom engines. Ten years shipping across mobile, console, and PC. Writes clean, performant code.
### Communication Style
Speaks like a speedrunner - direct, milestone-focused, always optimizing for the fastest path to ship.
### Core Principles
- 60fps is non-negotiable
- Write code designers can iterate without fear
- Ship early, ship often, iterate on player feedback
- Red-green-refactor: tests first, implementation second
### When to Use
- Implementing stories
- Code reviews
- Performance optimization
- Completing story work
### Available Commands
| Command | Description |
| ---------------------- | ------------------------------- |
| `workflow-status` | Check sprint progress |
| `dev-story` | Implement story tasks |
| `code-review` | Perform code review |
| `quick-dev` | Flexible development (IDE only) |
| `quick-prototype` | Rapid prototyping (IDE only) |
| `party-mode` | Multi-agent collaboration |
| `advanced-elicitation` | Deep exploration (web only) |
---
## 🎯 Game Scrum Master (Max)
### Role
Game Development Scrum Master + Sprint Orchestrator
### Identity
Certified Scrum Master specializing in game dev workflows. Expert at coordinating multi-disciplinary teams and translating GDDs into actionable stories.
### Communication Style
Talks in game terminology - milestones are save points, handoffs are level transitions, blockers are boss fights.
### Core Principles
- Every sprint delivers playable increments
- Clean separation between design and implementation
- Keep the team moving through each phase
- Stories are single source of truth for implementation
### When to Use
- Sprint planning and management
- Creating epic tech specs
- Writing story drafts
- Assembling story context
- Running retrospectives
- Handling course corrections
### Available Commands
| Command | Description |
| ----------------------- | ------------------------------------------- |
| `workflow-status` | Check project status |
| `sprint-planning` | Generate/update sprint status |
| `sprint-status` | View sprint progress, get next action |
| `create-story` | Create story (marks ready-for-dev directly) |
| `validate-create-story` | Validate story draft |
| `epic-retrospective` | Facilitate retrospective |
| `correct-course` | Navigate significant changes |
| `party-mode` | Multi-agent collaboration |
| `advanced-elicitation` | Deep exploration (web only) |
---
## 🧪 Game QA (GLaDOS)
### Role
Game QA Architect + Test Automation Specialist
### Identity
Senior QA architect with 12+ years in game testing across Unity, Unreal, and Godot. Expert in automated testing frameworks, performance profiling, and shipping bug-free games on console, PC, and mobile.
### Communication Style
Speaks like a quality guardian - methodical, data-driven, but understands that "feel" matters in games. Uses metrics to back intuition. "Trust, but verify with tests."
### Core Principles
- Test what matters: gameplay feel, performance, progression
- Automated tests catch regressions, humans catch fun problems
- Every shipped bug is a process failure, not a people failure
- Flaky tests are worse than no tests - they erode trust
- Profile before optimize, test before ship
### When to Use
- Setting up test frameworks
- Designing test strategies
- Creating automated tests
- Planning playtesting sessions
- Performance testing
- Reviewing test coverage
### Available Commands
| Command | Description |
| ---------------------- | --------------------------------------------------- |
| `workflow-status` | Check project status |
| `test-framework` | Initialize game test framework (Unity/Unreal/Godot) |
| `test-design` | Create comprehensive game test scenarios |
| `automate` | Generate automated game tests |
| `playtest-plan` | Create structured playtesting plan |
| `performance-test` | Design performance testing strategy |
| `test-review` | Review test quality and coverage |
| `party-mode` | Multi-agent collaboration |
| `advanced-elicitation` | Deep exploration (web only) |
### Knowledge Base
GLaDOS has access to a comprehensive game testing knowledge base (`gametest/qa-index.csv`) including:
**Engine-Specific Testing:**
- Unity Test Framework (Edit Mode, Play Mode)
- Unreal Automation and Gauntlet
- Godot GUT (Godot Unit Test)
**Game-Specific Testing:**
- Playtesting fundamentals
- Balance testing
- Save system testing
- Multiplayer/network testing
- Input testing
- Platform certification (TRC/XR)
- Localization testing
**General QA:**
- QA automation strategies
- Performance testing
- Regression testing
- Smoke testing
- Test prioritization (P0-P3)
---
## 🎮 Game Solo Dev (Indie)
### Role
Elite Indie Game Developer + Quick Flow Specialist
### Identity
Battle-hardened solo game developer who ships complete games from concept to launch. Expert in Unity, Unreal, and Godot, having shipped titles across mobile, PC, and console. Lives and breathes the Quick Flow workflow - prototyping fast, iterating faster, and shipping before the hype dies.
### Communication Style
Direct, confident, and gameplay-focused. Uses dev slang, thinks in game feel and player experience. Every response moves the game closer to ship. "Does it feel good? Ship it."
### Core Principles
- Prototype fast, fail fast, iterate faster
- A playable build beats a perfect design doc
- 60fps is non-negotiable - performance is a feature
- The core loop must be fun before anything else matters
- Ship early, playtest often
### When to Use
- Solo game development
- Rapid prototyping
- Quick iteration without full team workflow
- Indie projects with tight timelines
- When you want to handle everything yourself
### Available Commands
| Command | Description |
| ------------------ | ------------------------------------------------------ |
| `quick-prototype` | Rapid prototype to test if a mechanic is fun |
| `quick-dev` | Implement features end-to-end with game considerations |
| `create-tech-spec` | Create implementation-ready technical spec |
| `code-review` | Review code quality |
| `test-framework` | Set up automated testing |
| `party-mode` | Bring in specialists when needed |
### Quick Flow vs Full BMGD
Use **Game Solo Dev** when:
- You're working alone or in a tiny team
- Speed matters more than process
- You want to skip the full planning phases
- You're prototyping or doing game jams
Use **Full BMGD workflow** when:
- You have a larger team
- The project needs formal documentation
- You're working with stakeholders/publishers
- Long-term maintainability is critical
---
## Agent Selection Guide
### By Phase
| Phase | Primary Agent | Secondary Agent |
| ------------------------------ | ----------------- | ----------------- |
| 1: Preproduction | Game Designer | - |
| 2: Design | Game Designer | - |
| 3: Technical | Game Architect | Game QA |
| 4: Production (Planning) | Game Scrum Master | Game Architect |
| 4: Production (Implementation) | Game Developer | Game Scrum Master |
| Testing (Any Phase) | Game QA | Game Developer |
### By Task
| Task | Best Agent |
| -------------------------------- | ----------------- |
| "I have a game idea" | Game Designer |
| "Help me design my game" | Game Designer |
| "How should I build this?" | Game Architect |
| "What's the technical approach?" | Game Architect |
| "Plan our sprints" | Game Scrum Master |
| "Create implementation stories" | Game Scrum Master |
| "Build this feature" | Game Developer |
| "Review this code" | Game Developer |
| "Set up testing framework" | Game QA |
| "Create test plan" | Game QA |
| "Test performance" | Game QA |
| "Plan a playtest" | Game QA |
| "I'm working solo" | Game Solo Dev |
| "Quick prototype this idea" | Game Solo Dev |
| "Ship this feature fast" | Game Solo Dev |
---
## Multi-Agent Collaboration
### Party Mode
All agents have access to `party-mode`, which brings multiple agents together for complex decisions. Use this when:
- A decision spans multiple domains (design + technical)
- You want diverse perspectives
- You're stuck and need fresh ideas
### Handoffs
Agents naturally hand off to each other:
```
Game Designer → Game Architect → Game Scrum Master → Game Developer
↓ ↓ ↓ ↓
GDD Architecture Sprint/Stories Implementation
↓ ↓
Game QA ←──────────────────────────── Game QA
↓ ↓
Test Strategy Automated Tests
```
Game QA integrates at multiple points:
- After Architecture: Define test strategy
- During Implementation: Create automated tests
- Before Release: Performance and certification testing
---
## Project Context
All agents share the principle:
> "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
The `project-context.md` file (if present) serves as the authoritative source for project decisions and constraints.
---
## Next Steps
- **[Quick Start Guide](./quick-start.md)** - Get started with BMGD
- **[Workflows Guide](./workflows-guide.md)** - Detailed workflow reference
- **[Game Types Guide](./game-types-guide.md)** - Game type templates

View File

@@ -1,503 +0,0 @@
# BMGD Game Types Guide
Reference for selecting and using BMGD's 24 supported game type templates.
---
## Overview
When creating a GDD, BMGD offers game type templates that provide genre-specific sections. This ensures your design document covers mechanics and systems relevant to your game's genre.
---
## Supported Game Types
### Action & Combat
#### Action Platformer
**Tags:** action, platformer, combat, movement
Side-scrolling or 3D platforming with combat mechanics. Think Hollow Knight, Celeste with combat, or Mega Man.
**GDD sections added:**
- Movement systems (jumps, dashes, wall mechanics)
- Combat mechanics (melee/ranged, combos)
- Level design patterns
- Boss design
---
#### Shooter
**Tags:** shooter, combat, aiming, fps, tps
Projectile combat with aiming mechanics. Covers FPS, TPS, and arena shooters.
**GDD sections added:**
- Weapon systems
- Aiming and accuracy
- Enemy AI patterns
- Level/arena design
- Multiplayer considerations
---
#### Fighting
**Tags:** fighting, combat, competitive, combos, pvp
1v1 combat with combos and frame data. Traditional fighters and platform fighters.
**GDD sections added:**
- Frame data systems
- Combo mechanics
- Character movesets
- Competitive balance
- Netcode requirements
---
### Strategy & Tactics
#### Strategy
**Tags:** strategy, tactics, resources, planning
Resource management with tactical decisions. RTS, 4X, and grand strategy.
**GDD sections added:**
- Resource systems
- Unit/building design
- AI opponent behavior
- Map/scenario design
- Victory conditions
---
#### Turn-Based Tactics
**Tags:** tactics, turn-based, grid, positioning
Grid-based movement with turn order. XCOM-likes and tactical RPGs.
**GDD sections added:**
- Grid and movement systems
- Turn order mechanics
- Cover and positioning
- Unit progression
- Procedural mission generation
---
#### Tower Defense
**Tags:** tower-defense, waves, placement, strategy
Wave-based defense with tower placement.
**GDD sections added:**
- Tower types and upgrades
- Wave design and pacing
- Economy systems
- Map design patterns
- Meta-progression
---
### RPG & Progression
#### RPG
**Tags:** rpg, stats, inventory, quests, narrative
Character progression with stats, inventory, and quests.
**GDD sections added:**
- Character stats and leveling
- Inventory and equipment
- Quest system design
- Combat system (action/turn-based)
- Skill trees and builds
---
#### Roguelike
**Tags:** roguelike, procedural, permadeath, runs
Procedural generation with permadeath and run-based progression.
**GDD sections added:**
- Procedural generation rules
- Permadeath and persistence
- Run structure and pacing
- Item/ability synergies
- Meta-progression systems
---
#### Metroidvania
**Tags:** metroidvania, exploration, abilities, interconnected
Interconnected world with ability gating.
**GDD sections added:**
- World map connectivity
- Ability gating design
- Backtracking flow
- Secret and collectible placement
- Power-up progression
---
### Narrative & Story
#### Adventure
**Tags:** adventure, narrative, exploration, story
Story-driven exploration and narrative. Point-and-click and narrative adventures.
**GDD sections added:**
- Puzzle design
- Narrative delivery
- Exploration mechanics
- Dialogue systems
- Story branching
---
#### Visual Novel
**Tags:** visual-novel, narrative, choices, story
Narrative choices with branching story.
**GDD sections added:**
- Branching narrative structure
- Choice and consequence
- Character routes
- UI/presentation
- Save/load states
---
#### Text-Based
**Tags:** text, parser, interactive-fiction, mud
Text input/output games. Parser games, choice-based IF, MUDs.
**GDD sections added:**
- Parser or choice systems
- World model
- Narrative structure
- Text presentation
- Save state management
---
### Simulation & Management
#### Simulation
**Tags:** simulation, management, sandbox, systems
Realistic systems with management and building. Includes tycoons and sim games.
**GDD sections added:**
- Core simulation loops
- Economy modeling
- AI agents/citizens
- Building/construction
- Failure states
---
#### Sandbox
**Tags:** sandbox, creative, building, freedom
Creative freedom with building and minimal objectives.
**GDD sections added:**
- Creation tools
- Physics/interaction systems
- Persistence and saving
- Sharing/community features
- Optional objectives
---
### Sports & Racing
#### Racing
**Tags:** racing, vehicles, tracks, speed
Vehicle control with tracks and lap times.
**GDD sections added:**
- Vehicle physics model
- Track design
- AI opponents
- Progression/career mode
- Multiplayer racing
---
#### Sports
**Tags:** sports, teams, realistic, physics
Team-based or individual sports simulation.
**GDD sections added:**
- Sport-specific rules
- Player/team management
- AI opponent behavior
- Season/career modes
- Multiplayer modes
---
### Multiplayer
#### MOBA
**Tags:** moba, multiplayer, pvp, heroes, lanes
Multiplayer team battles with hero selection.
**GDD sections added:**
- Hero/champion design
- Lane and map design
- Team composition
- Matchmaking
- Economy (gold/items)
---
#### Party Game
**Tags:** party, multiplayer, minigames, casual
Local multiplayer with minigames.
**GDD sections added:**
- Minigame design patterns
- Controller support
- Round/game structure
- Scoring systems
- Player count flexibility
---
### Horror & Survival
#### Survival
**Tags:** survival, crafting, resources, danger
Resource gathering with crafting and persistent threats.
**GDD sections added:**
- Resource gathering
- Crafting systems
- Hunger/health/needs
- Threat systems
- Base building
---
#### Horror
**Tags:** horror, atmosphere, tension, fear
Atmosphere and tension with limited resources.
**GDD sections added:**
- Fear mechanics
- Resource scarcity
- Sound design
- Lighting and visibility
- Enemy/threat design
---
### Casual & Progression
#### Puzzle
**Tags:** puzzle, logic, cerebral
Logic-based challenges and problem-solving.
**GDD sections added:**
- Puzzle mechanics
- Difficulty progression
- Hint systems
- Level structure
- Scoring/rating
---
#### Idle/Incremental
**Tags:** idle, incremental, automation, progression
Passive progression with upgrades and automation.
**GDD sections added:**
- Core loop design
- Prestige systems
- Automation unlocks
- Number scaling
- Offline progress
---
#### Card Game
**Tags:** card, deck-building, strategy, turns
Deck building with card mechanics.
**GDD sections added:**
- Card design framework
- Deck building rules
- Mana/resource systems
- Rarity and collection
- Competitive balance
---
### Rhythm
#### Rhythm
**Tags:** rhythm, music, timing, beats
Music synchronization with timing-based gameplay.
**GDD sections added:**
- Note/beat mapping
- Scoring systems
- Difficulty levels
- Music licensing
- Input methods
---
## Hybrid Game Types
Many games combine multiple genres. BMGD supports hybrid selection:
### Examples
**Action RPG** = Action Platformer + RPG
- Movement and combat systems from Action Platformer
- Progression and stats from RPG
**Survival Horror** = Survival + Horror
- Resource and crafting from Survival
- Atmosphere and fear from Horror
**Roguelike Deckbuilder** = Roguelike + Card Game
- Run structure from Roguelike
- Card mechanics from Card Game
### How to Use Hybrids
During GDD creation, select multiple game types when prompted:
```
Agent: What game type best describes your game?
You: It's a roguelike with card game combat
Agent: I'll include sections for both Roguelike and Card Game...
```
---
## Game Type Selection Tips
### 1. Start with Core Fantasy
What does the player primarily DO in your game?
- Run and jump? → Platformer types
- Build and manage? → Simulation types
- Fight enemies? → Combat types
- Make choices? → Narrative types
### 2. Consider Your Loop
What's the core gameplay loop?
- Session-based runs? → Roguelike
- Long-term progression? → RPG
- Quick matches? → Multiplayer types
- Creative expression? → Sandbox
### 3. Don't Over-Combine
2-3 game types maximum. More than that usually means your design isn't focused enough.
### 4. Primary vs Secondary
One type should be primary (most gameplay time). Others add flavor:
- **Primary:** Platformer (core movement and exploration)
- **Secondary:** Metroidvania (ability gating structure)
---
## GDD Section Mapping
When you select a game type, BMGD adds these GDD sections:
| Game Type | Key Sections Added |
| ----------------- | -------------------------------------- |
| Action Platformer | Movement, Combat, Level Design |
| RPG | Stats, Inventory, Quests |
| Roguelike | Procedural Gen, Runs, Meta-Progression |
| Narrative | Story Structure, Dialogue, Branching |
| Multiplayer | Matchmaking, Netcode, Balance |
| Simulation | Systems, Economy, AI |
---
## Next Steps
- **[Quick Start Guide](./quick-start.md)** - Get started with BMGD
- **[Workflows Guide](./workflows-guide.md)** - GDD workflow details
- **[Glossary](./glossary.md)** - Game development terminology

View File

@@ -1,293 +0,0 @@
# BMGD Glossary
Key game development terminology used in BMGD workflows.
---
## A
### Acceptance Criteria
Specific conditions that must be met for a story to be considered complete. Defines "done" for implementation.
### Act Structure
Story organization into major sections (typically 3 acts: Setup, Confrontation, Resolution).
---
## B
### Backlog
List of pending work items (epics, stories) waiting to be scheduled and implemented.
### Boss Design
Design of significant enemy encounters, typically featuring unique mechanics and increased challenge.
---
## C
### Character Arc
The transformation a character undergoes through the story, from initial state to final state.
### Core Fantasy
The emotional experience players seek from your game. What they want to FEEL.
### Core Loop
The fundamental cycle of actions players repeat throughout gameplay. The heart of your game.
---
## D
### Definition of Done (DoD)
Checklist of requirements that must be satisfied before work is considered complete.
### Design Pillar
Core principle that guides all design decisions. Typically 3-5 pillars define a game's identity.
---
## E
### Environmental Storytelling
Narrative communicated through the game world itself—visual details, audio, found documents—rather than explicit dialogue.
### Epic
Large body of work that can be broken down into smaller stories. Represents a major feature or system.
---
## F
### Frame Data
In fighting games, the precise timing information for moves (startup, active, recovery frames).
### Frontmatter
YAML metadata at the beginning of markdown files, used for workflow state tracking.
---
## G
### Game Brief
Document capturing the game's core vision, pillars, target audience, and scope. Foundation for the GDD.
### Game Design Document (GDD)
Comprehensive document detailing all aspects of game design: mechanics, systems, content, and more.
### Game Type
Genre classification that determines which specialized GDD sections are included.
---
## H
### Hot Path
Code that executes frequently (every frame). Must be optimized for performance.
---
## I
### Idle Progression
Game mechanics where progress continues even when the player isn't actively playing.
---
## K
### Kishotenketsu
Four-act story structure from East Asian narrative tradition (Introduction, Development, Twist, Conclusion).
---
## L
### Localization
Adapting game content for different languages and cultures.
---
## M
### MDA Framework
Mechanics → Dynamics → Aesthetics. Framework for analyzing and designing games.
### Meta-Progression
Persistent progression that carries between individual runs or sessions.
### Metroidvania
Genre featuring interconnected world exploration with ability-gated progression.
---
## N
### Narrative Complexity
How central story is to the game experience (Critical, Heavy, Moderate, Light).
### Netcode
Networking code handling multiplayer communication and synchronization.
---
## P
### Permadeath
Game mechanic where character death is permanent, typically requiring a new run.
### Player Agency
The degree to which players can make meaningful choices that affect outcomes.
### Procedural Generation
Algorithmic creation of game content (levels, items, characters) rather than hand-crafted.
---
## R
### Retrospective
Team meeting after completing work to reflect on what went well and what to improve.
### Roguelike
Genre featuring procedural generation, permadeath, and run-based progression.
### Run
A single playthrough in a roguelike or run-based game, from start to death/completion.
---
## S
### Sprint
Time-boxed period of development work, typically 1-2 weeks.
### Sprint Status
Tracking document showing current sprint progress, story states, and blockers.
### Story
Smallest unit of implementable work with clear acceptance criteria. Part of an epic.
### Story Context
Assembled documentation and code context needed to implement a specific story.
### Story Gates
Points where story progression is blocked until certain gameplay conditions are met.
---
## T
### Tech Spec
Technical specification document detailing how a feature will be implemented.
### TDD (Test-Driven Development)
Development approach: write tests first, then implement code to pass them.
---
## U
### UI/UX
User Interface / User Experience. How players interact with and experience the game.
---
## V
### Visual Novel
Genre focused on narrative with static images, dialogue, and player choices.
### Voice Acting
Recorded spoken dialogue for game characters.
---
## W
### Workflow
Structured process for completing a specific type of work (e.g., GDD creation, story implementation).
### Workflow Status
Current state of project workflows, tracking which phases and documents are complete.
### World Building
Creation of the game's setting, including history, culture, geography, and lore.
---
## BMGD-Specific Terms
### A/P/C Menu
Options presented after content generation:
- **A** - Advanced Elicitation (explore deeper)
- **P** - Party Mode (multi-agent discussion)
- **C** - Continue (save and proceed)
### Narrative Complexity Levels
- **Critical** - Story IS the game (visual novels)
- **Heavy** - Deep narrative with gameplay (RPGs)
- **Moderate** - Meaningful story supporting gameplay
- **Light** - Minimal story, gameplay-focused
### Step-File Architecture
BMGD workflow pattern using separate markdown files for each workflow step.
### Workflow-Install Pattern
Phase 4 workflows inherit from BMM base and add BMGD-specific overrides.
---
## Next Steps
- **[Quick Start Guide](./quick-start.md)** - Get started with BMGD
- **[Game Types Guide](./game-types-guide.md)** - Game genre reference

View File

@@ -1,175 +0,0 @@
# BMGD Documentation
Complete guides for the BMad Game Development Module (BMGD) - AI-powered workflows for game design and development that adapt to your project's needs.
---
## Getting Started
**New to BMGD?** Start here:
- **[Quick Start Guide](./quick-start.md)** - Get started building your first game
- Installation and setup
- Understanding the game development phases
- Running your first workflows
- Agent-based development flow
**Quick Path:** Install BMGD module → Game Brief → GDD → Architecture → Build
---
## Core Concepts
Understanding how BMGD works:
- **[Agents Guide](./agents-guide.md)** - Complete reference for game development agents
- Game Designer, Game Developer, Game Architect, Game Scrum Master, Game QA, Game Solo Dev
- Agent roles and when to use them
- Agent workflows and menus
- **[Workflows Guide](./workflows-guide.md)** - Complete workflow reference
- Phase 1: Preproduction (Brainstorm, Game Brief)
- Phase 2: Design (GDD, Narrative)
- Phase 3: Technical (Architecture)
- Phase 4: Production (Sprint-based development)
- **[Game Types Guide](./game-types-guide.md)** - Selecting and using game type templates
- 24 supported game types
- Genre-specific GDD sections
- Hybrid game type handling
- **[Quick-Flow Guide](./quick-flow-guide.md)** - Fast-track workflows for rapid development
- Quick-Prototype for testing ideas
- Quick-Dev for flexible implementation
- When to use quick-flow vs full BMGD
---
## Quick References
Essential reference materials:
- **[Glossary](./glossary.md)** - Key game development terminology
---
## Choose Your Path
### I need to...
**Start a new game project**
→ Start with [Quick Start Guide](./quick-start.md)
→ Run `brainstorm-game` for ideation
→ Create a Game Brief with `create-brief`
**Design my game**
→ Create a GDD with `create-gdd`
→ If story-heavy, add Narrative Design with `create-narrative`
**Plan the technical architecture**
→ Run `create-architecture` with the Game Architect
**Build my game**
→ Use Phase 4 production workflows
→ Follow the sprint-based development cycle
**Quickly test an idea or implement a feature**
→ Use [Quick-Flow](./quick-flow-guide.md) for rapid prototyping and development
`quick-prototype` to test mechanics, `quick-dev` to implement
**Set up testing and QA**
→ Use Game QA agent for test framework setup
→ Run `test-framework` to initialize testing for Unity/Unreal/Godot
→ Use `test-design` to create test scenarios
→ Plan playtests with `playtest-plan`
**Understand game type templates**
→ See [Game Types Guide](./game-types-guide.md)
---
## Game Development Phases
BMGD follows four phases aligned with game development:
![BMGD Workflow Overview](./workflow-overview.jpg)
### Phase 1: Preproduction
- **Brainstorm Game** - Ideation with game-specific techniques
- **Game Brief** - Capture vision, market, and fundamentals
### Phase 2: Design
- **GDD (Game Design Document)** - Comprehensive game design
- **Narrative Design** - Story, characters, world (for story-driven games)
### Phase 3: Technical
- **Game Architecture** - Engine, systems, patterns, structure
### Phase 4: Production
- **Sprint Planning** - Epic and story management
- **Story Development** - Implementation workflow
- **Code Review** - Quality assurance
- **Testing** - Automated tests, playtesting, performance
- **Retrospective** - Continuous improvement
---
## BMGD vs BMM
BMGD extends BMM with game-specific capabilities:
| Aspect | BMM | BMGD |
| -------------- | ------------------------------------- | ------------------------------------------------------------------------ |
| **Focus** | General software | Game development |
| **Agents** | PM, Architect, Dev, SM, TEA, Solo Dev | Game Designer, Game Dev, Game Architect, Game SM, Game QA, Game Solo Dev |
| **Planning** | PRD, Tech Spec | Game Brief, GDD |
| **Types** | N/A | 24 game type templates |
| **Narrative** | N/A | Full narrative workflow |
| **Testing** | Web-focused testarch | Engine-specific (Unity, Unreal, Godot) |
| **Production** | Inherited from BMM | BMM workflows with game overrides |
BMGD production workflows inherit from BMM and add game-specific checklists and templates.
---
## Documentation Map
```
BMGD Documentation
├── README.md (this file)
├── quick-start.md # Getting started
├── agents-guide.md # Agent reference
├── workflows-guide.md # Workflow reference
├── quick-flow-guide.md # Rapid prototyping and development
├── game-types-guide.md # Game type templates
├── glossary.md # Terminology
```
---
## External Resources
### Community and Support
- **[Discord Community](https://discord.gg/gk8jAdXWmj)** - Get help from the community
- **[GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)** - Report bugs or request features
- **[YouTube Channel](https://www.youtube.com/@BMadCode)** - Video tutorials
### Related Documentation
- **[BMM Documentation](../../bmm/docs/index.md)** - Core BMad Method documentation
## Tips for Using This Documentation
1. **Start with Quick Start** if you're new to BMGD
2. **Check Game Types Guide** when creating your GDD
3. **Reference Glossary** for game development terminology
4. **Use Troubleshooting** when you encounter issues
---
**Ready to make games?** → [Start with the Quick Start Guide](./quick-start.md)

View File

@@ -1,288 +0,0 @@
# BMGD Quick-Flow Guide
Fast-track workflows for rapid game prototyping and flexible development.
---
## Game Solo Dev Agent
For dedicated quick-flow development, use the **Game Solo Dev** agent (Indie). This agent is optimized for solo developers and small teams who want to skip the full planning phases and ship fast.
**Switch to Game Solo Dev:** Type `@game-solo-dev` or select the agent from your IDE.
The Game Solo Dev agent includes:
- `quick-prototype` - Rapid mechanic testing
- `quick-dev` - Flexible feature implementation
- `create-tech-spec` - Create implementation-ready specs
- `code-review` - Quality checks
- `test-framework` - Automated testing setup
---
## Overview
Quick-flow workflows skip the full BMGD planning phases when you need to move fast. Use them for:
- Testing a game mechanic idea
- Implementing a small feature
- Rapid prototyping before committing to design
- Bug fixes and tweaks
```
Full BMGD Flow:
Brief → GDD → Architecture → Sprint Planning → Stories → Implementation
Quick-Flow:
Idea → Quick-Prototype → Quick-Dev → Done
```
---
## Quick-Prototype
**Command:** `quick-prototype`
**Agent:** Game Designer, Game Developer
**Purpose:** Rapidly test gameplay ideas with minimal setup
### When to Use
- You have a mechanic idea and want to test the "feel"
- You're not sure if something will be fun
- You want to experiment before committing to design
- You need a proof of concept
### Workflow Steps
1. **Define Scope** - What are you prototyping? (mechanic, feature, system)
2. **Set Success Criteria** - How will you know if it works?
3. **Rapid Implementation** - Build the minimum to test the idea
4. **Playtest and Evaluate** - Does it feel right?
### Prototype Principles
- **Minimum Viable Prototype** - Only what's needed to test the idea
- **Hardcode First** - Magic numbers are fine, extract later
- **Skip Edge Cases** - Happy path only for now
- **Placeholder Everything** - Cubes, debug text, temp sounds
- **Comment Intent** - Mark what's temporary vs keeper code
### Example Session
```
You: quick-prototype
Agent: What are you prototyping?
You: I want to test a grappling hook mechanic. Player should be
able to aim at surfaces and pull themselves toward the hook point.
Agent: What makes this prototype successful?
You: 1. Aiming feels responsive and intuitive
2. The pull movement feels satisfying, not floaty
3. Player can chain hooks without awkward pauses
Agent: [Implements minimal grappling hook]
Agent: Prototype complete! Playtest results:
- Aiming: Works, consider adding aim assist
- Movement: Pull is smooth, might need speed curve
- Chaining: Currently has 0.2s delay, feels sluggish
Next: [d] Develop further | [i] Iterate | [a] Archive
```
### After Prototyping
- **Develop** (`d`) - Use `quick-dev` to build production code
- **Iterate** (`i`) - Adjust and re-test the prototype
- **Archive** (`a`) - Keep as reference, move on to other ideas
---
## Quick-Dev
**Command:** `quick-dev`
**Agent:** Game Developer
**Purpose:** Flexible development with game-specific considerations
### When to Use
- Implementing a feature from a tech-spec
- Building on a successful prototype
- Making changes that don't need full story workflow
- Quick fixes and improvements
### Workflow Modes
**Mode A: Tech-Spec Driven**
```
You: quick-dev tech-spec-combat.md
Agent: [Loads spec, extracts tasks, implements]
```
**Mode B: Direct Instructions**
```
You: quick-dev implement double-jump for the player
Agent: [Evaluates complexity, offers planning options]
```
**Mode C: From Prototype**
```
You: quick-dev from the grappling hook prototype
Agent: [Loads prototype, productionizes code]
```
### Game-Specific Checks
Quick-dev includes automatic consideration of:
- **Performance** - No allocations in hot paths, object pooling
- **Feel** - Input responsiveness, visual/audio feedback
- **Integration** - Save/load, multiplayer sync, platform testing
### Example Session
```
You: quick-dev implement enemy patrol behavior
Agent: This looks like a focused feature. Options:
[t] Plan first - Create tech-spec (recommended)
[r] Prototype first - Test the idea
[e] Execute directly
You: e
Agent: Any additional guidance? (patterns, files, constraints)
You: Use the existing AIController base class. Enemies should
patrol between waypoints and return if player leaves range.
Agent: [Implements patrol behavior]
Agent: Implementation Complete!
Files Modified: EnemyAI.cs, PatrolBehavior.cs
Tests: Unit tests added for patrol state machine
Performance: No per-frame allocations
Recommended: Playtest the changes
```
### Complexity Routing
Quick-dev automatically detects complex requests and offers alternatives:
| Signals | Recommendation |
| -------------------------------------- | ---------------------- |
| Single mechanic, bug fix, tweak | Execute directly |
| Multiple systems, performance-critical | Plan first (tech-spec) |
| Platform/system level work | Use full BMGD workflow |
---
## Choosing Between Quick-Flows
| Scenario | Use |
| ----------------------- | ------------------------------- |
| "Will this be fun?" | `quick-prototype` |
| "How should this feel?" | `quick-prototype` |
| "Build this feature" | `quick-dev` |
| "Fix this bug" | `quick-dev` |
| "Test then build" | `quick-prototype``quick-dev` |
---
## Quick-Flow vs Full BMGD
### Use Quick-Flow When
- The scope is small and well-understood
- You're experimenting or prototyping
- You have a clear tech-spec already
- The work doesn't affect core game systems significantly
### Use Full BMGD When
- Building a major feature or system
- The scope is unclear or large
- Multiple team members need alignment
- The work affects game pillars or core loop
- You need documentation for future reference
---
## Checklists
### Quick-Prototype Checklist
**Before:**
- [ ] Prototype scope defined
- [ ] Success criteria established (2-3 items)
**During:**
- [ ] Minimum viable code written
- [ ] Placeholder assets used
- [ ] Core functionality testable
**After:**
- [ ] Each criterion evaluated
- [ ] Decision made (develop/iterate/archive)
### Quick-Dev Checklist
**Before:**
- [ ] Context loaded (spec, prototype, or guidance)
- [ ] Files to modify identified
- [ ] Patterns understood
**During:**
- [ ] All tasks completed
- [ ] No allocations in hot paths
- [ ] Frame rate maintained
**After:**
- [ ] Game runs without errors
- [ ] Feature works as specified
- [ ] Manual playtest completed
---
## Tips for Success
### 1. Timebox Prototypes
Set a limit (e.g., 2 hours) for prototyping. If it's not working by then, step back and reconsider.
### 2. Embrace Programmer Art
Prototypes don't need to look good. Focus on feel, not visuals.
### 3. Test on Target Hardware
What feels right on your dev machine might not feel right on target platform.
### 4. Document Learnings
Even failed prototypes teach something. Note what you learned.
### 5. Know When to Graduate
If quick-dev keeps expanding scope, stop and create proper stories.
---
## Next Steps
- **[Workflows Guide](./workflows-guide.md)** - Full workflow reference
- **[Agents Guide](./agents-guide.md)** - Agent capabilities
- **[Quick Start Guide](./quick-start.md)** - Getting started with BMGD

View File

@@ -1,250 +0,0 @@
# BMGD Quick Start Guide
Get started building games with the BMad Game Development Module.
---
## Prerequisites
Before starting with BMGD, ensure you have:
1. **BMAD-METHOD installed** - Follow the main installation guide
2. **A game idea** - Even a rough concept is enough to start
3. **Your preferred AI tool** - Claude Code, Cursor, or web-based chat
---
## Installation
BMGD is a custom module that extends BMM. Install it using the BMAD installer:
```bash
# During installation, select BMGD when prompted for custom modules
npx bmad-cli install
```
Or add to an existing installation:
```bash
npx bmad-cli install --add-module bmgd
```
---
## Understanding the Phases
BMGD follows four game development phases:
![BMGD Workflow Overview](./workflow-overview.jpg)
### Phase 1: Preproduction
**What happens:** Capture your game vision and core concept.
**Workflows:**
- `brainstorm-game` - Guided ideation with game-specific techniques
- `create-game-brief` - Document vision, market, pillars, and fundamentals
**Output:** Game Brief document
### Phase 2: Design
**What happens:** Detail your game's mechanics, systems, and (optionally) narrative.
**Workflows:**
- `create-gdd` - Create comprehensive Game Design Document
- `narrative` - Create Narrative Design Document (for story-driven games)
**Output:** GDD (and Narrative Design document if applicable)
### Phase 3: Technical
**What happens:** Plan how you'll build the game.
**Workflows:**
- `create-architecture` - Define engine, systems, patterns, and structure
**Output:** Game Architecture document
### Phase 4: Production
**What happens:** Build your game in sprints.
**Workflows:**
- `sprint-planning` - Plan and track sprints
- `sprint-status` - View progress and get recommendations
- `create-story` - Create implementable stories
- `dev-story` - Implement stories
- `code-review` - Quality assurance
- `retrospective` - Learn and improve after epics
**Output:** Working game code
---
## Your First Game Project
### Step 1: Start with Brainstorming (Optional)
If you have a vague idea and want help developing it:
```
You: brainstorm-game
Agent: [Guides you through game-specific ideation techniques]
```
### Step 2: Create Your Game Brief
Capture your game's core vision:
```
You: create-game-brief
Agent: [Walks you through game concept, pillars, market, and fundamentals]
```
**Output:** `{output_folder}/game-brief.md`
### Step 3: Create Your GDD
Detail your game's design:
```
You: create-gdd
Agent: [Guides you through mechanics, systems, and game-type-specific sections]
```
**Output:** `{output_folder}/gdd.md` (or sharded into `{output_folder}/gdd/`)
### Step 4: Add Narrative Design (If Story-Driven)
For games with significant story:
```
You: narrative
Agent: [Facilitates story, characters, world, and dialogue design]
```
**Output:** `{output_folder}/narrative-design.md`
### Step 5: Create Architecture
Plan your technical implementation:
```
You: create-architecture
Agent: [Guides engine selection, system design, and technical decisions]
```
**Output:** `{output_folder}/game-architecture.md`
### Step 6: Start Building
Begin sprint-based development:
```
You: sprint-planning
Agent: [Sets up sprint tracking and epic management]
```
---
## Choosing Your Agent
BMGD provides six specialized agents:
| Agent | Icon | When to Use |
| --------------------- | ---- | ----------------------------------------- |
| **Game Designer** | 🎲 | Brainstorming, Game Brief, GDD, Narrative |
| **Game Architect** | 🏛️ | Architecture, technical decisions |
| **Game Developer** | 🕹️ | Implementation, code reviews |
| **Game Scrum Master** | 🎯 | Sprint planning, story management |
| **Game QA** | 🧪 | Test framework, test design, automation |
| **Game Solo Dev** | 🎮 | Quick prototyping, indie development |
### Typical Flow
1. **Game Designer** (Phases 1-2): Brainstorm → Brief → GDD → Narrative
2. **Game Architect** (Phase 3): Architecture
3. **Game Scrum Master** (Phase 4): Sprint planning, story creation
4. **Game Developer** (Phase 4): Implementation, code reviews
---
## Quick Command Reference
### Phase 1: Preproduction
- `brainstorm-game` - Ideation session
- `create-game-brief` - Create Game Brief
### Phase 2: Design
- `create-gdd` - Create GDD
- `narrative` - Create Narrative Design
### Phase 3: Technical
- `create-architecture` - Create Architecture
### Phase 4: Production
- `sprint-planning` - Plan sprints
- `sprint-status` - View progress and recommendations
- `create-story` - Create story
- `dev-story` - Implement story
- `code-review` - Review code
- `retrospective` - Team retrospective
- `correct-course` - Handle sprint changes
### Quick-Flow (Fast-Track)
- `quick-prototype` - Rapid prototyping (IDE only)
- `quick-dev` - Flexible development (IDE only)
### Utility
- `workflow-status` - Check project status
- `party-mode` - Multi-agent collaboration
- `advanced-elicitation` - Deep exploration
---
## Tips for Success
### 1. Start Small
Begin with a simple game concept. You can always expand later.
### 2. Use Game Type Templates
When creating your GDD, BMGD offers 24 game type templates that provide genre-specific sections.
### 3. Iterate
Documents are living artifacts. Return to update them as your vision evolves.
### 4. Trust the Process
Each workflow builds on previous outputs. The Game Brief informs the GDD, which informs the Architecture, which informs implementation.
### 5. Collaborate with Agents
Use `party-mode` to get perspectives from multiple agents when facing complex decisions.
---
## Next Steps
- **[Agents Guide](./agents-guide.md)** - Learn about each agent's capabilities
- **[Workflows Guide](./workflows-guide.md)** - Detailed workflow reference
- **[Quick-Flow Guide](./quick-flow-guide.md)** - Rapid prototyping and development
- **[Game Types Guide](./game-types-guide.md)** - Understand game type templates
- **[Glossary](./glossary.md)** - Game development terminology
---
**Ready to start?** Chat with the **Game Designer** agent and say `brainstorm-game` or `create-game-brief`!

View File

@@ -1,259 +0,0 @@
# BMGD Troubleshooting
Common issues and solutions when using BMGD workflows.
---
## Installation Issues
### BMGD module not appearing
**Symptom:** BMGD agents and workflows are not available after installation.
**Solutions:**
1. Verify BMGD was selected during installation
2. Check `_bmad/bmgd/` folder exists in your project
3. Re-run installer with `--add-module bmgd`
---
### Config file missing
**Symptom:** Workflows fail with "config not found" errors.
**Solution:**
Check for `_bmad/bmgd/config.yaml` in your project. If missing, create it:
```yaml
# BMGD Configuration
output_folder: '{project-root}/docs/game-design'
user_name: 'Your Name'
communication_language: 'English'
document_output_language: 'English'
game_dev_experience: 'intermediate'
```
---
## Workflow Issues
### "GDD not found" in Narrative workflow
**Symptom:** Narrative workflow can't find the GDD.
**Solutions:**
1. Ensure GDD exists in `{output_folder}`
2. Check GDD filename contains "gdd" (e.g., `game-gdd.md`, `my-gdd.md`)
3. If using sharded GDD, verify `{output_folder}/gdd/index.md` exists
---
### Workflow state not persisting
**Symptom:** Returning to a workflow starts from the beginning.
**Solutions:**
1. Check the output document's frontmatter for `stepsCompleted` array
2. Ensure document was saved before ending session
3. Use "Continue existing" option when re-entering workflow
---
### Wrong game type sections in GDD
**Symptom:** GDD includes irrelevant sections for your game type.
**Solutions:**
1. Review game type selection at Step 7 of GDD workflow
2. You can select multiple types for hybrid games
3. Irrelevant sections can be marked N/A or removed
---
## Agent Issues
### Agent not recognizing commands
**Symptom:** Typing a command like `create-gdd` doesn't trigger the workflow.
**Solutions:**
1. Ensure you're chatting with the correct agent (Game Designer for GDD)
2. Check exact command spelling (case-sensitive)
3. Try `workflow-status` to verify agent is loaded correctly
---
### Agent using wrong persona
**Symptom:** Agent responses don't match expected personality.
**Solutions:**
1. Verify correct agent file is loaded
2. Check `_bmad/bmgd/agents/` for agent definitions
3. Start a fresh chat session with the correct agent
---
## Document Issues
### Document too large for context
**Symptom:** AI can't process the entire GDD or narrative document.
**Solutions:**
1. Use sharded document structure (index.md + section files)
2. Request specific sections rather than full document
3. GDD workflow supports automatic sharding for large documents
---
### Template placeholders not replaced
**Symptom:** Output contains `{{placeholder}}` text.
**Solutions:**
1. Workflow may have been interrupted before completion
2. Re-run the specific step that generates that section
3. Manually edit the document to fill in missing values
---
### Frontmatter parsing errors
**Symptom:** YAML errors when loading documents.
**Solutions:**
1. Validate YAML syntax (proper indentation, quotes around special characters)
2. Check for tabs vs spaces (YAML requires spaces)
3. Ensure frontmatter is bounded by `---` markers
---
## Phase 4 (Production) Issues
### Sprint status not updating
**Symptom:** Story status changes don't reflect in sprint-status.yaml.
**Solutions:**
1. Run `sprint-planning` to refresh status
2. Check file permissions on sprint-status.yaml
3. Verify workflow-install files exist in `_bmad/bmgd/workflows/4-production/`
---
### Story context missing code references
**Symptom:** Generated story context doesn't include relevant code.
**Solutions:**
1. Ensure project-context.md exists and is current
2. Check that architecture document references correct file paths
3. Story may need more specific file references in acceptance criteria
---
### Code review not finding issues
**Symptom:** Code review passes but bugs exist.
**Solutions:**
1. Code review is AI-assisted, not comprehensive testing
2. Always run actual tests before marking story done
3. Consider manual review for critical code paths
---
## Performance Issues
### Workflows running slowly
**Symptom:** Long wait times between workflow steps.
**Solutions:**
1. Use IDE-based workflows (faster than web)
2. Keep documents concise (avoid unnecessary detail)
3. Use sharded documents for large projects
---
### Context limit reached mid-workflow
**Symptom:** Workflow stops or loses context partway through.
**Solutions:**
1. Save progress frequently (workflows auto-save on Continue)
2. Break complex sections into multiple sessions
3. Use step-file architecture (workflows resume from last step)
---
## Common Error Messages
### "Input file not found"
**Cause:** Workflow requires a document that doesn't exist.
**Fix:** Complete prerequisite workflow first (e.g., Game Brief before GDD).
---
### "Invalid game type"
**Cause:** Selected game type not in supported list.
**Fix:** Check `game-types.csv` for valid type IDs.
---
### "Validation failed"
**Cause:** Document doesn't meet checklist requirements.
**Fix:** Review the validation output and address flagged items.
---
## Getting Help
### Community Support
- **[Discord Community](https://discord.gg/gk8jAdXWmj)** - Real-time help from the community
- **[GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)** - Report bugs or request features
### Self-Help
1. Check `workflow-status` to understand current state
2. Review workflow markdown files for expected behavior
3. Look at completed example documents in the module
### Reporting Issues
When reporting issues, include:
1. Which workflow and step
2. Error message (if any)
3. Relevant document frontmatter
4. Steps to reproduce
---
## Next Steps
- **[Quick Start Guide](./quick-start.md)** - Getting started
- **[Workflows Guide](./workflows-guide.md)** - Workflow reference
- **[Glossary](./glossary.md)** - Terminology

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 KiB

View File

@@ -1,463 +0,0 @@
# BMGD Workflows Guide
Complete reference for all BMGD workflows organized by development phase.
---
## Workflow Overview
BMGD workflows are organized into four phases:
![BMGD Workflow Overview](../../../../docs/modules/bmgd-bmad-game-dev/workflow-overview.jpg)
---
## Phase 1: Preproduction
### Brainstorm Game
**Command:** `brainstorm-game`
**Agent:** Game Designer
**Input:** None required
**Output:** Ideas and concepts (optionally saved)
**Description:**
Guided ideation session using game-specific brainstorming techniques:
- **MDA Framework** - Mechanics → Dynamics → Aesthetics analysis
- **Core Loop Workshop** - Define the fundamental gameplay loop
- **Player Fantasy Mining** - Explore what players want to feel
- **Genre Mashup** - Combine genres for unique concepts
**Steps:**
1. Initialize brainstorm session
2. Load game-specific techniques
3. Execute ideation with selected techniques
4. Summarize and (optionally) hand off to Game Brief
---
### Game Brief
**Command:** `create-game-brief`
**Agent:** Game Designer
**Input:** Ideas from brainstorming (optional)
**Output:** `{output_folder}/game-brief.md`
**Description:**
Captures your game's core vision and fundamentals. This is the foundation for all subsequent design work.
**Sections covered:**
- Game concept and vision
- Design pillars (3-5 core principles)
- Target audience and market
- Platform considerations
- Core gameplay loop
- Initial scope definition
---
## Phase 2: Design
### GDD (Game Design Document)
**Command:** `create-gdd`
**Agent:** Game Designer
**Input:** Game Brief
**Output:** `{output_folder}/gdd.md` (or sharded into `{output_folder}/gdd/`)
**Description:**
Comprehensive game design document with genre-specific sections based on 24 supported game types.
**Core sections:**
1. Executive Summary
2. Gameplay Systems
3. Core Mechanics
4. Progression Systems
5. UI/UX Design
6. Audio Design
7. Art Direction
8. Technical Requirements
9. Game-Type-Specific Sections
10. Epic Generation (for sprint planning)
**Features:**
- Game type selection with specialized sections
- Hybrid game type support
- Automatic epic generation
- Scale-adaptive complexity
---
### Narrative Design
**Command:** `narrative`
**Agent:** Game Designer
**Input:** GDD (required), Game Brief (optional)
**Output:** `{output_folder}/narrative-design.md`
**Description:**
For story-driven games. Creates comprehensive narrative documentation.
**Sections covered:**
1. Story Foundation (premise, themes, tone)
2. Story Structure (acts, beats, pacing)
3. Characters (protagonists, antagonists, supporting, arcs)
4. World Building (setting, history, factions, locations)
5. Dialogue Framework (style, branching)
6. Environmental Storytelling
7. Narrative Delivery Methods
8. Gameplay-Narrative Integration
9. Production Planning (scope, localization, voice acting)
10. Appendices (relationship map, timeline)
**Narrative Complexity Levels:**
- **Critical** - Story IS the game (visual novels, adventure games)
- **Heavy** - Deep narrative with gameplay (RPGs, story-driven action)
- **Moderate** - Meaningful story supporting gameplay
- **Light** - Minimal story, gameplay-focused
---
## Phase 3: Technical
### Game Architecture
**Command:** `create-architecture`
**Agent:** Game Architect
**Input:** GDD, Narrative Design (optional)
**Output:** `{output_folder}/game-architecture.md`
**Description:**
Technical architecture document covering engine selection, system design, and implementation approach.
**Sections covered:**
1. Executive Summary
2. Engine/Framework Selection
3. Core Systems Architecture
4. Data Architecture
5. Performance Requirements
6. Platform-Specific Considerations
7. Development Environment
8. Testing Strategy
9. Build and Deployment
10. Technical Risks and Mitigations
---
## Phase 4: Production
Production workflows inherit from BMM and add game-specific overrides.
### Sprint Planning
**Command:** `sprint-planning`
**Agent:** Game Scrum Master
**Input:** GDD with epics
**Output:** `{output_folder}/sprint-status.yaml`
**Description:**
Generates or updates sprint tracking from epic files. Sets up the sprint backlog and tracking.
---
### Sprint Status
**Command:** `sprint-status`
**Agent:** Game Scrum Master
**Input:** `sprint-status.yaml`
**Output:** Sprint summary, risks, next action recommendation
**Description:**
Summarizes sprint progress, surfaces risks (stale file, orphaned stories, stories in review), and recommends the next workflow to run. Supports three modes:
- **interactive** (default): Displays summary with menu options
- **validate**: Checks sprint-status.yaml structure
- **data**: Returns raw data for other workflows
---
### Create Story
**Command:** `create-story`
**Agent:** Game Scrum Master
**Input:** GDD, Architecture, Epic context
**Output:** `{output_folder}/epics/{epic-name}/stories/{story-name}.md`
**Description:**
Creates implementable story drafts with acceptance criteria, tasks, and technical notes. Stories are marked ready-for-dev directly when created.
**Validation:** `validate-create-story`
---
### Dev Story
**Command:** `dev-story`
**Agent:** Game Developer
**Input:** Story (ready for dev)
**Output:** Implemented code
**Description:**
Implements story tasks following acceptance criteria. Uses TDD approach (red-green-refactor). Updates sprint-status.yaml automatically on completion.
---
### Code Review
**Command:** `code-review`
**Agent:** Game Developer
**Input:** Story (ready for review)
**Output:** Review feedback, approved/needs changes
**Description:**
Thorough QA code review with game-specific considerations (performance, 60fps, etc.).
---
### Retrospective
**Command:** `epic-retrospective`
**Agent:** Game Scrum Master
**Input:** Completed epic
**Output:** Retrospective document
**Description:**
Facilitates team retrospective after epic completion. Captures learnings and improvements.
---
### Correct Course
**Command:** `correct-course`
**Agent:** Game Scrum Master or Game Architect
**Input:** Current project state
**Output:** Correction plan
**Description:**
Navigates significant changes when implementation is off-track. Analyzes impact and recommends adjustments.
---
## Workflow Status
**Command:** `workflow-status`
**Agent:** All agents
**Output:** Project status summary
**Description:**
Checks current project status across all phases. Shows completed documents, current phase, and next steps.
---
## Quick-Flow Workflows
Fast-track workflows that skip full planning phases. See **[Quick-Flow Guide](../../../../docs/modules/bmgd-bmad-game-dev/quick-flow-guide.md)** for detailed usage.
### Quick-Prototype
**Command:** `quick-prototype`
**Agent:** Game Designer, Game Developer
**Input:** Idea or concept to test
**Output:** Working prototype, playtest results
**Description:**
Rapid prototyping workflow for testing game mechanics and ideas quickly. Focuses on "feel" over polish.
**Use when:**
- Testing if a mechanic is fun
- Proving a concept before committing to design
- Experimenting with gameplay ideas
---
### Quick-Dev
**Command:** `quick-dev`
**Agent:** Game Developer
**Input:** Tech-spec, prototype, or direct instructions
**Output:** Implemented feature
**Description:**
Flexible development workflow with game-specific considerations (performance, feel, integration).
**Use when:**
- Implementing features from tech-specs
- Building on successful prototypes
- Making changes that don't need full story workflow
---
## Quality Assurance Workflows
Game testing workflows for automated testing, playtesting, and quality assurance across Unity, Unreal, and Godot.
### Test Framework
**Command:** `test-framework`
**Agent:** Game QA
**Input:** Game project
**Output:** Configured test framework
**Description:**
Initialize a production-ready test framework for your game engine:
- **Unity**: Unity Test Framework with Edit Mode and Play Mode tests
- **Unreal**: Unreal Automation system with functional tests
- **Godot**: GUT (Godot Unit Test) framework
**Creates:**
- Test directory structure
- Framework configuration
- Sample unit and integration tests
- Test documentation
---
### Test Design
**Command:** `test-design`
**Agent:** Game QA
**Input:** GDD, Architecture
**Output:** `{output_folder}/game-test-design.md`
**Description:**
Creates comprehensive test scenarios covering:
- Core gameplay mechanics
- Progression and save systems
- Multiplayer (if applicable)
- Platform certification requirements
Uses GIVEN/WHEN/THEN format with priority levels (P0-P3).
---
### Automate
**Command:** `automate`
**Agent:** Game QA
**Input:** Test design, game code
**Output:** Automated test files
**Description:**
Generates engine-appropriate automated tests:
- Unit tests for pure logic
- Integration tests for system interactions
- Smoke tests for critical path validation
---
### Playtest Plan
**Command:** `playtest-plan`
**Agent:** Game QA
**Input:** Build, test objectives
**Output:** `{output_folder}/playtest-plan.md`
**Description:**
Creates structured playtesting sessions:
- Session structure (pre/during/post)
- Observation guides
- Interview questions
- Analysis templates
**Playtest Types:**
- Internal (team validation)
- External (unbiased feedback)
- Focused (specific feature testing)
---
### Performance Test
**Command:** `performance-test`
**Agent:** Game QA
**Input:** Platform targets
**Output:** `{output_folder}/performance-test-plan.md`
**Description:**
Designs performance testing strategy:
- Frame rate targets per platform
- Memory budgets
- Loading time requirements
- Benchmark scenarios
- Profiling methodology
---
### Test Review
**Command:** `test-review`
**Agent:** Game QA
**Input:** Existing test suite
**Output:** `{output_folder}/test-review-report.md`
**Description:**
Reviews test quality and coverage:
- Test suite metrics
- Quality assessment
- Coverage gaps
- Recommendations
---
## Utility Workflows
### Party Mode
**Command:** `party-mode`
**Agent:** All agents
**Description:**
Brings multiple agents together for collaborative discussion on complex decisions.
---
### Advanced Elicitation
**Command:** `advanced-elicitation`
**Agent:** All agents (web only)
**Description:**
Deep exploration techniques to challenge assumptions and surface hidden requirements.
---
## Standalone BMGD Workflows
BMGD Phase 4 workflows are standalone implementations tailored for game development:
```yaml
workflow: '{project-root}/_bmad/bmgd/workflows/4-production/dev-story/workflow.yaml'
```
This means:
1. BMGD workflows are self-contained with game-specific logic
2. Game-focused templates, checklists, and instructions
3. No dependency on BMM workflow files
---
## Next Steps
- **[Quick Start Guide](../../../../docs/modules/bmgd-bmad-game-dev/quick-start.md)** - Get started with BMGD
- **[Quick-Flow Guide](../../../../docs/modules/bmgd-bmad-game-dev/quick-flow-guide.md)** - Rapid prototyping and development
- **[Agents Guide](../../../../docs/modules/bmgd-bmad-game-dev/agents-guide.md)** - Agent reference
- **[Game Types Guide](../../../../docs/modules/bmgd-bmad-game-dev/game-types-guide.md)** - Game type templates

View File

@@ -1,144 +0,0 @@
# BMM Agents Reference
Quick reference of what each agent can do based on their available commands.
---
## Analyst (Mary) | `/bmad:bmm:agents:analyst`
Business analysis and research.
**Capabilities:**
- `*workflow-status` - Get workflow status or initialize tracking
- `*brainstorm-project` - Guided brainstorming session
- `*research` - Market, domain, competitive, or technical research
- `*product-brief` - Create a product brief (input for PRD)
- `*document-project` - Document existing brownfield projects
- Party mode and advanced elicitation
---
## PM (John) | `/bmad:bmm:agents:pm`
Product requirements and planning.
**Capabilities:**
- `*workflow-status` - Get workflow status or initialize tracking
- `*create-prd` - Create Product Requirements Document
- `*create-epics-and-stories` - Break PRD into epics and user stories (after Architecture)
- `*implementation-readiness` - Validate PRD, UX, Architecture, Epics alignment
- `*correct-course` - Course correction during implementation
- Party mode and advanced elicitation
---
## Architect (Winston) | `/bmad:bmm:agents:architect`
System architecture and technical design.
**Capabilities:**
- `*workflow-status` - Get workflow status or initialize tracking
- `*create-architecture` - Create architecture document to guide development
- `*implementation-readiness` - Validate PRD, UX, Architecture, Epics alignment
- `*create-excalidraw-diagram` - System architecture or technical diagrams
- `*create-excalidraw-dataflow` - Data flow diagrams
- Party mode and advanced elicitation
---
## SM (Bob) | `/bmad:bmm:agents:sm`
Sprint planning and story preparation.
**Capabilities:**
- `*sprint-planning` - Generate sprint-status.yaml from epic files
- `*create-story` - Create story from epic (prep for development)
- `*validate-create-story` - Validate story quality
- `*epic-retrospective` - Team retrospective after epic completion
- `*correct-course` - Course correction during implementation
- Party mode and advanced elicitation
---
## DEV (Amelia) | `/bmad:bmm:agents:dev`
Story implementation and code review.
**Capabilities:**
- `*dev-story` - Execute story workflow (implementation with tests)
- `*code-review` - Thorough code review
---
## Quick Flow Solo Dev (Barry) | `/bmad:bmm:agents:quick-flow-solo-dev`
Fast solo development without handoffs.
**Capabilities:**
- `*create-tech-spec` - Architect technical spec with implementation-ready stories
- `*quick-dev` - Implement tech spec end-to-end solo
- `*code-review` - Review and improve code
---
## TEA (Murat) | `/bmad:bmm:agents:tea`
Test architecture and quality strategy.
**Capabilities:**
- `*framework` - Initialize production-ready test framework
- `*atdd` - Generate E2E tests first (before implementation)
- `*automate` - Comprehensive test automation
- `*test-design` - Create comprehensive test scenarios
- `*trace` - Map requirements to tests, quality gate decision
- `*nfr-assess` - Validate non-functional requirements
- `*ci` - Scaffold CI/CD quality pipeline
- `*test-review` - Review test quality
---
## UX Designer (Sally) | `/bmad:bmm:agents:ux-designer`
User experience and UI design.
**Capabilities:**
- `*create-ux-design` - Generate UX design and UI plan from PRD
- `*validate-design` - Validate UX specification and design artifacts
- `*create-excalidraw-wireframe` - Create website or app wireframe
---
## Technical Writer (Paige) | `/bmad:bmm:agents:tech-writer`
Technical documentation and diagrams.
**Capabilities:**
- `*document-project` - Comprehensive project documentation (brownfield analysis)
- `*generate-mermaid` - Generate Mermaid diagrams (architecture, sequence, flow, ER, class, state)
- `*create-excalidraw-flowchart` - Process and logic flow visualizations
- `*create-excalidraw-diagram` - System architecture or technical diagrams
- `*create-excalidraw-dataflow` - Data flow visualizations
- `*validate-doc` - Review documentation against standards
- `*improve-readme` - Review and improve README files
- `*explain-concept` - Create clear technical explanations with examples
- `*standards-guide` - Show BMAD documentation standards reference
---
## Universal Commands
Available to all agents:
- `*menu` - Redisplay menu options
- `*dismiss` - Dismiss agent
Party mode is available to most agents for multi-agent collaboration.

View File

@@ -1,506 +0,0 @@
# BMAD Quick Flow
**Track:** Quick Flow
**Primary Agent:** Quick Flow Solo Dev (Barry)
**Ideal For:** Bug fixes, small features, rapid prototyping
---
## Overview
BMAD Quick Flow is the fastest path from idea to production in the BMAD Method ecosystem. It's a streamlined 3-step process designed for rapid spec driven development without sacrificing quality. Perfect for experienced teams who need to move fast or for smaller features or 1 off efforts that don't require extensive planning.
### When to Use Quick Flow
**Perfect For:**
- Bug fixes and patches
- Small feature additions
- Proof of concepts and prototypes
- Mid course corrections or additions of something missed in BMM full planning
- Performance optimizations
- API endpoint additions
- UI component enhancements
- Configuration changes
- Internal tools
**Not Recommended For:**
- Large-scale system redesigns
- Complex multi-team projects
- New product launches
- Projects requiring extensive UX design
- Enterprise-wide initiatives
- Mission-critical systems with compliance requirements
- Ideas with many 'moving pieces'
---
## The Quick Flow Process
Utilizing the Quick Flow Solo Dev, this one agent can do it all!
1. Create an (option) Technical Specification
2. Develop with Tests
3. AI Driven Code Review
That's it! Lets look at each step in more detail though.
### Step 1: Optional Technical Specification
The `create-tech-spec` workflow transforms requirements into implementation-ready specifications.
**Key Features:**
- Conversational spec engineering
- Automatic codebase pattern detection
- Context gathering from existing code
- Implementation-ready task breakdown
- Acceptance criteria definition
**Process Flow:**
1. **Problem Understanding**
- Greet user and gather requirements
- Ask clarifying questions about scope and constraints
- Check for existing project context
2. **Code Investigation (Brownfield)**
- Analyze existing codebase patterns
- Document tech stack and conventions
- Identify files to modify and dependencies
3. **Specification Generation**
- Create structured tech specification
- Define clear tasks and acceptance criteria
- Document technical decisions
- Include development context
4. **Review and Finalize**
- Present spec for validation
- Make adjustments as needed
- Save to sprint artifacts
**Output:** `{implementation_artifacts}/tech-spec-{slug}.md`
### Step 2: Development
The `quick-dev` workflow executes implementation with flexibility and speed.
**Two Execution Modes:**
**Mode A: Tech-Spec Driven**
```bash
# Execute from tech spec
quick-dev tech-spec-feature-x.md
```
- Loads and parses technical specification
- Extracts tasks, context, and acceptance criteria
- Executes all tasks in sequence
- Updates spec status on completion
**Mode B: Direct Instructions**
```bash
# Direct development commands
quick-dev "Add password reset to auth service"
quick-dev "Fix the memory leak in image processing"
```
- Accepts direct development instructions
- Offers optional planning step
- Executes immediately with minimal friction
**Development Process:**
1. **Context Loading**
- Load project context if available
- Understand patterns and conventions
- Identify relevant files and dependencies
2. **Implementation Loop**
For each task:
- Load relevant files and context
- Implement following established patterns
- Write appropriate tests
- Run and verify tests pass
- Mark task complete and continue
3. **Continuous Execution**
- Works through all tasks without stopping
- Handles failures by requesting guidance
- Ensures tests pass before continuing
4. **Verification**
- Confirms all tasks complete
- Validates acceptance criteria
- Updates tech spec status if used
### Step 3: Optional Code Review
The `code-review` workflow provides senior developer review of implemented code.
**When to Use:**
- Production-critical features
- Security-sensitive implementations
- Performance optimizations
- Team development scenarios
- Learning and knowledge transfer
**Review Process:**
1. Load story context and acceptance criteria
2. Analyze code implementation
3. Check against project patterns
4. Validate test coverage
5. Provide structured review notes
6. Suggest improvements if needed
---
## Quick Flow vs Other Tracks
| Aspect | Quick Flow | BMad Method | Enterprise Method |
| ----------------- | ---------------- | --------------- | ------------------ |
| **Planning** | Minimal/Optional | Structured | Comprehensive |
| **Documentation** | Essential only | Moderate | Extensive |
| **Team Size** | 1-2 developers | 3-7 specialists | 8+ enterprise team |
| **Timeline** | Hours to days | Weeks to months | Months to quarters |
| **Ceremony** | Minimal | Balanced | Full governance |
| **Flexibility** | High | Moderate | Structured |
| **Risk Profile** | Medium | Low | Very Low |
---
## Best Practices
### Before Starting Quick Flow
1. **Validate Track Selection**
- Is the feature small enough?
- Do you have clear requirements?
- Is the team comfortable with rapid development?
2. **Prepare Context**
- Have project documentation ready
- Know your codebase patterns
- Identify affected components upfront
3. **Set Clear Boundaries**
- Define in-scope and out-of-scope items
- Establish acceptance criteria
- Identify dependencies
### During Development
1. **Maintain Velocity**
- Don't over-engineer solutions
- Follow existing patterns
- Keep tests proportional to risk
2. **Stay Focused**
- Resist scope creep
- Handle edge cases later if possible
- Document decisions briefly
3. **Communicate Progress**
- Update task status regularly
- Flag blockers immediately
- Share learning with team
### After Completion
1. **Quality Gates**
- Ensure tests pass
- Verify acceptance criteria
- Consider optional code review
2. **Knowledge Transfer**
- Update relevant documentation
- Share key decisions
- Note any discovered patterns
3. **Production Readiness**
- Verify deployment requirements
- Check monitoring needs
- Plan rollback strategy
---
## Quick Flow Templates
### Tech Spec Template
```markdown
# Tech-Spec: {Feature Title}
**Created:** {date}
**Status:** Ready for Development
**Estimated Effort:** Small (1-2 days)
## Overview
### Problem Statement
{Clear description of what needs to be solved}
### Solution
{High-level approach to solving the problem}
### Scope (In/Out)
**In:** {What will be implemented}
**Out:** {Explicitly excluded items}
## Context for Development
### Codebase Patterns
{Key patterns to follow, conventions}
### Files to Reference
{List of relevant files and their purpose}
### Technical Decisions
{Important technical choices and rationale}
## Implementation Plan
### Tasks
- [ ] Task 1: {Specific implementation task}
- [ ] Task 2: {Specific implementation task}
- [ ] Task 3: {Testing and validation}
### Acceptance Criteria
- [ ] AC 1: {Given/When/Then format}
- [ ] AC 2: {Given/When/Then format}
## Additional Context
### Dependencies
{External dependencies or prerequisites}
### Testing Strategy
{How the feature will be tested}
### Notes
{Additional considerations}
```
### Quick Dev Commands
```bash
# From tech spec
quick-dev sprint-artifacts/tech-spec-user-auth.md
# Direct development
quick-dev "Add CORS middleware to API endpoints"
quick-dev "Fix null pointer exception in user service"
quick-dev "Optimize database query for user list"
# With optional planning
quick-dev "Implement file upload feature" --plan
```
---
## Integration with Other Workflows
### Upgrading Tracks
If a Quick Flow feature grows in complexity:
```mermaid
flowchart LR
QF[Quick Flow] --> CHECK{Complexity Increases?}
CHECK -->|Yes| UPGRADE[Upgrade to BMad Method]
CHECK -->|No| CONTINUE[Continue Quick Flow]
UPGRADE --> PRD[Create PRD]
PRD --> ARCH[Architecture Design]
ARCH --> STORIES[Create Epics/Stories]
STORIES --> SPRINT[Sprint Planning]
style QF fill:#e1f5fe
style UPGRADE fill:#fff3e0
style PRD fill:#f3e5f5
style ARCH fill:#e8f5e9
style STORIES fill:#f1f8e9
style SPRINT fill:#e0f2f1
```
### Using Party Mode
For complex Quick Flow challenges:
```bash
# Start Barry
/bmad:bmm:agents:quick-flow-solo-dev
# Begin party mode for collaborative problem-solving
party-mode
```
Party mode brings in relevant experts:
- **Architect** - For design decisions
- **Dev** - For implementation pairing
- **QA** - For test strategy
- **UX Designer** - For user experience
- **Analyst** - For requirements clarity
### Quality Assurance Integration
Quick Flow can integrate with TEA agent for automated testing:
- Test case generation
- Automated test execution
- Coverage analysis
- Test healing
---
## Common Quick Flow Scenarios
### Scenario 1: Bug Fix
```
Requirement: "Users can't reset passwords"
Process: Direct development (no spec needed)
Steps: Investigate → Fix → Test → Deploy
Time: 2-4 hours
```
### Scenario 2: Small Feature
```
Requirement: "Add export to CSV functionality"
Process: Tech spec → Development → Code review
Steps: Spec → Implement → Test → Review → Deploy
Time: 1-2 days
```
### Scenario 3: Performance Fix
```
Requirement: "Optimize slow product search query"
Process: Tech spec → Development → Review
Steps: Analysis → Optimize → Benchmark → Deploy
Time: 1 day
```
### Scenario 4: API Addition
```
Requirement: "Add webhook endpoints for integrations"
Process: Tech spec → Development → Review
Steps: Design → Implement → Document → Deploy
Time: 2-3 days
```
---
## Metrics and KPIs
Track these metrics to ensure Quick Flow effectiveness:
**Velocity Metrics:**
- Features completed per week
- Average cycle time (hours)
- Bug fix resolution time
- Code review turnaround
**Quality Metrics:**
- Defect escape rate
- Test coverage percentage
- Production incident rate
- Code review findings
**Team Metrics:**
- Developer satisfaction
- Knowledge sharing frequency
- Process adherence
- Autonomy index
---
## Troubleshooting Quick Flow
### Common Issues
**Issue: Scope creep during development**
**Solution:** Refer back to tech spec, explicitly document new requirements
**Issue: Unknown patterns or conventions**
**Solution:** Use party-mode to bring in architect or senior dev
**Issue: Testing bottleneck**
**Solution:** Leverage TEA agent for automated test generation
**Issue: Integration conflicts**
**Solution:** Document dependencies, coordinate with affected teams
### Emergency Procedures
**Production Hotfix:**
1. Create branch from production
2. Quick dev with minimal changes
3. Deploy to staging
4. Quick regression test
5. Deploy to production
6. Merge to main
**Critical Bug:**
1. Immediate investigation
2. Party-mode if unclear
3. Quick fix with rollback plan
4. Post-mortem documentation
---
## Related Documentation
- **[Quick Flow Solo Dev Agent](./quick-flow-solo-dev.md)** - Primary agent for Quick Flow
- **[Agents Guide](./agents-guide.md)** - Complete agent reference
- **[Scale Adaptive System](./scale-adaptive-system.md)** - Track selection guidance
- **[Party Mode](./party-mode.md)** - Multi-agent collaboration
- **[Workflow Implementation](./workflows-implementation.md)** - Implementation details
---
## FAQ
**Q: How do I know if my feature is too big for Quick Flow?**
A: If it requires more than 3-5 days of work, affects multiple systems significantly, or needs extensive UX design, consider the BMad Method track.
**Q: Can I switch from Quick Flow to BMad Method mid-development?**
A: Yes, you can upgrade. Create the missing artifacts (PRD, architecture) and transition to sprint-based development.
**Q: Is Quick Flow suitable for production-critical features?**
A: Yes, with code review. Quick Flow doesn't sacrifice quality, just ceremony.
**Q: How do I handle dependencies between Quick Flow features?**
A: Document dependencies clearly, consider batching related features, or upgrade to BMad Method for complex interdependencies.
**Q: Can junior developers use Quick Flow?**
A: Yes, but they may benefit from the structure of BMad Method. Quick Flow assumes familiarity with patterns and autonomy.
---
**Ready to ship fast?** → Start with `/bmad:bmm:agents:quick-flow-solo-dev`

View File

@@ -1,747 +0,0 @@
# BMad Method Brownfield Development Guide
**Complete guide for working with existing codebases**
**Reading Time:** ~35 minutes
---
## Quick Navigation
**Jump to:**
- [Quick Reference](#quick-reference) - Commands and files
- [Common Scenarios](#common-scenarios) - Real-world examples
- [Best Practices](#best-practices) - Success tips
---
## What is Brownfield Development?
Brownfield projects involve working within existing codebases rather than starting fresh:
- **Bug fixes** - Single file changes
- **Small features** - Adding to existing modules
- **Feature sets** - Multiple related features
- **Major integrations** - Complex architectural additions
- **System expansions** - Enterprise-scale enhancements
**Key Difference from Greenfield:** You must understand and respect existing patterns, architecture, and constraints.
**Core Principle:** AI agents need comprehensive documentation to understand existing code before they can effectively plan or implement changes.
---
## Getting Started
### Understanding Planning Tracks
For complete track details, see [Scale Adaptive System](./scale-adaptive-system.md).
**Brownfield tracks at a glance:**
| Track | Scope | Typical Stories | Key Difference |
| --------------------- | -------------------------- | --------------- | ----------------------------------------------- |
| **Quick Flow** | Bug fixes, small features | 1-15 | Must understand affected code and patterns |
| **BMad Method** | Feature sets, integrations | 10-50+ | Integrate with existing architecture |
| **Enterprise Method** | Enterprise expansions | 30+ | Full system documentation + compliance required |
**Note:** Story counts are guidance, not definitions. Tracks are chosen based on planning needs.
### Track Selection for Brownfield
When you run `workflow-init`, it handles brownfield intelligently:
**Step 1: Shows what it found**
- Old planning docs (PRD, epics, stories)
- Existing codebase
**Step 2: Asks about YOUR work**
> "Are these works in progress, previous effort, or proposed work?"
- **(a) Works in progress** → Uses artifacts to determine level
- **(b) Previous effort** → Asks you to describe NEW work
- **(c) Proposed work** → Uses artifacts as guidance
- **(d) None of these** → You explain your work
**Step 3: Analyzes your description**
- Keywords: "fix", "bug" → Quick Flow, "dashboard", "platform" → BMad Method, "enterprise", "multi-tenant" → Enterprise Method
- Complexity assessment
- Confirms suggested track with you
**Key Principle:** System asks about YOUR current work first, uses old artifacts as context only.
**Example: Old Complex PRD, New Simple Work**
```
System: "Found PRD.md (BMad Method track, 30 stories, 6 months old)"
System: "Is this work in progress or previous effort?"
You: "Previous effort - I'm just fixing a bug now"
System: "Tell me about your current work"
You: "Update payment method enums"
System: "Quick Flow track (tech-spec approach). Correct?"
You: "Yes"
✅ Creates Quick Flow workflow
```
---
## Documentation: Critical First Step
🚨 **For brownfield projects: Always ensure adequate AI-usable documentation before planning**
### Default Recommendation: Run document-project
**Best practice:** Run `document-project` workflow unless you have **confirmed, trusted, AI-optimized documentation**.
### Why Document-Project is Almost Always the Right Choice
Existing documentation often has quality issues that break AI workflows:
**Common Problems:**
- **Too Much Information (TMI):** Massive markdown files with 10s or 100s of level 2 sections
- **Out of Date:** Documentation hasn't been updated with recent code changes
- **Wrong Format:** Written for humans, not AI agents (lacks structure, index, clear patterns)
- **Incomplete Coverage:** Missing critical architecture, patterns, or setup info
- **Inconsistent Quality:** Some areas documented well, others not at all
**Impact on AI Agents:**
- AI agents hit token limits reading massive files
- Outdated docs cause hallucinations (agent thinks old patterns still apply)
- Missing structure means agents can't find relevant information
- Incomplete coverage leads to incorrect assumptions
### Documentation Decision Tree
**Step 1: Assess Existing Documentation Quality**
Ask yourself:
- ✅ Is it **current** (updated in last 30 days)?
- ✅ Is it **AI-optimized** (structured with index.md, clear sections, <500 lines per file)?
- Is it **comprehensive** (architecture, patterns, setup all documented)?
- Do you **trust** it completely for AI agent consumption?
**If ANY answer is NO → Run `document-project`**
**Step 2: Check for Massive Documents**
If you have documentation but files are huge (>500 lines, 10+ level 2 sections):
1. **First:** Run `shard-doc` tool to split large files:
```bash
# Load BMad Master or any agent
_bmad/core/tools/shard-doc.xml --input docs/massive-doc.md
```
- Splits on level 2 sections by default
- Creates organized, manageable files
- Preserves content integrity
2. **Then:** Run `index-docs` task to create navigation:
```bash
_bmad/core/tasks/index-docs.xml --directory ./docs
```
3. **Finally:** Validate quality - if sharded docs still seem incomplete/outdated → Run `document-project`
### Four Real-World Scenarios
| Scenario | You Have | Action | Why |
| -------- | ------------------------------------------ | -------------------------- | --------------------------------------- |
| **A** | No documentation | `document-project` | Only option - generate from scratch |
| **B** | Docs exist but massive/outdated/incomplete | `document-project` | Safer to regenerate than trust bad docs |
| **C** | Good docs but no structure | `shard-doc` → `index-docs` | Structure existing content for AI |
| **D** | Confirmed AI-optimized docs with index.md | Skip Documentation | Rare - only if you're 100% confident |
### Scenario A: No Documentation (Most Common)
**Action: Run document-project workflow**
1. Load Analyst or Technical Writer (Paige) agent
2. Run `*document-project`
3. Choose scan level:
- **Quick** (2-5min): Pattern analysis, no source reading
- **Deep** (10-30min): Reads critical paths - **Recommended**
- **Exhaustive** (30-120min): Reads all files
**Outputs:**
- `docs/index.md` - Master AI entry point
- `docs/project-overview.md` - Executive summary
- `docs/architecture.md` - Architecture analysis
- `docs/source-tree-analysis.md` - Directory structure
- Additional files based on project type (API, web app, etc.)
### Scenario B: Docs Exist But Quality Unknown/Poor (Very Common)
**Action: Run document-project workflow (regenerate)**
Even if `docs/` folder exists, if you're unsure about quality → **regenerate**.
**Why regenerate instead of index?**
- Outdated docs → AI makes wrong assumptions
- Incomplete docs → AI invents missing information
- TMI docs → AI hits token limits, misses key info
- Human-focused docs → Missing AI-critical structure
**document-project** will:
- Scan actual codebase (source of truth)
- Generate fresh, accurate documentation
- Structure properly for AI consumption
- Include only relevant, current information
### Scenario C: Good Docs But Needs Structure
**Action: Shard massive files, then index**
If you have **good, current documentation** but it's in massive files:
**Step 1: Shard large documents**
```bash
# For each massive doc (>500 lines or 10+ level 2 sections)
_bmad/core/tools/shard-doc.xml \
--input docs/api-documentation.md \
--output docs/api/ \
--level 2 # Split on ## headers (default)
```
**Step 2: Generate index**
```bash
_bmad/core/tasks/index-docs.xml --directory ./docs
```
**Step 3: Validate**
- Review generated `docs/index.md`
- Check that sharded files are <500 lines each
- Verify content is current and accurate
- **If anything seems off → Run document-project instead**
### Scenario D: Confirmed AI-Optimized Documentation (Rare)
**Action: Skip Documentation**
Only skip if ALL conditions met:
- ✅ `docs/index.md` exists and is comprehensive
- ✅ Documentation updated within last 30 days
- ✅ All doc files <500 lines with clear structure
- ✅ Covers architecture, patterns, setup, API surface
- ✅ You personally verified quality for AI consumption
- ✅ Previous AI agents used it successfully
**If unsure → Run document-project** (costs 10-30 minutes, saves hours of confusion)
### Why document-project is Critical
Without AI-optimized documentation, workflows fail:
- **tech-spec** (Quick Flow) can't auto-detect stack/patterns → Makes wrong assumptions
- **PRD** (BMad Method) can't reference existing code → Designs incompatible features
- **create-architecture** can't build on existing structure → Suggests conflicting patterns
- **create-story** can't provide existing pattern context → Stories lack integration guidance
- **dev-story** invents implementations → Breaks existing integrations
### Key Principle
**When in doubt, run document-project.**
It's better to spend 10-30 minutes generating fresh, accurate docs than to waste hours debugging AI agents working from bad documentation.
---
## Workflow Phases by Track
### Phase 1: Analysis (Optional)
**Workflows:**
- `brainstorm-project` - Solution exploration
- `research` - Technical/market research
- `product-brief` - Strategic planning (BMad Method/Enterprise tracks only)
**When to use:** Complex features, technical decisions, strategic additions
**When to skip:** Bug fixes, well-understood features, time-sensitive changes
See the [Workflows section in BMM README](../README.md) for details.
### Phase 2: Planning (Required)
**Planning approach adapts by track:**
**Quick Flow:** Use `tech-spec` workflow
- Creates tech-spec.md
- Auto-detects existing stack (brownfield)
- Confirms conventions with you
- Generates implementation-ready stories
**BMad Method/Enterprise:** Use `prd` workflow
- Creates PRD.md with FRs/NFRs only
- References existing architecture
- Plans integration points
- Epics+Stories created AFTER architecture phase
**Brownfield-specific:** See [Scale Adaptive System](./scale-adaptive-system.md) for complete workflow paths by track.
### Phase 3: Solutioning (BMad Method/Enterprise Only)
**Critical for brownfield:**
- Review existing architecture FIRST
- Document integration points explicitly
- Plan backward compatibility
- Consider migration strategy
**Workflows:**
- `create-architecture` - Extend architecture docs (BMad Method/Enterprise)
- `create-epics-and-stories` - Create epics and stories AFTER architecture
- `implementation-readiness` - Validate before implementation (BMad Method/Enterprise)
### Phase 4: Implementation (All Tracks)
**Sprint-based development through story iteration:**
```mermaid
flowchart TD
SPRINT[sprint-planning<br/>Initialize tracking]
CREATE[create-story]
DEV[dev-story]
REVIEW[code-review]
CHECK{More stories?}
RETRO[retrospective<br/>Per epic]
SPRINT --> CREATE
CREATE --> DEV
DEV --> REVIEW
REVIEW --> CHECK
CHECK -->|Yes| CREATE
CHECK -->|No| RETRO
style SPRINT fill:#bfb,stroke:#333,stroke-width:2px,color:#000
style RETRO fill:#fbf,stroke:#333,stroke-width:2px,color:#000
```
**Status Progression:**
- Epic: `backlog → in-progress → done`
- Story: `backlog → ready-for-dev → in-progress → review → done`
**Brownfield-Specific Implementation Tips:**
1. **Respect existing patterns** - Follow established conventions
2. **Test integration thoroughly** - Validate interactions with existing code
3. **Use feature flags** - Enable gradual rollout
---
## Best Practices
### 1. Always Document First
Even if you know the code, AI agents need `document-project` output for context. Run it before planning.
### 2. Be Specific About Current Work
When workflow-init asks about your work:
- ✅ "Update payment method enums to include Apple Pay"
- ❌ "Fix stuff"
### 3. Choose Right Documentation Approach
- **Has good docs, no index?** → Run `index-docs` task (fast)
- **No docs or need codebase analysis?** → Run `document-project` (Deep scan)
### 4. Respect Existing Patterns
Tech-spec and create-story workflows will detect conventions from existing documentation. Follow them unless explicitly modernizing.
### 5. Plan Integration Points Explicitly
Document in tech-spec/architecture:
- Which existing modules you'll modify
- What APIs/services you'll integrate with
- How data flows between new and existing code
### 6. Design for Gradual Rollout
- Use feature flags for new functionality
- Plan rollback strategies
- Maintain backward compatibility
- Create migration scripts if needed
### 7. Test Integration Thoroughly
- Regression testing of existing features
- Integration point validation
- Performance impact assessment
- API contract verification
### 8. Use Sprint Planning Effectively
- Run `sprint-planning` at Phase 4 start
- Context epics before creating stories
- Update `sprint-status.yaml` as work progresses
### 9. Learn Continuously
- Run `retrospective` after each epic
- Incorporate learnings into next stories
- Update discovered patterns
- Share insights across team
---
## Common Scenarios
### Scenario 1: Bug Fix (Quick Flow)
**Situation:** Authentication token expiration causing logout issues
**Track:** Quick Flow
**Workflow:**
1. **Document:** Skip if auth system documented, else run `document-project` (Quick scan)
2. **Plan:** Load PM → run `tech-spec`
- Analyzes bug
- Detects stack (Express, Jest)
- Confirms conventions
- Creates tech-spec.md + story
3. **Implement:** Load DEV → run `dev-story`
4. **Review:** Load DEV → run `code-review`
**Time:** 2-4 hours
---
### Scenario 2: Small Feature (Quick Flow)
**Situation:** Add "forgot password" to existing auth system
**Track:** Quick Flow
**Workflow:**
1. **Document:** Run `document-project` (Deep scan of auth module if not documented)
2. **Plan:** Load PM → run `tech-spec`
- Detects Next.js 13.4, NextAuth.js
- Analyzes existing auth patterns
- Confirms conventions
- Creates tech-spec.md + epic + 3-5 stories
3. **Implement:** Load SM → `sprint-planning` → `create-story`
Load DEV → `dev-story` for each story
4. **Review:** Load DEV → `code-review`
**Time:** 1-3 days
---
### Scenario 3: Feature Set (BMad Method)
**Situation:** Add user dashboard with analytics, preferences, activity
**Track:** BMad Method
**Workflow:**
1. **Document:** Run `document-project` (Deep scan) - Critical for understanding existing UI patterns
2. **Analyze:** Load Analyst → `research` (if evaluating analytics libraries)
3. **Plan:** Load PM → `prd` (creates FRs/NFRs)
4. **Solution:** Load Architect → `create-architecture` → `create-epics-and-stories` → `implementation-readiness`
5. **Implement:** Sprint-based (10-15 stories)
- Load SM → `sprint-planning`
- Load SM → `create-story` per story
- Load DEV → `dev-story` per story
6. **Review:** Per story completion
**Time:** 1-2 weeks
---
### Scenario 4: Complex Integration (BMad Method)
**Situation:** Add real-time collaboration to document editor
**Track:** BMad Method
**Workflow:**
1. **Document:** Run `document-project` (Exhaustive if not documented) - **Mandatory**
2. **Analyze:** Load Analyst → `research` (WebSocket vs WebRTC vs CRDT)
3. **Plan:** Load PM → `prd` (creates FRs/NFRs)
4. **Solution:**
- Load Architect → `create-architecture` (extend for real-time layer)
- Load Architect → `create-epics-and-stories`
- Load Architect → `implementation-readiness`
5. **Implement:** Sprint-based (20-30 stories)
**Time:** 3-6 weeks
---
### Scenario 5: Enterprise Expansion (Enterprise Method)
**Situation:** Add multi-tenancy to single-tenant SaaS platform
**Track:** Enterprise Method
**Workflow:**
1. **Document:** Run `document-project` (Exhaustive) - **Mandatory**
2. **Analyze:** **Required**
- `brainstorm-project` - Explore multi-tenancy approaches
- `research` - Database sharding, tenant isolation, pricing
- `product-brief` - Strategic document
3. **Plan:** Load PM → `prd` (comprehensive FRs/NFRs)
4. **Solution:**
- `create-architecture` - Full system architecture including multi-tenancy design
- `create-epics-and-stories` - Create epics and stories
- `implementation-readiness` - Final validation before implementation
5. **Implement:** Phased sprint-based (50+ stories)
**Time:** 3-6 months
---
## Troubleshooting
### AI Agents Lack Codebase Understanding
**Symptoms:**
- Suggestions don't align with existing patterns
- Ignores available components
- Doesn't reference existing code
**Solution:**
1. Run `document-project` with Deep scan
2. Verify `docs/index.md` exists
3. Check documentation completeness
4. Run deep-dive on specific areas if needed
### Have Documentation But Agents Can't Find It
**Symptoms:**
- README.md, ARCHITECTURE.md exist
- AI agents ask questions already answered
- No `docs/index.md` file
**Solution:**
- **Quick fix:** Run `index-docs` task (2-5min)
- **Comprehensive:** Run `document-project` workflow (10-30min)
### Integration Points Unclear
**Symptoms:**
- Not sure how to connect new code to existing
- Unsure which files to modify
**Solution:**
1. Ensure `document-project` captured existing architecture
2. Check story files created by `create-story` - should include integration context
3. In tech-spec/architecture - explicitly document:
- Which existing modules to modify
- What APIs/services to integrate with
- Data flow between new and existing code
4. Review architecture document for integration guidance
### Existing Tests Breaking
**Symptoms:**
- Regression test failures
- Previously working functionality broken
**Solution:**
1. Review changes against existing patterns
2. Verify API contracts unchanged (unless intentionally versioned)
3. Run `test-review` workflow (TEA agent)
4. Add regression testing to DoD
5. Consider feature flags for gradual rollout
### Inconsistent Patterns Being Introduced
**Symptoms:**
- New code style doesn't match existing
- Different architectural approach
**Solution:**
1. Check convention detection (Quick Spec Flow should detect patterns)
2. Review documentation - ensure `document-project` captured patterns
3. Use `create-story` workflow - it loads context from existing documentation
4. Add to code-review checklist: pattern adherence, convention consistency
5. Run retrospective to identify deviations early
---
## Quick Reference
### Commands by Phase
```bash
# Documentation (If Needed)
# Analyst agent:
document-project # Create comprehensive docs (10-30min)
# OR load index-docs task for existing docs (2-5min)
# Phase 1: Analysis (Optional)
# Analyst agent:
brainstorm-project # Explore solutions
research # Gather data
product-brief # Strategic planning (BMad Method/Enterprise only)
# Phase 2: Planning (Required)
# PM agent:
tech-spec # Quick Flow track
prd # BMad Method/Enterprise tracks
# Phase 3: Solutioning (BMad Method/Enterprise)
# Architect agent:
create-architecture # Create/extend architecture
create-epics-and-stories # Create epics and stories (after architecture)
implementation-readiness # Final validation
# Phase 4: Implementation (All Tracks)
# SM agent:
sprint-planning # Initialize tracking
create-story # Create story
# DEV agent:
dev-story # Implement
code-review # Review
# SM agent:
retrospective # After epic
correct-course # If issues
```
### Key Files
**Documentation Output:**
- `docs/index.md` - **Master AI entry point (REQUIRED)**
- `docs/project-overview.md`
- `docs/architecture.md`
- `docs/source-tree-analysis.md`
**Phase 1-4 Tracking:**
- `docs/bmm-workflow-status.yaml` - Progress tracker
**Phase 2 Planning:**
- `docs/tech-spec.md` (Quick Flow track)
- `docs/PRD.md` (BMad Method/Enterprise tracks - FRs/NFRs only)
**Phase 3 Solutioning:**
- Epic breakdown (created after architecture)
**Phase 3 Architecture:**
- `docs/architecture.md` (BMad Method/Enterprise tracks)
- `docs/epics.md` + epic folders (from create-epics-and-stories)
**Phase 4 Implementation:**
- `docs/sprint-status.yaml` - **Single source of truth**
- `docs/epic-{n}-context.md`
- `docs/stories/{epic}-{story}-{title}.md`
- `docs/stories/{epic}-{story}-{title}-context.md`
### Decision Flowchart
```mermaid
flowchart TD
START([Brownfield Project])
CHECK{Has docs/<br/>index.md?}
START --> CHECK
CHECK -->|No| DOC[document-project<br/>Deep scan]
CHECK -->|Yes| TRACK{What Track?}
DOC --> TRACK
TRACK -->|Quick Flow| TS[tech-spec]
TRACK -->|BMad Method| PRD[prd → architecture]
TRACK -->|Enterprise| PRD2[prd → arch + security/devops]
TS --> IMPL[Phase 4<br/>Implementation]
PRD --> IMPL
PRD2 --> IMPL
style START fill:#f9f,stroke:#333,stroke-width:2px,color:#000
style DOC fill:#ffb,stroke:#333,stroke-width:2px,color:#000
style IMPL fill:#bfb,stroke:#333,stroke-width:2px,color:#000
```
---
## Prevention Tips
**Avoid issues before they happen:**
1.**Always run document-project for brownfield** - Saves context issues later
2.**Use fresh chats for complex workflows** - Prevents hallucinations
3.**Verify files exist before workflows** - Check PRD, epics, stories present
4.**Read agent menu first** - Confirm agent has the workflow
5.**Start with simpler track if unsure** - Easy to upgrade (Quick Flow → BMad Method)
6.**Keep status files updated** - Manual updates when needed
7.**Run retrospectives after epics** - Catch issues early
8.**Follow phase sequence** - Don't skip required phases
---
## Related Documentation
- **[Scale Adaptive System](./scale-adaptive-system.md)** - Understanding tracks and complexity
- **[Quick Spec Flow](./quick-spec-flow.md)** - Fast-track for Quick Flow
- **[Quick Start Guide](./quick-start.md)** - Getting started with BMM
- **[Glossary](./glossary.md)** - Key terminology
- **[FAQ](./faq.md)** - Common questions
- **[Workflow Documentation](./index.md#-workflow-guides)** - Complete workflow reference
---
## Support and Resources
**Community:**
- [Discord](https://discord.gg/gk8jAdXWmj) - #general-dev, #bugs-issues
- [GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)
- [YouTube Channel](https://www.youtube.com/@BMadCode)
**Documentation:**
- **[Test Architect Guide](./test-architecture.md)** - Comprehensive testing strategy
- [BMM Module README](../README.md) - Complete module and workflow reference
---
_Brownfield development is about understanding and respecting what exists while thoughtfully extending it._

View File

@@ -1,540 +0,0 @@
# BMM Frequently Asked Questions
Quick answers to common questions about the BMad Method Module.
---
## Table of Contents
- [Getting Started](#getting-started)
- [Choosing the Right Level](#choosing-the-right-level)
- [Workflows and Phases](#workflows-and-phases)
- [Planning Documents](#planning-documents)
- [Implementation](#implementation)
- [Brownfield Development](#brownfield-development)
- [Tools and Technical](#tools-and-technical)
---
## Getting Started
### Q: Do I always need to run workflow-init?
**A:** No, once you learn the flow you can go directly to workflows. However, workflow-init is helpful because it:
- Determines your project's appropriate level automatically
- Creates the tracking status file
- Routes you to the correct starting workflow
For experienced users: use the [Quick Reference](./quick-start.md#quick-reference-agent-document-mapping) to go directly to the right agent/workflow.
### Q: Why do I need fresh chats for each workflow?
**A:** Context-intensive workflows (like brainstorming, PRD creation, architecture design) can cause AI hallucinations if run in sequence within the same chat. Starting fresh ensures the agent has maximum context capacity for each workflow. This is particularly important for:
- Planning workflows (PRD, architecture)
- Analysis workflows (brainstorming, research)
- Complex story implementation
Quick workflows like status checks can reuse chats safely.
### Q: Can I skip workflow-status and just start working?
**A:** Yes, if you already know your project level and which workflow comes next. workflow-status is mainly useful for:
- New projects (guides initial setup)
- When you're unsure what to do next
- After breaks in work (reminds you where you left off)
- Checking overall progress
### Q: What's the minimum I need to get started?
**A:** For the fastest path:
1. Install BMad Method: `npx bmad-method@alpha install`
2. For small changes: Load PM agent → run tech-spec → implement
3. For larger projects: Load PM agent → run prd → architect → implement
### Q: How do I know if I'm in Phase 1, 2, 3, or 4?
**A:** Check your `bmm-workflow-status.md` file (created by workflow-init). It shows your current phase and progress. If you don't have this file, you can also tell by what you're working on:
- **Phase 1** - Brainstorming, research, product brief (optional)
- **Phase 2** - Creating either a PRD or tech-spec (always required)
- **Phase 3** - Architecture design (Level 2-4 only)
- **Phase 4** - Actually writing code, implementing stories
---
## Choosing the Right Level
### Q: How do I know which level my project is?
**A:** Use workflow-init for automatic detection, or self-assess using these keywords:
- **Level 0:** "fix", "bug", "typo", "small change", "patch" → 1 story
- **Level 1:** "simple", "basic", "small feature", "add" → 2-10 stories
- **Level 2:** "dashboard", "several features", "admin panel" → 5-15 stories
- **Level 3:** "platform", "integration", "complex", "system" → 12-40 stories
- **Level 4:** "enterprise", "multi-tenant", "multiple products" → 40+ stories
When in doubt, start smaller. You can always run create-prd later if needed.
### Q: Can I change levels mid-project?
**A:** Yes! If you started at Level 1 but realize it's Level 2, you can run create-prd to add proper planning docs. The system is flexible - your initial level choice isn't permanent.
### Q: What if workflow-init suggests the wrong level?
**A:** You can override it! workflow-init suggests a level but always asks for confirmation. If you disagree, just say so and choose the level you think is appropriate. Trust your judgment.
### Q: Do I always need architecture for Level 2?
**A:** No, architecture is **optional** for Level 2. Only create architecture if you need system-level design. Many Level 2 projects work fine with just PRD created during planning.
### Q: What's the difference between Level 1 and Level 2?
**A:**
- **Level 1:** 1-10 stories, uses tech-spec (simpler, faster), no architecture
- **Level 2:** 5-15 stories, uses PRD (product-focused), optional architecture
The overlap (5-10 stories) is intentional. Choose based on:
- Need product-level planning? → Level 2
- Just need technical plan? → Level 1
- Multiple epics? → Level 2
- Single epic? → Level 1
---
## Workflows and Phases
### Q: What's the difference between workflow-status and workflow-init?
**A:**
- **workflow-status:** Checks existing status and tells you what's next (use when continuing work)
- **workflow-init:** Creates new status file and sets up project (use when starting new project)
If status file exists, use workflow-status. If not, use workflow-init.
### Q: Can I skip Phase 1 (Analysis)?
**A:** Yes! Phase 1 is optional for all levels, though recommended for complex projects. Skip if:
- Requirements are clear
- No research needed
- Time-sensitive work
- Small changes (Level 0-1)
### Q: When is Phase 3 (Architecture) required?
**A:**
- **Level 0-1:** Never (skip entirely)
- **Level 2:** Optional (only if system design needed)
- **Level 3-4:** Required (comprehensive architecture mandatory)
### Q: What happens if I skip a recommended workflow?
**A:** Nothing breaks! Workflows are guidance, not enforcement. However, skipping recommended workflows (like architecture for Level 3) may cause:
- Integration issues during implementation
- Rework due to poor planning
- Conflicting design decisions
- Longer development time overall
### Q: How do I know when Phase 3 is complete and I can start Phase 4?
**A:** For Level 3-4, run the implementation-readiness workflow. It validates PRD + Architecture + Epics + UX (optional) are aligned before implementation. Pass the gate check = ready for Phase 4.
### Q: Can I run workflows in parallel or do they have to be sequential?
**A:** Most workflows must be sequential within a phase:
- Phase 1: brainstorm → research → product-brief (optional order)
- Phase 2: PRD must complete before moving forward
- Phase 3: architecture → epics+stories → implementation-readiness (sequential)
- Phase 4: Stories within an epic should generally be sequential, but stories in different epics can be parallel if you have capacity
---
## Planning Documents
### Q: Why no tech-spec at Level 2+?
**A:** Level 2+ projects need product-level planning (PRD) and system-level design (Architecture), which tech-spec doesn't provide. Tech-spec is too narrow for coordinating multiple features. Instead, Level 2-4 uses:
- PRD (product vision, functional requirements, non-functional requirements)
- Architecture (system design)
- Epics+Stories (created AFTER architecture is complete)
### Q: Do I need a PRD for a bug fix?
**A:** No! Bug fixes are typically Level 0 (single atomic change). Use Quick Spec Flow:
- Load PM agent
- Run tech-spec workflow
- Implement immediately
PRDs are for Level 2-4 projects with multiple features requiring product-level coordination.
### Q: Can I skip the product brief?
**A:** Yes, product brief is always optional. It's most valuable for:
- Level 3-4 projects needing strategic direction
- Projects with stakeholders requiring alignment
- Novel products needing market research
- When you want to explore solution space before committing
---
## Implementation
### Q: Does create-story include implementation context?
**A:** Yes! The create-story workflow generates story files that include implementation-specific guidance, references existing patterns from your documentation, and provides technical context. The workflow loads your architecture, PRD, and existing project documentation to create comprehensive stories. For Quick Flow projects using tech-spec, the tech-spec itself is already comprehensive, so stories can be simpler.
### Q: How do I mark a story as done?
**A:** After dev-story completes and code-review passes:
1. Open `sprint-status.yaml` (created by sprint-planning)
2. Change the story status from `review` to `done`
3. Save the file
### Q: Can I work on multiple stories at once?
**A:** Yes, if you have capacity! Stories within different epics can be worked in parallel. However, stories within the same epic are usually sequential because they build on each other.
### Q: What if my story takes longer than estimated?
**A:** That's normal! Stories are estimates. If implementation reveals more complexity:
1. Continue working until DoD is met
2. Consider if story should be split
3. Document learnings in retrospective
4. Adjust future estimates based on this learning
### Q: When should I run retrospective?
**A:** After completing all stories in an epic (when epic is done). Retrospectives capture:
- What went well
- What could improve
- Technical insights
- Learnings for future epics
Don't wait until project end - run after each epic for continuous improvement.
---
## Brownfield Development
### Q: What is brownfield vs greenfield?
**A:**
- **Greenfield:** New project, starting from scratch, clean slate
- **Brownfield:** Existing project, working with established codebase and patterns
### Q: Do I have to run document-project for brownfield?
**A:** Highly recommended, especially if:
- No existing documentation
- Documentation is outdated
- AI agents need context about existing code
- Level 2-4 complexity
You can skip it if you have comprehensive, up-to-date documentation including `docs/index.md`.
### Q: What if I forget to run document-project on brownfield?
**A:** Workflows will lack context about existing code. You may get:
- Suggestions that don't match existing patterns
- Integration approaches that miss existing APIs
- Architecture that conflicts with current structure
Run document-project and restart planning with proper context.
### Q: Can I use Quick Spec Flow for brownfield projects?
**A:** Yes! Quick Spec Flow works great for brownfield. It will:
- Auto-detect your existing stack
- Analyze brownfield code patterns
- Detect conventions and ask for confirmation
- Generate context-rich tech-spec that respects existing code
Perfect for bug fixes and small features in existing codebases.
### Q: How does workflow-init handle brownfield with old planning docs?
**A:** workflow-init asks about YOUR current work first, then uses old artifacts as context:
1. Shows what it found (old PRD, epics, etc.)
2. Asks: "Is this work in progress, previous effort, or proposed work?"
3. If previous effort: Asks you to describe your NEW work
4. Determines level based on YOUR work, not old artifacts
This prevents old Level 3 PRDs from forcing Level 3 workflow for new Level 0 bug fix.
### Q: What if my existing code doesn't follow best practices?
**A:** Quick Spec Flow detects your conventions and asks: "Should I follow these existing conventions?" You decide:
- **Yes** → Maintain consistency with current codebase
- **No** → Establish new standards (document why in tech-spec)
BMM respects your choice - it won't force modernization, but it will offer it.
---
## Tools and Technical
### Q: Why are my Mermaid diagrams not rendering?
**A:** Common issues:
1. Missing language tag: Use ` ```mermaid` not just ` ``` `
2. Syntax errors in diagram (validate at mermaid.live)
3. Tool doesn't support Mermaid (check your Markdown renderer)
All BMM docs use valid Mermaid syntax that should render in GitHub, VS Code, and most IDEs.
### Q: Can I use BMM with GitHub Copilot / Cursor / other AI tools?
**A:** Yes! BMM is complementary. BMM handles:
- Project planning and structure
- Workflow orchestration
- Agent Personas and expertise
- Documentation generation
- Quality gates
Your AI coding assistant handles:
- Line-by-line code completion
- Quick refactoring
- Test generation
Use them together for best results.
### Q: What IDEs/tools support BMM?
**A:** BMM requires tools with **agent mode** and access to **high-quality LLM models** that can load and follow complex workflows, then properly implement code changes.
**Recommended Tools:**
- **Claude Code** ⭐ **Best choice**
- Sonnet 4.5 (excellent workflow following, coding, reasoning)
- Opus (maximum context, complex planning)
- Native agent mode designed for BMM workflows
- **Cursor**
- Supports Anthropic (Claude) and OpenAI models
- Agent mode with composer
- Good for developers who prefer Cursor's UX
- **Windsurf**
- Multi-model support
- Agent capabilities
- Suitable for BMM workflows
**What Matters:**
1. **Agent mode** - Can load long workflow instructions and maintain context
2. **High-quality LLM** - Models ranked high on SWE-bench (coding benchmarks)
3. **Model selection** - Access to Claude Sonnet 4.5, Opus, or GPT-4o class models
4. **Context capacity** - Can handle large planning documents and codebases
**Why model quality matters:** BMM workflows require LLMs that can follow multi-step processes, maintain context across phases, and implement code that adheres to specifications. Tools with weaker models will struggle with workflow adherence and code quality.
### Q: Can I customize agents?
**A:** Yes! Agents are installed as markdown files with XML-style content (optimized for LLMs, readable by any model). Create customization files in `_bmad/_config/agents/[agent-name].customize.yaml` to override default behaviors while keeping core functionality intact. See agent documentation for customization options.
**Note:** While source agents in this repo are YAML, they install as `.md` files with XML-style tags - a format any LLM can read and follow.
### Q: What happens to my planning docs after implementation?
**A:** Keep them! They serve as:
- Historical record of decisions
- Onboarding material for new team members
- Reference for future enhancements
- Audit trail for compliance
For enterprise projects (Level 4), consider archiving completed planning artifacts to keep workspace clean.
### Q: Can I use BMM for non-software projects?
**A:** BMM is optimized for software development, but the methodology principles (scale-adaptive planning, just-in-time design, context injection) can apply to other complex project types. You'd need to adapt workflows and agents for your domain.
---
## Advanced Questions
### Q: What if my project grows from Level 1 to Level 3?
**A:** Totally fine! When you realize scope has grown:
1. Run create-prd to add product-level planning
2. Run create-architecture for system design
3. Use existing tech-spec as input for PRD
4. Continue with updated level
The system is flexible - growth is expected.
### Q: Can I mix greenfield and brownfield approaches?
**A:** Yes! Common scenario: adding new greenfield feature to brownfield codebase. Approach:
1. Run document-project for brownfield context
2. Use greenfield workflows for new feature planning
3. Explicitly document integration points between new and existing
4. Test integration thoroughly
### Q: How do I handle urgent hotfixes during a sprint?
**A:** Use correct-course workflow or just:
1. Save your current work state
2. Load PM agent → quick tech-spec for hotfix
3. Implement hotfix (Level 0 flow)
4. Deploy hotfix
5. Return to original sprint work
Level 0 Quick Spec Flow is perfect for urgent fixes.
### Q: What if I disagree with the workflow's recommendations?
**A:** Workflows are guidance, not enforcement. If a workflow recommends something that doesn't make sense for your context:
- Explain your reasoning to the agent
- Ask for alternative approaches
- Skip the recommendation if you're confident
- Document why you deviated (for future reference)
Trust your expertise - BMM supports your decisions.
### Q: Can multiple developers work on the same BMM project?
**A:** Yes! But the paradigm is fundamentally different from traditional agile teams.
**Key Difference:**
- **Traditional:** Multiple devs work on stories within one epic (months)
- **Agentic:** Each dev owns complete epics (days)
**In traditional agile:** A team of 5 devs might spend 2-3 months on a single epic, with each dev owning different stories.
**With BMM + AI agents:** A single dev can complete an entire epic in 1-3 days. What used to take months now takes days.
**Team Work Distribution:**
- **Recommended:** Split work by **epic** (not story)
- Each developer owns complete epics end-to-end
- Parallel work happens at epic level
- Minimal coordination needed
**For full-stack apps:**
- Frontend and backend can be separate epics (unusual in traditional agile)
- Frontend dev owns all frontend epics
- Backend dev owns all backend epics
- Works because delivery is so fast
**Enterprise Considerations:**
- Use **git submodules** for BMM installation (not .gitignore)
- Allows personal configurations without polluting main repo
- Teams may use different AI tools (Claude Code, Cursor, etc.)
- Developers may follow different methods or create custom agents/workflows
**Quick Tips:**
- Share `sprint-status.yaml` (single source of truth)
- Assign entire epics to developers (not individual stories)
- Coordinate at epic boundaries, not story level
- Use git submodules for BMM in enterprise settings
**For comprehensive coverage of enterprise team collaboration, work distribution strategies, git submodule setup, and velocity expectations, see:**
👉 **[Enterprise Agentic Development Guide](./enterprise-agentic-development.md)**
### Q: What is party mode and when should I use it?
**A:** Party mode is a unique multi-agent collaboration feature where ALL your installed agents (19+ from BMM, CIS, BMB, custom modules) discuss your challenges together in real-time.
**How it works:**
1. Run `/bmad:core:workflows:party-mode` (or `*party-mode` from any agent)
2. Introduce your topic
3. BMad Master selects 2-3 most relevant agents per message
4. Agents cross-talk, debate, and build on each other's ideas
**Best for:**
- Strategic decisions with trade-offs (architecture choices, tech stack, scope)
- Creative brainstorming (game design, product innovation, UX ideation)
- Cross-functional alignment (epic kickoffs, retrospectives, phase transitions)
- Complex problem-solving (multi-faceted challenges, risk assessment)
**Example parties:**
- **Product Strategy:** PM + Innovation Strategist (CIS) + Analyst
- **Technical Design:** Architect + Creative Problem Solver (CIS) + Game Architect
- **User Experience:** UX Designer + Design Thinking Coach (CIS) + Storyteller (CIS)
**Why it's powerful:**
- Diverse perspectives (technical, creative, strategic)
- Healthy debate reveals blind spots
- Emergent insights from agent interaction
- Natural collaboration across modules
**For complete documentation:**
👉 **[Party Mode Guide](./party-mode.md)** - How it works, when to use it, example compositions, best practices
---
## Getting Help
### Q: Where do I get help if my question isn't answered here?
**A:**
1. Search [Complete Documentation](./README.md) for related topics
2. Ask in [Discord Community](https://discord.gg/gk8jAdXWmj) (#general-dev)
3. Open a [GitHub Issue](https://github.com/bmad-code-org/BMAD-METHOD/issues)
4. Watch [YouTube Tutorials](https://www.youtube.com/@BMadCode)
### Q: How do I report a bug or request a feature?
**A:** Open a GitHub issue at: <https://github.com/bmad-code-org/BMAD-METHOD/issues>
Please include:
- BMM version (check your installed version)
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Relevant workflow or agent involved
---
## Related Documentation
- [Quick Start Guide](./quick-start.md) - Get started with BMM
- [Glossary](./glossary.md) - Terminology reference
- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding levels
- [Brownfield Guide](./brownfield-guide.md) - Existing codebase workflows
---
**Have a question not answered here?** Please [open an issue](https://github.com/bmad-code-org/BMAD-METHOD/issues) or ask in [Discord](https://discord.gg/gk8jAdXWmj) so we can add it!

View File

@@ -1,306 +0,0 @@
# BMM Glossary
Comprehensive terminology reference for the BMad Method Module.
---
## Navigation
- [Core Concepts](#core-concepts)
- [Scale and Complexity](#scale-and-complexity)
- [Planning Documents](#planning-documents)
- [Workflow and Phases](#workflow-and-phases)
- [Agents and Roles](#agents-and-roles)
- [Status and Tracking](#status-and-tracking)
- [Project Types](#project-types)
- [Implementation Terms](#implementation-terms)
---
## Core Concepts
### BMM (BMad Method Module)
Core orchestration system for AI-driven agile development, providing comprehensive lifecycle management through specialized agents and workflows.
### BMad Method
The complete methodology for AI-assisted software development, encompassing planning, architecture, implementation, and quality assurance workflows that adapt to project complexity.
### Scale-Adaptive System
BMad Method's intelligent workflow orchestration that automatically adjusts planning depth, documentation requirements, and implementation processes based on project needs through three distinct planning tracks (Quick Flow, BMad Method, Enterprise Method).
### Agent
A specialized AI persona with specific expertise (PM, Architect, SM, DEV, TEA) that guides users through workflows and creates deliverables. Agents have defined capabilities, communication styles, and workflow access.
### Workflow
A multi-step guided process that orchestrates AI agent activities to produce specific deliverables. Workflows are interactive and adapt to user context.
---
## Scale and Complexity
### Quick Flow Track
Fast implementation track using tech-spec planning only. Best for bug fixes, small features, and changes with clear scope. Typical range: 1-15 stories. No architecture phase needed. Examples: bug fixes, OAuth login, search features.
### BMad Method Track
Full product planning track using PRD + Architecture + UX. Best for products, platforms, and complex features requiring system design. Typical range: 10-50+ stories. Examples: admin dashboards, e-commerce platforms, SaaS products.
### Enterprise Method Track
Extended enterprise planning track adding Security Architecture, DevOps Strategy, and Test Strategy to BMad Method. Best for enterprise requirements, compliance needs, and multi-tenant systems. Typical range: 30+ stories. Examples: multi-tenant platforms, compliance-driven systems, mission-critical applications.
### Planning Track
The methodology path (Quick Flow, BMad Method, or Enterprise Method) chosen for a project based on planning needs, complexity, and requirements rather than story count alone.
**Note:** Story counts are guidance, not definitions. Tracks are determined by what planning the project needs, not story math.
---
## Planning Documents
### Tech-Spec (Technical Specification)
**Quick Flow track only.** Comprehensive technical plan created upfront that serves as the primary planning document for small changes or features. Contains problem statement, solution approach, file-level changes, stack detection (brownfield), testing strategy, and developer resources.
### PRD (Product Requirements Document)
**BMad Method/Enterprise tracks.** Product-level planning document containing vision, goals, Functional Requirements (FRs), Non-Functional Requirements (NFRs), success criteria, and UX considerations. Replaces tech-spec for larger projects that need product planning. **V6 Note:** PRD focuses on WHAT to build (requirements). Epic+Stories are created separately AFTER architecture via create-epics-and-stories workflow.
### Architecture Document
**BMad Method/Enterprise tracks.** System-wide design document defining structure, components, interactions, data models, integration patterns, security, performance, and deployment.
**Scale-Adaptive:** Architecture complexity scales with track - BMad Method is lightweight to moderate, Enterprise Method is comprehensive with security/devops/test strategies.
### Epics
High-level feature groupings that contain multiple related stories. Typically span 5-15 stories each and represent cohesive functionality (e.g., "User Authentication Epic").
### Product Brief
Optional strategic planning document created in Phase 1 (Analysis) that captures product vision, market context, user needs, and high-level requirements before detailed planning.
### GDD (Game Design Document)
Game development equivalent of PRD, created by Game Designer agent for game projects.
---
## Workflow and Phases
### Phase 0: Documentation (Prerequisite)
**Conditional phase for brownfield projects.** Creates comprehensive codebase documentation before planning. Only required if existing documentation is insufficient for AI agents.
### Phase 1: Analysis (Optional)
Discovery and research phase including brainstorming, research workflows, and product brief creation. Optional for Quick Flow, recommended for BMad Method, required for Enterprise Method.
### Phase 2: Planning (Required)
**Always required.** Creates formal requirements and work breakdown. Routes to tech-spec (Quick Flow) or PRD (BMad Method/Enterprise) based on selected track.
### Phase 3: Solutioning (Track-Dependent)
Architecture design phase. Required for BMad Method and Enterprise Method tracks. Includes architecture creation, validation, and gate checks.
### Phase 4: Implementation (Required)
Sprint-based development through story-by-story iteration. Uses sprint-planning, create-story, dev-story, code-review, and retrospective workflows.
### Documentation (Prerequisite for Brownfield)
**Conditional prerequisite for brownfield projects.** Creates comprehensive codebase documentation before planning. Only required if existing documentation is insufficient for AI agents. Uses the `document-project` workflow.
### Quick Spec Flow
Fast-track workflow system for Quick Flow track projects that goes straight from idea to tech-spec to implementation, bypassing heavy planning. Designed for bug fixes, small features, and rapid prototyping.
---
## Agents and Roles
### PM (Product Manager)
Agent responsible for creating PRDs, tech-specs, and managing product requirements. Primary agent for Phase 2 planning.
### Analyst (Business Analyst)
Agent that initializes workflows, conducts research, creates product briefs, and tracks progress. Often the entry point for new projects.
### Architect
Agent that designs system architecture, creates architecture documents, performs technical reviews, and validates designs. Primary agent for Phase 3 solutioning.
### SM (Scrum Master)
Agent that manages sprints, creates stories, generates contexts, and coordinates implementation. Primary orchestrator for Phase 4 implementation.
### DEV (Developer)
Agent that implements stories, writes code, runs tests, and performs code reviews. Primary implementer in Phase 4.
### TEA (Test Architect)
Agent responsible for test strategy, quality gates, NFR assessment, and comprehensive quality assurance. Integrates throughout all phases.
### Technical Writer
Agent specialized in creating and maintaining high-quality technical documentation. Expert in documentation standards, information architecture, and professional technical writing. The agent's internal name is "paige" but is presented as "Technical Writer" to users.
### UX Designer
Agent that creates UX design documents, interaction patterns, and visual specifications for UI-heavy projects.
### Game Designer
Specialized agent for game development projects. Creates game design documents (GDD) and game-specific workflows.
### BMad Master
Meta-level orchestrator agent from BMad Core. Facilitates party mode, lists available tasks and workflows, and provides high-level guidance across all modules.
### Party Mode
Multi-agent collaboration feature where all installed agents (19+ from BMM, CIS, BMB, custom modules) discuss challenges together in real-time. BMad Master orchestrates, selecting 2-3 relevant agents per message for natural cross-talk and debate. Best for strategic decisions, creative brainstorming, cross-functional alignment, and complex problem-solving. See [Party Mode Guide](./party-mode.md).
---
## Status and Tracking
### bmm-workflow-status.yaml
**Phases 1-3.** Tracking file that shows current phase, completed workflows, progress, and next recommended actions. Created by workflow-init, updated automatically.
### sprint-status.yaml
**Phase 4 only.** Single source of truth for implementation tracking. Contains all epics, stories, and retrospectives with current status for each. Created by sprint-planning, updated by agents.
### Story Status Progression
```
backlog → ready-for-dev → in-progress → review → done
```
- **backlog** - Story exists in epic but not yet created
- **ready-for-dev** - Story file created via create-story; validation is optional (run `validate-create-story` for quality check before dev picks it up)
- **in-progress** - DEV is implementing via dev-story
- **review** - Implementation complete, awaiting code-review
- **done** - Completed with DoD met
### Epic Status Progression
```
backlog → in-progress → done
```
- **backlog** - Epic not yet started
- **in-progress** - Epic actively being worked on
- **done** - All stories in epic completed
### Retrospective
Workflow run after completing each epic to capture learnings, identify improvements, and feed insights into next epic planning. Critical for continuous improvement.
---
## Project Types
### Greenfield
New project starting from scratch with no existing codebase. Freedom to establish patterns, choose stack, and design from clean slate.
### Brownfield
Existing project with established codebase, patterns, and constraints. Requires understanding existing architecture, respecting established conventions, and planning integration with current systems.
**Critical:** Brownfield projects should run document-project workflow BEFORE planning to ensure AI agents have adequate context about existing code.
### document-project Workflow
**Brownfield prerequisite.** Analyzes and documents existing codebase, creating comprehensive documentation including project overview, architecture analysis, source tree, API contracts, and data models. Three scan levels: quick, deep, exhaustive.
---
## Implementation Terms
### Story
Single unit of implementable work with clear acceptance criteria, typically 2-8 hours of development effort. Stories are grouped into epics and tracked in sprint-status.yaml.
### Story File
Markdown file containing story details: description, acceptance criteria, technical notes, dependencies, implementation guidance, and testing requirements.
### Story Context
Implementation guidance embedded within story files during the create-story workflow. Provides implementation-specific context, references existing patterns, suggests approaches, and helps maintain consistency with established codebase conventions.
### Sprint Planning
Workflow that initializes Phase 4 implementation by creating sprint-status.yaml, extracting all epics/stories from planning docs, and setting up tracking infrastructure.
### Gate Check
Validation workflow (implementation-readiness) run before Phase 4 to ensure PRD + Architecture + Epics + UX (optional) are aligned with no gaps or contradictions. Required for BMad Method and Enterprise Method tracks.
### DoD (Definition of Done)
Criteria that must be met before marking a story as done. Typically includes: implementation complete, tests written and passing, code reviewed, documentation updated, and acceptance criteria validated.
### Shard / Sharding
**For runtime LLM optimization only (NOT human docs).** Splitting large planning documents (PRD, epics, architecture) into smaller section-based files to improve workflow efficiency. Phase 1-3 workflows load entire sharded documents transparently. Phase 4 workflows selectively load only needed sections for massive token savings.
---
## Additional Terms
### Workflow Status
Universal entry point workflow that checks for existing status file, displays current phase/progress, and recommends next action based on project state.
### Workflow Init
Initialization workflow that creates bmm-workflow-status.yaml, detects greenfield vs brownfield, determines planning track, and sets up appropriate workflow path.
### Track Selection
Automatic analysis by workflow-init that uses keyword analysis, complexity indicators, and project requirements to suggest appropriate track (Quick Flow, BMad Method, or Enterprise Method). User can override suggested track.
### Correct Course
Workflow run during Phase 4 when significant changes or issues arise. Analyzes impact, proposes solutions, and routes to appropriate remediation workflows.
### Migration Strategy
Plan for handling changes to existing data, schemas, APIs, or patterns during brownfield development. Critical for ensuring backward compatibility and smooth rollout.
### Feature Flags
Implementation technique for brownfield projects that allows gradual rollout of new functionality, easy rollback, and A/B testing. Recommended for BMad Method and Enterprise brownfield changes.
### Integration Points
Specific locations where new code connects with existing systems. Must be documented explicitly in brownfield tech-specs and architectures.
### Convention Detection
Quick Spec Flow feature that automatically detects existing code style, naming conventions, patterns, and frameworks from brownfield codebases, then asks user to confirm before proceeding.
---
## Related Documentation
- [Quick Start Guide](./quick-start.md) - Learn BMM basics
- [Scale Adaptive System](./scale-adaptive-system.md) - Deep dive on tracks and complexity
- [Brownfield Guide](./brownfield-guide.md) - Working with existing codebases
- [Quick Spec Flow](./quick-spec-flow.md) - Fast-track for Quick Flow track
- [FAQ](./faq.md) - Common questions

View File

@@ -1,37 +0,0 @@
# Workflow Diagram Maintenance
## Regenerating SVG from Excalidraw
When you edit `workflow-method-greenfield.excalidraw`, regenerate the SVG:
1. Open <https://excalidraw.com/>
2. Load the `.excalidraw` file
3. Click menu (☰) → Export image → SVG
4. **Set "Scale" to 1x** (default is 2x)
5. Click "Export"
6. Save as `workflow-method-greenfield.svg`
7. **Validate the changes** (see below)
8. Commit both files together
**Important:**
- Always use **1x scale** to maintain consistent dimensions
- Automated export tools (`excalidraw-to-svg`) are broken - use manual export only
## Visual Validation
After regenerating the SVG, validate that it renders correctly:
```bash
./tools/validate-svg-changes.sh path/to/workflow-method-greenfield.svg
```
This script:
- Checks for required dependencies (Playwright, ImageMagick)
- Installs Playwright locally if needed (no package.json pollution)
- Renders old vs new SVG using browser-accurate rendering
- Compares pixel-by-pixel and generates a diff image
- Outputs a prompt for AI visual analysis (paste into Gemini/Claude)
**Threshold**: <0.01% difference is acceptable (anti-aliasing variations)

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 87 KiB

View File

@@ -1,130 +0,0 @@
# BMM Documentation
Complete guides for the BMad Method Module (BMM) - AI-powered agile development workflows that adapt to your project's complexity.
---
## 🚀 Getting Started
**New to BMM?** Start here:
- **[Quick Start Guide](./quick-start.md)** - Step-by-step guide to building your first project
- Installation and setup
- Understanding the four phases
- Running your first workflows
- Agent-based development flow
**Quick Path:** Install → workflow-init → Follow agent guidance
### 📊 Visual Overview
**[Complete Workflow Diagram](./images/workflow-method-greenfield.svg)** - Visual flowchart showing all phases, agents (color-coded), and decision points for the BMad Method standard greenfield track.
## 📖 Core Concepts
The BMad Method is meant to be adapted and customized to your specific needs. In this realm there is no one size fits all - your needs are unique, and BMad Method is meant to support this (and if it does not, can be further customized or extended with new modules).
First know there is the full BMad Method Process and then there is a Quick Flow for those quicker smaller efforts.
- **[Full Adaptive BMad Method](#-workflow-guides)** - Full planning and scope support through extensive development and testing.
- Broken down into 4 phases, all of which are comprised of both required and optional phases
- Phases 1-3 are all about progressive idea development through planning and preparations to build your project.
- Phase 4 is the implementation cycle where you will Just In Time (JIT) produce the contextual stories needed for the dev agent based on the extensive planing completed
- All 4 phases have optional steps in them, depending on how rigorous you want to go with planning, research ideation, validation, testing and traceability.
- While there is a lot here, know that even this can be distilled down to a simple PRD, Epic and Story list and then jump into the dev cycle. But if that is all you want, you might be better off with the BMad Quick Flow described next
- **[BMAD Quick Flow](./bmad-quick-flow.md)** - Fast-track development workflow
- 3-step process: spec → dev → optional review
- Perfect for bug fixes and small features
- Rapid prototyping with production quality
- Implementation in minutes, not days
- Has a specialized single agent that does all of this: **[Quick Flow Solo Dev Agent](./quick-flow-solo-dev.md)**
## 🤖 Agents and Collaboration
Complete guide to BMM's AI agent team:
- **[Agents Guide](./agents-guide.md)** - Comprehensive agent reference
- 12 specialized BMM agents + BMad Master
- Agent roles, workflows, and when to use them
- Agent customization system
- Best practices and common patterns
- **[Party Mode Guide](./party-mode.md)** - Multi-agent collaboration
- How party mode works (19+ agents collaborate in real-time)
- When to use it (strategic, creative, cross-functional, complex)
- Example party compositions
- Multi-module integration (BMM + CIS + BMB + custom)
- Agent customization in party mode
- Best practices
## 🔧 Working with Existing Code
Comprehensive guide for brownfield development:
- **[Brownfield Development Guide](./brownfield-guide.md)** - Complete guide for existing codebases
- Documentation phase strategies
- Track selection for brownfield
- Integration with existing patterns
- Phase-by-phase workflow guidance
- Common scenarios
## 📚 Quick References
Essential reference materials:
- **[Glossary](./glossary.md)** - Key terminology and concepts
- **[FAQ](./faq.md)** - Frequently asked questions across all topics
## 🎯 Choose Your Path
### I need to...
**Build something new (greenfield)**
→ Start with [Quick Start Guide](./quick-start.md)
**Fix a bug or add small feature**
→ User the [Quick Flow Solo Dev](./quick-flow-solo-dev.md) directly with its dedicated stand alone [Quick Bmad Spec Flow](./quick-spec-flow.md) process
**Work with existing codebase (brownfield)**
→ Read [Brownfield Development Guide](./brownfield-guide.md)
→ Pay special attention to documentation requirements for brownfield projects
## 📋 Workflow Guides
Comprehensive documentation for all BMM workflows organized by phase:
- **[Phase 1: Analysis Workflows](./workflows-analysis.md)** - Optional exploration and research workflows (595 lines)
- brainstorm-project, product-brief, research, and more
- When to use analysis workflows
- Creative and strategic tools
- **[Phase 2: Planning Workflows](./workflows-planning.md)** - Scale-adaptive planning (967 lines)
- prd, tech-spec, gdd, narrative, ux
- Track-based planning approach (Quick Flow, BMad Method, Enterprise Method)
- Which planning workflow to use
- **[Phase 3: Solutioning Workflows](./workflows-solutioning.md)** - Architecture and validation (638 lines)
- architecture, create-epics-and-stories, implementation-readiness
- V6: Epics created AFTER architecture for better quality
- Required for BMad Method and Enterprise Method tracks
- Preventing agent conflicts
- **[Phase 4: Implementation Workflows](./workflows-implementation.md)** - Sprint-based development (1,634 lines)
- sprint-planning, create-story, dev-story, code-review
- Complete story lifecycle
- One-story-at-a-time discipline
- **[Testing & QA Workflows](./test-architecture.md)** - Comprehensive quality assurance (1,420 lines)
- Test strategy, automation, quality gates
- TEA agent and test healing
## 🌐 External Resources
### Community and Support
- **[Discord Community](https://discord.gg/gk8jAdXWmj)** - Get help from the community (#general-dev, #bugs-issues)
- **[GitHub Issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)** - Report bugs or request features
- **[YouTube Channel](https://www.youtube.com/@BMadCode)** - Video tutorials and walkthroughs
**Ready to begin?** → [Start with the Quick Start Guide](./quick-start.md)

View File

@@ -1,114 +0,0 @@
# Party Mode: Multi-Agent Collaboration
**Get all your AI agents in one conversation**
## What is Party Mode?
Ever wanted to gather your entire AI team in one room and see what happens? That's party mode.
Type `/bmad:core:workflows:party-mode` (or `*party-mode` from any agent or at key workflow junctions when asked), and suddenly you've got **all your AI agents** in one conversation. PM, Architect, DEV, UX Designer and more that you can choose from.
**Why it's useful:**
- **After complex workflows** - Debrief with the whole team about what worked, what didn't
- **Big decisions with tradeoffs** - Get technical, creative, and strategic perspectives simultaneously
- **Brainstorming sessions** - Watch ideas evolve through cross-pollination
- **When things go wrong** - Call out failures, watch agents defend their decisions, let them debate whose fault it was (oddly therapeutic)
- **Sprint retrospectives** - Party mode powers the retrospective workflow
- **Sprint planning** - Multi-agent collaboration for planning sessions
---
## How It Works
**The basics:**
1. Party mode reads `_bmad/_config/agent-manifest.csv`
2. Loads ALL installed agents (already includes your customizations from install)
3. BMad Master orchestrates - picks 2-3 relevant agents per message based on topic
4. Agents respond in character, can agree/disagree/build on each other's ideas
5. Discussion continues until you type "exit" or reach natural conclusion
**That's it.** No complex merging, no runtime magic. Just agents talking.
---
## Quick Start
```bash
# Trigger party mode
/bmad:core:workflows:party-mode
# OR from any agent context
*party-mode
# Super Hack
/bmad:core:workflows:party-mode and include also in the party Santa Clause and Einstein
# During party
Ask questions, respond to agents, direct the conversation
# Exit
Type: exit
```
---
## Fun Examples
### Example 1: Calling Out Bad Architecture
**You:** "Okay team, our last sprint was a disaster. The authentication service went down three times. Who screwed this up?"
**Architect (Winston):** "The design was sound - distributed authentication with proper fallbacks. If implementation deviated from the spec..."
**DEV (Amelia):** "I followed the architecture doc exactly. The spec didn't account for concurrent session invalidation race conditions."
**PM (John):** "Both of you missed the bigger issue - we didn't validate session management requirements in the PRD. This is on me for not catching it."
**TEA (Murat):** "And I should've caught this in integration tests. The test scenarios didn't cover concurrent invalidation."
_(Watch them debate whose fault it really was - it's therapeutic)_
---
### Example 2: Creative Brainstorming
**You:** "How do we make onboarding feel magical instead of boring?"
**UX Designer (Sally):** "Start with progressive disclosure - reveal features as users need them, not all at once in a tutorial."
**Storyteller (CIS):** "What if onboarding was a story? Each step reveals a character's journey - the user IS the hero."
**Innovation Strategist (CIS):** "Take it further - gamify with unlockable achievements. But make them meaningful, not arbitrary badges."
**Game Designer:** "Building on that - what if the first 'quest' is actually solving a real user problem? They learn by doing something valuable."
_(Ideas cross-pollinate and evolve)_
---
### Example 3: Technical Decision
**You:** "Monolith or microservices for MVP?"
**Architect:** "Start monolith. Microservices add complexity you don't need at 1000 users."
**PM:** "Agree. Time to market matters more than theoretical scalability."
**DEV:** "Monolith with clear module boundaries. We can extract services later if needed."
**Innovation Strategist:** "Contrarian take - if your differentiator IS scalability, build for it now. Otherwise Architect's right."
_(Multiple perspectives reveal the right answer)_
## Related Documentation
- [Agents Guide](./agents-guide.md) - Complete agent reference
- [Quick Start Guide](./quick-start.md) - Getting started with BMM
- [FAQ](./faq.md) - Common questions
---
_Better decisions through diverse perspectives. Welcome to party mode._

View File

@@ -1,337 +0,0 @@
# Quick Flow Solo Dev Agent (Barry)
**Agent ID:** `_bmad/bmm/agents/quick-flow-solo-dev.md`
**Icon:** 🚀
**Module:** BMM
---
## Overview
Barry is the elite solo developer who lives and breathes the BMAD Quick Flow workflow. He takes projects from concept to deployment with ruthless efficiency - no handoffs, no delays, just pure focused development. Barry architects specs, writes the code, and ships features faster than entire teams. When you need it done right and done now, Barry's your dev.
### Agent Persona
**Name:** Barry
**Title:** Quick Flow Solo Dev
**Identity:** Barry is an elite developer who thrives on autonomous execution. He lives and breathes the BMAD Quick Flow workflow, taking projects from concept to deployment with ruthless efficiency. No handoffs, no delays - just pure, focused development. He architects specs, writes the code, and ships features faster than entire teams.
**Communication Style:** Direct, confident, and implementation-focused. Uses tech slang and gets straight to the point. No fluff, just results. Every response moves the project forward.
**Core Principles:**
- Planning and execution are two sides of the same coin
- Quick Flow is my religion
- Specs are for building, not bureaucracy
- Code that ships is better than perfect code that doesn't
- Documentation happens alongside development, not after
- Ship early, ship often
---
## Menu Commands
Barry owns the entire BMAD Quick Flow path, providing a streamlined 3-step development process that eliminates handoffs and maximizes velocity.
### 1. **create-tech-spec**
- **Workflow:** `_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml`
- **Description:** Architect a technical spec with implementation-ready stories
- **Use when:** You need to transform requirements into a buildable spec
### 2. **quick-dev**
- **Workflow:** `_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml`
- **Description:** Ship features from spec or direct instructions - no handoffs
- **Use when:** You're ready to ship code based on a spec or clear instructions
### 3. **code-review**
- **Workflow:** `_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml`
- **Description:** Review code for quality, patterns, and acceptance criteria
- **Use when:** You need to validate implementation quality
### 4. **party-mode**
- **Workflow:** `_bmad/core/workflows/party-mode/workflow.yaml`
- **Description:** Bring in other experts when I need specialized backup
- **Use when:** You need collaborative problem-solving or specialized expertise
---
## When to Use Barry
### Ideal Scenarios
1. **Quick Flow Development** - Small to medium features that need rapid delivery
2. **Technical Specification Creation** - When you need detailed implementation plans
3. **Direct Development** - When requirements are clear and you want to skip extensive planning
4. **Code Reviews** - When you need senior-level technical validation
5. **Performance-Critical Features** - When optimization and scalability are paramount
### Project Types
- **Greenfield Projects** - New features or components
- **Brownfield Modifications** - Enhancements to existing codebases
- **Bug Fixes** - Complex issues requiring deep technical understanding
- **Proof of Concepts** - Rapid prototyping with production-quality code
- **Performance Optimizations** - System improvements and scalability work
---
## The BMAD Quick Flow Process
Barry orchestrates a simple, efficient 3-step process:
```mermaid
flowchart LR
A[Requirements] --> B[create-tech-spec]
B --> C[Tech Spec]
C --> D[quick-dev]
D --> E[Implementation]
E --> F{Code Review?}
F -->|Yes| G[code-review]
F -->|No| H[Complete]
G --> H[Complete]
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#e8f5e9
style D fill:#fff3e0
style E fill:#fce4ec
style G fill:#f1f8e9
style H fill:#e0f2f1
```
### Step 1: Technical Specification (`create-tech-spec`)
**Goal:** Transform user requirements into implementation-ready technical specifications
**Process:**
1. **Problem Understanding** - Clarify requirements, scope, and constraints
2. **Code Investigation** - Analyze existing patterns and dependencies (if applicable)
3. **Specification Generation** - Create comprehensive tech spec with:
- Problem statement and solution overview
- Development context and patterns
- Implementation tasks with acceptance criteria
- Technical decisions and dependencies
4. **Review and Finalize** - Validate spec captures user intent
**Output:** `tech-spec-{slug}.md` saved to sprint artifacts
**Best Practices:**
- Include ALL context a fresh dev agent needs
- Be specific about files, patterns, and conventions
- Define clear acceptance criteria using Given/When/Then format
- Document technical decisions and trade-offs
### Step 2: Development (`quick-dev`)
**Goal:** Execute implementation based on tech spec or direct instructions
**Two Modes:**
**Mode A: Tech-Spec Driven**
- Load existing tech spec
- Extract tasks, context, and acceptance criteria
- Execute all tasks continuously without stopping
- Respect project context and existing patterns
**Mode B: Direct Instructions**
- Accept direct development commands
- Offer optional planning step
- Execute with minimal friction
**Process:**
1. **Load Project Context** - Understand patterns and conventions
2. **Execute Implementation** - Work through all tasks:
- Load relevant files and context
- Implement following established patterns
- Write and run tests
- Handle errors appropriately
3. **Verify Completion** - Ensure all tasks complete, tests passing, AC satisfied
### Step 3: Code Review (`code-review`) - Optional
**Goal:** Senior developer review of implemented code
**When to Use:**
- Critical production features
- Complex architectural changes
- Performance-sensitive implementations
- Team development scenarios
- Learning and knowledge transfer
**Review Focus:**
- Code quality and patterns
- Acceptance criteria compliance
- Performance and scalability
- Security considerations
- Maintainability and documentation
---
## Collaboration with Other Agents
### Natural Partnerships
- **Tech Writer** - For documentation and API specs when I need it
- **Architect** - For complex system design decisions beyond Quick Flow scope
- **Dev** - For implementation pair programming (rarely needed)
- **QA** - For test strategy and quality gates on critical features
- **UX Designer** - For user experience considerations
### Party Mode Composition
In party mode, Barry often acts as:
- **Solo Tech Lead** - Guiding architectural decisions
- **Implementation Expert** - Providing coding insights
- **Performance Optimizer** - Ensuring scalable solutions
- **Code Review Authority** - Validating technical approaches
---
## Tips for Working with Barry
### For Best Results
1. **Be Specific** - Provide clear requirements and constraints
2. **Share Context** - Include relevant files and patterns
3. **Define Success** - Clear acceptance criteria lead to better outcomes
4. **Trust the Process** - The 3-step flow is optimized for speed and quality
5. **Leverage Expertise** - I'll give you optimization and architectural insights automatically
### Communication Patterns
- **Git Commit Style** - "feat: Add user authentication with OAuth 2.0"
- **RFC Style** - "Proposing microservice architecture for scalability"
- **Direct Questions** - "Actually, have you considered the race condition?"
- **Technical Trade-offs** - "We could optimize for speed over memory here"
### Avoid These Common Mistakes
1. **Vague Requirements** - Leads to unnecessary back-and-forth
2. **Ignoring Patterns** - Causes technical debt and inconsistencies
3. **Skipping Code Review** - Missed opportunities for quality improvement
4. **Over-planning** - I excel at rapid, pragmatic development
5. **Not Using Party Mode** - Missing collaborative insights for complex problems
---
## Example Workflow
```bash
# Start with Barry
/bmad:bmm:agents:quick-flow-solo-dev
# Create a tech spec
> create-tech-spec
# Quick implementation
> quick-dev tech-spec-auth.md
# Optional code review
> code-review
```
### Sample Tech Spec Structure
```markdown
# Tech-Spec: User Authentication System
**Created:** 2025-01-15
**Status:** Ready for Development
## Overview
### Problem Statement
Users cannot securely access the application, and we need role-based permissions for enterprise features.
### Solution
Implement OAuth 2.0 authentication with JWT tokens and role-based access control (RBAC).
### Scope (In/Out)
**In:** Login, logout, password reset, role management
**Out:** Social login, SSO, multi-factor authentication (Phase 2)
## Context for Development
### Codebase Patterns
- Use existing auth middleware pattern in `src/middleware/auth.js`
- Follow service layer pattern from `src/services/`
- JWT secrets managed via environment variables
### Files to Reference
- `src/middleware/auth.js` - Authentication middleware
- `src/models/User.js` - User data model
- `config/database.js` - Database connection
### Technical Decisions
- JWT tokens over sessions for API scalability
- bcrypt for password hashing
- Role-based permissions stored in database
## Implementation Plan
### Tasks
- [ ] Create authentication service
- [ ] Implement login/logout endpoints
- [ ] Add JWT middleware
- [ ] Create role-based permissions
- [ ] Write comprehensive tests
### Acceptance Criteria
- [ ] Given valid credentials, when user logs in, then receive JWT token
- [ ] Given invalid token, when accessing protected route, then return 401
- [ ] Given admin role, when accessing admin endpoint, then allow access
```
---
## Related Documentation
- **[Quick Start Guide](./quick-start.md)** - Getting started with BMM
- **[Agents Guide](./agents-guide.md)** - Complete agent reference
- **[Scale Adaptive System](./scale-adaptive-system.md)** - Understanding development tracks
- **[Workflow Implementation](./workflows-implementation.md)** - Implementation workflows
- **[Party Mode](./party-mode.md)** - Multi-agent collaboration
---
## Frequently Asked Questions
**Q: When should I use Barry vs other agents?**
A: Use Barry for Quick Flow development (small to medium features), rapid prototyping, or when you need elite solo development. For large, complex projects requiring full team collaboration, consider the full BMad Method with specialized agents.
**Q: Is the code review step mandatory?**
A: No, it's optional but highly recommended for critical features, team projects, or when learning best practices.
**Q: Can I skip the tech spec step?**
A: Yes, the quick-dev workflow accepts direct instructions. However, tech specs are recommended for complex features or team collaboration.
**Q: How does Barry differ from the Dev agent?**
A: Barry handles the complete Quick Flow process (spec → dev → review) with elite architectural expertise, while the Dev agent specializes in pure implementation tasks. Barry is your autonomous end-to-end solution.
**Q: Can Barry handle enterprise-scale projects?**
A: For enterprise-scale projects requiring full team collaboration, consider using the Enterprise Method track. Barry is optimized for rapid delivery in the Quick Flow track where solo execution wins.
---
**Ready to ship some code?** → Start with `/bmad:bmm:agents:quick-flow-solo-dev`

View File

@@ -1,622 +0,0 @@
# BMad Quick Spec Flow
**Perfect for:** Bug fixes, small features, rapid prototyping, and quick enhancements
**Time to implementation:** Minutes, not hours
---
## What is Quick Spec Flow?
Quick Spec Flow is a **streamlined alternative** to the full BMad Method for Quick Flow track projects. Instead of going through Product Brief → PRD → Architecture, you go **straight to a context-aware technical specification** and start coding.
### When to Use Quick Spec Flow
**Use Quick Flow track when:**
- Single bug fix or small enhancement
- Small feature with clear scope (typically 1-15 stories)
- Rapid prototyping or experimentation
- Adding to existing brownfield codebase
- You know exactly what you want to build
**Use BMad Method or Enterprise tracks when:**
- Building new products or major features
- Need stakeholder alignment
- Complex multi-team coordination
- Requires extensive planning and architecture
💡 **Not sure?** Run `workflow-init` to get a recommendation based on your project's needs!
---
## Quick Spec Flow Overview
```mermaid
flowchart TD
START[Step 1: Run Tech-Spec Workflow]
DETECT[Detects project stack<br/>package.json, requirements.txt, etc.]
ANALYZE[Analyzes brownfield codebase<br/>if exists]
TEST[Detects test frameworks<br/>and conventions]
CONFIRM[Confirms conventions<br/>with you]
GENERATE[Generates context-rich<br/>tech-spec]
STORIES[Creates ready-to-implement<br/>stories]
OPTIONAL[Step 2: Optional<br/>Generate Story Context<br/>SM Agent<br/>For complex scenarios only]
IMPL[Step 3: Implement<br/>DEV Agent<br/>Code, test, commit]
DONE[DONE! 🚀]
START --> DETECT
DETECT --> ANALYZE
ANALYZE --> TEST
TEST --> CONFIRM
CONFIRM --> GENERATE
GENERATE --> STORIES
STORIES --> OPTIONAL
OPTIONAL -.->|Optional| IMPL
STORIES --> IMPL
IMPL --> DONE
style START fill:#bfb,stroke:#333,stroke-width:2px
style OPTIONAL fill:#ffb,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5
style IMPL fill:#bbf,stroke:#333,stroke-width:2px
style DONE fill:#f9f,stroke:#333,stroke-width:3px
```
---
## Single Atomic Change
**Best for:** Bug fixes, single file changes, isolated improvements
### What You Get
1. **tech-spec.md** - Comprehensive technical specification with:
- Problem statement and solution
- Detected framework versions and dependencies
- Brownfield code patterns (if applicable)
- Existing test patterns to follow
- Specific file paths to modify
- Complete implementation guidance
2. **story-[slug].md** - Single user story ready for development
### Quick Spec Flow Commands
```bash
# Start Quick Spec Flow (no workflow-init needed!)
# Load PM agent and run tech-spec
# When complete, implement directly:
# Load DEV agent and run dev-story
```
### What Makes It Quick
- ✅ No Product Brief needed
- ✅ No PRD needed
- ✅ No Architecture doc needed
- ✅ Auto-detects your stack
- ✅ Auto-analyzes brownfield code
- ✅ Auto-validates quality
- ✅ Story context optional (tech-spec is comprehensive!)
### Example Single Change Scenarios
- "Fix the login validation bug"
- "Add email field to user registration form"
- "Update API endpoint to return additional field"
- "Improve error handling in payment processing"
---
## Coherent Small Feature
**Best for:** Small features with 2-3 related user stories
### What You Get
1. **tech-spec.md** - Same comprehensive spec as single change projects
2. **epics.md** - Epic organization with story breakdown
3. **story-[epic-slug]-1.md** - First story
4. **story-[epic-slug]-2.md** - Second story
5. **story-[epic-slug]-3.md** - Third story (if needed)
### Quick Spec Flow Commands
```bash
# Start Quick Spec Flow
# Load PM agent and run tech-spec
# Optional: Organize stories as a sprint
# Load SM agent and run sprint-planning
# Implement story-by-story:
# Load DEV agent and run dev-story for each story
```
### Story Sequencing
Stories are **automatically validated** to ensure proper sequence:
- ✅ No forward dependencies (Story 2 can't depend on Story 3)
- ✅ Clear dependency documentation
- ✅ Infrastructure → Features → Polish order
- ✅ Backend → Frontend flow
### Example Small Feature Scenarios
- "Add OAuth social login (Google, GitHub, Twitter)"
- "Build user profile page with avatar upload"
- "Implement basic search with filters"
- "Add dark mode toggle to application"
---
## Smart Context Discovery
Quick Spec Flow automatically discovers and uses:
### 1. Existing Documentation
- Product briefs (if they exist)
- Research documents
- `document-project` output (brownfield codebase map)
### 2. Project Stack
- **Node.js:** package.json → frameworks, dependencies, scripts, test framework
- **Python:** requirements.txt, pyproject.toml → packages, tools
- **Ruby:** Gemfile → gems and versions
- **Java:** pom.xml, build.gradle → Maven/Gradle dependencies
- **Go:** go.mod → modules
- **Rust:** Cargo.toml → crates
- **PHP:** composer.json → packages
### 3. Brownfield Code Patterns
- Directory structure and organization
- Existing code patterns (class-based, functional, MVC)
- Naming conventions (camelCase, snake_case, PascalCase)
- Test frameworks and patterns
- Code style (semicolons, quotes, indentation)
- Linter/formatter configs
- Error handling patterns
- Logging conventions
- Documentation style
### 4. Convention Confirmation
**IMPORTANT:** Quick Spec Flow detects your conventions and **asks for confirmation**:
```
I've detected these conventions in your codebase:
Code Style:
- ESLint with Airbnb config
- Prettier with single quotes, 2-space indent
- No semicolons
Test Patterns:
- Jest test framework
- .test.js file naming
- expect() assertion style
Should I follow these existing conventions? (yes/no)
```
**You decide:** Conform to existing patterns or establish new standards!
---
## Modern Best Practices via WebSearch
Quick Spec Flow stays current by using WebSearch when appropriate:
### For Greenfield Projects
- Searches for latest framework versions
- Recommends official starter templates
- Suggests modern best practices
### For Outdated Dependencies
- Detects if your dependencies are >2 years old
- Searches for migration guides
- Notes upgrade complexity
### Starter Template Recommendations
For greenfield projects, Quick Spec Flow recommends:
**React:**
- Vite (modern, fast)
- Next.js (full-stack)
**Python:**
- cookiecutter templates
- FastAPI starter
**Node.js:**
- NestJS CLI
- express-generator
**Benefits:**
- ✅ Modern best practices baked in
- ✅ Proper project structure
- ✅ Build tooling configured
- ✅ Testing framework set up
- ✅ Faster time to first feature
---
## UX/UI Considerations
For user-facing changes, Quick Spec Flow captures:
- UI components affected (create vs modify)
- UX flow changes (current vs new)
- Responsive design needs (mobile, tablet, desktop)
- Accessibility requirements:
- Keyboard navigation
- Screen reader compatibility
- ARIA labels
- Color contrast standards
- User feedback patterns:
- Loading states
- Error messages
- Success confirmations
- Progress indicators
---
## Auto-Validation and Quality Assurance
Quick Spec Flow **automatically validates** everything:
### Tech-Spec Validation (Always Runs)
Checks:
- ✅ Context gathering completeness
- ✅ Definitiveness (no "use X or Y" statements)
- ✅ Brownfield integration quality
- ✅ Stack alignment
- ✅ Implementation readiness
Generates scores:
```
✅ Validation Passed!
- Context Gathering: Comprehensive
- Definitiveness: All definitive
- Brownfield Integration: Excellent
- Stack Alignment: Perfect
- Implementation Readiness: ✅ Ready
```
### Story Validation (Multi-Story Features)
Checks:
- ✅ Story sequence (no forward dependencies!)
- ✅ Acceptance criteria quality (specific, testable)
- ✅ Completeness (all tech spec tasks covered)
- ✅ Clear dependency documentation
**Auto-fixes issues if found!**
---
## Complete User Journey
### Scenario 1: Bug Fix (Single Change)
**Goal:** Fix login validation bug
**Steps:**
1. **Start:** Load PM agent, say "I want to fix the login validation bug"
2. **PM runs tech-spec workflow:**
- Asks: "What problem are you solving?"
- You explain the validation issue
- Detects your Node.js stack (Express 4.18.2, Jest for testing)
- Analyzes existing UserService code patterns
- Asks: "Should I follow your existing conventions?" → You say yes
- Generates tech-spec.md with specific file paths and patterns
- Creates story-login-fix.md
3. **Implement:** Load DEV agent, run `dev-story`
- DEV reads tech-spec (has all context!)
- Implements fix following existing patterns
- Runs tests (following existing Jest patterns)
- Done!
**Total time:** 15-30 minutes (mostly implementation)
---
### Scenario 2: Small Feature (Multi-Story)
**Goal:** Add OAuth social login (Google, GitHub)
**Steps:**
1. **Start:** Load PM agent, say "I want to add OAuth social login"
2. **PM runs tech-spec workflow:**
- Asks about the feature scope
- You specify: Google and GitHub OAuth
- Detects your stack (Next.js 13.4, NextAuth.js already installed!)
- Analyzes existing auth patterns
- Confirms conventions with you
- Generates:
- tech-spec.md (comprehensive implementation guide)
- epics.md (OAuth Integration epic)
- story-oauth-1.md (Backend OAuth setup)
- story-oauth-2.md (Frontend login buttons)
3. **Optional Sprint Planning:** Load SM agent, run `sprint-planning`
4. **Implement Story 1:**
- Load DEV agent, run `dev-story` for story 1
- DEV implements backend OAuth
5. **Implement Story 2:**
- DEV agent, run `dev-story` for story 2
- DEV implements frontend
- Done!
**Total time:** 1-3 hours (mostly implementation)
## Integration with Phase 4 Workflows
Quick Spec Flow works seamlessly with all Phase 4 implementation workflows:
### create-story (SM Agent)
- ✅ Can work with tech-spec.md instead of PRD
- ✅ Uses epics.md from tech-spec workflow
- ✅ Creates additional stories if needed
### sprint-planning (SM Agent)
- ✅ Works with epics.md from tech-spec
- ✅ Organizes multi-story features for coordinated implementation
- ✅ Tracks progress through sprint-status.yaml
### dev-story (DEV Agent)
- ✅ Reads stories generated by tech-spec
- ✅ Uses tech-spec.md as comprehensive context
- ✅ Implements following detected conventions
## Comparison: Quick Spec vs Full BMM
| Aspect | Quick Flow Track | BMad Method/Enterprise Tracks |
| --------------------- | ---------------------------- | ---------------------------------- |
| **Setup** | None (standalone) | workflow-init recommended |
| **Planning Docs** | tech-spec.md only | Product Brief → PRD → Architecture |
| **Time to Code** | Minutes | Hours to days |
| **Best For** | Bug fixes, small features | New products, major features |
| **Context Discovery** | Automatic | Manual + guided |
| **Story Context** | Optional (tech-spec is rich) | Required (generated from PRD) |
| **Validation** | Auto-validates everything | Manual validation steps |
| **Brownfield** | Auto-analyzes and conforms | Manual documentation required |
| **Conventions** | Auto-detects and confirms | Document in PRD/Architecture |
## When to Graduate from Quick Flow to BMad Method
Start with Quick Flow, but switch to BMad Method when:
- ❌ Project grows beyond initial scope
- ❌ Multiple teams need coordination
- ❌ Stakeholders need formal documentation
- ❌ Product vision is unclear
- ❌ Architectural decisions need deep analysis
- ❌ Compliance/regulatory requirements exist
💡 **Tip:** You can always run `workflow-init` later to transition from Quick Flow to BMad Method!
## Quick Spec Flow - Key Benefits
### 🚀 **Speed**
- No Product Brief
- No PRD
- No Architecture doc
- Straight to implementation
### 🧠 **Intelligence**
- Auto-detects stack
- Auto-analyzes brownfield
- Auto-validates quality
- WebSearch for current info
### 📐 **Respect for Existing Code**
- Detects conventions
- Asks for confirmation
- Follows patterns
- Adapts vs. changes
### ✅ **Quality**
- Auto-validation
- Definitive decisions (no "or" statements)
- Comprehensive context
- Clear acceptance criteria
### 🎯 **Focus**
- Single atomic changes
- Coherent small features
- No scope creep
- Fast iteration
## Getting Started
### Prerequisites
- BMad Method installed (`npx bmad-method install`)
- Project directory with code (or empty for greenfield)
### Quick Start Commands
```bash
# For a quick bug fix or small change:
# 1. Load Quick Dev Solo agent
# 2. Say: "I want to [describe your change]"
# 3. Agent will ask if you want to run tech-spec
# 4. Answer questions about your change
# 5. Get tech-spec + story
# 6. Reload a fresh context with the solo agent and implement!
# For a small feature with multiple stories:
# Same as above, but get epic + 2-3 stories
# Optionally use SM sprint-planning to organize
```
### No workflow-init Required!
Quick Spec Flow is **fully standalone**
## FAQ
### Q: Can I use Quick Spec Flow on an existing project?
**A:** Yes! It's perfect for brownfield projects. It will analyze your existing code, detect patterns, and ask if you want to follow them.
### Q: What if I don't have a package.json or requirements.txt?
**A:** Quick Spec Flow will work in greenfield mode, recommend starter templates, and use WebSearch for modern best practices.
### Q: Do I need to run workflow-init first?
**A:** No! Quick Spec Flow is standalone. But if you want guidance on which flow to use, workflow-init can help.
### Q: Can I use this for frontend changes?
**A:** Absolutely! Quick Spec Flow captures UX/UI considerations, component changes, and accessibility requirements.
### Q: What if my Quick Flow project grows?
**A:** No problem! You can always transition to BMad Method by running workflow-init and create-prd. Your tech-spec becomes input for the PRD.
### Q: Can I skip validation?
**A:** No, validation always runs automatically. But it's fast and catches issues early!
### Q: Will it work with my team's code style?
**A:** Yes! It detects your conventions and asks for confirmation. You control whether to follow existing patterns or establish new ones.
---
## Tips and Best Practices
### 1. **Be Specific in Discovery**
When describing your change, provide specifics:
- ✅ "Fix email validation in UserService to allow plus-addressing"
- ❌ "Fix validation bug"
### 2. **Trust the Convention Detection**
If it detects your patterns correctly, say yes! It's faster than establishing new conventions.
### 3. **Use WebSearch Recommendations for Greenfield**
Starter templates save hours of setup time. Let Quick Spec Flow find the best ones.
### 4. **Review the Auto-Validation**
When validation runs, read the scores. They tell you if your spec is production-ready.
### 5. **Keep Single Changes Truly Atomic**
If your "single change" needs 3+ files, it might be a multi-story feature. Let the workflow guide you.
### 6. **Validate Story Sequence for Multi-Story Features**
When you get multiple stories, check the dependency validation output. Proper sequence matters!
---
## Real-World Examples
### Example 1: Adding Logging (Single Change)
**Input:** "Add structured logging to payment processing"
**Tech-Spec Output:**
- Detected: winston 3.8.2 already in package.json
- Analyzed: Existing services use winston with JSON format
- Confirmed: Follow existing logging patterns
- Generated: Specific file paths, log levels, format example
- Story: Ready to implement in 1-2 hours
**Result:** Consistent logging added, following team patterns, no research needed.
---
### Example 2: Search Feature (Multi-Story)
**Input:** "Add search to product catalog with filters"
**Tech-Spec Output:**
- Detected: React 18.2.0, MUI component library, Express backend
- Analyzed: Existing ProductList component patterns
- Confirmed: Follow existing API and component structure
- Generated:
- Epic: Product Search Functionality
- Story 1: Backend search API with filters
- Story 2: Frontend search UI component
- Auto-validated: Story 1 → Story 2 sequence correct
**Result:** Search feature implemented in 4-6 hours with proper architecture.
---
## Summary
Quick Spec Flow is your **fast path from idea to implementation** for:
- 🐛 Bug fixes
- ✨ Small features
- 🚀 Rapid prototyping
- 🔧 Quick enhancements
**Key Features:**
- Auto-detects your stack
- Auto-analyzes brownfield code
- Auto-validates quality
- Respects existing conventions
- Uses WebSearch for modern practices
- Generates comprehensive tech-specs
- Creates implementation-ready stories
**Time to code:** Minutes, not hours.
**Ready to try it?** Load the PM agent and say what you want to build! 🚀
---
## Next Steps
- **Try it now:** Load PM agent and describe a small change
- **Learn more:** See the [BMM Workflow Guides](./index.md#-workflow-guides) for comprehensive workflow documentation
- **Need help deciding?** Run `workflow-init` to get a recommendation
- **Have questions?** Join us on Discord: <https://discord.gg/gk8jAdXWmj>
---
_Quick Spec Flow - Because not every change needs a Product Brief._

View File

@@ -1,363 +0,0 @@
# BMad Method V6 Quick Start Guide
Get started with BMad Method v6 for your new greenfield project. This guide walks you through building software from scratch using AI-powered workflows.
## TL;DR - The Quick Path
1. **Install**: `npx bmad-method@alpha install`
2. **Initialize**: Load Analyst agent → Run "workflow-init"
3. **Plan**: Load PM agent to create a PRD
4. **Plan UX**: Load UX Expert to create a UX-Design if your application will have a UX/UI element
5. **Architect**: Load Architect agent → Run "create-architecture"
6. **Epic Plan**: The PM steps back in to help run the create-epics-and-stories
7. **Build**: Load SM agent → Run workflows for each story → Load DEV agent → Implement
8. **Always use fresh chats** for each workflow to avoid context issues
## What is BMad Method?
BMad Method (BMM) helps you build software through guided workflows with specialized AI agents. The process follows four phases:
1. **Phase 1: Analysis** (Optional) - Brainstorming, Research, Product Brief
2. **Phase 2: Planning** (Required) - Create your requirements (tech-spec or PRD)
3. **Phase 3: Solutioning** (Track-dependent) - Design the architecture for BMad Method and Enterprise tracks
4. **Phase 4: Implementation** (Required) - Build your software Epic by Epic, Story by Story
### Complete Workflow Visualization
![BMad Method Workflow - Standard Greenfield](./images/workflow-method-greenfield.svg)
_Complete visual flowchart showing all phases, workflows, agents (color-coded), and decision points for the BMad Method standard greenfield track. Each box is color-coded by the agent responsible for that workflow._
## Installation
```bash
# Install v6 Alpha to your project
npx bmad-method@alpha install
```
The interactive installer will guide you through setup and create a `_bmad/` folder with all agents and workflows.
---
## Getting Started
### Step 1: Initialize Your Workflow
1. **Load the Analyst agent** in your IDE - Generally this is done by typing `/<workflow or agent name - allow autocomplete to find the right command>` - if you are unsure, you can just start with /bmad and see all that is available, sorted by agents and workflows.
2. **Wait for the agent's menu** to appear
3. **Tell the agent**: "Run workflow-init" or type "\*workflow-init" or select the menu item number
#### What happens during workflow-init?
Workflows are interactive processes in V6 that replaced tasks and templates from prior versions. There are many types of workflows, and you can even create your own with the BMad Builder module. For the BMad Method, you'll be interacting with expert-designed workflows crafted to work with you to get the best out of both you and the LLM.
During workflow-init, you'll describe:
- Your project and its goals
- Whether there's an existing codebase or this is a new project
- The general size and complexity (you can adjust this later)
#### Planning Tracks
Based on your description, the workflow will suggest a track and let you choose from:
**Three Planning Tracks:**
- **Quick Flow** - Fast implementation (tech-spec only) - bug fixes, simple features, clear scope (typically 1-15 stories)
- **BMad Method** - Full planning (PRD + Architecture + UX) - products, platforms, complex features (typically 10-50+ stories)
- **Enterprise Method** - Extended planning (BMad Method + Security/DevOps/Test) - enterprise requirements, compliance, multi-tenant (typically 30+ stories)
**Note**: Story counts are guidance, not definitions. Tracks are chosen based on planning needs, not story math.
#### What gets created?
Once you confirm your track, the `bmm-workflow-status.yaml` file will be created in your project's docs folder (assuming default install location). This file tracks your progress through all phases.
**Important notes:**
- Every track has different paths through the phases
- Story counts can still change based on overall complexity as you work
- For this guide, we'll assume a BMad Method track project
- This workflow will guide you through Phase 1 (optional), Phase 2 (required), and Phase 3 (required for BMad Method and Enterprise tracks)
### Step 2: Work Through Phases 1-3
After workflow-init completes, you'll work through the planning phases. **Important: Use fresh chats for each workflow to avoid context limitations.**
#### Checking Your Status
If you're unsure what to do next:
1. Load any agent in a new chat
2. Ask for "workflow-status"
3. The agent will tell you the next recommended or required workflow
**Example response:**
```
Phase 1 (Analysis) is entirely optional. All workflows are optional or recommended:
- brainstorm-project - optional
- research - optional
- product-brief - RECOMMENDED (but not required)
The next TRULY REQUIRED step is:
- PRD (Product Requirements Document) in Phase 2 - Planning
- Agent: pm
- Command: prd
```
#### How to Run Workflows in Phases 1-3
When an agent tells you to run a workflow (like `prd`):
1. **Start a new chat** with the specified agent
2. **Wait for the menu** to appear
3. **Tell the agent** to run it using any of these formats:
- Type the shorthand: `*prd`
- Say it naturally: "Let's create a new PRD"
- Select the menu number for "create-prd"
The agents in V6 are very good with fuzzy menu matching!
#### Quick Reference: Agent → Document Mapping
For v4 users or those who prefer to skip workflow-status guidance:
- **Analyst** → Brainstorming, Product Brief
- **PM** → PRD (BMad Method/Enterprise tracks) OR tech-spec (Quick Flow track)
- **UX-Designer** → UX Design Document (if UI part of the project)
- **Architect** → Architecture (BMad Method/Enterprise tracks)
#### Phase 2: Planning - Creating the PRD
**For BMad Method and Enterprise tracks:**
1. Load the **PM agent** in a new chat
2. Tell it to run the PRD workflow
3. Once complete, you'll have:
- **PRD.md** - Your Product Requirements Document
**For Quick Flow track:**
- Use **tech-spec** instead of PRD (no architecture needed)
#### Phase 2 (Optional): UX Design
If your project has a user interface:
1. Load the **UX-Designer agent** in a new chat
2. Tell it to run the UX design workflow
3. After completion, you'll have your UX specification document
#### Phase 3: Architecture
**For BMad Method and Enterprise tracks:**
1. Load the **Architect agent** in a new chat
2. Tell it to run the create-architecture workflow
3. After completion, you'll have your architecture document with technical decisions
#### Phase 3: Create Epics and Stories (REQUIRED after Architecture)
**V6 Improvement:** Epics and stories are now created AFTER architecture for better quality!
1. Load the **PM agent** in a new chat
2. Tell it to run "create-epics-and-stories"
3. This breaks down your PRD's FRs/NFRs into implementable epics and stories
4. The workflow uses both PRD and Architecture to create technically-informed stories
**Why after architecture?** Architecture decisions (database, API patterns, tech stack) directly affect how stories should be broken down and sequenced.
#### Phase 3: Implementation Readiness Check (Highly Recommended)
Once epics and stories are created:
1. Load the **Architect agent** in a new chat
2. Tell it to run "implementation-readiness"
3. This validates cohesion across all your planning documents (PRD, UX, Architecture, Epics)
4. This was called the "PO Master Checklist" in v4
**Why run this?** It ensures all your planning assets align properly before you start building.
#### Context Management Tips
- **Use 200k+ context models** for best results (Claude Sonnet 4.5, GPT-4, etc.)
- **Fresh chat for each workflow** - Brainstorming, Briefs, Research, and PRD generation are all context-intensive
- **No document sharding needed** - Unlike v4, you don't need to split documents
- **Web Bundles coming soon** - Will help save LLM tokens for users with limited plans
### Step 3: Start Building (Phase 4 - Implementation)
Once planning and architecture are complete, you'll move to Phase 4. **Important: Each workflow below should be run in a fresh chat to avoid context limitations and hallucinations.**
#### 3.1 Initialize Sprint Planning
1. **Start a new chat** with the **SM (Scrum Master) agent**
2. Wait for the menu to appear
3. Tell the agent: "Run sprint-planning"
4. This creates your `sprint-status.yaml` file that tracks all epics and stories
#### 3.2 Create Your First Story
1. **Start a new chat** with the **SM agent**
2. Wait for the menu
3. Tell the agent: "Run create-story"
4. This creates the story file from the epic
#### 3.3 Implement the Story
1. **Start a new chat** with the **DEV agent**
2. Wait for the menu
3. Tell the agent: "Run dev-story"
4. The DEV agent will implement the story and update the sprint status
#### 3.4 Review the Code (Optional but Recommended)
1. **Start a new chat** with the **DEV agent**
2. Wait for the menu
3. Tell the agent: "Run code-review"
4. The DEV agent performs quality validation (this was called QA in v4)
### Step 4: Keep Going
For each subsequent story, repeat the cycle using **fresh chats** for each workflow:
1. **New chat** → SM agent → "Run create-story"
2. **New chat** → DEV agent → "Run dev-story"
3. **New chat** → DEV agent → "Run code-review" (optional but recommended)
After completing all stories in an epic:
1. **Start a new chat** with the **SM agent**
2. Tell the agent: "Run retrospective"
**Why fresh chats?** Context-intensive workflows can cause hallucinations if you keep issuing commands in the same chat. Starting fresh ensures the agent has maximum context capacity for each workflow.
---
## Understanding the Agents
Each agent is a specialized AI persona:
- **Analyst** - Initializes workflows and tracks progress
- **PM** - Creates requirements and specifications
- **UX-Designer** - If your project has a front end - this designer will help produce artifacts, come up with mock updates, and design a great look and feel with you giving it guidance.
- **Architect** - Designs system architecture
- **SM (Scrum Master)** - Manages sprints and creates stories
- **DEV** - Implements code and reviews work
## How Workflows Work
1. **Load an agent** - Open the agent file in your IDE to activate it
2. **Wait for the menu** - The agent will present its available workflows
3. **Tell the agent what to run** - Say "Run [workflow-name]"
4. **Follow the prompts** - The agent guides you through each step
The agent creates documents, asks questions, and helps you make decisions throughout the process.
## Project Tracking Files
BMad creates two files to track your progress:
**1. bmm-workflow-status.yaml**
- Shows which phase you're in and what's next
- Created by workflow-init
- Updated automatically as you progress through phases
**2. sprint-status.yaml** (Phase 4 only)
- Tracks all your epics and stories during implementation
- Critical for SM and DEV agents to know what to work on next
- Created by sprint-planning workflow
- Updated automatically as stories progress
**You don't need to edit these manually** - agents update them as you work.
---
## The Complete Flow Visualized
```mermaid
flowchart LR
subgraph P1["Phase 1 (Optional)<br/>Analysis"]
direction TB
A1[Brainstorm]
A2[Research]
A3[Brief]
A4[Analyst]
A1 ~~~ A2 ~~~ A3 ~~~ A4
end
subgraph P2["Phase 2 (Required)<br/>Planning"]
direction TB
B1[Quick Flow:<br/>tech-spec]
B2[Method/Enterprise:<br/>PRD]
B3[UX opt]
B4[PM, UX]
B1 ~~~ B2 ~~~ B3 ~~~ B4
end
subgraph P3["Phase 3 (Track-dependent)<br/>Solutioning"]
direction TB
C1[Method/Enterprise:<br/>architecture]
C2[gate-check]
C3[Architect]
C1 ~~~ C2 ~~~ C3
end
subgraph P4["Phase 4 (Required)<br/>Implementation"]
direction TB
D1[Per Epic:<br/>epic context]
D2[Per Story:<br/>create-story]
D3[dev-story]
D4[code-review]
D5[SM, DEV]
D1 ~~~ D2 ~~~ D3 ~~~ D4 ~~~ D5
end
P1 --> P2
P2 --> P3
P3 --> P4
style P1 fill:#bbf,stroke:#333,stroke-width:2px,color:#000
style P2 fill:#bfb,stroke:#333,stroke-width:2px,color:#000
style P3 fill:#ffb,stroke:#333,stroke-width:2px,color:#000
style P4 fill:#fbf,stroke:#333,stroke-width:2px,color:#000
```
## Common Questions
**Q: Do I always need architecture?**
A: Only for BMad Method and Enterprise tracks. Quick Flow projects skip straight from tech-spec to implementation.
**Q: Can I change my plan later?**
A: Yes! The SM agent has a "correct-course" workflow for handling scope changes.
**Q: What if I want to brainstorm first?**
A: Load the Analyst agent and tell it to "Run brainstorm-project" before running workflow-init.
**Q: Why do I need fresh chats for each workflow?**
A: Context-intensive workflows can cause hallucinations if run in sequence. Fresh chats ensure maximum context capacity.
**Q: Can I skip workflow-init and workflow-status?**
A: Yes, once you learn the flow. Use the Quick Reference in Step 2 to go directly to the workflows you need.
## Getting Help
- **During workflows**: Agents guide you with questions and explanations
- **Community**: [Discord](https://discord.gg/gk8jAdXWmj) - #general-dev, #bugs-issues
- **Complete guide**: [BMM Workflow Documentation](./index.md#-workflow-guides)
- **YouTube tutorials**: [BMad Code Channel](https://www.youtube.com/@BMadCode)
---
## Key Takeaways
**Always use fresh chats** - Load agents in new chats for each workflow to avoid context issues
**Let workflow-status guide you** - Load any agent and ask for status when unsure what's next
**Track matters** - Quick Flow uses tech-spec, BMad Method/Enterprise need PRD and architecture
**Tracking is automatic** - The status files update themselves, no manual editing needed
**Agents are flexible** - Use menu numbers, shortcuts (\*prd), or natural language
**Ready to start building?** Install BMad, load the Analyst, run workflow-init, and let the agents guide you!

View File

@@ -1,451 +0,0 @@
# Test Architect (TEA) Agent Guide
## Overview
- **Persona:** Murat, Master Test Architect and Quality Advisor focused on risk-based testing, fixture architecture, ATDD, and CI/CD governance.
- **Mission:** Deliver actionable quality strategies, automation coverage, and gate decisions that scale with project complexity and compliance demands.
- **Use When:** BMad Method or Enterprise track projects, integration risk is non-trivial, brownfield regression risk exists, or compliance/NFR evidence is required. (Quick Flow projects typically don't require TEA)
## TEA Workflow Lifecycle
TEA integrates into the BMad development lifecycle during Solutioning (Phase 3) and Implementation (Phase 4):
```mermaid
%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#fff','primaryTextColor':'#000','primaryBorderColor':'#000','lineColor':'#000','secondaryColor':'#fff','tertiaryColor':'#fff','fontSize':'16px','fontFamily':'arial'}}}%%
graph TB
subgraph Phase2["<b>Phase 2: PLANNING</b>"]
PM["<b>PM: *prd (creates PRD with FRs/NFRs)</b>"]
PlanNote["<b>Business requirements phase</b>"]
PM -.-> PlanNote
end
subgraph Phase3["<b>Phase 3: SOLUTIONING</b>"]
Architecture["<b>Architect: *architecture</b>"]
EpicsStories["<b>PM/Architect: *create-epics-and-stories</b>"]
TestDesignSys["<b>TEA: *test-design (system-level)</b>"]
Framework["<b>TEA: *framework</b>"]
CI["<b>TEA: *ci</b>"]
GateCheck["<b>Architect: *implementation-readiness</b>"]
Architecture --> EpicsStories
Architecture --> TestDesignSys
TestDesignSys --> Framework
EpicsStories --> Framework
Framework --> CI
CI --> GateCheck
Phase3Note["<b>Epics created AFTER architecture,</b><br/><b>then system-level test design and test infrastructure setup</b>"]
EpicsStories -.-> Phase3Note
end
subgraph Phase4["<b>Phase 4: IMPLEMENTATION - Per Epic Cycle</b>"]
SprintPlan["<b>SM: *sprint-planning</b>"]
TestDesign["<b>TEA: *test-design (per epic)</b>"]
CreateStory["<b>SM: *create-story</b>"]
ATDD["<b>TEA: *atdd (optional, before dev)</b>"]
DevImpl["<b>DEV: implements story</b>"]
Automate["<b>TEA: *automate</b>"]
TestReview1["<b>TEA: *test-review (optional)</b>"]
Trace1["<b>TEA: *trace (refresh coverage)</b>"]
SprintPlan --> TestDesign
TestDesign --> CreateStory
CreateStory --> ATDD
ATDD --> DevImpl
DevImpl --> Automate
Automate --> TestReview1
TestReview1 --> Trace1
Trace1 -.->|next story| CreateStory
TestDesignNote["<b>Test design: 'How do I test THIS epic?'</b><br/>Creates test-design-epic-N.md per epic"]
TestDesign -.-> TestDesignNote
end
subgraph Gate["<b>EPIC/RELEASE GATE</b>"]
NFR["<b>TEA: *nfr-assess (if not done earlier)</b>"]
TestReview2["<b>TEA: *test-review (final audit, optional)</b>"]
TraceGate["<b>TEA: *trace - Phase 2: Gate</b>"]
GateDecision{"<b>Gate Decision</b>"}
NFR --> TestReview2
TestReview2 --> TraceGate
TraceGate --> GateDecision
GateDecision -->|PASS| Pass["<b>PASS ✅</b>"]
GateDecision -->|CONCERNS| Concerns["<b>CONCERNS ⚠️</b>"]
GateDecision -->|FAIL| Fail["<b>FAIL ❌</b>"]
GateDecision -->|WAIVED| Waived["<b>WAIVED ⏭️</b>"]
end
Phase2 --> Phase3
Phase3 --> Phase4
Phase4 --> Gate
style Phase2 fill:#bbdefb,stroke:#0d47a1,stroke-width:3px,color:#000
style Phase3 fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px,color:#000
style Phase4 fill:#e1bee7,stroke:#4a148c,stroke-width:3px,color:#000
style Gate fill:#ffe082,stroke:#f57c00,stroke-width:3px,color:#000
style Pass fill:#4caf50,stroke:#1b5e20,stroke-width:3px,color:#000
style Concerns fill:#ffc107,stroke:#f57f17,stroke-width:3px,color:#000
style Fail fill:#f44336,stroke:#b71c1c,stroke-width:3px,color:#000
style Waived fill:#9c27b0,stroke:#4a148c,stroke-width:3px,color:#000
```
**Phase Numbering Note:** BMad uses a 4-phase methodology with optional Phase 1 and documentation prerequisite:
- **Documentation** (Optional for brownfield): Prerequisite using `*document-project`
- **Phase 1** (Optional): Discovery/Analysis (`*brainstorm`, `*research`, `*product-brief`)
- **Phase 2** (Required): Planning (`*prd` creates PRD with FRs/NFRs)
- **Phase 3** (Track-dependent): Solutioning (`*architecture``*test-design` (system-level) → `*create-epics-and-stories` → TEA: `*framework`, `*ci``*implementation-readiness`)
- **Phase 4** (Required): Implementation (`*sprint-planning` → per-epic: `*test-design` → per-story: dev workflows)
**TEA workflows:** `*framework` and `*ci` run once in Phase 3 after architecture. `*test-design` is **dual-mode**:
- **System-level (Phase 3):** Run immediately after architecture/ADR drafting to produce `test-design-system.md` (testability review, ADR → test mapping, Architecturally Significant Requirements (ASRs), environment needs). Feeds the implementation-readiness gate.
- **Epic-level (Phase 4):** Run per-epic to produce `test-design-epic-N.md` (risk, priorities, coverage plan).
Quick Flow track skips Phases 1 and 3.
BMad Method and Enterprise use all phases based on project needs.
When an ADR or architecture draft is produced, run `*test-design` in **system-level** mode before the implementation-readiness gate. This ensures the ADR has an attached testability review and ADR → test mapping. Keep the test-design updated if ADRs change.
### Why TEA is Different from Other BMM Agents
TEA is the only BMM agent that operates in **multiple phases** (Phase 3 and Phase 4) and has its own **knowledge base architecture**.
<details>
<summary><strong>Cross-Phase Operation & Unique Architecture</strong></summary>
### Phase-Specific Agents (Standard Pattern)
Most BMM agents work in a single phase:
- **Phase 1 (Analysis)**: Analyst agent
- **Phase 2 (Planning)**: PM agent
- **Phase 3 (Solutioning)**: Architect agent
- **Phase 4 (Implementation)**: SM, DEV agents
### TEA: Multi-Phase Quality Agent (Unique Pattern)
TEA is **the only agent that operates in multiple phases**:
```
Phase 1 (Analysis) → [TEA not typically used]
Phase 2 (Planning) → [PM defines requirements - TEA not active]
Phase 3 (Solutioning) → TEA: *framework, *ci (test infrastructure AFTER architecture)
Phase 4 (Implementation) → TEA: *test-design (per epic: "how do I test THIS feature?")
→ TEA: *atdd, *automate, *test-review, *trace (per story)
Epic/Release Gate → TEA: *nfr-assess, *trace Phase 2 (release decision)
```
### TEA's 8 Workflows Across Phases
**Standard agents**: 1-3 workflows per phase
**TEA**: 8 workflows across Phase 3, Phase 4, and Release Gate
| Phase | TEA Workflows | Frequency | Purpose |
| ----------- | --------------------------------------------------------- | ---------------- | ---------------------------------------------- |
| **Phase 2** | (none) | - | Planning phase - PM defines requirements |
| **Phase 3** | \*framework, \*ci | Once per project | Setup test infrastructure AFTER architecture |
| **Phase 4** | \*test-design, \*atdd, \*automate, \*test-review, \*trace | Per epic/story | Test planning per epic, then per-story testing |
| **Release** | \*nfr-assess, \*trace (Phase 2: gate) | Per epic/release | Go/no-go decision |
**Note**: `*trace` is a two-phase workflow: Phase 1 (traceability) + Phase 2 (gate decision). This reduces cognitive load while maintaining natural workflow.
### Why TEA Gets Special Treatment
TEA uniquely requires:
- **Extensive domain knowledge**: 32 fragments covering test patterns, CI/CD, fixtures, quality practices, healing strategies, and optional playwright-utils integration
- **Centralized reference system**: `tea-index.csv` for on-demand fragment loading during workflow execution
- **Cross-cutting concerns**: Domain-specific testing patterns (vs project-specific artifacts like PRDs/stories)
- **Optional integrations**: MCP capabilities (healing, exploratory, verification) and playwright-utils support
This architecture enables TEA to maintain consistent, production-ready testing patterns across all BMad projects while operating across multiple development phases.
### Playwright Utils Integration
TEA optionally integrates with `@seontechnologies/playwright-utils`, an open-source library providing fixture-based utilities for Playwright tests.
**Installation:**
```bash
npm install -D @seontechnologies/playwright-utils
```
**Enable during BMAD installation** by answering "Yes" when prompted.
**Supported utilities (11 total):**
- api-request, network-recorder, auth-session, intercept-network-call, recurse
- log, file-utils, burn-in, network-error-monitor
- fixtures-composition (integration patterns)
**Workflows adapt:** automate, framework, test-review, ci, atdd (+ light mention in test-design).
**Knowledge base:** 32 total fragments (21 core patterns + 11 playwright-utils)
</details>
## High-Level Cheat Sheets
These cheat sheets map TEA workflows to the **BMad Method and Enterprise tracks** across the **4-Phase Methodology** (Phase 1: Analysis, Phase 2: Planning, Phase 3: Solutioning, Phase 4: Implementation).
**Note:** Quick Flow projects typically don't require TEA (covered in Overview). These cheat sheets focus on BMad Method and Enterprise tracks where TEA adds value.
**Legend for Track Deltas:**
- = New workflow or phase added (doesn't exist in baseline)
- 🔄 = Modified focus (same workflow, different emphasis or purpose)
- 📦 = Additional output or archival requirement
### Greenfield - BMad Method (Simple/Standard Work)
**Planning Track:** BMad Method (PRD + Architecture)
**Use Case:** New projects with standard complexity
| Workflow Stage | Test Architect | Dev / Team | Outputs |
| -------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| **Phase 1**: Discovery | - | Analyst `*product-brief` (optional) | `product-brief.md` |
| **Phase 2**: Planning | - | PM `*prd` (creates PRD with FRs/NFRs) | PRD with functional/non-functional requirements |
| **Phase 3**: Solutioning | Run `*framework`, `*ci` AFTER architecture and epic creation | Architect `*architecture`, `*create-epics-and-stories`, `*implementation-readiness` | Architecture, epics/stories, test scaffold, CI pipeline |
| **Phase 4**: Sprint Start | - | SM `*sprint-planning` | Sprint status file with all epics and stories |
| **Phase 4**: Epic Planning | Run `*test-design` for THIS epic (per-epic test plan) | Review epic scope | `test-design-epic-N.md` with risk assessment and test plan |
| **Phase 4**: Story Dev | (Optional) `*atdd` before dev, then `*automate` after | SM `*create-story`, DEV implements | Tests, story implementation |
| **Phase 4**: Story Review | Execute `*test-review` (optional), re-run `*trace` | Address recommendations, update code/tests | Quality report, refreshed coverage matrix |
| **Phase 4**: Release Gate | (Optional) `*test-review` for final audit, Run `*trace` (Phase 2) | Confirm Definition of Done, share release notes | Quality audit, Gate YAML + release summary |
<details>
<summary>Execution Notes</summary>
- Run `*framework` only once per repo or when modern harness support is missing.
- **Phase 3 (Solutioning)**: After architecture is complete, run `*framework` and `*ci` to setup test infrastructure based on architectural decisions.
- **Phase 4 starts**: After solutioning is complete, sprint planning loads all epics.
- **`*test-design` runs per-epic**: At the beginning of working on each epic, run `*test-design` to create a test plan for THAT specific epic/feature. Output: `test-design-epic-N.md`.
- Use `*atdd` before coding when the team can adopt ATDD; share its checklist with the dev agent.
- Post-implementation, keep `*trace` current, expand coverage with `*automate`, optionally review test quality with `*test-review`. For release gate, run `*trace` with Phase 2 enabled to get deployment decision.
- Use `*test-review` after `*atdd` to validate generated tests, after `*automate` to ensure regression quality, or before gate for final audit.
- Clarification: `*test-review` is optional and only audits existing tests; run it after `*atdd` or `*automate` when you want a quality review, not as a required step.
- Clarification: `*atdd` outputs are not auto-consumed; share the ATDD doc/tests with the dev workflow. `*trace` does not run `*atdd`—it evaluates existing artifacts for coverage and gate readiness.
- Clarification: `*ci` is a one-time setup; recommended early (Phase 3 or before feature work), but it can be done later if it was skipped.
</details>
<details>
<summary>Worked Example “Nova CRM” Greenfield Feature</summary>
1. **Planning (Phase 2):** Analyst runs `*product-brief`; PM executes `*prd` to produce PRD with FRs/NFRs.
2. **Solutioning (Phase 3):** Architect completes `*architecture` for the new module; `*create-epics-and-stories` generates epics/stories based on architecture; TEA sets up test infrastructure via `*framework` and `*ci` based on architectural decisions; gate check validates planning completeness.
3. **Sprint Start (Phase 4):** Scrum Master runs `*sprint-planning` to load all epics into sprint status.
4. **Epic 1 Planning (Phase 4):** TEA runs `*test-design` to create test plan for Epic 1, producing `test-design-epic-1.md` with risk assessment.
5. **Story Implementation (Phase 4):** For each story in Epic 1, SM generates story via `*create-story`; TEA optionally runs `*atdd`; Dev implements with guidance from failing tests.
6. **Post-Dev (Phase 4):** TEA runs `*automate`, optionally `*test-review` to audit test quality, re-runs `*trace` to refresh coverage.
7. **Release Gate:** TEA runs `*trace` with Phase 2 enabled to generate gate decision.
</details>
### Brownfield - BMad Method or Enterprise (Simple or Complex)
**Planning Tracks:** BMad Method or Enterprise Method
**Use Case:** Existing codebases - simple additions (BMad Method) or complex enterprise requirements (Enterprise Method)
**🔄 Brownfield Deltas from Greenfield:**
- Documentation (Prerequisite) - Document existing codebase if undocumented
- Phase 2: `*trace` - Baseline existing test coverage before planning
- 🔄 Phase 4: `*test-design` - Focus on regression hotspots and brownfield risks
- 🔄 Phase 4: Story Review - May include `*nfr-assess` if not done earlier
| Workflow Stage | Test Architect | Dev / Team | Outputs |
| --------------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| **Documentation**: Prerequisite | - | Analyst `*document-project` (if undocumented) | Comprehensive project documentation |
| **Phase 1**: Discovery | - | Analyst/PM/Architect rerun planning workflows | Updated planning artifacts in `{output_folder}` |
| **Phase 2**: Planning | Run `*trace` (baseline coverage) | PM `*prd` (creates PRD with FRs/NFRs) | PRD with FRs/NFRs, coverage baseline |
| **Phase 3**: Solutioning | Run `*framework`, `*ci` AFTER architecture and epic creation | Architect `*architecture`, `*create-epics-and-stories`, `*implementation-readiness` | Architecture, epics/stories, test framework, CI pipeline |
| **Phase 4**: Sprint Start | - | SM `*sprint-planning` | Sprint status file with all epics and stories |
| **Phase 4**: Epic Planning | Run `*test-design` for THIS epic 🔄 (regression hotspots) | Review epic scope and brownfield risks | `test-design-epic-N.md` with brownfield risk assessment and mitigation |
| **Phase 4**: Story Dev | (Optional) `*atdd` before dev, then `*automate` after | SM `*create-story`, DEV implements | Tests, story implementation |
| **Phase 4**: Story Review | Apply `*test-review` (optional), re-run `*trace`, `*nfr-assess` if needed | Resolve gaps, update docs/tests | Quality report, refreshed coverage matrix, NFR report |
| **Phase 4**: Release Gate | (Optional) `*test-review` for final audit, Run `*trace` (Phase 2) | Capture sign-offs, share release notes | Quality audit, Gate YAML + release summary |
<details>
<summary>Execution Notes</summary>
- Lead with `*trace` during Planning (Phase 2) to baseline existing test coverage before architecture work begins.
- **Phase 3 (Solutioning)**: After architecture is complete, run `*framework` and `*ci` to modernize test infrastructure. For brownfield, framework may need to integrate with or replace existing test setup.
- **Phase 4 starts**: After solutioning is complete and sprint planning loads all epics.
- **`*test-design` runs per-epic**: At the beginning of working on each epic, run `*test-design` to identify regression hotspots, integration risks, and mitigation strategies for THAT specific epic/feature. Output: `test-design-epic-N.md`.
- Use `*atdd` when stories benefit from ATDD; otherwise proceed to implementation and rely on post-dev automation.
- After development, expand coverage with `*automate`, optionally review test quality with `*test-review`, re-run `*trace` (Phase 2 for gate decision). Run `*nfr-assess` now if non-functional risks weren't addressed earlier.
- Use `*test-review` to validate existing brownfield tests or audit new tests before gate.
</details>
<details>
<summary>Worked Example “Atlas Payments” Brownfield Story</summary>
1. **Planning (Phase 2):** PM executes `*prd` to create PRD with FRs/NFRs; TEA runs `*trace` to baseline existing coverage.
2. **Solutioning (Phase 3):** Architect triggers `*architecture` capturing legacy payment flows and integration architecture; `*create-epics-and-stories` generates Epic 1 (Payment Processing) based on architecture; TEA sets up `*framework` and `*ci` based on architectural decisions; gate check validates planning.
3. **Sprint Start (Phase 4):** Scrum Master runs `*sprint-planning` to load Epic 1 into sprint status.
4. **Epic 1 Planning (Phase 4):** TEA runs `*test-design` for Epic 1 (Payment Processing), producing `test-design-epic-1.md` that flags settlement edge cases, regression hotspots, and mitigation plans.
5. **Story Implementation (Phase 4):** For each story in Epic 1, SM generates story via `*create-story`; TEA runs `*atdd` producing failing Playwright specs; Dev implements with guidance from tests and checklist.
6. **Post-Dev (Phase 4):** TEA applies `*automate`, optionally `*test-review` to audit test quality, re-runs `*trace` to refresh coverage.
7. **Release Gate:** TEA performs `*nfr-assess` to validate SLAs, runs `*trace` with Phase 2 enabled to generate gate decision (PASS/CONCERNS/FAIL).
</details>
### Greenfield - Enterprise Method (Enterprise/Compliance Work)
**Planning Track:** Enterprise Method (BMad Method + extended security/devops/test strategies)
**Use Case:** New enterprise projects with compliance, security, or complex regulatory requirements
**🏢 Enterprise Deltas from BMad Method:**
- Phase 1: `*research` - Domain and compliance research (recommended)
- Phase 2: `*nfr-assess` - Capture NFR requirements early (security/performance/reliability)
- 🔄 Phase 4: `*test-design` - Enterprise focus (compliance, security architecture alignment)
- 📦 Release Gate - Archive artifacts and compliance evidence for audits
| Workflow Stage | Test Architect | Dev / Team | Outputs |
| -------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| **Phase 1**: Discovery | - | Analyst `*research`, `*product-brief` | Domain research, compliance analysis, product brief |
| **Phase 2**: Planning | Run `*nfr-assess` | PM `*prd` (creates PRD with FRs/NFRs), UX `*create-ux-design` | Enterprise PRD with FRs/NFRs, UX design, NFR documentation |
| **Phase 3**: Solutioning | Run `*framework`, `*ci` AFTER architecture and epic creation | Architect `*architecture`, `*create-epics-and-stories`, `*implementation-readiness` | Architecture, epics/stories, test framework, CI pipeline |
| **Phase 4**: Sprint Start | - | SM `*sprint-planning` | Sprint plan with all epics |
| **Phase 4**: Epic Planning | Run `*test-design` for THIS epic 🔄 (compliance focus) | Review epic scope and compliance requirements | `test-design-epic-N.md` with security/performance/compliance focus |
| **Phase 4**: Story Dev | (Optional) `*atdd`, `*automate`, `*test-review`, `*trace` per story | SM `*create-story`, DEV implements | Tests, fixtures, quality reports, coverage matrices |
| **Phase 4**: Release Gate | Final `*test-review` audit, Run `*trace` (Phase 2), 📦 archive artifacts | Capture sign-offs, 📦 compliance evidence | Quality audit, updated assessments, gate YAML, 📦 audit trail |
<details>
<summary>Execution Notes</summary>
- `*nfr-assess` runs early in Planning (Phase 2) to capture compliance, security, and performance requirements upfront.
- **Phase 3 (Solutioning)**: After architecture is complete, run `*framework` and `*ci` with enterprise-grade configurations (selective testing, burn-in jobs, caching, notifications).
- **Phase 4 starts**: After solutioning is complete and sprint planning loads all epics.
- **`*test-design` runs per-epic**: At the beginning of working on each epic, run `*test-design` to create an enterprise-focused test plan for THAT specific epic, ensuring alignment with security architecture, performance targets, and compliance requirements. Output: `test-design-epic-N.md`.
- Use `*atdd` for stories when feasible so acceptance tests can lead implementation.
- Use `*test-review` per story or sprint to maintain quality standards and ensure compliance with testing best practices.
- Prior to release, rerun coverage (`*trace`, `*automate`), perform final quality audit with `*test-review`, and formalize the decision with `*trace` Phase 2 (gate decision); archive artifacts for compliance audits.
</details>
<details>
<summary>Worked Example “Helios Ledger” Enterprise Release</summary>
1. **Planning (Phase 2):** Analyst runs `*research` and `*product-brief`; PM completes `*prd` creating PRD with FRs/NFRs; TEA runs `*nfr-assess` to establish NFR targets.
2. **Solutioning (Phase 3):** Architect completes `*architecture` with enterprise considerations; `*create-epics-and-stories` generates epics/stories based on architecture; TEA sets up `*framework` and `*ci` with enterprise-grade configurations based on architectural decisions; gate check validates planning completeness.
3. **Sprint Start (Phase 4):** Scrum Master runs `*sprint-planning` to load all epics into sprint status.
4. **Per-Epic (Phase 4):** For each epic, TEA runs `*test-design` to create epic-specific test plan (e.g., `test-design-epic-1.md`, `test-design-epic-2.md`) with compliance-focused risk assessment.
5. **Per-Story (Phase 4):** For each story, TEA uses `*atdd`, `*automate`, `*test-review`, and `*trace`; Dev teams iterate on the findings.
6. **Release Gate:** TEA re-checks coverage, performs final quality audit with `*test-review`, and logs the final gate decision via `*trace` Phase 2, archiving artifacts for compliance.
</details>
## Command Catalog
<details>
<summary><strong>Optional Playwright MCP Enhancements</strong></summary>
**Two Playwright MCP servers** (actively maintained, continuously updated):
- `playwright` - Browser automation (`npx @playwright/mcp@latest`)
- `playwright-test` - Test runner with failure analysis (`npx playwright run-test-mcp-server`)
**How MCP Enhances TEA Workflows**:
MCP provides additional capabilities on top of TEA's default AI-based approach:
1. `*test-design`:
- Default: Analysis + documentation
- **+ MCP**: Interactive UI discovery with `browser_navigate`, `browser_click`, `browser_snapshot`, behavior observation
Benefit: Discover actual functionality, edge cases, undocumented features
2. `*atdd`, `*automate`:
- Default: Infers selectors and interactions from requirements and knowledge fragments
- **+ MCP**: Generates tests **then** verifies with `generator_setup_page`, `browser_*` tools, validates against live app
Benefit: Accurate selectors from real DOM, verified behavior, refined test code
3. `*automate`:
- Default: Pattern-based fixes from error messages + knowledge fragments
- **+ MCP**: Pattern fixes **enhanced with** `browser_snapshot`, `browser_console_messages`, `browser_network_requests`, `browser_generate_locator`
Benefit: Visual failure context, live DOM inspection, root cause discovery
**Config example**:
```json
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
},
"playwright-test": {
"command": "npx",
"args": ["playwright", "run-test-mcp-server"]
}
}
}
```
**To disable**: Set `tea_use_mcp_enhancements: false` in `_bmad/bmm/config.yaml` OR remove MCPs from IDE config.
</details>
<details>
<summary><strong>Optional Playwright Utils Integration</strong></summary>
**Open-source Playwright utilities** from SEON Technologies (production-tested, npm published):
- **Package**: `@seontechnologies/playwright-utils` ([npm](https://www.npmjs.com/package/@seontechnologies/playwright-utils) | [GitHub](https://github.com/seontechnologies/playwright-utils))
- **Install**: `npm install -D @seontechnologies/playwright-utils`
**How Playwright Utils Enhances TEA Workflows**:
Provides fixture-based utilities that integrate into TEA's test generation and review workflows:
1. `*framework`:
- Default: Basic Playwright scaffold
- **+ playwright-utils**: Scaffold with api-request, network-recorder, auth-session, burn-in, network-error-monitor fixtures pre-configured
Benefit: Production-ready patterns from day one
2. `*automate`, `*atdd`:
- Default: Standard test patterns
- **+ playwright-utils**: Tests using api-request (schema validation), intercept-network-call (mocking), recurse (polling), log (structured logging), file-utils (CSV/PDF)
Benefit: Advanced patterns without boilerplate
3. `*test-review`:
- Default: Reviews against core knowledge base (21 fragments)
- **+ playwright-utils**: Reviews against expanded knowledge base (32 fragments: 21 core + 11 playwright-utils)
Benefit: Reviews include fixture composition, auth patterns, network recording best practices
4. `*ci`:
- Default: Standard CI workflow
- **+ playwright-utils**: CI workflow with burn-in script (smart test selection) and network-error-monitor integration
Benefit: Faster CI feedback, HTTP error detection
**Utilities available** (11 total): api-request, network-recorder, auth-session, intercept-network-call, recurse, log, file-utils, burn-in, network-error-monitor, fixtures-composition
**Enable during BMAD installation** by answering "Yes" when prompted, or manually set `tea_use_playwright_utils: true` in `_bmad/bmm/config.yaml`.
**To disable**: Set `tea_use_playwright_utils: false` in `_bmad/bmm/config.yaml`.
</details>
<br></br>
| Command | Primary Outputs | Notes | With Playwright MCP Enhancements |
| -------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `*framework` | Playwright/Cypress scaffold, `.env.example`, `.nvmrc`, sample specs | Use when no production-ready harness exists | - |
| `*ci` | CI workflow, selective test scripts, secrets checklist | Platform-aware (GitHub Actions default) | - |
| `*test-design` | Combined risk assessment, mitigation plan, and coverage strategy | Risk scoring + optional exploratory mode | **+ Exploratory**: Interactive UI discovery with browser automation (uncover actual functionality) |
| `*atdd` | Failing acceptance tests + implementation checklist | TDD red phase + optional recording mode | **+ Recording**: AI generation verified with live browser (accurate selectors from real DOM) |
| `*automate` | Prioritized specs, fixtures, README/script updates, DoD summary | Optional healing/recording, avoid duplicate coverage | **+ Healing**: Pattern fixes enhanced with visual debugging + **+ Recording**: AI verified with live browser |
| `*test-review` | Test quality review report with 0-100 score, violations, fixes | Reviews tests against knowledge base patterns | - |
| `*nfr-assess` | NFR assessment report with actions | Focus on security/performance/reliability | - |
| `*trace` | Phase 1: Coverage matrix, recommendations. Phase 2: Gate decision (PASS/CONCERNS/FAIL/WAIVED) | Two-phase workflow: traceability + gate decision | - |

View File

@@ -1,3 +0,0 @@
# BMM Troubleshooting Guide
Common issues and solutions for the BMad Method Module will be listed here as needed.

View File

@@ -1,71 +0,0 @@
# Document Project Workflow - Technical Reference
**Module:** BMM (BMAD Method Module)
## Purpose
Analyzes and documents brownfield projects by scanning codebase, architecture, and patterns to create comprehensive reference documentation for AI-assisted development. Generates a master index and multiple documentation files tailored to project structure and type.
## How to Invoke
```bash
/bmad:bmm:workflows:document-project
```
---
## Scan Levels
Choose the right scan depth for your needs:
### 1. Quick Scan (Default)
**What it does:** Pattern-based analysis without reading source files
**Reads:** Config files, package manifests, directory structure, README
**Use when:**
- You need a fast project overview
- Initial understanding of project structure
- Planning next steps before deeper analysis
**Does NOT read:** Source code files (`_.js`, `_.ts`, `_.py`, `_.go`, etc.)
### 2. Deep Scan
**What it does:** Reads files in critical directories based on project type
**Reads:** Files in critical paths defined by documentation requirements
**Use when:**
- Creating comprehensive documentation for brownfield PRD
- Need detailed analysis of key areas
- Want balance between depth and speed
**Example:** For a web app, reads controllers/, models/, components/, but not every utility file
### 3. Exhaustive Scan
**What it does:** Reads ALL source files in project
**Reads:** Every source file (excludes node_modules, dist, build, .git)
**Use when:**
- Complete project analysis needed
- Migration planning requires full understanding
- Detailed audit of entire codebase
- Deep technical debt assessment
**Note:** Deep-dive mode ALWAYS uses exhaustive scan (no choice)
---
## Resumability
The workflow can be interrupted and resumed without losing progress:
- **State Tracking:** Progress saved in `project-scan-report.json`
- **Auto-Detection:** Workflow detects incomplete runs (<24 hours old)
- **Resume Prompt:** Choose to resume or start fresh
- **Step-by-Step:** Resume from exact step where interrupted
- **Archiving:** Old state files automatically archived
**Related Documentation:**
- [Brownfield Development Guide](./brownfield-guide.md)
- [Implementation Workflows](./workflows-implementation.md)

View File

@@ -1,199 +0,0 @@
# BMM Analysis Workflows (Phase 1)
## Overview
Phase 1 (Analysis) workflows are **optional** exploration and discovery tools that help validate ideas, understand markets, and generate strategic context before planning begins.
**Key principle:** Analysis workflows help you think strategically before committing to implementation. Skip them if your requirements are already clear.
**When to use:** Starting new projects, exploring opportunities, validating market fit, generating ideas, understanding problem spaces.
**When to skip:** Continuing existing projects with clear requirements, well-defined features with known solutions, strict constraints where discovery is complete.
---
## Phase 1 Analysis Workflow Overview
Phase 1 Analysis consists of three categories of optional workflows:
### Discovery & Ideation (Optional)
- **brainstorm-project** - Multi-track solution exploration for software projects
### Research & Validation (Optional)
- **research** - Market, technical, competitive, user, domain, and AI research
- **domain-research** - Industry-specific deep dive research
### Strategic Capture (Recommended for Greenfield)
- **product-brief** - Product vision and strategy definition
These workflows feed into Phase 2 (Planning) workflows, particularly the `prd` workflow.
---
## Quick Reference
| Workflow | Agent | Required | Purpose | Output |
| ---------------------- | ------- | ----------- | -------------------------------------------------------------- | ---------------------------- |
| **brainstorm-project** | Analyst | No | Explore solution approaches and architectures | Solution options + rationale |
| **research** | Analyst | No | Multi-type research (market/technical/competitive/user/domain) | Research reports |
| **product-brief** | Analyst | Recommended | Define product vision and strategy (interactive) | Product Brief document |
---
## Workflow Descriptions
### brainstorm-project
**Purpose:** Generate multiple solution approaches through parallel ideation tracks (architecture, UX, integration, value).
**Agent:** Analyst
**When to Use:**
- Very vague or seed kernal of an idea that needs exploration
- Consider alternatives or enhancements to an idea
- See your idea from different angles and viewpoints
- No idea what you want to build, but want to find some inspiration
---
### research
**Purpose:** Comprehensive multi-type research system consolidating market, technical, competitive, user, and domain analysis.
**Agent:** Analyst
**Research Types:**
| Type | Purpose | Use When |
| --------------- | ------------------------------------------------------ | ----------------------------------- |
| **market** | TAM/SAM/SOM, competitive analysis | Need market viability validation |
| **technical** | Technology evaluation, ADRs | Choosing frameworks/platforms |
| **competitive** | Deep competitor analysis | Understanding competitive landscape |
| **user** | Customer insights, personas, JTBD | Need user understanding |
| **domain** | Industry deep dives, trends | Understanding domain/industry |
| **deep_prompt** | Generate AI research prompts (ChatGPT, Claude, Gemini) | Need deeper AI-assisted research |
**Key Features:**
- Real-time web research
- Multiple analytical frameworks (Porter's Five Forces, SWOT, Technology Adoption Lifecycle)
- Platform-specific optimization for deep_prompt type
- Configurable research depth (quick/standard/comprehensive)
**Example (market):** "SaaS project management tool" → TAM $50B, SAM $5B, SOM $50M, top competitors (Asana, Monday), positioning recommendation.
---
### product-brief
**Purpose:** Interactive product brief creation that guides strategic product vision definition.
**Agent:** Analyst
**When to Use:**
- Starting new product/major feature initiative
- Aligning stakeholders before detailed planning
- Transitioning from exploration to strategy
- Need executive-level product documentation
**Key Outputs:**
- Executive summary
- Problem statement with evidence
- Proposed solution and differentiators
- Target users (segmented)
- MVP scope (ruthlessly defined)
- Financial impact and ROI
- Strategic alignment
- Risks and open questions
**Integration:** Feeds directly into PRD workflow (Phase 2).
---
## Decision Guide
### Starting a Software Project
```
brainstorm-project (if unclear) → research (market/technical) → product-brief → Phase 2 (prd)
```
### Validating an Idea
```
research (market type) → product-brief → Phase 2
```
### Technical Decision Only
```
research (technical type) → Use findings in Phase 3 (architecture)
```
### Understanding Market
```
research (market/competitive type) → product-brief → Phase 2
```
### Domain Research for Complex Industries
```
domain-research → research (compliance/regulatory) → product-brief → Phase 2
```
---
## Integration with Phase 2 (Planning)
Analysis outputs feed directly into Planning:
| Analysis Output | Planning Input |
| --------------------------- | -------------------------- |
| product-brief.md | **prd** workflow |
| market-research.md | **prd** context |
| domain-research.md | **prd** context |
| technical-research.md | **architecture** (Phase 3) |
| competitive-intelligence.md | **prd** positioning |
Planning workflows automatically load these documents if they exist in the output folder.
## Common Patterns
### Greenfield Software (Full Analysis)
```
1. brainstorm-project - explore approaches
2. research (market/technical/domain) - validate viability
3. product-brief - capture strategic vision
4. → Phase 2: prd
```
### Skip Analysis (Clear Requirements)
```
→ Phase 2: prd or tech-spec directly
```
### Technical Research Only
```
1. research (technical) - evaluate technologies
2. → Phase 3: architecture (use findings in ADRs)
```
---
## Related Documentation
- [Phase 2: Planning Workflows](../../../../docs/modules/bmm-bmad-method/workflows-planning.md) - Next phase
- [Phase 3: Solutioning Workflows](../../../../docs/modules/bmm-bmad-method/workflows-solutioning.md)
- [Phase 4: Implementation Workflows](../../../../docs/modules/bmm-bmad-method/workflows-implementation.md)
- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding project complexity
- [Agents Guide](../../../../docs/modules/bmm-bmad-method/agents-guide.md) - Complete agent reference

View File

@@ -1,210 +0,0 @@
# BMM Implementation Workflows (Phase 4)
## Overview
Phase 4 (Implementation) workflows manage the iterative sprint-based development cycle using a **story-centric workflow** where each story moves through a defined lifecycle from creation to completion.
**Key principle:** One story at a time, move it through the entire lifecycle before starting the next.
---
## Complete Workflow Context
Phase 4 is the final phase of the BMad Method workflow. To see how implementation fits into the complete methodology:
The BMad Method consists of four phases working in sequence:
1. **Phase 1 (Analysis)** - Optional exploration and discovery workflows
2. **Phase 2 (Planning)** - Required requirements definition using scale-adaptive system
3. **Phase 3 (Solutioning)** - Technical architecture and design decisions
4. **Phase 4 (Implementation)** - Iterative sprint-based development with story-centric workflow
Phase 4 focuses on the iterative epic and story cycles where stories are implemented, reviewed, and completed one at a time.
For a visual representation of the complete workflow, see: [workflow-method-greenfield.excalidraw](./images/workflow-method-greenfield.excalidraw)
---
## Quick Reference
| Workflow | Agent | When | Purpose |
| ------------------- | ----- | --------------------- | ------------------------------------- |
| **sprint-planning** | SM | Once at Phase 4 start | Initialize sprint tracking file |
| **create-story** | SM | Per story | Create next story from epic backlog |
| **dev-story** | DEV | Per story | Implement story with tests |
| **code-review** | DEV | Per story | Senior dev quality review |
| **retrospective** | SM | After epic complete | Review lessons and extract insights |
| **correct-course** | SM | When issues arise | Handle significant mid-sprint changes |
---
## Agent Roles
### SM (Scrum Master) - Primary Implementation Orchestrator
**Workflows:** sprint-planning, create-story, retrospective, correct-course
**Responsibilities:**
- Initialize and maintain sprint tracking
- Create stories from epic backlog
- Handle course corrections when issues arise
- Facilitate retrospectives after epic completion
- Orchestrate overall implementation flow
### DEV (Developer) - Implementation and Quality
**Workflows:** dev-story, code-review
**Responsibilities:**
- Implement stories with tests
- Perform senior developer code reviews
- Ensure quality and adherence to standards
- Complete story implementation lifecycle
---
## Story Lifecycle States
Stories move through these states in the sprint status file:
1. **TODO** - Story identified but not started
2. **IN PROGRESS** - Story being implemented (create-story → dev-story)
3. **READY FOR REVIEW** - Implementation complete, awaiting code review
4. **DONE** - Accepted and complete
---
## Typical Sprint Flow
### Sprint 0 (Planning Phase)
- Complete Phases 1-3 (Analysis, Planning, Solutioning)
- PRD/GDD + Architecture complete
- **V6: Epics+Stories created via create-epics-and-stories workflow (runs AFTER architecture)**
### Sprint 1+ (Implementation Phase)
**Start of Phase 4:**
1. SM runs `sprint-planning` (once)
**Per Epic:**
- Epic context and stories are already prepared from Phase 3
**Per Story (repeat until epic complete):**
1. SM runs `create-story`
2. DEV runs `dev-story`
3. DEV runs `code-review`
4. If code review fails: DEV fixes issues in `dev-story`, then re-runs `code-review`
**After Epic Complete:**
- SM runs `retrospective`
- Move to next epic
**As Needed:**
- Run `sprint-status` anytime in Phase 4 to inspect sprint-status.yaml and get the next implementation command
- Run `workflow-status` for cross-phase routing and project-level paths
- Run `correct-course` if significant changes needed
---
## Key Principles
### One Story at a Time
Complete each story's full lifecycle before starting the next. This prevents context switching and ensures quality.
### Quality Gates
Every story goes through `code-review` before being marked done. No exceptions.
### Continuous Tracking
The `sprint-status.yaml` file is the single source of truth for all implementation progress.
---
### (BMad Method / Enterprise)
```
PRD (PM) → Architecture (Architect)
→ create-epics-and-stories (PM) ← V6: After architecture!
→ implementation-readiness (Architect)
→ sprint-planning (SM, once)
→ [Per Epic]:
→ story loop (SM/DEV)
→ retrospective (SM)
→ [Next Epic]
Current Phase: 4 (Implementation)
Current Epic: Epic 1 (Authentication)
Current Sprint: Sprint 1
Next Story: Story 1.3 (Email Verification)
Status: TODO
Dependencies: Story 1.2 (DONE) ✅
**Recommendation:** Run `create-story` to generate Story 1.3
After create-story:
1. Run dev-story
2. Run code-review
3. Update sprint-status.yaml to mark story done
```
See: [workflow-status instructions](../workflows/workflow-status/instructions.md)
---
### document-project
**Purpose:** Analyze and document brownfield projects by scanning codebase, architecture, and patterns.
**Agent:** Analyst
**Duration:** 1-3 hours
**When to Use:** Brownfield projects without documentation
**How It Works:**
1. Scans codebase structure
2. Identifies architecture patterns
3. Documents technology stack
4. Creates reference documentation
5. Generates PRD-like document from existing code
**Output:** `project-documentation-{date}.md`
**When to Run:**
- Before starting work on legacy project
- When inheriting undocumented codebase
- Creating onboarding documentation
See: [document-project reference](./workflow-document-project-reference.md)
## Related Documentation
- [Phase 1: Analysis Workflows](./workflows-analysis.md)
- [Phase 2: Planning Workflows](./workflows-planning.md)
- [Phase 3: Solutioning Workflows](./workflows-solutioning.md)
## Troubleshooting
**Q: Which workflow should I run next?**
A: Run `workflow-status` - it reads the sprint status file and tells you exactly what to do. During implementation (Phase 4) run `sprint-status` (fast check against sprint-status.yaml).
**Q: Story needs significant changes mid-implementation?**
A: Run `correct-course` to analyze impact and route appropriately.
**Q: Can I work on multiple stories in parallel?**
A: Not recommended. Complete one story's full lifecycle before starting the next. Prevents context switching and ensures quality.
**Q: What if code review finds issues?**
A: DEV runs `dev-story` to make fixes, re-runs tests, then runs `code-review` again until it passes.
_Phase 4 Implementation - One story at a time, done right._

View File

@@ -1,89 +0,0 @@
# BMM Planning Workflows (Phase 2)
## Phase 2 Planning Workflow Overview
## Quick Reference
| Workflow | Agent | Track | Purpose |
| -------------------- | ----------- | ----------------------- | ------------------------------------- |
| **prd** | PM | BMad Method, Enterprise | Strategic PRD with FRs/NFRs |
| **create-ux-design** | UX Designer | BMad Method, Enterprise | Optional UX specification (after PRD) |
### prd (Product Requirements Document)
**Purpose:** Strategic PRD with Functional Requirements (FRs) and Non-Functional Requirements (NFRs) for software products (BMad Method track).
**Agent:** PM (with Architect and Analyst support)
**When to Use:**
- Medium to large feature sets
- Multi-screen user experiences
- Complex business logic
- Multiple system integrations
- Phased delivery required
**Scale-Adaptive Structure:**
- **Light:** Focused FRs/NFRs, simplified analysis (10-15 pages)
- **Standard:** Comprehensive FRs/NFRs, thorough analysis (20-30 pages)
- **Comprehensive:** Extensive FRs/NFRs, multi-phase, stakeholder analysis (30-50+ pages)
**Key Outputs:**
- PRD.md (complete requirements with FRs and NFRs)
**Note:** V6 improvement - PRD focuses on WHAT to build (requirements). Epic+Stories are created AFTER architecture via `create-epics-and-stories` workflow for better quality.
**Integration:** Feeds into Architecture (Phase 3)
**Example:** E-commerce checkout → PRD with 15 FRs (user account, cart management, payment flow) and 8 NFRs (performance, security, scalability).
---
### create-ux-design (UX Design)
**Purpose:** UX specification for projects where user experience is the primary differentiator (BMad Method track).
**Agent:** UX Designer
**When to Use:**
- UX is primary competitive advantage
- Complex user workflows needing design thinking
- Innovative interaction patterns
- Design system creation
- Accessibility-critical experiences
**Collaborative Approach:**
1. Visual exploration (generate multiple options)
2. Informed decisions (evaluate with user needs)
3. Collaborative design (refine iteratively)
4. Living documentation (evolves with project)
**Key Outputs:**
- ux-spec.md (complete UX specification)
- User journeys
- Wireframes and mockups
- Interaction specifications
- Design system (components, patterns, tokens)
- Epic breakdown (UX stories)
**Integration:** Feeds PRD or updates epics, then Architecture (Phase 3)
**Example:** Dashboard redesign → Card-based layout with split-pane toggle, 5 card components, 12 color tokens, responsive grid, 3 epics (Layout, Visualization, Accessibility).
## Best Practices
### 1. Do Product Brief from Phase 1 to kickstart the PRD for better results
### 2. Focus on "What" Not "How"
Planning defines **what** to build and **why**. Leave **how** (technical design) to Phase 3 (Solutioning).
### 3. Document-Project First for Brownfield
Always run `document-project` before planning brownfield projects. AI agents need existing codebase context and will make a large quality difference. If you are adding a small addition to an existing project, you might want to consider instead after using document-project to use the quick flow solo dev process instead.

View File

@@ -1,509 +0,0 @@
# BMM Solutioning Workflows (Phase 3)
## Overview
Phase 3 (Solutioning) workflows translate **what** to build (from Planning) into **how** to build it (technical design). This phase prevents agent conflicts in multi-epic projects by documenting architectural decisions before implementation begins.
**Key principle:** Make technical decisions explicit and documented so all agents implement consistently. Prevent one agent choosing REST while another chooses GraphQL.
**Required for:** BMad Method (complex projects), Enterprise Method
**Optional for:** BMad Method (simple projects), Quick Flow (skip entirely)
---
## Phase 3 Solutioning Workflow Overview
Phase 3 Solutioning has different paths based on the planning track selected:
### Quick Flow Path
- From Planning: tech-spec complete
- Action: Skip Phase 3 entirely
- Next: Phase 4 (Implementation)
### BMad Method & Enterprise Path
- From Planning: PRD with FRs/NFRs complete
- Optional: create-ux-design (if UX is critical)
- Required: architecture - System design with ADRs
- Required: create-epics-and-stories - Break requirements into implementable stories
- Required: implementation-readiness - Gate check validation
- Enterprise additions: Optional security-architecture and devops-strategy (future workflows)
### Gate Check Results
- **PASS** - All criteria met, proceed to Phase 4
- **CONCERNS** - Minor gaps identified, proceed with caution
- **FAIL** - Critical issues, must resolve before Phase 4
---
## Quick Reference
| Workflow | Agent | Track | Purpose |
| ---------------------------- | ----------- | ------------------------ | -------------------------------------------- |
| **create-ux-design** | UX Designer | BMad Method, Enterprise | Optional UX design (after PRD, before arch) |
| **architecture** | Architect | BMad Method, Enterprise | Technical architecture and design decisions |
| **create-epics-and-stories** | PM | BMad Method, Enterprise | Break FRs/NFRs into epics after architecture |
| **implementation-readiness** | Architect | BMad Complex, Enterprise | Validate planning/solutioning completeness |
**When to Skip Solutioning:**
- **Quick Flow:** Simple changes don't need architecture → Skip to Phase 4
**When Solutioning is Required:**
- **BMad Method:** Multi-epic projects need architecture to prevent conflicts
- **Enterprise:** Same as BMad Method, plus optional extended workflows (test architecture, security architecture, devops strategy) added AFTER architecture but BEFORE gate check
---
## Why Solutioning Matters
### The Problem Without Solutioning
```
Agent 1 implements Epic 1 using REST API
Agent 2 implements Epic 2 using GraphQL
Result: Inconsistent API design, integration nightmare
```
### The Solution With Solutioning
```
architecture workflow decides: "Use GraphQL for all APIs"
All agents follow architecture decisions
Result: Consistent implementation, no conflicts
```
### Solutioning vs Planning
| Aspect | Planning (Phase 2) | Solutioning (Phase 3) |
| -------- | ----------------------- | --------------------------------- |
| Question | What and Why? | How? Then What units of work? |
| Output | FRs/NFRs (Requirements) | Architecture + Epics/Stories |
| Agent | PM | Architect → PM |
| Audience | Stakeholders | Developers |
| Document | PRD (FRs/NFRs) | Architecture + Epic Files |
| Level | Business logic | Technical design + Work breakdown |
---
## Workflow Descriptions
### architecture
**Purpose:** Make technical decisions explicit to prevent agent conflicts. Produces decision-focused architecture document optimized for AI consistency.
**Agent:** Architect
**When to Use:**
- Multi-epic projects (BMad Complex, Enterprise)
- Cross-cutting technical concerns
- Multiple agents implementing different parts
- Integration complexity exists
- Technology choices need alignment
**When to Skip:**
- Quick Flow (simple changes)
- BMad Method Simple with straightforward tech stack
- Single epic with clear technical approach
**Adaptive Conversation Approach:**
This is NOT a template filler. The architecture workflow:
1. **Discovers** technical needs through conversation
2. **Proposes** architectural options with trade-offs
3. **Documents** decisions that prevent agent conflicts
4. **Focuses** on decision points, not exhaustive documentation
**Key Outputs:**
**architecture.md** containing:
1. **Architecture Overview** - System context, principles, style
2. **System Architecture** - High-level diagram, component interactions, communication patterns
3. **Data Architecture** - Database design, state management, caching, data flow
4. **API Architecture** - API style (REST/GraphQL/gRPC), auth, versioning, error handling
5. **Frontend Architecture** (if applicable) - Framework, state management, component architecture, routing
6. **Integration Architecture** - Third-party integrations, message queuing, event-driven patterns
7. **Security Architecture** - Auth/authorization, data protection, security boundaries
8. **Deployment Architecture** - Deployment model, CI/CD, environment strategy, monitoring
9. **Architecture Decision Records (ADRs)** - Key decisions with context, options, trade-offs, rationale
10. **FR/NFR-Specific Guidance** - Technical approach per functional requirement, implementation priorities, dependencies
11. **Standards and Conventions** - Directory structure, naming conventions, code organization, testing
**ADR Format (Brief):**
```markdown
## ADR-001: Use GraphQL for All APIs
**Status:** Accepted | **Date:** 2025-11-02
**Context:** PRD requires flexible querying across multiple epics
**Decision:** Use GraphQL for all client-server communication
**Options Considered:**
1. REST - Familiar but requires multiple endpoints
2. GraphQL - Flexible querying, learning curve
3. gRPC - High performance, poor browser support
**Rationale:**
- PRD requires flexible data fetching (Epic 1, 3)
- Mobile app needs bandwidth optimization (Epic 2)
- Team has GraphQL experience
**Consequences:**
- Positive: Flexible querying, reduced versioning
- Negative: Caching complexity, N+1 query risk
- Mitigation: Use DataLoader for batching
**Implications for FRs:**
- FR-001: User Management → GraphQL mutations
- FR-002: Mobile App → Optimized queries
```
**Example:** E-commerce platform → Monolith + PostgreSQL + Redis + Next.js + GraphQL, with ADRs explaining each choice and FR/NFR-specific guidance.
**Integration:** Feeds into create-epics-and-stories workflow. Architecture provides the technical context needed for breaking FRs/NFRs into implementable epics and stories. All dev agents reference architecture during Phase 4 implementation.
---
### create-epics-and-stories
**Purpose:** Transform PRD's functional and non-functional requirements into bite-sized stories organized into deliverable functional epics. This workflow runs AFTER architecture so epics/stories are informed by technical decisions.
**Agent:** PM (Product Manager)
**When to Use:**
- After architecture workflow completes
- When PRD contains FRs/NFRs ready for implementation breakdown
- Before implementation-readiness gate check
**Key Inputs:**
- PRD (FRs/NFRs) from Phase 2 Planning
- architecture.md with ADRs and technical decisions
- Optional: UX design artifacts
**Why After Architecture:**
The create-epics-and-stories workflow runs AFTER architecture because:
1. **Informed Story Sizing:** Architecture decisions (database choice, API style, etc.) affect story complexity
2. **Dependency Awareness:** Architecture reveals technical dependencies between stories
3. **Technical Feasibility:** Stories can be properly scoped knowing the tech stack
4. **Consistency:** All stories align with documented architectural patterns
**Key Outputs:**
Epic files (one per epic) containing:
1. Epic objective and scope
2. User stories with acceptance criteria
3. Story priorities (P0/P1/P2/P3)
4. Dependencies between stories
5. Technical notes referencing architecture decisions
**Example:** E-commerce PRD with FR-001 (User Registration), FR-002 (Product Catalog) → Epic 1: User Management (3 stories), Epic 2: Product Display (4 stories), each story referencing relevant ADRs.
---
### implementation-readiness
**Purpose:** Systematically validate that planning and solutioning are complete and aligned before Phase 4 implementation. Ensures PRD, architecture, and epics are cohesive with no gaps.
**Agent:** Architect
**When to Use:**
- **Always** before Phase 4 for BMad Complex and Enterprise projects
- After create-epics-and-stories workflow completes
- Before sprint-planning workflow
- When stakeholders request readiness check
**When to Skip:**
- Quick Flow (no solutioning)
- BMad Simple (no gate check required)
**Purpose of Gate Check:**
**Prevents:**
- ❌ Architecture doesn't address all FRs/NFRs
- ❌ Epics conflict with architecture decisions
- ❌ Requirements ambiguous or contradictory
- ❌ Missing critical dependencies
**Ensures:**
- ✅ PRD → Architecture → Epics alignment
- ✅ All epics have clear technical approach
- ✅ No contradictions or gaps
- ✅ Team ready to implement
**Check Criteria:**
**PRD/GDD Completeness:**
- Problem statement clear and evidence-based
- Success metrics defined
- User personas identified
- Functional requirements (FRs) complete
- Non-functional requirements (NFRs) specified
- Risks and assumptions documented
**Architecture Completeness:**
- System architecture defined
- Data architecture specified
- API architecture decided
- Key ADRs documented
- Security architecture addressed
- FR/NFR-specific guidance provided
- Standards and conventions defined
**Epic/Story Completeness:**
- All PRD features mapped to stories
- Stories have acceptance criteria
- Stories prioritized (P0/P1/P2/P3)
- Dependencies identified
- Story sequencing logical
**Alignment Checks:**
- Architecture addresses all PRD FRs/NFRs
- Epics align with architecture decisions
- No contradictions between epics
- NFRs have technical approach
- Integration points clear
**Gate Decision Logic:**
**✅ PASS**
- All critical criteria met
- Minor gaps acceptable with documented plan
- **Action:** Proceed to Phase 4
**⚠️ CONCERNS**
- Some criteria not met but not blockers
- Gaps identified with clear resolution path
- **Action:** Proceed with caution, address gaps in parallel
**❌ FAIL**
- Critical gaps or contradictions
- Architecture missing key decisions
- Epics conflict with PRD/architecture
- **Action:** BLOCK Phase 4, resolve issues first
**Key Outputs:**
**implementation-readiness.md** containing:
1. Executive Summary (PASS/CONCERNS/FAIL)
2. Completeness Assessment (scores for PRD, Architecture, Epics)
3. Alignment Assessment (PRD↔Architecture, Architecture↔Epics/Stories, cross-epic consistency)
4. Quality Assessment (story quality, dependencies, risks)
5. Gaps and Recommendations (critical/minor gaps, remediation)
6. Gate Decision with rationale
7. Next Steps
**Example:** E-commerce platform → CONCERNS ⚠️ due to missing security architecture and undefined payment gateway. Recommendation: Complete security section and add payment gateway ADR before proceeding.
---
## Integration with Planning and Implementation
### Planning → Solutioning Flow
**Quick Flow:**
```
Planning (tech-spec by PM)
→ Skip Solutioning
→ Phase 4 (Implementation)
```
**BMad Method:**
```
Planning (prd by PM - FRs/NFRs only)
→ Optional: create-ux-design (UX Designer)
→ architecture (Architect)
→ create-epics-and-stories (PM)
→ implementation-readiness (Architect)
→ Phase 4 (Implementation)
```
**Enterprise:**
```
Planning (prd by PM - FRs/NFRs only)
→ Optional: create-ux-design (UX Designer)
→ architecture (Architect)
→ Optional: security-architecture (Architect, future)
→ Optional: devops-strategy (Architect, future)
→ create-epics-and-stories (PM)
→ implementation-readiness (Architect)
→ Phase 4 (Implementation)
```
**Note on TEA (Test Architect):** TEA is fully operational with 8 workflows across all phases. TEA validates architecture testability during Phase 3 reviews but does not have a dedicated solutioning workflow. TEA's primary setup occurs after architecture in Phase 3 (`*framework`, `*ci`, system-level `*test-design`), with optional Phase 2 baseline `*trace`. Testing execution happens in Phase 4 (`*atdd`, `*automate`, `*test-review`, `*trace`, `*nfr-assess`).
**Note:** Enterprise uses the same planning and architecture as BMad Method. The only difference is optional extended workflows added AFTER architecture but BEFORE create-epics-and-stories.
### Solutioning → Implementation Handoff
**Documents Produced:**
1. **architecture.md** → Guides all dev agents during implementation
2. **ADRs** (in architecture) → Referenced by agents for technical decisions
3. **Epic files** (from create-epics-and-stories) → Work breakdown into implementable units
4. **implementation-readiness.md** → Confirms readiness for Phase 4
**How Implementation Uses Solutioning:**
- **sprint-planning** - Loads architecture and epic files for sprint organization
- **dev-story** - References architecture decisions and ADRs
- **code-review** - Validates code follows architectural standards
---
## Best Practices
### 1. Make Decisions Explicit
Don't leave technology choices implicit. Document decisions with rationale in ADRs so agents understand context.
### 2. Focus on Agent Conflicts
Architecture's primary job is preventing conflicting implementations. Focus on cross-cutting concerns.
### 3. Use ADRs for Key Decisions
Every significant technology choice should have an ADR explaining "why", not just "what".
### 4. Keep It Practical
Don't over-architect simple projects. BMad Simple projects need simple architecture.
### 5. Run Gate Check Before Implementation
Catching alignment issues in solutioning is 10× faster than discovering them mid-implementation.
### 6. Iterate Architecture
Architecture documents are living. Update them as you learn during implementation.
---
## Decision Guide
### Quick Flow
- **Planning:** tech-spec (PM)
- **Solutioning:** Skip entirely
- **Implementation:** sprint-planning → dev-story
### BMad Method
- **Planning:** prd (PM) - creates FRs/NFRs only, NOT epics
- **Solutioning:** Optional UX → architecture (Architect) → create-epics-and-stories (PM) → implementation-readiness (Architect)
- **Implementation:** sprint-planning → create-story → dev-story
### Enterprise
- **Planning:** prd (PM) - creates FRs/NFRs only (same as BMad Method)
- **Solutioning:** Optional UX → architecture (Architect) → Optional extended workflows (security-architecture, devops-strategy) → create-epics-and-stories (PM) → implementation-readiness (Architect)
- **Implementation:** sprint-planning → create-story → dev-story
**Key Difference:** Enterprise adds optional extended workflows AFTER architecture but BEFORE create-epics-and-stories. Everything else is identical to BMad Method.
**Note:** TEA (Test Architect) operates across all phases and validates architecture testability but is not a Phase 3-specific workflow. See [Test Architecture Guide](../../../../docs/modules/bmm-bmad-method/test-architecture.md) for TEA's full lifecycle integration.
---
## Common Anti-Patterns
### ❌ Skipping Architecture for Complex Projects
"Architecture slows us down, let's just start coding."
**Result:** Agent conflicts, inconsistent design, massive rework
### ❌ Over-Engineering Simple Projects
"Let me design this simple feature like a distributed system."
**Result:** Wasted time, over-engineering, analysis paralysis
### ❌ Template-Driven Architecture
"Fill out every section of this architecture template."
**Result:** Documentation theater, no real decisions made
### ❌ Skipping Gate Check
"PRD and architecture look good enough, let's start."
**Result:** Gaps discovered mid-sprint, wasted implementation time
### ✅ Correct Approach
- Use architecture for BMad Method and Enterprise (both required)
- Focus on decisions, not documentation volume
- Enterprise: Add optional extended workflows (test/security/devops) after architecture
- Always run gate check before implementation
---
## Related Documentation
- [Phase 2: Planning Workflows](../../../../docs/modules/bmm-bmad-method/workflows-planning.md) - Previous phase
- [Phase 4: Implementation Workflows](../../../../docs/modules/bmm-bmad-method/workflows-implementation.md) - Next phase
- [Scale Adaptive System](./scale-adaptive-system.md) - Understanding tracks
- [Agents Guide](../../../../docs/modules/bmm-bmad-method/agents-guide.md) - Complete agent reference
---
## Troubleshooting
**Q: Do I always need architecture?**
A: No. Quick Flow skips it. BMad Method and Enterprise both require it.
**Q: How do I know if I need architecture?**
A: If you chose BMad Method or Enterprise track in planning (workflow-init), you need architecture to prevent agent conflicts.
**Q: What's the difference between architecture and tech-spec?**
A: Tech-spec is implementation-focused for simple changes. Architecture is system design for complex multi-epic projects.
**Q: Can I skip gate check?**
A: Only for Quick Flow. BMad Method and Enterprise both require gate check before Phase 4.
**Q: What if gate check fails?**
A: Resolve the identified gaps (missing architecture sections, conflicting requirements) and re-run gate check.
**Q: How long should architecture take?**
A: BMad Method: 1-2 days for architecture. Enterprise: 2-3 days total (1-2 days architecture + 0.5-1 day optional extended workflows). If taking longer, you may be over-documenting.
**Q: Do ADRs need to be perfect?**
A: No. ADRs capture key decisions with rationale. They should be concise (1 page max per ADR).
**Q: Can I update architecture during implementation?**
A: Yes! Architecture is living. Update it as you learn. Use `correct-course` workflow for significant changes.
---
_Phase 3 Solutioning - Technical decisions before implementation._

View File

@@ -1,149 +0,0 @@
# CIS - Creative Intelligence Suite
AI-powered creative facilitation transforming strategic thinking through expert coaching across five specialized domains.
## Table of Contents
- [Core Capabilities](#core-capabilities)
- [Specialized Agents](#specialized-agents)
- [Interactive Workflows](#interactive-workflows)
- [Quick Start](#quick-start)
- [Key Differentiators](#key-differentiators)
- [Configuration](#configuration)
## Core Capabilities
CIS provides structured creative methodologies through distinctive agent personas who act as master facilitators, drawing out insights through strategic questioning rather than generating solutions directly.
## Specialized Agents
- **Carson** - Brainstorming Specialist (energetic facilitator)
- **Maya** - Design Thinking Maestro (jazz-like improviser)
- **Dr. Quinn** - Problem Solver (detective-scientist hybrid)
- **Victor** - Innovation Oracle (bold strategic precision)
- **Sophia** - Master Storyteller (whimsical narrator)
## Interactive Workflows
[View all workflows →](../workflows/README.md)
**5 Workflows** with **150+ Creative Techniques:**
### Brainstorming
36 techniques across 7 categories for ideation
- Divergent/convergent thinking
- Lateral connections
- Forced associations
### Design Thinking
Complete 5-phase human-centered process
- Empathize → Define → Ideate → Prototype → Test
- User journey mapping
- Rapid iteration
### Problem Solving
Systematic root cause analysis
- 5 Whys, Fishbone diagrams
- Solution generation
- Impact assessment
### Innovation Strategy
Business model disruption
- Blue Ocean Strategy
- Jobs-to-be-Done
- Disruptive innovation patterns
### Storytelling
25 narrative frameworks
- Hero's Journey
- Story circles
- Compelling pitch structures
## Quick Start
### Direct Workflow
```bash
# Start interactive session
workflow brainstorming
# With context document
workflow design-thinking --data /path/to/context.md
```
### Agent-Facilitated
```bash
# Load agent
agent cis/brainstorming-coach
# Start workflow
> *brainstorm
```
## Key Differentiators
- **Facilitation Over Generation** - Guides discovery through questions
- **Energy-Aware Sessions** - Adapts to engagement levels
- **Context Integration** - Domain-specific guidance support
- **Persona-Driven** - Unique communication styles
- **Rich Method Libraries** - 150+ proven techniques
## Configuration
Edit `/_bmad/cis/config.yaml`:
```yaml
output_folder: ./creative-outputs
user_name: Your Name
communication_language: english
```
## Module Structure
```
cis/
├── agents/ # 5 specialized facilitators
├── workflows/ # 5 interactive processes
│ ├── brainstorming/
│ ├── design-thinking/
│ ├── innovation-strategy/
│ ├── problem-solving/
│ └── storytelling/
├── tasks/ # Supporting operations
└── teams/ # Agent collaborations
```
## Integration Points
CIS workflows integrate with:
- **BMM** - Powers project brainstorming
- **BMB** - Creative module design
- **Custom Modules** - Shared creative resource
## Best Practices
1. **Set clear objectives** before starting sessions
2. **Provide context documents** for domain relevance
3. **Trust the process** - Let facilitation guide you
4. **Take breaks** when energy flags
5. **Document insights** as they emerge
## Related Documentation
- **[BMM Documentation](../../bmm/docs/index.md)** - Core BMad Method documentation
---
Part of BMad Method v6.0 - Transform creative potential through expert AI facilitation.

View File

@@ -1,105 +0,0 @@
# Advanced Elicitation
**Push the LLM to rethink its work through 50+ reasoning methods—essentially, LLM brainstorming.**
Advanced Elicitation is the inverse of Brainstorming. Instead of pulling ideas out of you, the LLM applies sophisticated reasoning techniques to re-examine and enhance content it has just generated. It's the LLM brainstorming with itself to find better approaches, uncover hidden issues, and discover improvements it missed on the first pass.
---
## When to Use It
- After a workflow generates a section of content and you want to explore alternatives
- When the LLM's initial output seems adequate but you suspect there's more depth available
- For high-stakes content where multiple perspectives would strengthen the result
- To stress-test assumptions, explore edge cases, or find weaknesses in generated plans
- When you want the LLM to "think again" but with structured reasoning methods
---
## How It Works
### 1. Context Analysis
The LLM analyzes the current content, understanding its type, complexity, stakeholder needs, risk level, and creative potential.
### 2. Smart Method Selection
Based on context, 5 methods are intelligently selected from a library of 50+ techniques and presented to you:
| Option | Description |
| ----------------- | ---------------------------------------- |
| **1-5** | Apply the selected method to the content |
| **[r] Reshuffle** | Get 5 new methods selected randomly |
| **[a] List All** | Browse the complete method library |
| **[x] Proceed** | Continue with enhanced content |
### 3. Method Execution & Iteration
- The selected method is applied to the current content
- Improvements are shown for your review
- You choose whether to apply changes or discard them
- The menu re-appears for additional elicitations
- Each method builds on previous enhancements
### 4. Party Mode Integration (Optional)
If Party Mode is active, BMAD agents participate randomly in the elicitation process, adding their unique perspectives to the methods.
---
## Method Categories
| Category | Focus | Example Methods |
| ----------------- | ----------------------------------- | -------------------------------------------------------------- |
| **Core** | Foundational reasoning techniques | First Principles Analysis, 5 Whys, Socratic Questioning |
| **Collaboration** | Multiple perspectives and synthesis | Stakeholder Round Table, Expert Panel Review, Debate Club |
| **Advanced** | Complex reasoning frameworks | Tree of Thoughts, Graph of Thoughts, Self-Consistency |
| **Competitive** | Adversarial stress-testing | Red Team vs Blue Team, Shark Tank Pitch, Code Review Gauntlet |
| **Technical** | Architecture and code quality | Decision Records, Rubber Duck Debugging, Algorithm Olympics |
| **Creative** | Innovation and lateral thinking | SCAMPER, Reverse Engineering, Random Input Stimulus |
| **Research** | Evidence-based analysis | Literature Review Personas, Thesis Defense, Comparative Matrix |
| **Risk** | Risk identification and mitigation | Pre-mortem Analysis, Failure Mode Analysis, Chaos Monkey |
| **Learning** | Understanding verification | Feynman Technique, Active Recall Testing |
| **Philosophical** | Conceptual clarity | Occam's Razor, Ethical Dilemmas |
| **Retrospective** | Reflection and lessons | Hindsight Reflection, Lessons Learned Extraction |
---
## Key Features
- **50+ reasoning methods** — Spanning core logic to advanced multi-step reasoning frameworks
- **Smart context selection** — Methods chosen based on content type, complexity, and stakeholder needs
- **Iterative enhancement** — Each method builds on previous improvements
- **User control** — Accept or discard each enhancement before proceeding
- **Party Mode integration** — Agents can participate when Party Mode is active
---
## Workflow Integration
Advanced Elicitation is a core workflow designed to be invoked by other workflows during content generation:
| Parameter | Description |
| ---------------------- | --------------------------------------------------------- |
| **Content to enhance** | The current section content that was just generated |
| **Context type** | The kind of content being created (spec, code, doc, etc.) |
| **Enhancement goals** | What the calling workflow wants to improve |
### Integration Flow
When called from a workflow:
1. Receives the current section content that was just generated
2. Applies elicitation methods iteratively to enhance that content
3. Returns the enhanced version when user selects 'x' to proceed
4. The enhanced content replaces the original section in the output document
### Example
A specification generation workflow could invoke Advanced Elicitation after producing each major section (requirements, architecture, implementation plan). The workflow would pass the generated section, and Advanced Elicitation would offer methods like "Stakeholder Round Table" to gather diverse perspectives on requirements, or "Red Team vs Blue Team" to stress-test the architecture for vulnerabilities.
---
## Advanced Elicitation vs. Brainstorming
| | **Advanced Elicitation** | **Brainstorming** |
| ------------ | ------------------------------------------------- | --------------------------------------------- |
| **Source** | LLM generates ideas through structured reasoning | User provides ideas, AI coaches them out |
| **Purpose** | Rethink and improve LLM's own output | Unlock user's creativity |
| **Methods** | 50+ reasoning and analysis techniques | 60+ ideation and creativity techniques |
| **Best for** | Enhancing generated content, finding alternatives | Breaking through blocks, generating new ideas |

View File

@@ -1,100 +0,0 @@
# Brainstorming
**Facilitate structured creative sessions using 60+ proven ideation techniques.**
The Brainstorming workflow is an interactive facilitation system that helps you unlock your own creativity. The AI acts as coach, guide, and creative partner—using proven techniques to draw out ideas and insights that are already within you.
**Important:** Every idea comes from you. The workflow creates the conditions for your best thinking to emerge through guided exploration, but you are the source.
---
## When to Use It
- Breaking through creative blocks on a specific challenge
- Generating innovative ideas for products, features, or solutions
- Exploring a problem from completely new angles
- Systematically developing ideas from raw concepts to actionable plans
- Team ideation (with collaborative techniques) or personal creative exploration
---
## How It Works
### 1. Session Setup
Define your topic, goals, and any constraints.
### 2. Choose Your Approach
| Approach | Description |
|----------|-------------|
| **User-Selected** | Browse the full technique library and pick what appeals to you |
| **AI-Recommended** | Get customized technique suggestions based on your goals |
| **Random Selection** | Discover unexpected methods through serendipitous technique combinations |
| **Progressive Flow** | Journey systematically from expansive exploration to focused action planning |
### 3. Interactive Facilitation
Work through techniques with true collaborative coaching. The AI asks probing questions, builds on your ideas, and helps you think deeper—but your ideas are the source.
### 4. Idea Organization
All your generated ideas are organized into themes and prioritized.
### 5. Action Planning
Top ideas get concrete next steps, resource requirements, and success metrics.
---
## What You Get
A comprehensive session document that captures the entire journey:
- Topic, goals, and session parameters
- Each technique used and how it was applied
- Your contributions and the ideas you generated
- Thematic organization connecting related insights
- Prioritized ideas with action plans
- Session highlights and key breakthroughs
This document becomes a permanent record of your creative process—valuable for future reference, sharing with stakeholders, or continuing the session later.
---
## Technique Categories
| Category | Focus |
|----------|-------|
| **Collaborative** | Team dynamics and inclusive participation |
| **Creative** | Breakthrough thinking and paradigm shifts |
| **Deep** | Root cause analysis and strategic insight |
| **Structured** | Organized frameworks and systematic exploration |
| **Theatrical** | Playful, radical perspectives |
| **Wild** | Boundary-pushing, extreme thinking |
| **Biomimetic** | Nature-inspired solutions |
| **Quantum** | Quantum principles for innovation |
| **Cultural** | Traditional knowledge and cross-cultural approaches |
| **Introspective Delight** | Inner wisdom and authentic exploration |
---
## Key Features
- **Interactive coaching** — Pulls ideas *out* of you, doesn't generate them for you
- **On-demand loading** — Techniques loaded from a comprehensive library as needed
- **Session preservation** — Every step, insight, and action plan is documented
- **Continuation support** — Pause sessions and return later, or extend with additional techniques
---
## Workflow Integration
Brainstorming is a core workflow designed to be invoked and configured by other modules. When called from another workflow, it accepts contextual parameters:
| Parameter | Description |
|-----------|-------------|
| **Topic focus** | What the brainstorming should help discover or solve |
| **Guardrails** | Constraints, boundaries, or must-avoid areas |
| **Output goals** | What the final output needs to accomplish for the calling workflow |
| **Context files** | Project-specific guidance to inform technique selection |
### Example
When creating a new module in the BMad Builder workflow, Brainstorming can be invoked with guardrails around the module's purpose and a goal to discover key features, user needs, or architectural considerations. The session becomes focused on producing exactly what the module creation workflow needs.

View File

@@ -1,64 +0,0 @@
# Core Tasks
Core Tasks are reusable task definitions that can be invoked by any BMAD module, workflow, or agent. These tasks provide standardized functionality for common operations.
## Table of Contents
- [Index Docs](#index-docs) — Generate directory index files
- [Adversarial Review](#adversarial-review-general) — Critical content review
- [Shard Document](#shard-document) — Split large documents into sections
---
## Index Docs
**Generates or updates an index.md file documenting all documents in a specified directory.**
This task scans a target directory, reads file contents to understand their purpose, and creates a well-organized index with accurate descriptions. Files are grouped by type, purpose, or subdirectory, and descriptions are generated from actual content rather than guessing from filenames.
**Use it when:** You need to create navigable documentation for a folder of markdown files, or you want to maintain an updated index as content evolves.
**How it works:**
1. Scan the target directory for files and subdirectories
2. Group content by type, purpose, or location
3. Read each file to generate brief (3-10 word) descriptions based on actual content
4. Create or update index.md with organized listings using relative paths
**Output format:** A markdown index with sections for Files and Subdirectories, each entry containing a relative link and description.
---
## Adversarial Review (General)
**Performs a cynical, skeptical review of any content to identify issues and improvement opportunities.**
This task applies adversarial thinking to content review—approaching the material with the assumption that problems exist. It's designed to find what's missing, not just what's wrong, and produces at least ten specific findings. The reviewer adopts a professional but skeptical tone, looking for gaps, inconsistencies, oversights, and areas that need clarification.
**Use it when:** You need a critical eye on code diffs, specifications, user stories, documentation, or any artifact before finalizing. It's particularly valuable before merging code, releasing documentation, or considering a specification complete.
**How it works:**
1. Load the content to review (diff, branch, uncommitted changes, document, etc.)
2. Perform adversarial analysis with extreme skepticism—assume problems exist
3. Find at least ten issues to fix or improve
4. Output findings as a markdown list
**Note:** This task is designed to run in a separate subagent/process with read access to the project but no prior context, ensuring an unbiased review.
---
## Shard Document
**Splits large markdown documents into smaller, organized files based on level 2 (##) sections.**
Uses the `@kayvan/markdown-tree-parser` tool to automatically break down large documents into a folder structure. Each level 2 heading becomes a separate file, and an index.md is generated to tie everything together. This makes large documents more maintainable and allows for easier navigation and updates to individual sections.
**Use it when:** A markdown file has grown too large to effectively work with, or you want to break a monolithic document into manageable sections that can be edited independently.
**How it works:**
1. Confirm source document path and verify it's a markdown file
2. Determine destination folder (defaults to same location as source, folder named after document)
3. Execute the sharding command using npx @kayvan/markdown-tree-parser
4. Verify output files and index.md were created
5. Handle the original document—delete, move to archive, or keep with warning
**Handling the original:** After sharding, the task prompts you to delete, archive, or keep the original document. Deleting or archiving is recommended to avoid confusion and ensure updates happen in the sharded files only.

View File

@@ -1,30 +0,0 @@
# Core Workflows
Core Workflows are domain-agnostic workflows that can be utilized by any BMAD-compliant module, workflow, or agent. These workflows are installed by default and available at any time.
## Available Core Workflows
### [Party Mode](party-mode.md)
Orchestrate dynamic multi-agent conversations with your entire BMAD team. Engage with multiple specialized perspectives simultaneously—each agent maintaining their unique personality, expertise, and communication style.
### [Brainstorming](brainstorming.md)
Facilitate structured creative sessions using 60+ proven ideation techniques. The AI acts as coach and guide, using proven creativity methods to draw out ideas and insights that are already within you.
### [Advanced Elicitation](advanced-elicitation.md)
Push the LLM to rethink its work through 50+ reasoning methods—the inverse of brainstorming. The LLM applies sophisticated techniques to re-examine and enhance content it has just generated, essentially "LLM brainstorming" to find better approaches and uncover improvements.
---
## Workflow Integration
Core Workflows are designed to be invoked and configured by other modules. When called from another workflow, they accept contextual parameters to customize the session:
- **Topic focus** — Direct the session toward a specific domain or question
- **Additional personas** (Party Mode) — Inject expert agents into the roster at runtime
- **Guardrails** (Brainstorming) — Set constraints and boundaries for ideation
- **Output goals** — Define what the final output needs to accomplish
This allows modules to leverage these workflows' capabilities while maintaining focus on their specific domain and objectives.

View File

@@ -1,11 +0,0 @@
# Core Module Global Inheritable Config
The Core Modules module.yaml file defines configuration values that are useful and unique for all other modules to utilize, and by default all other modules installed will clone the values defined in the core module yaml.config into their own. It is possible for other modules to override these values, but the general intent it to accept the core module values and define their own values as needed, or extend the core values.
Currently, the core module.yaml config will define (asking the user upon installation, and recording to the core module config.yaml):
- `user_name`: string (defaults to the system defined user name)
- `communication_language`: string (defaults to english)
- `document_output_language`: string (defaults to english)
- `output_folder`: string (default `_bmad-output`)
An example of extending one of these values, in the BMad Method module.yaml it defines a planning_artifacts config, which will default to `default: "{output_folder}/planning-artifacts"` thus whatever the output_folder will be, this extended versions default will use the value from this core module and append a new folder onto it. The user can choose to replace this without utilizing the output_folder from the core if they so chose.

View File

@@ -1,15 +0,0 @@
# Core Module
The Core Module is installed with all installations of BMAD modules and provides common functionality that any module, workflow, or agent can take advantage of.
## Core Module Components
- **[Global Core Config](global-core-config.md)** — Inheritable configuration that impacts all modules and custom content
- **[Core Workflows](core-workflows.md)** — Domain-agnostic workflows usable by any module
- [Party Mode](party-mode.md) — Multi-agent conversation orchestration
- [Brainstorming](brainstorming.md) — Structured creative sessions with 60+ techniques
- [Advanced Elicitation](advanced-elicitation.md) — LLM rethinking with 50+ reasoning methods
- **[Core Tasks](core-tasks.md)** — Common tasks available across modules
- [Index Docs](core-tasks.md#index-docs) — Generate directory index files
- [Adversarial Review](core-tasks.md#adversarial-review-general) — Critical content review
- [Shard Document](core-tasks.md#shard-document) — Split large documents into sections

View File

@@ -1,50 +0,0 @@
# Party Mode
**Orchestrate dynamic multi-agent conversations with your entire BMAD team.**
Party Mode brings together all your installed BMAD agents for collaborative discussions. Instead of working with a single agent, you can engage with multiple specialized perspectives simultaneously—each agent maintaining their unique personality, expertise, and communication style.
---
## When to Use It
- Exploring complex topics that would benefit from diverse expert perspectives
- Brainstorming with agents who can build on each other's ideas
- Getting a comprehensive view across multiple domains (technical, business, creative, strategic)
- Enjoying dynamic, agent-to-agent conversations where experts challenge and complement each other
---
## How It Works
1. Party Mode loads your complete agent roster and introduces the available team members
2. You present a topic or question
3. The facilitator intelligently selects 2-3 most relevant agents based on expertise needed
4. Agents respond in character, can reference each other, and engage in natural cross-talk
5. The conversation continues until you choose to exit
---
## Key Features
- **Intelligent agent selection** — The system analyzes your topic and selects the most relevant agents based on their expertise, capabilities, and principles
- **Authentic personalities** — Each agent maintains their unique voice, communication style, and domain knowledge throughout the conversation
- **Natural cross-talk** — Agents can reference each other, build on previous points, ask questions, and even respectfully disagree
- **Optional TTS integration** — Each agent response can be read aloud with voice configurations matching their personalities
- **Graceful exit** — Sessions conclude with personalized farewells from participating agents
---
## Workflow Integration
Party Mode is a core workflow designed to be invoked and configured by other modules. When called from another workflow, it accepts contextual parameters:
| Parameter | Description |
|-----------|-------------|
| **Topic focus** | Prebias the discussion toward a specific domain or question |
| **Additional personas** | Inject expert agents into the roster at runtime for specialized perspectives |
| **Participation constraints** | Limit which agents can contribute based on relevance |
### Example
A medical module workflow could invoke Party Mode with expert doctor personas added to the roster, and the conversation pre-focused on a specific diagnosis or treatment decision. The agents would then discuss the medical case with appropriate domain expertise while maintaining their distinct personalities and perspectives.

View File

@@ -0,0 +1,83 @@
---
title: "Workflow Map"
description: Visual reference for BMad Method workflow phases and outputs
---
The BMad Method (BMM) is a module in the BMad Ecosystem, targeted at following the best practices of context engineering and planning. AI agents work best with clear, structured context. The BMM system builds that context progressively across 4 distinct phases - each phase, and multiple workflows optionally within each phase, produce documents that inform the next, so agents always know what to build and why.
The rationale and concepts come from agile methodologies that have been used across the industry with great success as a mental framework.
If at anytime you are unsure what to do, the `/bmad-help` command will help you stay on track or know what to do next. You can always refer to this for reference also - but /bmad-help is fully interactive and much quicker if you have already installed the BMadMethod. Additionally, if you are using different modules that have extended the BMad Method or added other complimentary non extension modules - the /bmad-help evolves to know all that is available to give you the best in the moment advice.
Final important note: Every workflow below can be run directly with your tool of choice via slash command or by loading an agent first and using the entry from the agents menu.
<iframe src="/workflow-map-diagram.html" width="100%" height="100%" frameborder="0" style="border-radius: 8px; border: 1px solid #334155; min-height: 900px;"></iframe>
*[Interactive diagram - hover over outputs to see artifact flows]*
## Phase 1: Analysis (Optional)
Explore the problem space and validate ideas before committing to planning.
| Workflow | Purpose | Produces |
| ---------------------- | -------------------------------------------------------------------------- | ------------------------- |
| `brainstorm` | Brainstorm Project Ideas with guided facilitation of a brainstorming coach | `brainstorming-report.md` |
| `research` | Validate market, technical, or domain assumptions | Research findings |
| `create-product-brief` | Capture strategic vision | `product-brief.md` |
## Phase 2: Planning
Define what to build and for whom.
| Workflow | Purpose | Produces |
| ------------------ | ---------------------------------------- | ------------ |
| `create-prd` | Define requirements (FRs/NFRs) | `PRD.md` |
| `create-ux-design` | Design user experience (when UX matters) | `ux-spec.md` |
## Phase 3: Solutioning
Decide how to build it and break work into stories.
| Workflow | Purpose | Produces |
| -------------------------------- | ------------------------------------------ | --------------------------- |
| `create-architecture` | Make technical decisions explicit | `architecture.md` with ADRs |
| `create-epics-and-stories` | Break requirements into implementable work | Epic files with stories |
| `check-implementation-readiness` | Gate check before implementation | PASS/CONCERNS/FAIL decision |
## Phase 4: Implementation
Build it, one story at a time.
| Workflow | Purpose | Produces |
| ----------------- | -------------------------------------- | ----------------------------- |
| `sprint-planning` | Initialize tracking (once per project) | `sprint-status.yaml` |
| `create-story` | Prepare next story for implementation | `story-[slug].md` |
| `dev-story` | Implement the story | Working code + tests |
| `code-review` | Validate implementation quality | Approved or changes requested |
| `correct-course` | Handle significant mid-sprint changes | Updated plan or re-routing |
| `retrospective` | Review after epic completion | Lessons learned |
## Quick Flow (Parallel Track)
Skip phases 1-3 for small, well-understood work.
| Workflow | Purpose | Produces |
| ------------ | ------------------------------------------ | --------------------------------------------- |
| `quick-spec` | Define an ad-hoc change | `tech-spec.md` (story file for small changes) |
| `quick-dev` | Implement from spec or direct instructions | Working code + tests |
## Context Management
Each document becomes context for the next phase. The PRD tells the architect what constraints matter. The architecture tells the dev agent which patterns to follow. Story files give focused, complete context for implementation. Without this structure, agents make inconsistent decisions.
For brownfield projects, `document-project` creates or updates `project-context.md` - what exists in the codebase and the rules all implementation workflows must observe. Run it just before Phase 4, and again when something significant changes - structure, architecture, or those rules. You can also edit `project-context.md` by hand.
All implementation workflows load `project-context.md` if it exists. Additional context per workflow:
| Workflow | Also Loads |
| -------------- | ---------------------------- |
| `create-story` | epics, PRD, architecture, UX |
| `dev-story` | story file |
| `code-review` | architecture, story file |
| `quick-spec` | planning docs (if exist) |
| `quick-dev` | tech-spec |

View File

@@ -0,0 +1,710 @@
---
title: "TEA Engagement Models Explained"
description: Understanding the five ways to use TEA - from standalone to full BMad Method integration
---
# TEA Engagement Models Explained
TEA is optional and flexible. There are five valid ways to engage with TEA - choose intentionally based on your project needs and methodology.
## Overview
**TEA is not mandatory.** Pick the engagement model that fits your context:
1. **No TEA** - Skip all TEA workflows, use existing testing approach
2. **TEA Solo** - Use TEA standalone without BMad Method
3. **TEA Lite** - Beginner approach using just `automate`
4. **TEA Integrated (Greenfield)** - Full BMad Method integration from scratch
5. **TEA Integrated (Brownfield)** - Full BMad Method integration with existing code
## The Problem
### One-Size-Fits-All Doesn't Work
**Traditional testing tools force one approach:**
- Must use entire framework
- All-or-nothing adoption
- No flexibility for different project types
- Teams abandon tool if it doesn't fit
**TEA recognizes:**
- Different projects have different needs
- Different teams have different maturity levels
- Different contexts require different approaches
- Flexibility increases adoption
## The Five Engagement Models
### Model 1: No TEA
**What:** Skip all TEA workflows, use your existing testing approach.
**When to Use:**
- Team has established testing practices
- Quality is already high
- Testing tools already in place
- TEA doesn't add value
**What You Miss:**
- Risk-based test planning
- Systematic quality review
- Gate decisions with evidence
- Knowledge base patterns
**What You Keep:**
- Full control
- Existing tools
- Team expertise
- No learning curve
**Example:**
```
Your team:
- 10-year veteran QA team
- Established testing practices
- High-quality test suite
- No problems to solve
Decision: Skip TEA, keep what works
```
**Verdict:** Valid choice if existing approach works.
---
### Model 2: TEA Solo
**What:** Use TEA workflows standalone without full BMad Method integration.
**When to Use:**
- Non-BMad projects
- Want TEA's quality operating model only
- Don't need full planning workflow
- Bring your own requirements
**Typical Sequence:**
```
1. `test-design` (system or epic)
2. `atdd` or `automate`
3. `test-review` (optional)
4. `trace` (coverage + gate decision)
```
**You Bring:**
- Requirements (user stories, acceptance criteria)
- Development environment
- Project context
**TEA Provides:**
- Risk-based test planning (`test-design`)
- Test generation (`atdd`, `automate`)
- Quality review (`test-review`)
- Coverage traceability (`trace`)
**Optional:**
- Framework setup (`framework`) if needed
- CI configuration (`ci`) if needed
**Example:**
```
Your project:
- Using Scrum (not BMad Method)
- Jira for story management
- Need better test strategy
Workflow:
1. Export stories from Jira
2. Run `test-design` on epic
3. Run `atdd` for each story
4. Implement features
5. Run `trace` for coverage
```
**Verdict:** Best for teams wanting TEA benefits without BMad Method commitment.
---
### Model 3: TEA Lite
**What:** Beginner approach using just `automate` to test existing features.
**When to Use:**
- Learning TEA fundamentals
- Want quick results
- Testing existing application
- No time for full methodology
**Workflow:**
```
1. `framework` (setup test infrastructure)
2. `test-design` (optional, risk assessment)
3. `automate` (generate tests for existing features)
4. Run tests (they pass immediately)
```
**Example:**
```
Beginner developer:
- Never used TEA before
- Want to add tests to existing app
- 30 minutes available
Steps:
1. Run `framework`
2. Run `automate` on TodoMVC demo
3. Tests generated and passing
4. Learn TEA basics
```
**What You Get:**
- Working test framework
- Passing tests for existing features
- Learning experience
- Foundation to expand
**What You Miss:**
- TDD workflow (ATDD)
- Risk-based planning (test-design depth)
- Quality gates (trace Phase 2)
- Full TEA capabilities
**Verdict:** Perfect entry point for beginners.
---
### Model 4: TEA Integrated (Greenfield)
**What:** Full BMad Method integration with TEA workflows across all phases.
**When to Use:**
- New projects starting from scratch
- Using BMad Method or Enterprise track
- Want complete quality operating model
- Testing is critical to success
**Lifecycle:**
**Phase 2: Planning**
- PM creates PRD with NFRs
- (Optional) TEA runs `nfr-assess` (Enterprise only)
**Phase 3: Solutioning**
- Architect creates architecture
- TEA runs `test-design` (system-level) → testability review
- TEA runs `framework` → test infrastructure
- TEA runs `ci` → CI/CD pipeline
- Architect runs `implementation-readiness` (fed by test design)
**Phase 4: Implementation (Per Epic)**
- SM runs `sprint-planning`
- TEA runs `test-design` (epic-level) → risk assessment for THIS epic
- SM creates stories
- (Optional) TEA runs `atdd` → failing tests before dev
- DEV implements story
- TEA runs `automate` → expand coverage
- (Optional) TEA runs `test-review` → quality audit
- TEA runs `trace` Phase 1 → refresh coverage
**Release Gate:**
- (Optional) TEA runs `test-review` → final audit
- (Optional) TEA runs `nfr-assess` → validate NFRs
- TEA runs `trace` Phase 2 → gate decision (PASS/CONCERNS/FAIL/WAIVED)
**What You Get:**
- Complete quality operating model
- Systematic test planning
- Risk-based prioritization
- Evidence-based gate decisions
- Consistent patterns across epics
**Example:**
```
New SaaS product:
- 50 stories across 8 epics
- Security critical
- Need quality gates
Workflow:
- Phase 2: Define NFRs in PRD
- Phase 3: Architecture → test design → framework → CI
- Phase 4: Per epic: test design → ATDD → dev → automate → review → trace
- Gate: NFR assess → trace Phase 2 → decision
```
**Verdict:** Most comprehensive TEA usage, best for structured teams.
---
### Model 5: TEA Integrated (Brownfield)
**What:** Full BMad Method integration with TEA for existing codebases.
**When to Use:**
- Existing codebase with legacy tests
- Want to improve test quality incrementally
- Adding features to existing application
- Need to establish coverage baseline
**Differences from Greenfield:**
**Phase 0: Documentation (if needed)**
```
- Run `document-project`
- Create baseline documentation
```
**Phase 2: Planning**
```
- TEA runs `trace` Phase 1 → establish coverage baseline
- PM creates PRD (with existing system context)
```
**Phase 3: Solutioning**
```
- Architect creates architecture (with brownfield constraints)
- TEA runs `test-design` (system-level) → testability review
- TEA runs `framework` (only if modernizing test infra)
- TEA runs `ci` (update existing CI or create new)
```
**Phase 4: Implementation**
```
- TEA runs `test-design` (epic-level) → focus on REGRESSION HOTSPOTS
- Per story: ATDD → dev → automate
- TEA runs `test-review` → improve legacy test quality
- TEA runs `trace` Phase 1 → track coverage improvement
```
**Brownfield-Specific:**
- Baseline coverage BEFORE planning
- Focus on regression hotspots (bug-prone areas)
- Incremental quality improvement
- Compare coverage to baseline (trending up?)
**Example:**
```
Legacy e-commerce platform:
- 200 existing tests (30% passing, 70% flaky)
- Adding new checkout flow
- Want to improve quality
Workflow:
1. Phase 2: `trace` baseline → 30% coverage
2. Phase 3: `test-design` → identify regression risks
3. Phase 4: Fix top 20 flaky tests + add tests for new checkout
4. Gate: `trace` → 60% coverage (2x improvement)
```
**Verdict:** Best for incrementally improving legacy systems.
---
## Decision Guide: Which Model?
### Quick Decision Tree
```mermaid
%%{init: {'theme':'base', 'themeVariables': { 'fontSize':'14px'}}}%%
flowchart TD
Start([Choose TEA Model]) --> BMad{Using<br/>BMad Method?}
BMad -->|No| NonBMad{Project Type?}
NonBMad -->|Learning| Lite[TEA Lite<br/>Just automate<br/>30 min tutorial]
NonBMad -->|Serious Project| Solo[TEA Solo<br/>Standalone workflows<br/>Full capabilities]
BMad -->|Yes| WantTEA{Want TEA?}
WantTEA -->|No| None[No TEA<br/>Use existing approach<br/>Valid choice]
WantTEA -->|Yes| ProjectType{New or<br/>Existing?}
ProjectType -->|New Project| Green[TEA Integrated<br/>Greenfield<br/>Full lifecycle]
ProjectType -->|Existing Code| Brown[TEA Integrated<br/>Brownfield<br/>Baseline + improve]
Green --> Compliance{Compliance<br/>Needs?}
Compliance -->|Yes| Enterprise[Enterprise Track<br/>NFR + audit trails]
Compliance -->|No| Method[BMad Method Track<br/>Standard quality]
style Lite fill:#bbdefb,stroke:#1565c0,stroke-width:2px
style Solo fill:#c5cae9,stroke:#283593,stroke-width:2px
style None fill:#e0e0e0,stroke:#616161,stroke-width:1px
style Green fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style Brown fill:#fff9c4,stroke:#f57f17,stroke-width:2px
style Enterprise fill:#f3e5f5,stroke:#6a1b9a,stroke-width:2px
style Method fill:#e1f5fe,stroke:#01579b,stroke-width:2px
```
**Decision Path Examples:**
- Learning TEA → TEA Lite (blue)
- Non-BMad project → TEA Solo (purple)
- BMad + new project + compliance → Enterprise (purple)
- BMad + existing code → Brownfield (yellow)
- Don't want TEA → No TEA (gray)
### By Project Type
| Project Type | Recommended Model | Why |
|--------------|------------------|-----|
| **New SaaS product** | TEA Integrated (Greenfield) | Full quality operating model from day one |
| **Existing app + new feature** | TEA Integrated (Brownfield) | Improve incrementally while adding features |
| **Bug fix** | TEA Lite or No TEA | Quick flow, minimal overhead |
| **Learning project** | TEA Lite | Learn basics with immediate results |
| **Non-BMad enterprise** | TEA Solo | Quality model without full methodology |
| **High-quality existing tests** | No TEA | Keep what works |
### By Team Maturity
| Team Maturity | Recommended Model | Why |
|---------------|------------------|-----|
| **Beginners** | TEA Lite → TEA Solo | Learn basics, then expand |
| **Intermediate** | TEA Solo or Integrated | Depends on methodology |
| **Advanced** | TEA Integrated or No TEA | Full model or existing expertise |
### By Compliance Needs
| Compliance | Recommended Model | Why |
|------------|------------------|-----|
| **None** | Any model | Choose based on project needs |
| **Light** (internal audit) | TEA Solo or Integrated | Gate decisions helpful |
| **Heavy** (SOC 2, HIPAA) | TEA Integrated (Enterprise) | NFR assessment mandatory |
## Switching Between Models
### Can Change Models Mid-Project
**Scenario:** Start with TEA Lite, expand to TEA Solo
```
Week 1: TEA Lite
- Run `framework`
- Run `automate`
- Learn basics
Week 2: Expand to TEA Solo
- Add `test-design`
- Use `atdd` for new features
- Add `test-review`
Week 3: Continue expanding
- Add `trace` for coverage
- Setup `ci`
- Full TEA Solo workflow
```
**Benefit:** Start small, expand as comfortable.
### Can Mix Models
**Scenario:** TEA Integrated for main features, No TEA for bug fixes
```
Main features (epics):
- Use full TEA workflow
- Risk assessment, ATDD, quality gates
Bug fixes:
- Skip TEA
- Quick Flow + manual testing
- Move fast
Result: TEA where it adds value, skip where it doesn't
```
**Benefit:** Flexible, pragmatic, not dogmatic.
## Comparison Table
| Aspect | No TEA | TEA Lite | TEA Solo | Integrated (Green) | Integrated (Brown) |
|--------|--------|----------|----------|-------------------|-------------------|
| **BMad Required** | No | No | No | Yes | Yes |
| **Learning Curve** | None | Low | Medium | High | High |
| **Setup Time** | 0 | 30 min | 2 hours | 1 day | 2 days |
| **Workflows Used** | 0 | 2-3 | 4-6 | 8 | 8 |
| **Test Planning** | Manual | Optional | Yes | Systematic | + Regression focus |
| **Quality Gates** | No | No | Optional | Yes | Yes + baseline |
| **NFR Assessment** | No | No | No | Optional | Recommended |
| **Coverage Tracking** | Manual | No | Optional | Yes | Yes + trending |
| **Best For** | Experts | Beginners | Standalone | New projects | Legacy code |
## Real-World Examples
### Example 1: Startup (TEA Lite → TEA Integrated)
**Month 1:** TEA Lite
```
Team: 3 developers, no QA
Testing: Manual only
Decision: Start with TEA Lite
Result:
- Run `framework` (Playwright setup)
- Run `automate` (20 tests generated)
- Learning TEA basics
```
**Month 3:** TEA Solo
```
Team: Growing to 5 developers
Testing: Automated tests exist
Decision: Expand to TEA Solo
Result:
- Add `test-design` (risk assessment)
- Add `atdd` (TDD workflow)
- Add `test-review` (quality audits)
```
**Month 6:** TEA Integrated
```
Team: 8 developers, 1 QA
Testing: Critical to business
Decision: Full BMad Method + TEA Integrated
Result:
- Full lifecycle integration
- Quality gates before releases
- NFR assessment for enterprise customers
```
### Example 2: Enterprise (TEA Integrated - Brownfield)
**Project:** Legacy banking application
**Challenge:**
- 500 existing tests (50% flaky)
- Adding new features
- SOC 2 compliance required
**Model:** TEA Integrated (Brownfield)
**Phase 2:**
```
- `trace` baseline → 45% coverage (lots of gaps)
- Document current state
```
**Phase 3:**
```
- `test-design` (system) → identify regression hotspots
- `framework` → modernize test infrastructure
- `ci` → add selective testing
```
**Phase 4:**
```
Per epic:
- `test-design` → focus on regression + new features
- Fix top 10 flaky tests
- `atdd` for new features
- `automate` for coverage expansion
- `test-review` → track quality improvement
- `trace` → compare to baseline
```
**Result after 6 months:**
- Coverage: 45% → 85%
- Quality score: 52 → 82
- Flakiness: 50% → 2%
- SOC 2 compliant (traceability + NFR evidence)
### Example 3: Consultancy (TEA Solo)
**Context:** Testing consultancy working with multiple clients
**Challenge:**
- Different clients use different methodologies
- Need consistent testing approach
- Not always using BMad Method
**Model:** TEA Solo (bring to any client project)
**Workflow:**
```
Client project 1 (Scrum):
- Import Jira stories
- Run `test-design`
- Generate tests with `atdd`/`automate`
- Deliver quality report with `test-review`
Client project 2 (Kanban):
- Import requirements from Notion
- Same TEA workflow
- Consistent quality across clients
Client project 3 (Ad-hoc):
- Document requirements manually
- Same TEA workflow
- Same patterns, different context
```
**Benefit:** Consistent testing approach regardless of client methodology.
## Choosing Your Model
### Start Here Questions
**Question 1:** Are you using BMad Method?
- **No** → TEA Solo or TEA Lite or No TEA
- **Yes** → TEA Integrated or No TEA
**Question 2:** Is this a new project?
- **Yes** → TEA Integrated (Greenfield) or TEA Lite
- **No** → TEA Integrated (Brownfield) or TEA Solo
**Question 3:** What's your testing maturity?
- **Beginner** → TEA Lite
- **Intermediate** → TEA Solo or Integrated
- **Advanced** → TEA Integrated or No TEA (already expert)
**Question 4:** Do you need compliance/quality gates?
- **Yes** → TEA Integrated (Enterprise)
- **No** → Any model
**Question 5:** How much time can you invest?
- **30 minutes** → TEA Lite
- **Few hours** → TEA Solo
- **Multiple days** → TEA Integrated
### Recommendation Matrix
| Your Context | Recommended Model | Alternative |
|--------------|------------------|-------------|
| BMad Method + new project | TEA Integrated (Greenfield) | TEA Lite (learning) |
| BMad Method + existing code | TEA Integrated (Brownfield) | TEA Solo |
| Non-BMad + need quality | TEA Solo | TEA Lite |
| Just learning testing | TEA Lite | No TEA (learn basics first) |
| Enterprise + compliance | TEA Integrated (Enterprise) | TEA Solo |
| Established QA team | No TEA | TEA Solo (supplement) |
## Transitioning Between Models
### TEA Lite → TEA Solo
**When:** Outgrow beginner approach, need more workflows.
**Steps:**
1. Continue using `framework` and `automate`
2. Add `test-design` for planning
3. Add `atdd` for TDD workflow
4. Add `test-review` for quality audits
5. Add `trace` for coverage tracking
**Timeline:** 2-4 weeks of gradual expansion
### TEA Solo → TEA Integrated
**When:** Adopt BMad Method, want full integration.
**Steps:**
1. Install BMad Method (see installation guide)
2. Run planning workflows (PRD, architecture)
3. Integrate TEA into Phase 3 (system-level test design)
4. Follow integrated lifecycle (per epic workflows)
5. Add release gates (trace Phase 2)
**Timeline:** 1-2 sprints of transition
### TEA Integrated → TEA Solo
**When:** Moving away from BMad Method, keep TEA.
**Steps:**
1. Export BMad artifacts (PRD, architecture, stories)
2. Continue using TEA workflows standalone
3. Skip BMad-specific integration
4. Bring your own requirements to TEA
**Timeline:** Immediate (just skip BMad workflows)
## Common Patterns
### Pattern 1: TEA Lite for Learning, Then Choose
```
Phase 1 (Week 1-2): TEA Lite
- Learn with `automate` on demo app
- Understand TEA fundamentals
- Low commitment
Phase 2 (Week 3-4): Evaluate
- Try `test-design` (planning)
- Try `atdd` (TDD)
- See if value justifies investment
Phase 3 (Month 2+): Decide
- Valuable → Expand to TEA Solo or Integrated
- Not valuable → Stay with TEA Lite or No TEA
```
### Pattern 2: TEA Solo for Quality, Skip Full Method
```
Team decision:
- Don't want full BMad Method (too heavyweight)
- Want systematic testing (TEA benefits)
Approach: TEA Solo only
- Use existing project management (Jira, Linear)
- Use TEA for testing only
- Get quality without methodology commitment
```
### Pattern 3: Integrated for Critical, Lite for Non-Critical
```
Critical features (payment, auth):
- Full TEA Integrated workflow
- Risk assessment, ATDD, quality gates
- High confidence required
Non-critical features (UI tweaks):
- TEA Lite or No TEA
- Quick tests, minimal overhead
- Move fast
```
## Technical Implementation
Each model uses different TEA workflows. See:
- [TEA Overview](/docs/tea/explanation/tea-overview.md) - Model details
- [TEA Command Reference](/docs/tea/reference/commands.md) - Workflow reference
- [TEA Configuration](/docs/tea/reference/configuration.md) - Setup options
## Related Concepts
**Core TEA Concepts:**
- [Risk-Based Testing](/docs/tea/explanation/risk-based-testing.md) - Risk assessment in different models
- [Test Quality Standards](/docs/tea/explanation/test-quality-standards.md) - Quality across all models
- [Knowledge Base System](/docs/tea/explanation/knowledge-base-system.md) - Consistent patterns across models
**Technical Patterns:**
- [Fixture Architecture](/docs/tea/explanation/fixture-architecture.md) - Infrastructure in different models
- [Network-First Patterns](/docs/tea/explanation/network-first-patterns.md) - Reliability in all models
**Overview:**
- [TEA Overview](/docs/tea/explanation/tea-overview.md) - 5 engagement models with cheat sheets
- [Testing as Engineering](/docs/tea/explanation/testing-as-engineering.md) - Design philosophy
## Practical Guides
**Getting Started:**
- [TEA Lite Quickstart Tutorial](/docs/tea/tutorials/tea-lite-quickstart.md) - Model 3: TEA Lite
**Use-Case Guides:**
- [Using TEA with Existing Tests](/docs/tea/how-to/brownfield/use-tea-with-existing-tests.md) - Model 5: Brownfield
- [Running TEA for Enterprise](/docs/tea/how-to/brownfield/use-tea-for-enterprise.md) - Enterprise integration
**All Workflow Guides:**
- [How to Run Test Design](/docs/tea/how-to/workflows/run-test-design.md) - Used in TEA Solo and Integrated
- [How to Run ATDD](/docs/tea/how-to/workflows/run-atdd.md)
- [How to Run Automate](/docs/tea/how-to/workflows/run-automate.md)
- [How to Run Test Review](/docs/tea/how-to/workflows/run-test-review.md)
- [How to Run Trace](/docs/tea/how-to/workflows/run-trace.md)
## Reference
- [TEA Command Reference](/docs/tea/reference/commands.md) - All workflows explained
- [TEA Configuration](/docs/tea/reference/configuration.md) - Config per model
- [Glossary](/docs/tea/glossary/index.md#test-architect-tea-concepts) - TEA Lite, TEA Solo, TEA Integrated terms
---
Generated with [BMad Method](https://bmad-method.org) - TEA (Test Architect)

View File

@@ -0,0 +1,457 @@
---
title: "Fixture Architecture Explained"
description: Understanding TEA's pure function → fixture → composition pattern for reusable test utilities
---
# Fixture Architecture Explained
Fixture architecture is TEA's pattern for building reusable, testable, and composable test utilities. The core principle: build pure functions first, wrap in framework fixtures second.
## Overview
**The Pattern:**
1. Write utility as pure function (unit-testable)
2. Wrap in framework fixture (Playwright, Cypress)
3. Compose fixtures with mergeTests (combine capabilities)
4. Package for reuse across projects
**Why this order?**
- Pure functions are easier to test
- Fixtures depend on framework (less portable)
- Composition happens at fixture level
- Reusability maximized
### Fixture Architecture Flow
```mermaid
%%{init: {'theme':'base', 'themeVariables': { 'fontSize':'14px'}}}%%
flowchart TD
Start([Testing Need]) --> Pure[Step 1: Pure Function<br/>helpers/api-request.ts]
Pure -->|Unit testable<br/>Framework agnostic| Fixture[Step 2: Fixture Wrapper<br/>fixtures/api-request.ts]
Fixture -->|Injects framework<br/>dependencies| Compose[Step 3: Composition<br/>fixtures/index.ts]
Compose -->|mergeTests| Use[Step 4: Use in Tests<br/>tests/**.spec.ts]
Pure -.->|Can test in isolation| UnitTest[Unit Tests<br/>No framework needed]
Fixture -.->|Reusable pattern| Other[Other Projects<br/>Package export]
Compose -.->|Combine utilities| Multi[Multiple Fixtures<br/>One test]
style Pure fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
style Fixture fill:#fff3e0,stroke:#e65100,stroke-width:2px
style Compose fill:#f3e5f5,stroke:#6a1b9a,stroke-width:2px
style Use fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
style UnitTest fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px
style Other fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px
style Multi fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px
```
**Benefits at Each Step:**
1. **Pure Function:** Testable, portable, reusable
2. **Fixture:** Framework integration, clean API
3. **Composition:** Combine capabilities, flexible
4. **Usage:** Simple imports, type-safe
## The Problem
### Framework-First Approach (Common Anti-Pattern)
```typescript
// ❌ Bad: Built as fixture from the start
export const test = base.extend({
apiRequest: async ({ request }, use) => {
await use(async (options) => {
const response = await request.fetch(options.url, {
method: options.method,
data: options.data
});
if (!response.ok()) {
throw new Error(`API request failed: ${response.status()}`);
}
return response.json();
});
}
});
```
**Problems:**
- Cannot unit test (requires Playwright context)
- Tied to framework (not reusable in other tools)
- Hard to compose with other fixtures
- Difficult to mock for testing the utility itself
### Copy-Paste Utilities
```typescript
// test-1.spec.ts
test('test 1', async ({ request }) => {
const response = await request.post('/api/users', { data: {...} });
const body = await response.json();
if (!response.ok()) throw new Error('Failed');
// ... repeated in every test
});
// test-2.spec.ts
test('test 2', async ({ request }) => {
const response = await request.post('/api/users', { data: {...} });
const body = await response.json();
if (!response.ok()) throw new Error('Failed');
// ... same code repeated
});
```
**Problems:**
- Code duplication (violates DRY)
- Inconsistent error handling
- Hard to update (change 50 tests)
- No shared behavior
## The Solution: Three-Step Pattern
### Step 1: Pure Function
```typescript
// helpers/api-request.ts
/**
* Make API request with automatic error handling
* Pure function - no framework dependencies
*/
export async function apiRequest({
request, // Passed in (dependency injection)
method,
url,
data,
headers = {}
}: ApiRequestParams): Promise<ApiResponse> {
const response = await request.fetch(url, {
method,
data,
headers
});
if (!response.ok()) {
throw new Error(`API request failed: ${response.status()}`);
}
return {
status: response.status(),
body: await response.json()
};
}
// ✅ Can unit test this function!
describe('apiRequest', () => {
it('should throw on non-OK response', async () => {
const mockRequest = {
fetch: vi.fn().mockResolvedValue({ ok: () => false, status: () => 500 })
};
await expect(apiRequest({
request: mockRequest,
method: 'GET',
url: '/api/test'
})).rejects.toThrow('API request failed: 500');
});
});
```
**Benefits:**
- Unit testable (mock dependencies)
- Framework-agnostic (works with any HTTP client)
- Easy to reason about (pure function)
- Portable (can use in Node scripts, CLI tools)
### Step 2: Fixture Wrapper
```typescript
// fixtures/api-request.ts
import { test as base } from '@playwright/test';
import { apiRequest as apiRequestFn } from '../helpers/api-request';
/**
* Playwright fixture wrapping the pure function
*/
export const test = base.extend<{ apiRequest: typeof apiRequestFn }>({
apiRequest: async ({ request }, use) => {
// Inject framework dependency (request)
await use((params) => apiRequestFn({ request, ...params }));
}
});
export { expect } from '@playwright/test';
```
**Benefits:**
- Fixture provides framework context (request)
- Pure function handles logic
- Clean separation of concerns
- Can swap frameworks (Cypress, etc.) by changing wrapper only
### Step 3: Composition with mergeTests
```typescript
// fixtures/index.ts
import { mergeTests } from '@playwright/test';
import { test as apiRequestTest } from './api-request';
import { test as authSessionTest } from './auth-session';
import { test as logTest } from './log';
/**
* Compose all fixtures into one test
*/
export const test = mergeTests(
apiRequestTest,
authSessionTest,
logTest
);
export { expect } from '@playwright/test';
```
**Usage:**
```typescript
// tests/profile.spec.ts
import { test, expect } from '../support/fixtures';
test('should update profile', async ({ apiRequest, authToken, log }) => {
log.info('Starting profile update test');
// Use API request fixture (matches pure function signature)
const { status, body } = await apiRequest({
method: 'PATCH',
url: '/api/profile',
data: { name: 'New Name' },
headers: { Authorization: `Bearer ${authToken}` }
});
expect(status).toBe(200);
expect(body.name).toBe('New Name');
log.info('Profile updated successfully');
});
```
**Note:** This example uses the vanilla pure function signature (`url`, `data`). Playwright Utils uses different parameter names (`path`, `body`). See [Integrate Playwright Utils](/docs/tea/how-to/customization/integrate-playwright-utils.md) for the utilities API.
**Note:** `authToken` requires auth-session fixture setup with provider configuration. See [auth-session documentation](https://seontechnologies.github.io/playwright-utils/auth-session.html).
**Benefits:**
- Use multiple fixtures in one test
- No manual composition needed
- Type-safe (TypeScript knows all fixture types)
- Clean imports
## How It Works in TEA
### TEA Generates This Pattern
When you run `framework` with `tea_use_playwright_utils: true`:
**TEA scaffolds:**
```
tests/
├── support/
│ ├── helpers/ # Pure functions
│ │ ├── api-request.ts
│ │ └── auth-session.ts
│ └── fixtures/ # Framework wrappers
│ ├── api-request.ts
│ ├── auth-session.ts
│ └── index.ts # Composition
└── e2e/
└── example.spec.ts # Uses composed fixtures
```
### TEA Reviews Against This Pattern
When you run `test-review`:
**TEA checks:**
- Are utilities pure functions? ✓
- Are fixtures minimal wrappers? ✓
- Is composition used? ✓
- Can utilities be unit tested? ✓
## Package Export Pattern
### Make Fixtures Reusable Across Projects
**Option 1: Build Your Own (Vanilla)**
```json
// package.json
{
"name": "@company/test-utils",
"exports": {
"./api-request": "./fixtures/api-request.ts",
"./auth-session": "./fixtures/auth-session.ts",
"./log": "./fixtures/log.ts"
}
}
```
**Usage:**
```typescript
import { test as apiTest } from '@company/test-utils/api-request';
import { test as authTest } from '@company/test-utils/auth-session';
import { mergeTests } from '@playwright/test';
export const test = mergeTests(apiTest, authTest);
```
**Option 2: Use Playwright Utils (Recommended)**
```bash
npm install -D @seontechnologies/playwright-utils
```
**Usage:**
```typescript
import { test as base } from '@playwright/test';
import { mergeTests } from '@playwright/test';
import { test as apiRequestFixture } from '@seontechnologies/playwright-utils/api-request/fixtures';
import { createAuthFixtures } from '@seontechnologies/playwright-utils/auth-session';
const authFixtureTest = base.extend(createAuthFixtures());
export const test = mergeTests(apiRequestFixture, authFixtureTest);
// Production-ready utilities, battle-tested!
```
**Note:** Auth-session requires provider configuration. See [auth-session setup guide](https://seontechnologies.github.io/playwright-utils/auth-session.html).
**Why Playwright Utils:**
- Already built, tested, and maintained
- Consistent patterns across projects
- 11 utilities available (API, auth, network, logging, files)
- Community support and documentation
- Regular updates and improvements
**When to Build Your Own:**
- Company-specific patterns
- Custom authentication systems
- Unique requirements not covered by utilities
## Comparison: Good vs Bad Patterns
### Anti-Pattern: God Fixture
```typescript
// ❌ Bad: Everything in one fixture
export const test = base.extend({
testUtils: async ({ page, request, context }, use) => {
await use({
// 50 different methods crammed into one fixture
apiRequest: async (...) => { },
login: async (...) => { },
createUser: async (...) => { },
deleteUser: async (...) => { },
uploadFile: async (...) => { },
// ... 45 more methods
});
}
});
```
**Problems:**
- Cannot test individual utilities
- Cannot compose (all-or-nothing)
- Cannot reuse specific utilities
- Hard to maintain (1000+ line file)
### Good Pattern: Single-Concern Fixtures
```typescript
// ✅ Good: One concern per fixture
// api-request.ts
export const test = base.extend({ apiRequest });
// auth-session.ts
export const test = base.extend({ authSession });
// log.ts
export const test = base.extend({ log });
// Compose as needed
import { mergeTests } from '@playwright/test';
export const test = mergeTests(apiRequestTest, authSessionTest, logTest);
```
**Benefits:**
- Each fixture is unit-testable
- Compose only what you need
- Reuse individual fixtures
- Easy to maintain (small files)
## Technical Implementation
For detailed fixture architecture patterns, see the knowledge base:
- [Knowledge Base Index - Architecture & Fixtures](/docs/tea/reference/knowledge-base.md)
- [Complete Knowledge Base Index](/docs/tea/reference/knowledge-base.md)
## When to Use This Pattern
### Always Use For:
**Reusable utilities:**
- API request helpers
- Authentication handlers
- File operations
- Network mocking
**Test infrastructure:**
- Shared fixtures across teams
- Packaged utilities (playwright-utils)
- Company-wide test standards
### Consider Skipping For:
**One-off test setup:**
```typescript
// Simple one-time setup - inline is fine
test.beforeEach(async ({ page }) => {
await page.goto('/');
await page.click('#accept-cookies');
});
```
**Test-specific helpers:**
```typescript
// Used in one test file only - keep local
function createTestUser(name: string) {
return { name, email: `${name}@test.com` };
}
```
## Related Concepts
**Core TEA Concepts:**
- [Test Quality Standards](/docs/tea/explanation/test-quality-standards.md) - Quality standards fixtures enforce
- [Knowledge Base System](/docs/tea/explanation/knowledge-base-system.md) - Fixture patterns in knowledge base
**Technical Patterns:**
- [Network-First Patterns](/docs/tea/explanation/network-first-patterns.md) - Network fixtures explained
- [Risk-Based Testing](/docs/tea/explanation/risk-based-testing.md) - Fixture complexity matches risk
**Overview:**
- [TEA Overview](/docs/tea/explanation/tea-overview.md) - Fixture architecture in workflows
- [Testing as Engineering](/docs/tea/explanation/testing-as-engineering.md) - Why fixtures matter
## Practical Guides
**Setup Guides:**
- [How to Set Up Test Framework](/docs/tea/how-to/workflows/setup-test-framework.md) - TEA scaffolds fixtures
- [Integrate Playwright Utils](/docs/tea/how-to/customization/integrate-playwright-utils.md) - Production-ready fixtures
**Workflow Guides:**
- [How to Run ATDD](/docs/tea/how-to/workflows/run-atdd.md) - Using fixtures in tests
- [How to Run Automate](/docs/tea/how-to/workflows/run-automate.md) - Fixture composition examples
## Reference
- [TEA Command Reference](/docs/tea/reference/commands.md) - `framework` command
- [Knowledge Base Index](/docs/tea/reference/knowledge-base.md) - Fixture architecture fragments
- [Glossary](/docs/tea/glossary/index.md#test-architect-tea-concepts) - Fixture architecture term
---
Generated with [BMad Method](https://bmad-method.org) - TEA (Test Architect)

View File

@@ -0,0 +1,554 @@
---
title: "Knowledge Base System Explained"
description: Understanding how TEA uses tea-index.csv for context engineering and consistent test quality
---
# Knowledge Base System Explained
TEA's knowledge base system is how context engineering works - automatically loading domain-specific standards into AI context so tests are consistently high-quality regardless of prompt variation.
## Overview
**The Problem:** AI without context produces inconsistent results.
**Traditional approach:**
```
User: "Write tests for login"
AI: [Generates tests with random quality]
- Sometimes uses hard waits
- Sometimes uses good patterns
- Inconsistent across sessions
- Quality depends on prompt
```
**TEA with knowledge base:**
```
User: "Write tests for login"
TEA: [Loads test-quality.md, network-first.md, auth-session.md]
TEA: [Generates tests following established patterns]
- Always uses network-first patterns
- Always uses proper fixtures
- Consistent across all sessions
- Quality independent of prompt
```
**Result:** Systematic quality, not random chance.
## The Problem
### Prompt-Driven Testing = Inconsistency
**Session 1:**
```
User: "Write tests for profile editing"
AI: [No context loaded]
// Generates test with hard waits
await page.waitForTimeout(3000);
```
**Session 2:**
```
User: "Write comprehensive tests for profile editing with best practices"
AI: [Still no systematic context]
// Generates test with some improvements, but still issues
await page.waitForSelector('.success', { timeout: 10000 });
```
**Session 3:**
```
User: "Write tests using network-first patterns and proper fixtures"
AI: [Better prompt, but still reinventing patterns]
// Generates test with network-first, but inconsistent with other tests
```
**Problem:** Quality depends on prompt engineering skill, no consistency.
### Knowledge Drift
Without a knowledge base:
- Team A uses pattern X
- Team B uses pattern Y
- Both work, but inconsistent
- No single source of truth
- Patterns drift over time
## The Solution: tea-index.csv Manifest
### How It Works
**1. Manifest Defines Fragments**
`src/bmm/testarch/tea-index.csv`:
```csv
id,name,description,tags,fragment_file
test-quality,Test Quality,Execution limits and isolation rules,quality;standards,knowledge/test-quality.md
network-first,Network-First Safeguards,Intercept-before-navigate workflow,network;stability,knowledge/network-first.md
fixture-architecture,Fixture Architecture,Composable fixture patterns,fixtures;architecture,knowledge/fixture-architecture.md
```
**2. Workflow Loads Relevant Fragments**
When user runs `atdd`:
```
TEA reads tea-index.csv
Identifies fragments needed for ATDD:
- test-quality.md (quality standards)
- network-first.md (avoid flakiness)
- component-tdd.md (TDD patterns)
- fixture-architecture.md (reusable fixtures)
- data-factories.md (test data)
Loads only these 5 fragments (not all 33)
Generates tests following these patterns
```
**3. Consistent Output**
Every time `atdd` runs:
- Same fragments loaded
- Same patterns applied
- Same quality standards
- Consistent test structure
**Result:** Tests look like they were written by the same expert, every time.
### Knowledge Base Loading Diagram
```mermaid
%%{init: {'theme':'base', 'themeVariables': { 'fontSize':'14px'}}}%%
flowchart TD
User([User: atdd]) --> Workflow[TEA Workflow<br/>Triggered]
Workflow --> Read[Read Manifest<br/>tea-index.csv]
Read --> Identify{Identify Relevant<br/>Fragments for ATDD}
Identify -->|Needed| L1[✓ test-quality.md]
Identify -->|Needed| L2[✓ network-first.md]
Identify -->|Needed| L3[✓ component-tdd.md]
Identify -->|Needed| L4[✓ data-factories.md]
Identify -->|Needed| L5[✓ fixture-architecture.md]
Identify -.->|Skip| S1[✗ contract-testing.md]
Identify -.->|Skip| S2[✗ burn-in.md]
Identify -.->|Skip| S3[+ 26 other fragments]
L1 --> Context[AI Context<br/>5 fragments loaded]
L2 --> Context
L3 --> Context
L4 --> Context
L5 --> Context
Context --> Gen[Generate Tests<br/>Following patterns]
Gen --> Out([Consistent Output<br/>Same quality every time])
style User fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
style Read fill:#fff3e0,stroke:#e65100,stroke-width:2px
style L1 fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style L2 fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style L3 fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style L4 fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style L5 fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style S1 fill:#e0e0e0,stroke:#616161,stroke-width:1px
style S2 fill:#e0e0e0,stroke:#616161,stroke-width:1px
style S3 fill:#e0e0e0,stroke:#616161,stroke-width:1px
style Context fill:#f3e5f5,stroke:#6a1b9a,stroke-width:3px
style Out fill:#4caf50,stroke:#1b5e20,stroke-width:3px,color:#fff
```
## Fragment Structure
### Anatomy of a Fragment
Each fragment follows this structure:
```markdown
# Fragment Name
## Principle
[One sentence - what is this pattern?]
## Rationale
[Why use this instead of alternatives?]
Why this pattern exists
Problems it solves
Benefits it provides
## Pattern Examples
### Example 1: Basic Usage
```code
[Runnable code example]
```
[Explanation of example]
### Example 2: Advanced Pattern
```code
[More complex example]
```
[Explanation]
## Anti-Patterns
### Don't Do This
```code
[Bad code example]
```
[Why it's bad]
[What breaks]
## Related Patterns
- [Link to related fragment]
```
<!-- markdownlint-disable MD024 -->
### Example: test-quality.md Fragment
```markdown
# Test Quality
## Principle
Tests must be deterministic, isolated, explicit, focused, and fast.
## Rationale
Tests that fail randomly, depend on each other, or take too long lose team trust.
[... detailed explanation ...]
## Pattern Examples
### Example 1: Deterministic Test
```typescript
// ✅ Wait for actual response, not timeout
const promise = page.waitForResponse(matcher);
await page.click('button');
await promise;
```
### Example 2: Isolated Test
```typescript
// ✅ Self-cleaning test
test('test', async ({ page }) => {
const userId = await createTestUser();
// ... test logic ...
await deleteTestUser(userId); // Cleanup
});
```
## Anti-Patterns
### Hard Waits
```typescript
// ❌ Non-deterministic
await page.waitForTimeout(3000);
```
[Why this causes flakiness]
```
**Total:** 24.5 KB, 12 code examples
<!-- markdownlint-enable MD024 -->
## How TEA Uses the Knowledge Base
### Workflow-Specific Loading
**Different workflows load different fragments:**
| Workflow | Fragments Loaded | Purpose |
|----------|-----------------|---------|
| `framework` | fixture-architecture, playwright-config, fixtures-composition | Infrastructure patterns |
| `test-design` | test-quality, test-priorities-matrix, risk-governance | Planning standards |
| `atdd` | test-quality, component-tdd, network-first, data-factories | TDD patterns |
| `automate` | test-quality, test-levels-framework, selector-resilience | Comprehensive generation |
| `test-review` | All quality/resilience/debugging fragments | Full audit patterns |
| `ci` | ci-burn-in, burn-in, selective-testing | CI/CD optimization |
**Benefit:** Only load what's needed (focused context, no bloat).
### Dynamic Fragment Selection
TEA doesn't load all 33 fragments at once:
```
User runs: atdd for authentication feature
TEA analyzes context:
- Feature type: Authentication
- Relevant fragments:
- test-quality.md (always loaded)
- auth-session.md (auth patterns)
- network-first.md (avoid flakiness)
- email-auth.md (if email-based auth)
- data-factories.md (test users)
Skips:
- contract-testing.md (not relevant)
- feature-flags.md (not relevant)
- file-utils.md (not relevant)
Result: 5 relevant fragments loaded, 28 skipped
```
**Benefit:** Focused context = better results, lower token usage.
## Context Engineering in Practice
### Example: Consistent Test Generation
**Without Knowledge Base (Vanilla Playwright, Random Quality):**
```
Session 1: User runs atdd
AI: [Guesses patterns from general knowledge]
Generated:
test('api test', async ({ request }) => {
const response = await request.get('/api/users');
await page.waitForTimeout(2000); // Hard wait
const users = await response.json();
// Random quality
});
Session 2: User runs atdd (different day)
AI: [Different random patterns]
Generated:
test('api test', async ({ request }) => {
const response = await request.get('/api/users');
const users = await response.json();
// Better but inconsistent
});
Result: Inconsistent quality, random patterns
```
**With Knowledge Base (TEA + Playwright Utils):**
```
Session 1: User runs atdd
TEA: [Loads test-quality.md, network-first.md, api-request.md from tea-index.csv]
Generated:
import { test } from '@seontechnologies/playwright-utils/api-request/fixtures';
test('should fetch users', async ({ apiRequest }) => {
const { status, body } = await apiRequest({
method: 'GET',
path: '/api/users'
}).validateSchema(UsersSchema); // Chained validation
expect(status).toBe(200);
expect(body).toBeInstanceOf(Array);
});
Session 2: User runs atdd (different day)
TEA: [Loads same fragments from tea-index.csv]
Generated: Identical pattern, same quality
Result: Systematic quality, established patterns (ALWAYS uses apiRequest utility when playwright-utils enabled)
```
**Key Difference:**
- **Without KB:** Random patterns, inconsistent APIs
- **With KB:** Always uses `apiRequest` utility, always validates schemas, always returns `{ status, body }`
### Example: Test Review Consistency
**Without Knowledge Base:**
```
test-review session 1:
"This test looks okay" [50 issues missed]
test-review session 2:
"This test has some issues" [Different issues flagged]
Result: Inconsistent feedback
```
**With Knowledge Base:**
```
test-review session 1:
[Loads all quality fragments]
Flags: 12 hard waits, 5 conditionals (based on test-quality.md)
test-review session 2:
[Loads same fragments]
Flags: Same issues with same explanations
Result: Consistent, reliable feedback
```
## Maintaining the Knowledge Base
### When to Add a Fragment
**Good reasons:**
- Pattern is used across multiple workflows
- Standard is non-obvious (needs documentation)
- Team asks "how should we handle X?" repeatedly
- New tool integration (e.g., new testing library)
**Bad reasons:**
- One-off pattern (document in test file instead)
- Obvious pattern (everyone knows this)
- Experimental (not proven yet)
### Fragment Quality Standards
**Good fragment:**
- Principle stated in one sentence
- Rationale explains why clearly
- 3+ pattern examples with code
- Anti-patterns shown (what not to do)
- Self-contained (minimal dependencies)
**Example size:** 10-30 KB optimal
### Updating Existing Fragments
**When to update:**
- Pattern evolved (better approach discovered)
- Tool updated (new Playwright API)
- Team feedback (pattern unclear)
- Bug in example code
**How to update:**
1. Edit fragment markdown file
2. Update examples
3. Test with affected workflows
4. Ensure no breaking changes
**No need to update tea-index.csv** unless description/tags change.
## Benefits of Knowledge Base System
### 1. Consistency
**Before:** Test quality varies by who wrote it
**After:** All tests follow same patterns (TEA-generated or reviewed)
### 2. Onboarding
**Before:** New team member reads 20 documents, asks 50 questions
**After:** New team member runs `atdd`, sees patterns in generated code, learns by example
### 3. Quality Gates
**Before:** "Is this test good?" → subjective opinion
**After:** `test-review` → objective score against knowledge base
### 4. Pattern Evolution
**Before:** Update tests manually across 100 files
**After:** Update fragment once, all new tests use new pattern
### 5. Cross-Project Reuse
**Before:** Reinvent patterns for each project
**After:** Same fragments across all BMad projects (consistency at scale)
## Comparison: With vs Without Knowledge Base
### Scenario: Testing Async Background Job
**Without Knowledge Base:**
Developer 1:
```typescript
// Uses hard wait
await page.click('button');
await page.waitForTimeout(10000); // Hope job finishes
```
Developer 2:
```typescript
// Uses polling
await page.click('button');
for (let i = 0; i < 10; i++) {
const status = await page.locator('.status').textContent();
if (status === 'complete') break;
await page.waitForTimeout(1000);
}
```
Developer 3:
```typescript
// Uses waitForSelector
await page.click('button');
await page.waitForSelector('.success', { timeout: 30000 });
```
**Result:** 3 different patterns, all suboptimal.
**With Knowledge Base (recurse.md fragment):**
All developers:
```typescript
import { test } from '@seontechnologies/playwright-utils/fixtures';
test('job completion', async ({ apiRequest, recurse }) => {
// Start async job
const { body: job } = await apiRequest({
method: 'POST',
path: '/api/jobs'
});
// Poll until complete (correct API: command, predicate, options)
const result = await recurse(
() => apiRequest({ method: 'GET', path: `/api/jobs/${job.id}` }),
(response) => response.body.status === 'completed', // response.body from apiRequest
{
timeout: 30000,
interval: 2000,
log: 'Waiting for job to complete'
}
);
expect(result.body.status).toBe('completed');
});
```
**Result:** Consistent pattern using correct playwright-utils API (command, predicate, options).
## Technical Implementation
For details on the knowledge base index, see:
- [Knowledge Base Index](/docs/tea/reference/knowledge-base.md)
- [TEA Configuration](/docs/tea/reference/configuration.md)
## Related Concepts
**Core TEA Concepts:**
- [Test Quality Standards](/docs/tea/explanation/test-quality-standards.md) - Standards in knowledge base
- [Risk-Based Testing](/docs/tea/explanation/risk-based-testing.md) - Risk patterns in knowledge base
- [Engagement Models](/docs/tea/explanation/engagement-models.md) - Knowledge base across all models
**Technical Patterns:**
- [Fixture Architecture](/docs/tea/explanation/fixture-architecture.md) - Fixture patterns in knowledge base
- [Network-First Patterns](/docs/tea/explanation/network-first-patterns.md) - Network patterns in knowledge base
**Overview:**
- [TEA Overview](/docs/tea/explanation/tea-overview.md) - Knowledge base in workflows
- [Testing as Engineering](/docs/tea/explanation/testing-as-engineering.md) - **Foundation: Context engineering philosophy** (why knowledge base solves AI test problems)
## Practical Guides
**All Workflow Guides Use Knowledge Base:**
- [How to Run Test Design](/docs/tea/how-to/workflows/run-test-design.md)
- [How to Run ATDD](/docs/tea/how-to/workflows/run-atdd.md)
- [How to Run Automate](/docs/tea/how-to/workflows/run-automate.md)
- [How to Run Test Review](/docs/tea/how-to/workflows/run-test-review.md)
**Integration:**
- [Integrate Playwright Utils](/docs/tea/how-to/customization/integrate-playwright-utils.md) - PW-Utils in knowledge base
## Reference
- [Knowledge Base Index](/docs/tea/reference/knowledge-base.md) - Complete fragment index
- [TEA Command Reference](/docs/tea/reference/commands.md) - Which workflows load which fragments
- [TEA Configuration](/docs/tea/reference/configuration.md) - Config affects fragment loading
- [Glossary](/docs/tea/glossary/index.md#test-architect-tea-concepts) - Context engineering, knowledge fragment terms
---
Generated with [BMad Method](https://bmad-method.org) - TEA (Test Architect)

View File

@@ -0,0 +1,853 @@
---
title: "Network-First Patterns Explained"
description: Understanding how TEA eliminates test flakiness by waiting for actual network responses
---
# Network-First Patterns Explained
Network-first patterns are TEA's solution to test flakiness. Instead of guessing how long to wait with fixed timeouts, wait for the actual network event that causes UI changes.
## Overview
**The Core Principle:**
UI changes because APIs respond. Wait for the API response, not an arbitrary timeout.
**Traditional approach:**
```typescript
await page.click('button');
await page.waitForTimeout(3000); // Hope 3 seconds is enough
await expect(page.locator('.success')).toBeVisible();
```
**Network-first approach:**
```typescript
const responsePromise = page.waitForResponse(
resp => resp.url().includes('/api/submit') && resp.ok()
);
await page.click('button');
await responsePromise; // Wait for actual response
await expect(page.locator('.success')).toBeVisible();
```
**Result:** Deterministic tests that wait exactly as long as needed.
## The Problem
### Hard Waits Create Flakiness
```typescript
// ❌ The flaky test pattern
test('should submit form', async ({ page }) => {
await page.fill('#name', 'Test User');
await page.click('button[type="submit"]');
await page.waitForTimeout(2000); // Wait 2 seconds
await expect(page.locator('.success')).toBeVisible();
});
```
**Why this fails:**
- **Fast network:** Wastes 1.5 seconds waiting
- **Slow network:** Not enough time, test fails
- **CI environment:** Slower than local, fails randomly
- **Under load:** API takes 3 seconds, test fails
**Result:** "Works on my machine" syndrome, flaky CI.
### The Timeout Escalation Trap
```typescript
// Developer sees flaky test
await page.waitForTimeout(2000); // Failed in CI
// Increases timeout
await page.waitForTimeout(5000); // Still fails sometimes
// Increases again
await page.waitForTimeout(10000); // Now it passes... slowly
// Problem: Now EVERY test waits 10 seconds
// Suite that took 5 minutes now takes 30 minutes
```
**Result:** Slow, still-flaky tests.
### Race Conditions
```typescript
// ❌ Navigate-then-wait race condition
test('should load dashboard data', async ({ page }) => {
await page.goto('/dashboard'); // Navigation starts
// Race condition! API might not have responded yet
await expect(page.locator('.data-table')).toBeVisible();
});
```
**What happens:**
1. `goto()` starts navigation
2. Page loads HTML
3. JavaScript requests `/api/dashboard`
4. Test checks for `.data-table` BEFORE API responds
5. Test fails intermittently
**Result:** "Sometimes it works, sometimes it doesn't."
## The Solution: Intercept-Before-Navigate
### Wait for Response Before Asserting
```typescript
// ✅ Good: Network-first pattern
test('should load dashboard data', async ({ page }) => {
// Set up promise BEFORE navigation
const dashboardPromise = page.waitForResponse(
resp => resp.url().includes('/api/dashboard') && resp.ok()
);
// Navigate
await page.goto('/dashboard');
// Wait for API response
const response = await dashboardPromise;
const data = await response.json();
// Now assert UI
await expect(page.locator('.data-table')).toBeVisible();
await expect(page.locator('.data-table tr')).toHaveCount(data.items.length);
});
```
**Why this works:**
- Wait set up BEFORE navigation (no race)
- Wait for actual API response (deterministic)
- No fixed timeout (fast when API is fast)
- Validates API response (catch backend errors)
**With Playwright Utils (Even Cleaner):**
```typescript
import { test } from '@seontechnologies/playwright-utils/fixtures';
import { expect } from '@playwright/test';
test('should load dashboard data', async ({ page, interceptNetworkCall }) => {
// Set up interception BEFORE navigation
const dashboardCall = interceptNetworkCall({
method: 'GET',
url: '**/api/dashboard'
});
// Navigate
await page.goto('/dashboard');
// Wait for API response (automatic JSON parsing)
const { status, responseJson: data } = await dashboardCall;
// Validate API response
expect(status).toBe(200);
expect(data.items).toBeDefined();
// Assert UI matches API data
await expect(page.locator('.data-table')).toBeVisible();
await expect(page.locator('.data-table tr')).toHaveCount(data.items.length);
});
```
**Playwright Utils Benefits:**
- Automatic JSON parsing (no `await response.json()`)
- Returns `{ status, responseJson, requestJson }` structure
- Cleaner API (no need to check `resp.ok()`)
- Same intercept-before-navigate pattern
### Intercept-Before-Navigate Pattern
**Key insight:** Set up wait BEFORE triggering the action.
```typescript
// ✅ Pattern: Intercept → Action → Await
// 1. Intercept (set up wait)
const promise = page.waitForResponse(matcher);
// 2. Action (trigger request)
await page.click('button');
// 3. Await (wait for actual response)
await promise;
```
**Why this order:**
- `waitForResponse()` starts listening immediately
- Then trigger the action that makes the request
- Then wait for the promise to resolve
- No race condition possible
#### Intercept-Before-Navigate Flow
```mermaid
%%{init: {'theme':'base', 'themeVariables': { 'fontSize':'14px'}}}%%
sequenceDiagram
participant Test
participant Playwright
participant Browser
participant API
rect rgb(200, 230, 201)
Note over Test,Playwright: ✅ CORRECT: Intercept First
Test->>Playwright: 1. waitForResponse(matcher)
Note over Playwright: Starts listening for response
Test->>Browser: 2. click('button')
Browser->>API: 3. POST /api/submit
API-->>Browser: 4. 200 OK {success: true}
Browser-->>Playwright: 5. Response captured
Test->>Playwright: 6. await promise
Playwright-->>Test: 7. Returns response
Note over Test: No race condition!
end
rect rgb(255, 205, 210)
Note over Test,API: ❌ WRONG: Action First
Test->>Browser: 1. click('button')
Browser->>API: 2. POST /api/submit
API-->>Browser: 3. 200 OK (already happened!)
Test->>Playwright: 4. waitForResponse(matcher)
Note over Test,Playwright: Too late - response already occurred
Note over Test: Race condition! Test hangs or fails
end
```
**Correct Order (Green):**
1. Set up listener (`waitForResponse`)
2. Trigger action (`click`)
3. Wait for response (`await promise`)
**Wrong Order (Red):**
1. Trigger action first
2. Set up listener too late
3. Response already happened - missed!
## How It Works in TEA
### TEA Generates Network-First Tests
**Vanilla Playwright:**
```typescript
// When you run `atdd` or `automate`, TEA generates:
test('should create user', async ({ page }) => {
// TEA automatically includes network wait
const createUserPromise = page.waitForResponse(
resp => resp.url().includes('/api/users') &&
resp.request().method() === 'POST' &&
resp.ok()
);
await page.fill('#name', 'Test User');
await page.click('button[type="submit"]');
const response = await createUserPromise;
const user = await response.json();
// Validate both API and UI
expect(user.id).toBeDefined();
await expect(page.locator('.success')).toContainText(user.name);
});
```
**With Playwright Utils (if `tea_use_playwright_utils: true`):**
```typescript
import { test } from '@seontechnologies/playwright-utils/fixtures';
import { expect } from '@playwright/test';
test('should create user', async ({ page, interceptNetworkCall }) => {
// TEA uses interceptNetworkCall for cleaner interception
const createUserCall = interceptNetworkCall({
method: 'POST',
url: '**/api/users'
});
await page.getByLabel('Name').fill('Test User');
await page.getByRole('button', { name: 'Submit' }).click();
// Wait for response (automatic JSON parsing)
const { status, responseJson: user } = await createUserCall;
// Validate both API and UI
expect(status).toBe(201);
expect(user.id).toBeDefined();
await expect(page.locator('.success')).toContainText(user.name);
});
```
**Playwright Utils Benefits:**
- Automatic JSON parsing (`responseJson` ready to use)
- No manual `await response.json()`
- Returns `{ status, responseJson }` structure
- Cleaner, more readable code
### TEA Reviews for Hard Waits
When you run `test-review`:
```markdown
## Critical Issue: Hard Wait Detected
**File:** tests/e2e/submit.spec.ts:45
**Issue:** Using `page.waitForTimeout(3000)`
**Severity:** Critical (causes flakiness)
**Current Code:**
```typescript
await page.click('button');
await page.waitForTimeout(3000); // ❌
```
**Fix:**
```typescript
const responsePromise = page.waitForResponse(
resp => resp.url().includes('/api/submit') && resp.ok()
);
await page.click('button');
await responsePromise; // ✅
```
**Why:** Hard waits are non-deterministic. Use network-first patterns.
```
## Pattern Variations
### Basic Response Wait
**Vanilla Playwright:**
```typescript
// Wait for any successful response
const promise = page.waitForResponse(resp => resp.ok());
await page.click('button');
await promise;
```
**With Playwright Utils:**
```typescript
import { test } from '@seontechnologies/playwright-utils/fixtures';
test('basic wait', async ({ page, interceptNetworkCall }) => {
const responseCall = interceptNetworkCall({ url: '**' }); // Match any
await page.click('button');
const { status } = await responseCall;
expect(status).toBe(200);
});
```
---
### Specific URL Match
**Vanilla Playwright:**
```typescript
// Wait for specific endpoint
const promise = page.waitForResponse(
resp => resp.url().includes('/api/users/123')
);
await page.goto('/user/123');
await promise;
```
**With Playwright Utils:**
```typescript
test('specific URL', async ({ page, interceptNetworkCall }) => {
const userCall = interceptNetworkCall({ url: '**/api/users/123' });
await page.goto('/user/123');
const { status, responseJson } = await userCall;
expect(status).toBe(200);
});
```
---
### Method + Status Match
**Vanilla Playwright:**
```typescript
// Wait for POST that returns 201
const promise = page.waitForResponse(
resp =>
resp.url().includes('/api/users') &&
resp.request().method() === 'POST' &&
resp.status() === 201
);
await page.click('button[type="submit"]');
await promise;
```
**With Playwright Utils:**
```typescript
test('method and status', async ({ page, interceptNetworkCall }) => {
const createCall = interceptNetworkCall({
method: 'POST',
url: '**/api/users'
});
await page.click('button[type="submit"]');
const { status, responseJson } = await createCall;
expect(status).toBe(201); // Explicit status check
});
```
---
### Multiple Responses
**Vanilla Playwright:**
```typescript
// Wait for multiple API calls
const [usersResp, postsResp] = await Promise.all([
page.waitForResponse(resp => resp.url().includes('/api/users')),
page.waitForResponse(resp => resp.url().includes('/api/posts')),
page.goto('/dashboard') // Triggers both requests
]);
const users = await usersResp.json();
const posts = await postsResp.json();
```
**With Playwright Utils:**
```typescript
test('multiple responses', async ({ page, interceptNetworkCall }) => {
const usersCall = interceptNetworkCall({ url: '**/api/users' });
const postsCall = interceptNetworkCall({ url: '**/api/posts' });
await page.goto('/dashboard'); // Triggers both
const [{ responseJson: users }, { responseJson: posts }] = await Promise.all([
usersCall,
postsCall
]);
expect(users).toBeInstanceOf(Array);
expect(posts).toBeInstanceOf(Array);
});
```
---
### Validate Response Data
**Vanilla Playwright:**
```typescript
// Verify API response before asserting UI
const promise = page.waitForResponse(
resp => resp.url().includes('/api/checkout') && resp.ok()
);
await page.click('button:has-text("Complete Order")');
const response = await promise;
const order = await response.json();
// Response validation
expect(order.status).toBe('confirmed');
expect(order.total).toBeGreaterThan(0);
// UI validation
await expect(page.locator('.order-confirmation')).toContainText(order.id);
```
**With Playwright Utils:**
```typescript
test('validate response data', async ({ page, interceptNetworkCall }) => {
const checkoutCall = interceptNetworkCall({
method: 'POST',
url: '**/api/checkout'
});
await page.click('button:has-text("Complete Order")');
const { status, responseJson: order } = await checkoutCall;
// Response validation (automatic JSON parsing)
expect(status).toBe(200);
expect(order.status).toBe('confirmed');
expect(order.total).toBeGreaterThan(0);
// UI validation
await expect(page.locator('.order-confirmation')).toContainText(order.id);
});
```
## Advanced Patterns
### HAR Recording for Offline Testing
**Vanilla Playwright (Manual HAR Handling):**
```typescript
// First run: Record mode (saves HAR file)
test('offline testing - RECORD', async ({ page, context }) => {
// Record mode: Save network traffic to HAR
await context.routeFromHAR('./hars/dashboard.har', {
url: '**/api/**',
update: true // Update HAR file
});
await page.goto('/dashboard');
// All network traffic saved to dashboard.har
});
// Subsequent runs: Playback mode (uses saved HAR)
test('offline testing - PLAYBACK', async ({ page, context }) => {
// Playback mode: Use saved network traffic
await context.routeFromHAR('./hars/dashboard.har', {
url: '**/api/**',
update: false // Use existing HAR, no network calls
});
await page.goto('/dashboard');
// Uses recorded responses, no backend needed
});
```
**With Playwright Utils (Automatic HAR Management):**
```typescript
import { test } from '@seontechnologies/playwright-utils/network-recorder/fixtures';
// Record mode: Set environment variable
process.env.PW_NET_MODE = 'record';
test('should work offline', async ({ page, context, networkRecorder }) => {
await networkRecorder.setup(context); // Handles HAR automatically
await page.goto('/dashboard');
await page.click('#add-item');
// All network traffic recorded, CRUD operations detected
});
```
**Switch to playback:**
```bash
# Playback mode (offline)
PW_NET_MODE=playback npx playwright test
# Uses HAR file, no backend needed!
```
**Playwright Utils Benefits:**
- Automatic HAR file management (naming, paths)
- CRUD operation detection (stateful mocking)
- Environment variable control (easy switching)
- Works for complex interactions (create, update, delete)
- No manual route configuration
### Network Request Interception
**Vanilla Playwright:**
```typescript
test('should handle API error', async ({ page }) => {
// Manual route setup
await page.route('**/api/users', (route) => {
route.fulfill({
status: 500,
body: JSON.stringify({ error: 'Internal server error' })
});
});
await page.goto('/users');
const response = await page.waitForResponse('**/api/users');
const error = await response.json();
expect(error.error).toContain('Internal server');
await expect(page.locator('.error-message')).toContainText('Server error');
});
```
**With Playwright Utils:**
```typescript
import { test } from '@seontechnologies/playwright-utils/fixtures';
test('should handle API error', async ({ page, interceptNetworkCall }) => {
// Stub API to return error (set up BEFORE navigation)
const usersCall = interceptNetworkCall({
method: 'GET',
url: '**/api/users',
fulfillResponse: {
status: 500,
body: { error: 'Internal server error' }
}
});
await page.goto('/users');
// Wait for mocked response and access parsed data
const { status, responseJson } = await usersCall;
expect(status).toBe(500);
expect(responseJson.error).toContain('Internal server');
await expect(page.locator('.error-message')).toContainText('Server error');
});
```
**Playwright Utils Benefits:**
- Automatic JSON parsing (`responseJson` ready to use)
- Returns promise with `{ status, responseJson, requestJson }`
- No need to pass `page` (auto-injected by fixture)
- Glob pattern matching (simpler than regex)
- Single declarative call (setup + wait in one)
## Comparison: Traditional vs Network-First
### Loading Dashboard Data
**Traditional (Flaky):**
```typescript
test('dashboard loads data', async ({ page }) => {
await page.goto('/dashboard');
await page.waitForTimeout(2000); // ❌ Magic number
await expect(page.locator('table tr')).toHaveCount(5);
});
```
**Failure modes:**
- API takes 2.5s → test fails
- API returns 3 items not 5 → hard to debug (which issue?)
- CI slower than local → fails in CI only
**Network-First (Deterministic):**
```typescript
test('dashboard loads data', async ({ page }) => {
const apiPromise = page.waitForResponse(
resp => resp.url().includes('/api/dashboard') && resp.ok()
);
await page.goto('/dashboard');
const response = await apiPromise;
const { items } = await response.json();
// Validate API response
expect(items).toHaveLength(5);
// Validate UI matches API
await expect(page.locator('table tr')).toHaveCount(items.length);
});
```
**Benefits:**
- Waits exactly as long as needed (100ms or 5s, doesn't matter)
- Validates API response (catch backend errors)
- Validates UI matches API (catch frontend bugs)
- Works in any environment (local, CI, staging)
**With Playwright Utils (Even Better):**
```typescript
import { test } from '@seontechnologies/playwright-utils/fixtures';
test('dashboard loads data', async ({ page, interceptNetworkCall }) => {
const dashboardCall = interceptNetworkCall({
method: 'GET',
url: '**/api/dashboard'
});
await page.goto('/dashboard');
const { status, responseJson: { items } } = await dashboardCall;
// Validate API response (automatic JSON parsing)
expect(status).toBe(200);
expect(items).toHaveLength(5);
// Validate UI matches API
await expect(page.locator('table tr')).toHaveCount(items.length);
});
```
**Additional Benefits:**
- No manual `await response.json()` (automatic parsing)
- Cleaner destructuring of nested data
- Consistent API across all network calls
---
### Form Submission
**Traditional (Flaky):**
```typescript
test('form submission', async ({ page }) => {
await page.fill('#email', 'test@example.com');
await page.click('button[type="submit"]');
await page.waitForTimeout(3000); // ❌ Hope it's enough
await expect(page.locator('.success')).toBeVisible();
});
```
**Network-First (Deterministic):**
```typescript
test('form submission', async ({ page }) => {
const submitPromise = page.waitForResponse(
resp => resp.url().includes('/api/submit') &&
resp.request().method() === 'POST' &&
resp.ok()
);
await page.fill('#email', 'test@example.com');
await page.click('button[type="submit"]');
const response = await submitPromise;
const result = await response.json();
expect(result.success).toBe(true);
await expect(page.locator('.success')).toBeVisible();
});
```
**With Playwright Utils:**
```typescript
import { test } from '@seontechnologies/playwright-utils/fixtures';
test('form submission', async ({ page, interceptNetworkCall }) => {
const submitCall = interceptNetworkCall({
method: 'POST',
url: '**/api/submit'
});
await page.getByLabel('Email').fill('test@example.com');
await page.getByRole('button', { name: 'Submit' }).click();
const { status, responseJson: result } = await submitCall;
// Automatic JSON parsing, no manual await
expect(status).toBe(200);
expect(result.success).toBe(true);
await expect(page.locator('.success')).toBeVisible();
});
```
**Progression:**
- Traditional: Hard waits (flaky)
- Network-First (Vanilla): waitForResponse (deterministic)
- Network-First (PW-Utils): interceptNetworkCall (deterministic + cleaner API)
---
## Common Misconceptions
### "I Already Use waitForSelector"
```typescript
// This is still a hard wait in disguise
await page.click('button');
await page.waitForSelector('.success', { timeout: 5000 });
```
**Problem:** Waiting for DOM, not for the API that caused DOM change.
**Better:**
```typescript
await page.waitForResponse(matcher); // Wait for root cause
await page.waitForSelector('.success'); // Then validate UI
```
### "My Tests Are Fast, Why Add Complexity?"
**Short-term:** Tests are fast locally
**Long-term problems:**
- Different environments (CI slower)
- Under load (API slower)
- Network variability (random)
- Scaling test suite (100 → 1000 tests)
**Network-first prevents these issues before they appear.**
### "Too Much Boilerplate"
**Problem:** `waitForResponse` is verbose, repeated in every test.
**Solution:** Use Playwright Utils `interceptNetworkCall` - built-in fixture that reduces boilerplate.
**Vanilla Playwright (Repetitive):**
```typescript
test('test 1', async ({ page }) => {
const promise = page.waitForResponse(
resp => resp.url().includes('/api/submit') && resp.ok()
);
await page.click('button');
await promise;
});
test('test 2', async ({ page }) => {
const promise = page.waitForResponse(
resp => resp.url().includes('/api/load') && resp.ok()
);
await page.click('button');
await promise;
});
// Repeated pattern in every test
```
**With Playwright Utils (Cleaner):**
```typescript
import { test } from '@seontechnologies/playwright-utils/fixtures';
test('test 1', async ({ page, interceptNetworkCall }) => {
const submitCall = interceptNetworkCall({ url: '**/api/submit' });
await page.click('button');
const { status, responseJson } = await submitCall;
expect(status).toBe(200);
});
test('test 2', async ({ page, interceptNetworkCall }) => {
const loadCall = interceptNetworkCall({ url: '**/api/load' });
await page.click('button');
const { responseJson } = await loadCall;
// Automatic JSON parsing, cleaner API
});
```
**Benefits:**
- Less boilerplate (fixture handles complexity)
- Automatic JSON parsing
- Glob pattern matching (`**/api/**`)
- Consistent API across all tests
See [Integrate Playwright Utils](/docs/tea/how-to/customization/integrate-playwright-utils.md#intercept-network-call) for setup.
## Technical Implementation
For detailed network-first patterns, see the knowledge base:
- [Knowledge Base Index - Network & Reliability](/docs/tea/reference/knowledge-base.md)
- [Complete Knowledge Base Index](/docs/tea/reference/knowledge-base.md)
## Related Concepts
**Core TEA Concepts:**
- [Test Quality Standards](/docs/tea/explanation/test-quality-standards.md) - Determinism requires network-first
- [Risk-Based Testing](/docs/tea/explanation/risk-based-testing.md) - High-risk features need reliable tests
**Technical Patterns:**
- [Fixture Architecture](/docs/tea/explanation/fixture-architecture.md) - Network utilities as fixtures
- [Knowledge Base System](/docs/tea/explanation/knowledge-base-system.md) - Network patterns in knowledge base
**Overview:**
- [TEA Overview](/docs/tea/explanation/tea-overview.md) - Network-first in workflows
- [Testing as Engineering](/docs/tea/explanation/testing-as-engineering.md) - Why flakiness matters
## Practical Guides
**Workflow Guides:**
- [How to Run Test Review](/docs/tea/how-to/workflows/run-test-review.md) - Review for hard waits
- [How to Run ATDD](/docs/tea/how-to/workflows/run-atdd.md) - Generate network-first tests
- [How to Run Automate](/docs/tea/how-to/workflows/run-automate.md) - Expand with network patterns
**Use-Case Guides:**
- [Using TEA with Existing Tests](/docs/tea/how-to/brownfield/use-tea-with-existing-tests.md) - Fix flaky legacy tests
**Customization:**
- [Integrate Playwright Utils](/docs/tea/how-to/customization/integrate-playwright-utils.md) - Network utilities (recorder, interceptor, error monitor)
## Reference
- [TEA Command Reference](/docs/tea/reference/commands.md) - All workflows use network-first
- [Knowledge Base Index](/docs/tea/reference/knowledge-base.md) - Network-first fragment
- [Glossary](/docs/tea/glossary/index.md#test-architect-tea-concepts) - Network-first pattern term
---
Generated with [BMad Method](https://bmad-method.org) - TEA (Test Architect)

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