Browse the documentation

install

Install BMAD+ agents, skills, instruction files and configuration into a project: every flag, what is written, how a re-run behaves, real output and the errors you can meet.

On this page
  1. Synopsis
  2. The interactive wizard
  3. What it reads and writes
  4. Running it again
  5. Exit codes
  6. Real output
  7. Errors and what to do
  8. Examples

install is the command that puts BMAD+ into a project. It copies the agents and skills of the packs you choose, writes the instruction files your AI assistants read, creates the configuration, and records a manifest of everything it owns so that update, doctor and uninstall can later act safely. Run it once per project, and again whenever you want to add a pack or a tool.

Synopsis

In your project terminal
npx bmad-plus install [-d <path>] [-p <packs>] [-y] [-l <code>] [--tools <tools>] [--mode <mode>] [--provision-python]

Options of install
FlagArgumentDefaultWhat it does
-d, --directory <path>foldercurrent folderProject to install into.
-p, --packs <packs>comma listasked interactivelyPack ids: core, osint, maker, shield, seo, memory, dev-studio, backup, animated, design, or all (every pack), or none. Core is always installed. An unknown id is an error.
-y, --yes-offAccept every default and skip all prompts. Required when there is no terminal.
-l, --lang <code>language codeasked, or en with --yesLanguage of the installer screens: en, fr, es, de, pt-br, ru, zh, he, ja, it.
--tools <tools>comma listauto-detectWhich assistants to write instruction files for: ids (claude-code, gemini-cli, antigravity, cursor, codex-cli, opencode, aider), all, or none / skip to leave tool configuration untouched.
--mode <mode>manual, autopilot, hybridexisting value, else manualExecution mode written to _bmad/config.yaml. An explicit value replaces the existing one.
--provision-python-offCreate an isolated Python environment under .bmad/venv/<pack>/ for packs that need one (today: SEO). Never runs unless asked.

The interactive wizard

Without --yes, the installer asks the questions below, in this order. The language, pack and tool questions are skipped when you gave --lang, --packs or --tools; the name, communication language, test environment and execution mode are always asked. Core is always included in the pack list, and packs already installed are pre-selected.

  1. Language

    The installer language (see the CLI overview). Skipped when --lang is given.

  2. Packs

    A multi-select of the optional packs. Skipped when --packs is given.

  3. Tools

    Asked only when no AI tool was detected in the folder and --tools is not given.

  4. Name

    Your first name; agents use it to greet you. Defaults to the existing configuration, then your system user name.

  5. Communication language

    The language agents answer in. Written to the configuration.

  6. Test environment

    The URL of a test environment for human acceptance recipes; leave it blank if you have none.

  7. Execution mode

    manual (you call the agents), autopilot (Nexus runs the pipeline) or hybrid (autopilot with frequent checkpoints). Always asked. A --mode value wins over your answer.

With --yes, nothing is asked: the name comes from the existing configuration or your system user name, the communication language from the existing configuration, --lang or your system locale, and the mode from --mode, the existing configuration or manual. An unattended install never replaces a setting that already exists.

What it reads and writes

The command first lists every file of every selected pack. If one cannot be listed (for example the Design pack’s external skills do not match the pinned version), it stops before writing anything. It then takes a project lock, writes files atomically, and finishes with the manifest. It opens no network connection itself; the only exception is --provision-python, which asks a Python installer (uv, with pipx or pip as fallbacks) to fetch the pack’s requirements.

Files and folders written by install
PathWhat it is
.agents/skills/Agents, skills and pack folders of the selected packs.
.agents/data/Shared data, notably role-triggers.yaml (automatic role activation).
_bmad/module.yaml, _bmad/module-help.csvModule description and help index.
_bmad/config.yamlYour project configuration. Created, or merged with existing keys kept.
_bmad/.bmad-plus-install.jsonThe manifest: version, packs, tools, adapter hashes, ownership inventory, mode, user and language.
AGENTS.md and tool filesInstruction files for the selected tools (see the adapters page). Not written with --tools none.
_bmad-output/discovery/, _bmad-output/build/, docs/Empty output folders agents write into.
.agents/memory/, ~/.bmad-plus/brainWith the Memory pack: project memory files and, if needed, a global brain. A failure here is a warning, not an error.
.bmad/venv/<pack>/Only with --provision-python.
.bmad/update.lockHeld while the command runs, then removed.

Note Your .gitignore is yours

The installer does not edit .gitignore. Whether the installed folders show up in git status depends on your own ignore rules. In the recorded acceptance run the demo project already ignored them, so git status --short stayed empty.

Running it again

  • Same version: only missing packs, tools and files are added. Packs and tools the installation already owns are kept and refreshed.
  • Files you changed, or files that are not recorded as BMAD+’s, are preserved with a warning (<file>: locally changed or unowned content preserved.).
  • Your own instruction files (CLAUDE.md, GEMINI.md and so on): an interactive install preserves them and warns; with --yes they are first copied to <file>.bak (numbered if needed) and then replaced by the BMAD+ file. A BMAD+ file that you edited is always preserved. Older BMAD+ files without ownership hashes are saved as <file>.bak first.
  • _bmad/config.yaml is merged: existing keys win, missing defaults are added, and answers you gave explicitly in the wizard (or --mode) replace the old value. If the file cannot be parsed it is left untouched, with a warning.
  • A different version is refused. Use update: it plans the change, backs up files and records a receipt.
  • A manifest that cannot be read is first copied to _bmad/.bmad-plus-install.json.corrupt.bak (numbered if it exists), then replaced.

Exit codes

Exit codes of install
CodeMeaning
0Installed, or nothing left to add.
1No terminal and no --yes; version conflict; unknown pack, tool or mode; a pack that cannot be listed; a lock held by another install or update; a cancelled prompt.

Real output

This is the recorded install of the Core and Design packs for Claude Code, in French (--lang fr), from the human acceptance run of 0.23.0. The line “5 agents, 9 skills, 4 files copied” counts agent folders, skill folders and other files copied. The panel ends with the quick-start guide; its example lines depend on the packs you chose (here the Design line).

Unattended install, Core + Design, Claude Code
npx bmad-plus install --yes --lang fr --packs core,design --tools claude-code --directory .\demo-app
T   BMAD+ Installer v0.23.0
|
•  ✨ Created by Laurent Rochetta — github.com/lrochetta/BMAD-PLUS
|
•  Installation dans: C:\Users\you\demo-app
|
*  Packs sélectionnés: ⚙️ Core, 🎨 Design
|
•  IDE détectés: Claude Code
|
o  ✅ 5 agents, 9 skills, 4 fichiers copiés
|
o  ✅ 1 IDE configuré(s)
|
o  ✅ Installation terminée — Comment commencer -------------------------------+
|                                                                              |
|  💬 À qui parler ?                                                           |
|                                                                              |
|    Discuter d'une idée          →  "Atlas, [...]"                            |
|    Créer un PRD                 →  "Atlas, create PRD"                       |
|    Architecture technique       →  "Forge, propose architecture"             |
|    Implémenter du code          →  "Forge, implement story [X]"              |
|    Tester / code review         →  "Sentinel, review module [X]"             |
|    Planifier un sprint          →  "Nexus, create epics"                     |
|    Tout automatiser             →  "autopilot"                               |
|    Design avec Atelier          →  "/design read"                            |
|                                                                              |
|  📦 Commandes CLI:                                                           |
|    npx bmad-plus install    — Installer agents & skills                      |
|    npx bmad-plus update     — Mettre à jour (conserve la config)             |
|    npx bmad-plus doctor     — Vérifier l'installation                        |
|    npx bmad-plus uninstall  — Supprimer BMAD+ du projet                      |
|                                                                              |
|  💡 Exemples rapides:                                                        |
|    🎨 Design : "/design read" → Atelier vous interroge, puis construit       |
|                                                                              |
+------------------------------------------------------------------------------+
|
—  BMAD+ est prêt ! Parle à Atlas pour commencer 🚀

Output captured from a real run. Source: Captured during the 0.23.0 acceptance run, 2026-10-18 (step 1; npm notice lines removed; the quick-start box is abridged (workflow and output-folder lines omitted))

Errors and what to do

Messages of install
MessageCauseWhat to do
This command requires a terminal. Run ...Input is not a terminal (script, CI, pipe) and --yes is missing.Add --yes and, if you want adapters, --tools <ids>.
BMAD+: Unknown pack ID(s): x. Available: core, osint, maker, shield, seo, memory, dev-studio, backup, animated, design, all.A pack id in --packs is misspelled.Use one of the listed ids.
BMAD+: Unknown tool ID(s): x. Available: claude-code, gemini-cli, antigravity, cursor, codex-cli, opencode, aider, all, none.A tool id in --tools is misspelled.Use one of the listed ids.
BMAD+: Unknown execution mode: x--mode is not manual, autopilot or hybrid.Pick one of the three.
BMAD+ v0.22.0 is installed; this package is v0.23.0. Run bmad-plus update first ...The project holds another version than the package you run.Run update, then re-run install to add packs or tools.
Downgrade refused: BMAD+ vX is installed and this package is vY.The package you run is older than the installation.Run a newer package: npx bmad-plus@latest install.
Another update is in progress: <path>.Another install or update holds .bmad/update.lock.Wait for it. If it was interrupted, doctor tells you when the lock is stale and which file to delete.
<file>: existing project instructions preserved.You already have that instruction file and it is not BMAD+’s (interactive install), or you edited the BMAD+ file.Nothing breaks: the spine AGENTS.md holds the shared instructions. Merge by hand, or move your file aside and re-run. Note that --yes would have saved your file as <file>.bak and replaced it.
External module design-skill is X but this BMAD+ expects exactly Y; reinstall bmad-plus so its pinned dependency matches.The Design pack’s external skills do not match the version this release pins.Reinstall the package (npm install or npx bmad-plus@<version>). The project was not touched.
Installation changed while preparing install. Please retry.Another process changed the manifest during preflight.Run the command again.
_bmad/config.yaml could not be parsed; it was left unchanged.The file is not valid YAML.Fix the file, then re-run to merge defaults.
Memory/brain initialization failed (non-fatal, install continues): ...The home folder is read-only or missing (container, CI).Safe to ignore; set BMAD_PLUS_BRAIN to a writable folder if you want the global brain.

Examples

Interactive, the usual way
npx bmad-plus@0.23.0 install

Unattended, two packs, one assistant
npx bmad-plus install --packs core,design --tools claude-code --yes --lang fr

Everything, every assistant
npx bmad-plus install --packs all --tools all --yes

Agents and skills only, no instruction file touched
npx bmad-plus install --tools none --yes

SEO pack with its Python environment
npx bmad-plus install --packs seo --provision-python

See also