Breakthrough Method for Agile Ai Driven Development
Go to file
Davor Racic 0bf8e0edfb
fix: installer fixes and non-interactive mode improvements (#1612)
* fix: remove duplicate 'recompilation complete' message in compile-agents output

The spinner.stop() in compileAgents() already displays this message,
so the additional log.success() call produced a redundant line.

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

* fix: remove deselected IDE configurations during installer update

When updating an existing installation, IDEs that were previously
configured but unchecked in the new selection are now detected and
cleaned up after user confirmation, mirroring the existing module
removal flow.

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

* chore: remove unreachable return statements after process.exit calls

Remove 4 dead `return;` statements that immediately follow `process.exit(0)`
calls in install.js. Since process.exit() terminates the process, the
subsequent return statements are unreachable.

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

* fix: batch directory creation log messages for cleaner installer output

Collect all created directory names during module directory setup and
emit them as a single log message instead of one per directory. This
eliminates the excessive blank-line spacing that @clack/prompts adds
between individual log.message() calls.

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

* fix: consolidate directory creation output across all modules

Move directory creation logging from ModuleManager.createModuleDirectories
into the installer caller. The method now returns created directory info
instead of logging directly, allowing the installer to batch all module
directories into a single log message under one spinner. Also adds spacing
before the final "Installation complete" status line.

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

* fix: propagate skipPrompts flag to IDE collectConfiguration calls

The --yes flag (skipPrompts) was not being passed through to IDE handler
collectConfiguration() calls, causing the Codex installer to hang on its
interactive prompt in non-interactive mode (CI/CD, --yes flag).

- Add skipPrompts parameter to collectToolConfigurations() and forward it
  to handler.collectConfiguration() options
- Add early return in CodexSetup.collectConfiguration() when skipPrompts
  is true, defaulting to global install location
- Guard IDE removal confirmation prompt with skipPrompts check, defaulting
  to preserve existing configs (consistent with prompt default: false)

Fixes #1610

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

* fix: address code review findings from PR #1612

- Restore saved IDE configurations when removal is cancelled or skipped
  in non-interactive mode, preventing silent config downgrade (e.g.,
  Codex 'project' install reverting to 'global')
- Short-circuit IDE removal block when skipPrompts is true to eliminate
  unnecessary warning/cancelled log output in --yes mode
- Add null guard on config.ides before pushing re-added IDEs
- Return empty result object from createModuleDirectories early exits
  instead of undefined for a uniform return contract

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

* fix: guard remaining unguarded prompts with skipPrompts for non-interactive mode

Add skipPrompts guards to 4 remaining unguarded interactive prompts in
installer.js that caused hangs in non-interactive mode (--yes flag):
- Module removal confirmation: preserves modules by default
- Update action selection: defaults to 'update'
- Custom module missing sources: keeps all modules
- Custom module delete confirmation: unreachable via early return

Additional robustness fixes:
- Defensive type-check before .trim() on prompt result (symbol guard)
- Console.log suppression scoped per-IDE instead of global try/finally
- process.exit flush via setImmediate for legacy v4 exit path
- JSDoc updated for new skipPrompts parameter

Follows established pattern from commit f967fdde (IDE skipPrompts guards).

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

* fix: migrate installer console.warn/error calls to prompts.log API

Replace all user-facing console.warn(), console.error(), and console.log()
calls with their prompts.log.* equivalents for consistent @clack/prompts
styled output across the installer codebase.

- Migrate 13 console.warn/error calls across 5 files to prompts.log.*
- Convert moduleLogger callbacks to async prompts.log.* in installer.js
- Replace blank-line console.log() with prompts.log.message('')
- Add prompts import to 5 files that lacked it
- Remove redundant "Warning:" prefixes (prompts.log.warn adds styling)
- Remove redundant local prompts require in installer.js L454
- Add missing await on logger.log call in manager.js
- Debug-gated console.log calls in manifest-generator.js left as-is

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

* feat: replace installer spinner with tasks() progress and consolidate summary

Replace the serial spinner during non-interactive install phases with
@clack/prompts tasks() component for clearer progress visibility. The
install flow now uses two tasks() blocks (pre-IDE and post-IDE) with
the IDE setup retaining its own spinner since it may prompt.

- Refactor install phases into tasks() callbacks with message() updates
- Merge next-steps content into the "BMAD is ready to use!" summary note
- Fix spinner.stop() tense: "Reviewing..." → past tense ("reviewed")
- Move directory creation output after tasks() to avoid breaking progress
- Remove dead showInstallSummary() from ui.js
- Harden error handling: try/finally on IDE spinner, safe catch block

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

* fix: consolidate install messages into single start banner

Combine start and end marketing messages into one banner shown before
installation begins. Remove the post-install end message and its
displayEndMessage() calls — the install summary note now serves as
the final output.

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

* style: apply prettier formatting to install command files

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

* fix: rename "Module installers" label to "Module directories" in summary

The old script-based module installer pattern was replaced with
declarative directory creation, but the task title and summary label
were never updated to reflect that change.

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

* feat: add batch module configuration gateway with express/customize modes

Replace N individual "Accept Defaults?" confirm prompts with a single
select gateway ("Express Setup" vs "Customize"). When customizing, a
multiselect shows only modules with configurable options. All others
silently receive defaults via spinner progress.

- Add scanModuleSchemas() to pre-scan module metadata and display names
- Add select/multiselect gateway in collectAllConfigurations()
- Replace per-module confirm with modulesToCustomize Set check
- Suppress UI output during silent default config via _silentConfig flag
- Reorder installer tasks: module dirs before config generation
- Add resolution null guards for edge-case safety
- Cache ModuleManager instance via _getModuleManager() for reuse

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

* fix: move module directories instead of creating new ones on path change

When users modify a module's directory path during installer update/modify,
the old directory is now moved to the new location instead of creating an
empty directory while leaving the old one (with its documents) behind.

Includes: cross-device fs.move, error handling with fallback, path
normalization, parent/child path guard, and warning when both dirs exist.

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

* fix: add --yes flag guards to all unguarded prompts in update/modify path

Guard 5 interactive prompts in ui.js that caused the installer to hang
when --yes flag was used with existing installations. Add skipPrompts
field to 3 return objects that were missing it, ensuring installer.js
downstream guards work correctly for all update paths.

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 19:32:38 -06:00
.augment chore: configure dual-mode AI code review (#1511) 2026-02-07 09:17:41 -06:00
.claude/skills chore: remove unused changelog-social skill 2026-02-08 20:06:17 -06:00
.github fix(docs): comprehensive documentation site review fixes (#1578) 2026-02-08 11:58:22 -06:00
.husky docs: fix docs build (#1336) 2026-01-15 16:44:14 -06:00
.vscode excorcise the deamons part 1 - remove dead uneeed artifacts and items no longer being supported beyond beta of the BMM or core - but could return later as a module 2026-02-04 15:44:25 -06:00
docs fix(docs): comprehensive documentation site review fixes (#1578) 2026-02-08 11:58:22 -06:00
src feat: custom GitHub Copilot installer handler (#1606) 2026-02-09 13:41:11 -06:00
test fix(docs): comprehensive documentation site review fixes (#1578) 2026-02-08 11:58:22 -06:00
tools fix: installer fixes and non-interactive mode improvements (#1612) 2026-02-09 19:32:38 -06:00
website fix(docs): comprehensive documentation site review fixes (#1578) 2026-02-08 11:58:22 -06:00
.coderabbit.yaml chore: configure dual-mode AI code review (#1511) 2026-02-07 09:17:41 -06:00
.gitignore chore: configure dual-mode AI code review (#1511) 2026-02-07 09:17:41 -06:00
.markdownlint-cli2.yaml refactor: replace 'execute' with 'Read fully and follow:' in workflow prompts (#1387) 2026-01-23 22:25:19 -06:00
.npmrc fix: resolve npm install peer dependency issues 2026-01-30 15:37:42 +00:00
.nvmrc feat: v6.0.0-alpha.0 - the future is now 2025-09-28 23:17:07 -05:00
.prettierignore folder rename from .bmad to _bmad 2025-12-13 16:22:34 +08:00
CHANGELOG.md docs: update CHANGELOG for v6.0.0-Beta.8 2026-02-08 20:05:47 -06:00
CNAME Add CNAME file 2026-01-07 18:18:12 +08:00
CONTRIBUTING.md feat: extend Layer 1 file-ref validator to scan CSV workflow-file references (#1573) 2026-02-08 09:19:53 -06:00
CONTRIBUTORS.md project licence, contribution and discord noise updates, along with improved simplified issue templates 2026-01-18 17:03:47 -06:00
LICENSE project licence, contribution and discord noise updates, along with improved simplified issue templates 2026-01-18 17:03:47 -06:00
README.md fix(docs): comprehensive documentation site review fixes (#1578) 2026-02-08 11:58:22 -06:00
SECURITY.md Enhance security policy documentation (#1312) 2026-01-14 16:27:52 -06:00
TRADEMARK.md project licence, contribution and discord noise updates, along with improved simplified issue templates 2026-01-18 17:03:47 -06:00
Wordmark.png feat: update website header with new BMAD Method branding (#1352) 2026-01-18 00:25:12 -06:00
banner-bmad-method.png feat: update website header with new BMAD Method branding (#1352) 2026-01-18 00:25:12 -06:00
eslint.config.mjs refactor: replace module installer scripts with declarative directories config 2026-02-08 19:21:48 -06:00
package-lock.json 6.0.0-Beta.8 2026-02-08 20:06:40 -06:00
package.json 6.0.0-Beta.8 2026-02-08 20:06:40 -06:00
prettier.config.mjs feat: v6.0.0-alpha.0 - the future is now 2025-09-28 23:17:07 -05:00

README.md

BMad Method

Version License: MIT Node.js Version Discord

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.

100% free and open source. No paywalls. No gated content. No gated Discord. We believe in empowering everyone, not just those who can pay.

Why BMad?

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.

  • 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

Quick Start

Prerequisites: Node.js v20+

npx bmad-method install

Follow the installer prompts, then open your AI IDE (Claude Code, Cursor, Windsurf, etc.) in the project folder.

Non-Interactive Installation: For CI/CD pipelines or automated deployments, use command-line flags:

npx bmad-method install --directory /path/to/project --modules bmm --tools claude-code --yes

See Non-Interactive Installation Guide for all available options.

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:

  • /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

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!

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.

Simple Path (Quick Flow)

Bug fixes, small features, clear scope — 3 commands - 1 Optional Agent:

  1. /quick-spec — analyzes your codebase and produces a tech-spec with stories
  2. /dev-story — implements each story
  3. /code-review — validates quality

Full Planning Path (BMad Method)

Products, platforms, complex features — structured planning then build:

  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

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.

Modules

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.

Module GitHub NPM Purpose
BMad Method (BMM) bmad-code-org/BMAD-METHOD bmad-method Core framework with 34+ workflows across 4 development phases
BMad Builder (BMB) bmad-code-org/bmad-builder bmad-builder Create custom BMad agents, workflows, and domain-specific modules
Test Architect (TEA) 🆕 bmad-code-org/tea tea Risk-based test strategy, automation, and release gates (8 workflows)
Game Dev Studio (BMGD) bmad-code-org/bmad-module-game-dev-studio bmad-game-dev-studio Game development workflows for Unity, Unreal, and Godot
Creative Intelligence Suite (CIS) bmad-code-org/bmad-module-creative-intelligence-suite bmad-creative-intelligence-suite Innovation, brainstorming, design thinking, and problem-solving
  • 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!

Testing Agents

BMad provides two testing options to fit your needs:

Quinn (QA) - Built-in

Quick test automation for rapid coverage

  • Always available in BMM module (no separate install)
  • Simple: One workflow (QA - Automate)
  • Beginner-friendly: Standard test framework patterns
  • Fast: Generate tests and ship

Use Quinn for: Small projects, quick coverage, standard patterns

Test Architect (TEA) - Optional Module

Enterprise-grade test strategy and quality engineering

  • 🆕 Standalone module (install separately)
  • 🏗️ Comprehensive: 8 workflows covering full test lifecycle
  • 🎯 Advanced: Risk-based planning, quality gates, NFR assessment
  • 📚 Knowledge-driven: 34 testing patterns and best practices
  • 📖 Test Architect Documentation

Use TEA for: Enterprise projects, test strategy, compliance, release gates


Documentation

BMad Documentation — Tutorials, how-to guides, concepts, and reference Test Architect Documentation — TEA standalone module documentation

For v4 Users

  • v4 Documentation
  • If you need to install V4, you can do this with npx bmad-method@4.44.3 install - similar for any past version.

Community

Support BMad

BMad is free for everyone — and always will be. If you'd like to support development:

  • Please click the star project icon near the top right of this page
  • Buy Me a Coffee — Fuel the development
  • 🏢 Corporate sponsorship — DM on Discord
  • 🎤 Speaking & Media — Available for conferences, podcasts, interviews (BM on Discord)

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

License

MIT License — see LICENSE for details.


BMad and BMAD-METHOD are trademarks of BMad Code, LLC. See TRADEMARK.md for details.

Contributors

See CONTRIBUTORS.md for contributor information.