bmad-init

Initializes BMad project configuration and loads module config variables as JSON.

Updated Mar 20, 2026
One-click install
npx skills add https://github.com/LinCie/bearuang --skill bmad-init-lincie
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: bmad-init
Source: https://github.com/LinCie/bearuang/tree/main/.opencode/skills/bmad-init
Command: npx skills add https://github.com/LinCie/bearuang --skill bmad-init-lincie

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyyaml, and includes scripts (resource) components.

What problem does it solve? BMad skills need consistent project configuration values (user name, language, output folders) before they can run, but manually creating and maintaining per-module config files is repetitive and error-prone. This Skill bootstraps the _bmad configuration directory and returns resolved config variables to any calling skill. ## Core Features & Use Cases - Fast-path config loading: Returns existing config vars as JSON for a requested module, including merged core values, with {project-root} placeholder resolution. - Guided first-time setup: Detects missing core or module config, presents questions from module.yaml definitions (with defaults and single-select options), and writes flat YAML config files. - Template expansion: Applies result templates and resolves cross-variable defaults (e.g., {output_folder}) when writing module configs, and creates declared output directories. - Use Case: A BMad skill that generates reports needs the user's output folder and language. It calls bmad-init with --module bmb --all, receives the resolved vars as JSON, and proceeds without knowing whether setup just happened. ## Quick Start Ask the AI to initialize BMad configuration for this project and load the config variables for the module you are working with.

Frequently Asked Questions about bmad-init

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I initialize BMad project configuration?▼

Run the bmad_init.py script with the check subcommand to see what setup is needed, answer the core and module questions, then use the write subcommand with your answers as JSON. The script creates config.yaml files under the _bmad directory.

How do I load BMad config variables in a skill?▼

Run bmad_init.py with the load subcommand, passing --module with your module code and --all for all vars or --vars for specific ones with defaults. The script returns resolved config values as JSON, including merged core variables.

What Python dependencies does bmad-init require?▼

The script requires Python 3.10 or higher and the pyyaml package, declared in its inline script metadata. No other external dependencies are needed since it uses only the standard library plus YAML parsing.

Where does bmad-init store configuration files?▼

Config files are stored as flat YAML under the project root in _bmad/core/config.yaml for core settings and _bmad/{module}/config.yaml for each module. Module configs include merged core values with result templates expanded.

Why does bmad-init return init_required when loading config?▼

The load command returns init_required when no config.yaml exists for the requested module under _bmad. Run the check subcommand to get the setup questions, collect answers, and write the config before loading again.