5.5 KiB
| title | description | sidebar | ||
|---|---|---|---|---|
| Non-Interactive Installation | Install BMad using command-line flags for CI/CD pipelines and automated deployments |
|
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
:::note[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 codex,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 Masterbmb— BMad Builder
Check the BMad registry for available external modules.
Tool/IDE IDs
Available tool IDs for the --tools flag:
Preferred: claude-code, cursor
Run npx bmad-method install interactively once to see the full current list of supported tools, or check the platform codes configuration.
For codex, BMAD installs slash-command prompt files into .codex/prompts and syncs them to ~/.codex/prompts.
Use them in Codex CLI as /prompts:bmad-help, /prompts:bmad-master, etc.
Installation Modes
| Mode | Description | Example |
|---|---|---|
| Fully non-interactive | Provide all flags to skip all prompts | npx bmad-method install --directory . --modules bmm --tools codex --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 codex \
--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)
npx bmad-method install \
--directory ~/projects/myapp \
--action quick-update
Installation with Custom Content
npx bmad-method install \
--directory ~/projects/myapp \
--modules bmm \
--custom-content ~/my-custom-module,~/another-module \
--tools codex
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.yamlfile - Action — Must be one of:
install,update,quick-update,compile-agents
Invalid values will either:
- Show an error and exit (for critical options like directory)
- Show a warning and skip (for optional items like custom content)
- Fall back to interactive prompts (for missing required values)
:::tip[Best Practices]
- Use absolute paths for
--directoryto avoid ambiguity - Test flags locally before using in CI/CD pipelines
- Combine with
-yfor truly unattended installations - Use
--debugif 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.yamlfile in the root - Has a
codefield in themodule.yaml
:::note[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.
:::