Skip to main content
Use command-line flags to install BMad non-interactively. This is useful for:

When to Use This

  • Automated deployments and CI/CD pipelines
  • Scripted installations
  • Batch installations across multiple projects
  • Quick installations with known configurations
Prerequisites: Requires Node.js v20+ and npx (included with npm).

Available Flags

Installation Options

| Flag | Description | Example | |------|-------------|---------|| | --directory <path> | Installation directory | --directory ~/projects/myapp | | --modules <modules> | Comma-separated module IDs | --modules bmm,bmb | | --tools <tools> | Comma-separated tool/IDE IDs (use none to skip) | --tools claude-code,cursor or --tools none | | --custom-content <paths> | Comma-separated paths to custom modules | --custom-content ~/my-module,~/another-module | | --action <type> | Action for existing installations: install (default), update, quick-update, or compile-agents | --action quick-update |

Core Configuration

| Flag | Description | Default | |------|-------------|---------|| | --user-name <name> | Name for agents to use | System username | | --communication-language <lang> | Agent communication language | English | | --document-output-language <lang> | Document output language | English | | --output-folder <path> | Output folder path | _bmad-output |

Other Options

| Flag | Description | |------|-------------|| | -y, --yes | Accept all defaults and skip prompts | | -d, --debug | Enable debug output for manifest generation |

Module IDs

Available module IDs for the --modules flag:
  • bmm — BMad Method Master
  • bmb — BMad Builder
  • tea — Test Architect Enterprise
  • bmgd — Game Dev Studio
  • cis — Creative Intelligence Suite
Check the BMad registry for available external modules.

Tool/IDE IDs

Available tool IDs for the --tools flag: Preferred: claude-code, cursor Also supported: copilot, opencode, codex, rovo, codebuddy, kiro Run npx bmad-method install interactively once to see the full current list of supported tools, or check the platform codes configuration.

Installation Modes

| Mode | Description | Example | |------|-------------|---------|| | Fully non-interactive | Provide all flags to skip all prompts | npx bmad-method install --directory . --modules bmm --tools claude-code --yes | | Semi-interactive | Provide some flags; BMad prompts for the rest | npx bmad-method install --directory . --modules bmm | | Defaults only | Accept all defaults with -y | npx bmad-method install --yes | | Without tools | Skip tool/IDE configuration | npx bmad-method install --modules bmm --tools none |

Examples

CI/CD Pipeline Installation

#!/bin/bash
# install-bmad.sh

npx bmad-method install \
  --directory "${GITHUB_WORKSPACE}" \
  --modules bmm \
  --tools claude-code \
  --user-name "CI Bot" \
  --communication-language English \
  --document-output-language English \
  --output-folder _bmad-output \
  --yes

Update Existing Installation

npx bmad-method install \
  --directory ~/projects/myapp \
  --action update \
  --modules bmm,bmb,custom-module

Quick Update (Preserve Settings)

Use this to update all modules to the latest version while preserving your existing settings:
npx bmad-method install \
  --directory ~/projects/myapp \
  --action quick-update

Recompile Agents Only

After editing .customize.yaml files, recompile agents without updating modules:
npx bmad-method install \
  --directory ~/projects/myapp \
  --action compile-agents

Installation with Custom Content

npx bmad-method install \
  --directory ~/projects/myapp \
  --modules bmm \
  --custom-content ~/my-custom-module,~/another-module \
  --tools claude-code

What You Get

  • A fully configured _bmad/ directory in your project
  • Compiled agents and workflows for your selected modules and tools
  • A _bmad-output/ folder for generated artifacts

Validation and Error Handling

BMad validates all provided flags:
  • Directory — Must be a valid path with write permissions
  • Modules — Warns about invalid module IDs (but won’t fail)
  • Tools — Warns about invalid tool IDs (but won’t fail)
  • Custom Content — Each path must contain a valid module.yaml file
  • Action — Must be one of: install, update, quick-update, compile-agents
Invalid values will either:
  1. Show an error and exit (for critical options like directory)
  2. Show a warning and skip (for optional items like custom content)
  3. Fall back to interactive prompts (for missing required values)
Best Practices
  • Use absolute paths for --directory to avoid ambiguity
  • Test flags locally before using in CI/CD pipelines
  • Combine with -y for truly unattended installations
  • Use --debug if you encounter issues during installation

Troubleshooting

Installation fails with “Invalid directory”

  • The directory path must exist (or its parent must exist)
  • You need write permissions
  • The path must be absolute or correctly relative to the current directory

Module not found

  • Verify the module ID is correct
  • External modules must be available in the registry

Custom content path invalid

Ensure each custom content path:
  • Points to a directory
  • Contains a module.yaml file in the root
  • Has a code field in the module.yaml
Still stuck? Run with --debug for detailed output, try interactive mode to isolate the issue, or report at https://github.com/bmad-code-org/BMAD-METHOD/issues.

Build docs developers (and LLMs) love