π€ Autonomous development orchestrator for the BMad Method. Runs fully autonomous parallel multi-agent pipelines through the full story lifecycle (create β dev β review β PR) driven by your sprint backlog and dependency graph.
BAD is a BMad Method module that automates your entire sprint execution. A lightweight coordinator orchestrates the pipeline β it never reads files or writes code itself. Every unit of work is delegated to a dedicated subagent with a fresh context window, keeping each agent fully focused on its single task.
Once your epics and stories are planned, BAD takes over:
- (
MODEL_STANDARDsubagent) Builds a dependency graph from your sprint backlog β maps story dependencies, syncs GitHub PR status, and identifies what's ready to work on - Picks ready stories from the graph, respecting epic ordering and dependencies
- Runs up to
MAX_PARALLEL_STORIESstories simultaneously β each in its own isolated git worktree β each through a sequential 7-step pipeline:- Step 1 (
MODEL_STANDARDsubagent) βbmad-create-story: generates and validates the story spec - Step 2 (
MODEL_STANDARDsubagent) βbmad-testarch-atdd: generates failing acceptance tests - Step 3 (
MODEL_STANDARDsubagent) βbmad-dev-story: implements the code - Step 4 (
MODEL_STANDARDsubagent) βbmad-testarch-test-review: reviews test quality, applies fixes - Step 5 (
MODEL_QUALITYsubagent) βbmad-code-review: reviews and fixes the implementation - Step 6 (
MODEL_STANDARDsubagent) β commit, push, open PR, monitor CI, fix any failing checks - Step 7 (
MODEL_STANDARDsubagent) β PR code review: reviews diff, applies fixes, pushes clean
- Step 1 (
- (
MODEL_STANDARDsubagent) Optionally auto-merges batch PRs sequentially (lowest story number first), resolving any conflicts - Waits, then loops back for the next batch β until the entire sprint is done
- BMad Method installed in your project
npx bmad-method install --modules bmm,tea - A sprint plan with epics, stories, and
sprint-status.yaml - Git + GitHub CLI (
gh) installed and authenticated:brew install ghgh auth login- Add to your
.zshrcso BAD's subagents can connect to GitHub:export GITHUB_PERSONAL_ACCESS_TOKEN=$(gh auth token)
- If running Claude Code with sandbox mode, allow
ghto reach GitHub's API β add to.claude/settings.json:{ "sandbox": { ... "enableWeakerNetworkIsolation": true } }
npx skills add https://github.com/stephenleo/bmad-autonomous-developmentThen run setup in your project:
/bad setup
BAD spawns subagents for every step of the pipeline. For the full autonomous experience β no permission prompts β start Claude Code with:
claude --dangerously-skip-permissionsThen run:
/bad
BAD can also be triggered naturally: "run BAD", "kick off the sprint", "automate the sprint", "start autonomous development", "run the pipeline", "start the dev pipeline"
Run with optional overrides:
/bad MAX_PARALLEL_STORIES=2 AUTO_PR_MERGE=true MODEL_STANDARD=opus
BAD is configured at install time (/bad setup) and stores settings in the bad: section of _bmad/config.yaml. All values can be overridden at runtime with KEY=VALUE args.
| Variable | Default | Description |
|---|---|---|
MAX_PARALLEL_STORIES |
3 |
Stories to run per batch |
WORKTREE_BASE_PATH |
.worktrees |
Base directory for per-story git worktrees |
MODEL_STANDARD |
sonnet |
Model for create, dev, PR steps |
MODEL_QUALITY |
opus |
Model for code review |
AUTO_PR_MERGE |
false |
Auto-merge PRs after each batch |
RUN_CI_LOCALLY |
false |
Run CI locally instead of GitHub Actions |
WAIT_TIMER_SECONDS |
3600 |
Wait between batches |
RETRO_TIMER_SECONDS |
600 |
Delay before auto-retrospective |
CONTEXT_COMPACTION_THRESHOLD |
80 |
Context window % at which to compact context |
STALE_TIMEOUT_MINUTES |
60 |
Minutes of subagent inactivity before watchdog alerts (0 = disabled) |
TIMER_SUPPORT |
true |
Use native platform timers; false for prompt-based continuation |
MONITOR_SUPPORT |
true |
Use the Monitor tool for CI/PR-merge polling; false for Bedrock/Vertex/Foundry |
API_FIVE_HOUR_THRESHOLD |
80 |
(Claude Code) 5-hour usage % at which to pause |
API_SEVEN_DAY_THRESHOLD |
95 |
(Claude Code) 7-day usage % at which to pause |
API_USAGE_THRESHOLD |
80 |
(Other harnesses) Generic usage % at which to pause |
BAD is harness-agnostic. Setup detects your installed harnesses (Claude Code, Cursor, GitHub Copilot, etc.) and configures platform-specific settings (models, rate limit thresholds, timer support) accordingly.
bmad-autonomous-development/
βββ .claude-plugin/
β βββ marketplace.json # Module manifest
βββ skills/
β βββ bad/
β βββ SKILL.md # Main skill β coordinator logic
β βββ references/ # Phase-specific reference docs
β βββ assets/ # Module registration files
β βββ scripts/ # Config merge scripts
βββ docs/
MIT Β© 2026 Marie Stephen Leo
