@stefanoginella/auto-bmad 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +168 -0
  3. package/install.sh +76 -0
  4. package/package.json +18 -0
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Stefano Ginella
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,168 @@
1
+ # ๐Ÿค– Auto BMAD
2
+
3
+ [![Plugin](https://img.shields.io/badge/Claude_Code-Plugin-blueviolet)](https://docs.anthropic.com/en/docs/claude-code) [![BMAD Method](https://img.shields.io/badge/BMAD-Method-orange)](https://github.com/bmad-code-org/BMAD-METHOD)
4
+
5
+ Automated (and very opinionated) BMAD pipeline orchestration for Claude Code.
6
+
7
+ Four sequential pipeline commands that drive the BMAD software development lifecycle โ€” from planning through story delivery โ€” plus a safe-bash auto-approval hook for frictionless autonomous execution.
8
+
9
+ > ๐Ÿ‘€ The pipelines are quite long and token hungry (the story pipeline alone can run for more than 60 minutes). Some steps might seem redundant, but I am satisfied with the code quality and consistency I get out of this. I recommend having a Claude Code Max x5 or x20 subscription to not hit limits mid-run.
10
+
11
+ ## ๐Ÿš€ Commands
12
+
13
+ | Command | Steps | Description |
14
+ |---------|-------|-------------|
15
+ | `/auto-bmad-plan` | 11 | Pre-implementation pipeline: product brief, PRD, validate, UX, architecture, test framework, test design, epics, readiness, project context, sprint planning |
16
+ | `/auto-bmad-epic-start` | 1 | Start a new epic: epic-level test design |
17
+ | `/auto-bmad-story` | 12 | Develop a story: create, validate, ATDD, develop, 3x code review, NFR, E2E, trace, automate, test review |
18
+ | `/auto-bmad-epic-end` | 3 | Close an epic: trace, retrospective, project context refresh |
19
+
20
+ ## ๐Ÿ—‚ Artifacts
21
+
22
+ The pipelines produce the following key artifacts throughout the lifecycle:
23
+
24
+ | Pipeline | Artifacts |
25
+ |----------|-----------|
26
+ | **Plan** | Product brief, PRD, UX design, architecture doc, test framework, CI configuration, epics, test design, sprint plan |
27
+ | **Epic Start** | Retro action resolution log, green baseline report, story order plan |
28
+ | **Story** | Story file, ATDD specs, implementation code, code review report, security scan results, regression/E2E results, traceability entries |
29
+ | **Epic End** | Aggregated epic data, traceability gate report, retrospective, next epic preview |
30
+
31
+ ## ๐Ÿ›  Typical Workflow
32
+
33
+ This is what a complete workflow using the pipelines might look like. If you already have all the planning artifacts ready, you can skip the plan pipeline and go directly to step 4 or 5.
34
+
35
+ 1. **Prepare a strong and comprehensive input** for the plan pipeline โ€” it validates readiness and won't run with a simple `Create a todo app` prompt. I recommend going through a few `/bmad-brainstorming` and `/bmad-party-mode` sessions first to build up enough context. If the initial input isn't ready, the plan pipeline will tell you what to improve.
36
+ 2. **Run `/auto-bmad-plan`** to kick off the initial planning pipeline for a new project or major initiative. This sets up the overall architecture, test framework, CI configuration, and initial epics and stories.
37
+ 3. **Review the PRD, Architecture, UX design, Epics, and Test Plan** generated by the plan pipeline. Make sure they look good and adjust if necessary before moving on to implementation. You might want to go through a few iterations of `/bmad-party-mode` to refine the output, since it sets the foundation for the next steps.
38
+ 4. **For each new epic**, run `/auto-bmad-epic-start` to establish a baseline and plan the story order based on the epic's goals and dependencies.
39
+ 5. **For each story within an epic**, run `/auto-bmad-story` to develop the story from creation through delivery, including validation, ATDD, development, linting, testing, code review, security scanning, regression, E2E, and traceability.
40
+ 6. **After each story**, review the report generated by the story pipeline and any other BMAD artifacts, perform some manual testing, and correct course if necessary.
41
+ 7. **At the end of an epic**, run `/auto-bmad-epic-end` to close the epic, aggregate data, perform a traceability gate, conduct a retrospective, and preview the next epic.
42
+ 8. **Review the outputs of each pipeline run**, check the generated artifacts, and make adjustments as needed. The pipelines are opinionated and automated, but they still require human judgment and iteration. Use `/bmad-bmm-correct-course` when big changes are needed.
43
+
44
+ > โ„น๏ธ **Important**: This plugin won't automate a multi-story workflow or an entire epic. Some human orchestration and judgment is still required between pipeline runs.
45
+
46
+ ## ๐Ÿ“ฆ Installation
47
+
48
+ One-command install via npx:
49
+
50
+ ```bash
51
+ npx @stefanoginella/auto-bmad
52
+ ```
53
+
54
+ Or from the marketplace inside Claude Code:
55
+
56
+ ```
57
+ /plugin marketplace add stefanoginella/claude-code-plugins
58
+ /plugin install auto-bmad@stefanoginella-plugins --scope <project|user|local>
59
+ ```
60
+
61
+ Scopes: `project` (shared with team), `user` (all your projects), `local` (personal, gitignored).
62
+
63
+ Or as a local plugin for development:
64
+
65
+ ```bash
66
+ claude --plugin-dir /path/to/plugins/auto-bmad
67
+ ```
68
+
69
+ ## ๐Ÿ“‹ Prerequisites
70
+
71
+ > โš ๏ธ **IMPORTANT**: Without these, the pipelines might fail or produce incorrect results. Make sure they're in place before running the pipelines.
72
+
73
+ ### BMAD Method
74
+
75
+ The pipelines are based on the [BMAD Method](https://github.com/bmad-code-org/BMAD-METHOD) workflow and relies on specific BMAD modules.
76
+
77
+ #### Required BMAD Modules
78
+
79
+ - **TEA** โ€” Test Engineering Architect. Provides test strategy, test design, and ATDD capabilities used throughout the pipelines.
80
+
81
+ #### Optional BMAD Modules
82
+
83
+ - **CIS** โ€” Creative Intelligence Suite. Enhances UX design quality during the plan pipeline. Without it, UX steps use baseline prompts.
84
+
85
+ ### Optional (but recommended) Claude Code Plugins
86
+
87
+ From the [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) marketplace.
88
+
89
+ - **context7** โ€” Live documentation lookups for library APIs. Used during architecture creation (plan) and story development (story). Without it, agents rely on training data instead of current docs.
90
+ - **semgrep** โ€” Security scanning in the story pipeline. Without it, the security scan step is skipped.
91
+ - **security-guidance** โ€” Security best practice recommendations during story development.
92
+ - Any relevant `lsp` plugin(s) for your codebase โ€” used during story development for linting and test feedback. They can improve the code quality and feedback loop, but are not strictly required since the pipelines also include manual lint and test steps.
93
+
94
+ ### Required and optional CLI tools
95
+
96
+ - `jq` (required) - JSON processing in bash steps. Needed by the pipelines and the safe bash auto-approval hook.
97
+ - `semgrep` (optional) - security scanning. Needed if you have the semgrep plugin and want to run the security scan step in the story pipeline.
98
+ - Any relevant CLI tool (optional) needed by your LSP plugin(s).
99
+
100
+ ### Project Requirements
101
+
102
+ The pipelines expect BMAD configuration files in the project:
103
+
104
+ - `_bmad/bmm/config.yaml` โ€” BMM configuration (output folders, artifact paths)
105
+ - `_bmad/tea/config.yaml` โ€” TEA configuration (test artifact paths)
106
+
107
+ These files are normally created by the BMAD CLI when initializing BMAD in a project. The pipelines rely on the standard structure and paths defined by these configs, so custom configurations may require pipeline adjustments.
108
+
109
+ ## ๐Ÿ”’ Hooks
110
+
111
+ ### Safe Bash Auto-Approval (PreToolUse)
112
+
113
+ Auto-approves bash commands matching a known-safe and non-destructive prefix list to reduce false-positive sandbox prompts during autonomous pipeline execution. This is a lightweight heuristic, not a full sandbox bypass.
114
+
115
+ **Default safe list:**
116
+
117
+ | Group | Match | Commands |
118
+ |-------|-------|----------|
119
+ | **Git** | Exact | `git diff` ยท `git fetch` ยท `git log` ยท `git status` |
120
+ | | Prefix | `git -C` ยท `git add` ยท `git commit` ยท `git diff` ยท `git diff-tree` ยท `git fetch` ยท `git log` ยท `git rev-parse` ยท `git show` ยท `git status` ยท `git tag` |
121
+ | **Docker & Compose** | Exact | `docker compose build` ยท `docker compose config` ยท `docker compose down` ยท `docker compose images` ยท `docker compose logs` ยท `docker compose ls` ยท `docker compose ps` ยท `docker compose pull` ยท `docker compose top` ยท `docker compose up` ยท `docker compose version` ยท `docker images` ยท `docker ps` ยท `docker version` |
122
+ | | Prefix | `docker compose build` ยท `docker compose config` ยท `docker compose exec` ยท `docker compose logs` ยท `docker compose ps` ยท `docker compose pull` ยท `docker compose top` ยท `docker compose up` ยท `docker inspect` ยท `docker logs` ยท `docker ps` |
123
+ | **File reading** | Prefix | `cat` ยท `file` ยท `head` ยท `stat` ยท `tail` ยท `wc` |
124
+ | **File system** | Prefix | `chmod` ยท `cp` ยท `mkdir` ยท `mv` ยท `touch` |
125
+ | **Search & filtering** | Prefix | `find` ยท `grep` ยท `sort` ยท `uniq` |
126
+ | **Text processing** | Prefix | `awk` ยท `cut` ยท `diff` ยท `echo` ยท `jq` ยท `sed` ยท `tr` |
127
+ | **Path utilities** | Prefix | `basename` ยท `dirname` ยท `realpath` |
128
+ | **Directory listing** | Exact | `ls` ยท `pwd` ยท `tree` |
129
+ | | Prefix | `ls` ยท `tree` |
130
+ | **System & environment** | Exact | `date` ยท `uname` |
131
+ | | Prefix | `date` ยท `du` ยท `timeout` ยท `uname` ยท `which` |
132
+ | **Security scanning** | Prefix | `semgrep` |
133
+
134
+ **Customizing the safe list:** Create `.claude/auto-bmad-safe-prefixes.txt` in your project to add entries without modifying the plugin:
135
+
136
+ ```
137
+ # Lines starting with "= " are exact matches (bare commands)
138
+ # All other lines are prefix matches (must end with a trailing space)
139
+ # Empty lines and comments (#) are ignored
140
+
141
+ = docker compose restart
142
+ npm install
143
+ npx vitest
144
+ ```
145
+
146
+ ### Dependency Check (SessionStart)
147
+
148
+ Outputs a system message at session start listing the required BMAD plugins, so Claude can warn early if a pipeline is invoked without the necessary dependencies.
149
+
150
+ ## ๐Ÿ” Permissions
151
+
152
+ The pipelines run various bash commands (depending on the project), skills and MCP that Claude Code will prompt you to approve if they are not already approved.
153
+
154
+ Many bash commands are already pre-approved by the safe bash auto-approval hook, but some might still require manual approval, especially if you have custom steps or a unique project setup that involves commands not in the default safe list. For the first few runs in a new project, expect several approval prompts as the allow list builds up. After that, things stabilize and the pipelines run fully autonomously.
155
+
156
+ I recommend adding these to your project's `.claude/settings.json` under `permissions.allow` to avoid repeated prompts:
157
+
158
+ - "WebSearch"
159
+ - "WebFetch"
160
+ - "mcp__ide__getDiagnostics"
161
+ - "mcp__plugin_context7_context7__resolve-library-id"
162
+ - "mcp__plugin_context7_context7__query-docs"
163
+
164
+ > โš ๏ธ Alternatively, you can run Claude Code in "dangerously skip permissions" mode (`--dangerously-skip-permissions`), but do so at your own risk โ€” this disables **all** permission checks, not just the ones above. Only use it in an isolated environment like a VM or container.
165
+
166
+ ## ๐Ÿ“„ License
167
+
168
+ [MIT](../../LICENSE)
package/install.sh ADDED
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ PLUGIN_NAME="auto-bmad"
5
+ MARKETPLACE="stefanoginella-plugins"
6
+ MARKETPLACE_REPO="stefanoginella/claude-code-plugins"
7
+
8
+ # --- Color support ---
9
+ if [ "${NO_COLOR:-}" = "" ] && [ -t 1 ]; then
10
+ GREEN='\033[0;32m'
11
+ RED='\033[0;31m'
12
+ YELLOW='\033[1;33m'
13
+ BOLD='\033[1m'
14
+ RESET='\033[0m'
15
+ else
16
+ GREEN='' RED='' YELLOW='' BOLD='' RESET=''
17
+ fi
18
+
19
+ # --- Check claude CLI is available ---
20
+ if ! command -v claude &>/dev/null; then
21
+ echo -e "${RED}Error: claude CLI not found.${RESET}" >&2
22
+ echo "Install Claude Code first: https://docs.anthropic.com/en/docs/claude-code" >&2
23
+ exit 1
24
+ fi
25
+
26
+ # --- Uninstall ---
27
+ if [ "${1:-}" = "--uninstall" ]; then
28
+ echo "Uninstalling ${PLUGIN_NAME}..."
29
+ claude plugin uninstall "${PLUGIN_NAME}@${MARKETPLACE}" 2>/dev/null && \
30
+ echo -e "${GREEN}${PLUGIN_NAME} uninstalled.${RESET}" || \
31
+ echo "${PLUGIN_NAME} is not installed."
32
+ exit 0
33
+ fi
34
+
35
+ # --- Choose scope ---
36
+ echo ""
37
+ echo -e "${BOLD}Install scope:${RESET}"
38
+ echo " 1) project โ€” shared with team via .claude/settings.json (default)"
39
+ echo " 2) user โ€” available across all your projects"
40
+ echo " 3) local โ€” this project only, personal, gitignored"
41
+ echo ""
42
+ printf "Choose scope [1]: "
43
+ read -r scope_choice
44
+
45
+ case "${scope_choice}" in
46
+ 2) SCOPE="user" ;;
47
+ 3) SCOPE="local" ;;
48
+ *) SCOPE="project" ;;
49
+ esac
50
+
51
+ # --- Install ---
52
+ echo ""
53
+ echo -e "${BOLD}Installing ${PLUGIN_NAME} (scope: ${SCOPE})...${RESET}"
54
+ echo ""
55
+
56
+ # Add marketplace (idempotent)
57
+ echo "Adding marketplace ${MARKETPLACE_REPO}..."
58
+ claude plugin marketplace add "${MARKETPLACE_REPO}" 2>/dev/null || true
59
+
60
+ # Install plugin
61
+ echo "Installing plugin..."
62
+ if claude plugin install "${PLUGIN_NAME}@${MARKETPLACE}" --scope "${SCOPE}"; then
63
+ echo ""
64
+ echo -e "${GREEN}${BOLD}${PLUGIN_NAME} installed successfully.${RESET}"
65
+ echo ""
66
+ echo "Start Claude Code in this project directory to use the plugin."
67
+ echo -e "Run ${YELLOW}npx @stefanoginella/${PLUGIN_NAME} --uninstall${RESET} to remove."
68
+ echo ""
69
+ else
70
+ echo ""
71
+ echo -e "${RED}Installation failed.${RESET}" >&2
72
+ echo "Try installing manually inside Claude Code:" >&2
73
+ echo " /plugin marketplace add ${MARKETPLACE_REPO}" >&2
74
+ echo " /plugin install ${PLUGIN_NAME}@${MARKETPLACE}" >&2
75
+ exit 1
76
+ fi
package/package.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "@stefanoginella/auto-bmad",
3
+ "version": "0.1.4",
4
+ "description": "Installs the auto-bmad Claude Code plugin โ€” automated BMAD pipeline orchestration",
5
+ "bin": {
6
+ "auto-bmad": "./install.sh"
7
+ },
8
+ "files": ["install.sh"],
9
+ "keywords": ["claude-code", "plugin", "bmad", "pipeline", "automation", "orchestration", "sdlc"],
10
+ "author": "Stefano Ginella",
11
+ "license": "MIT",
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/stefanoginella/claude-code-plugins",
15
+ "directory": "packages/auto-bmad"
16
+ },
17
+ "homepage": "https://github.com/stefanoginella/claude-code-plugins/blob/main/plugins/auto-bmad/README.md"
18
+ }