> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/bmad-code-org/BMAD-METHOD/llms.txt
> Use this file to discover all available pages before exploring further.

# 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](https://nodejs.org) v20+ and `npx` (included with npm).
</Note>

## 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](https://github.com/bmad-code-org) 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](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/tools/cli/installers/lib/ide/platform-codes.yaml).

## 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

```bash theme={null}
#!/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

```bash theme={null}
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:

```bash theme={null}
npx bmad-method install \
  --directory ~/projects/myapp \
  --action quick-update
```

### Recompile Agents Only

After editing `.customize.yaml` files, recompile agents without updating modules:

```bash theme={null}
npx bmad-method install \
  --directory ~/projects/myapp \
  --action compile-agents
```

### Installation with Custom Content

```bash theme={null}
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)

<Tip>
  **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
</Tip>

## 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`

<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](https://github.com/bmad-code-org/BMAD-METHOD/issues).
</Note>
