Skip to content
🤖 Consolidated, AI-optimized BMAD docs: llms-full.txt. Fetch this plain text file for complete context.

Non-Interactive Installation

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

  • Automated deployments and CI/CD pipelines
  • Scripted installations
  • Batch installations across multiple projects
  • Quick installations with known configurations
FlagDescriptionExample
--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
FlagDescriptionDefault
--user-name <name>Name for agents to useSystem username
--communication-language <lang>Agent communication languageEnglish
--document-output-language <lang>Document output languageEnglish
--output-folder <path>Output folder path_bmad-output
FlagDescription
-y, --yesAccept all defaults and skip prompts
-d, --debugEnable debug output for manifest generation

Available module IDs for the --modules flag:

  • bmm — BMad Method Master
  • bmb — BMad Builder

Check the BMad registry for available external modules.

Available tool IDs for the --tools flag:

Preferred: claude-code, cursor, windsurf

Run npx bmad-method install interactively once to see the full current list of supported tools, or check the platform codes configuration.

ModeDescriptionExample
Fully non-interactiveProvide all flags to skip all promptsnpx bmad-method install --directory . --modules bmm --tools claude-code --yes
Semi-interactiveProvide some flags; BMad prompts for the restnpx bmad-method install --directory . --modules bmm
Defaults onlyAccept all defaults with -ynpx bmad-method install --yes
Without toolsSkip tool/IDE configurationnpx bmad-method install --modules bmm --tools none
install-bmad.sh
#!/bin/bash
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
Terminal window
npx bmad-method install \
--directory ~/projects/myapp \
--action update \
--modules bmm,bmb,custom-module
Terminal window
npx bmad-method install \
--directory ~/projects/myapp \
--action quick-update
Terminal window
npx bmad-method install \
--directory ~/projects/myapp \
--modules bmm \
--custom-content ~/my-custom-module,~/another-module \
--tools claude-code
  • 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

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)
  • 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
  • Verify the module ID is correct
  • External modules must be available in the registry

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