@ikunin/sprintpilot 2.0.6 → 2.0.8

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.
package/README.md CHANGED
@@ -5,64 +5,64 @@
5
5
  [![License Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg?style=flat)](LICENSE)
6
6
  [![BMad Method](https://img.shields.io/badge/BMad%20Method-v6.2%2B-green.svg?style=flat)](https://github.com/bmad-code-org/BMAD-METHOD)
7
7
  [![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg?style=flat)](https://nodejs.org)
8
- [![Tools](https://img.shields.io/badge/tools-9%20supported-orange.svg?style=flat)](#supported-tools)
8
+ [![Tools](https://img.shields.io/badge/tools-9%20supported-orange.svg?style=flat)](#tools-9-supported)
9
9
  [![GitHub stars](https://img.shields.io/github/stars/ikunin/sprintpilot.svg?style=flat)](https://github.com/ikunin/sprintpilot/stargazers)
10
10
 
11
- Sprintpilot is an autonomous delivery addon **compatible with [BMad Method](https://github.com/bmad-code-org/BMAD-METHOD) v6**. One command takes your project from sprint plan to reviewed, tested, PR-ready code — with full git workflow and multi-agent intelligence.
11
+ Sprintpilot drives [BMad Method](https://github.com/bmad-code-org/BMAD-METHOD) v6 sprints to completion autonomously. One command turns your sprint plan into reviewed, tested, PR-ready code — story by story, with full git workflow and multi-agent intelligence.
12
12
 
13
- > **Independent project.** Sprintpilot is not affiliated with or endorsed by BMad Code, LLC. See [TRADEMARK.md](TRADEMARK.md).
13
+ BMad Method's manual flow is dozens of skills, menus, and git operations per story. Sprintpilot drives all of it for you — one command per sprint.
14
14
 
15
+ > **Independent project.** Sprintpilot is not affiliated with or endorsed by BMad Code, LLC. See [TRADEMARK.md](TRADEMARK.md).
16
+ >
15
17
  > **Migrating from `bmad-autopilot-addon` v1?** See [MIGRATION.md](MIGRATION.md). `sprintpilot install` auto-detects v1 and cleanly replaces it.
16
18
 
17
- ## Included Skills
19
+ ## Quick Start
18
20
 
19
- | Skill | Description |
20
- |-------|-------------|
21
- | `/sprint-autopilot-on` | Engage autonomous sprint execution |
22
- | `/sprint-autopilot-off` | Disengage and show status |
23
- | `/sprintpilot-update` | Check for updates and install the latest version |
24
- | `/sprintpilot-code-review` | Parallel 3-layer adversarial code review |
25
- | `/sprintpilot-codebase-map` | 5-stream brownfield codebase analysis |
26
- | `/sprintpilot-assess` | Tech debt and dependency audit |
27
- | `/sprintpilot-reverse-architect` | Extract architecture from existing code |
28
- | `/sprintpilot-migrate` | Legacy migration planning |
29
- | `/sprintpilot-research` | Parallel web research fan-out |
30
- | `/sprintpilot-party-mode` | Multi-persona agent discussions |
21
+ ```bash
22
+ # 1. Install BMad Method (interactive — pick your tool when prompted)
23
+ npx bmad-method install --modules bmm,tea
31
24
 
32
- ## The Problem
25
+ # 2. Install Sprintpilot (interactive — pick tool + complexity profile)
26
+ npx @ikunin/sprintpilot@latest
33
27
 
34
- BMad Method provides a structured development workflow with 50+ skills and agent personas. But using it manually means invoking each skill one at a time, navigating menus, making routine decisions, and handling git operations yourself. For a sprint with 10 stories across 3 epics, that's dozens of manual steps, context switches, and session restarts.
28
+ # 3. In your IDE, run:
29
+ /sprint-autopilot-on
30
+ ```
35
31
 
36
- ## The Solution: Sprint Autopilot
32
+ Non-interactive install:
37
33
 
38
- ```
39
- /sprint-autopilot-on
34
+ ```bash
35
+ npx @ikunin/sprintpilot@latest install --tools claude-code --profile medium --yes
40
36
  ```
41
37
 
42
- That's it. The autopilot takes over and drives your entire sprint to completion:
38
+ Runs on Windows, macOS, and Linux every workflow call site is portable across bash, zsh, Git Bash, PowerShell, and cmd.
43
39
 
44
- ### What it does, story by story
40
+ ## What It Does, Story by Story
41
+
42
+ When you run `/sprint-autopilot-on`, the autopilot drives your entire sprint to completion:
45
43
 
46
44
  1. **Reads your sprint plan** — picks the next story from `sprint-status.yaml`
47
45
  2. **Creates an isolated worktree** — each story gets its own branch via `git worktree add`, keeping `main` clean
48
- 3. **Implements the story** — invokes `bmad-dev-story` which writes code and tests following TDD (RED then GREEN)
49
- 4. **Lints the code** — auto-detects your language (Python, JS/TS, Rust, Go, Ruby) and runs the appropriate linter on changed files only
50
- 5. **Stages explicitly** — never runs `git add -A`. Stages only changed files with pre-commit checks: secrets scanning, file size limits, binary detection
51
- 6. **Commits with conventional messages** — `feat(epic): story title (story-key)` with all placeholders resolved from your sprint artifacts
52
- 7. **Runs code review** — invokes `bmad-code-review` on the worktree diff
53
- 8. **Applies every patch** — auto-accepts all review findings, commits each fix separately for clean git history
54
- 9. **Pushes and creates a PR** (configurable) — auto-detects your platform (GitHub/GitLab) and creates a PR/MR with a detailed body. With `create_pr: false`, merges directly to main instead.
55
- 10. **Moves to the next story** — syncs status, exits the worktree, commits artifacts to main, picks up the next story
56
- 11. **Runs retrospective** — when all stories in an epic are done, runs `bmad-retrospective` and lists all PR URLs for merge
57
-
58
- ### What makes it autonomous
46
+ 3. **Implements the story** — invokes `bmad-dev-story`, which writes code and tests following TDD (RED then GREEN)
47
+ 4. **Lints the code** — auto-detects your language and runs the right linter on changed files only (not the whole repo)
48
+ 5. **Stages explicitly** — never `git add -A`. Only changed files, with secrets / size / binary pre-commit checks.
49
+ 6. **Commits with conventional messages** — `feat(epic): story title (story-key)`, placeholders resolved from your sprint artifacts
50
+ 7. **Runs parallel code review** — three reviewers in parallel (see [Multi-Agent Intelligence](#multi-agent-intelligence))
51
+ 8. **Applies every patch finding** — auto-accepts review fixes, commits each one separately for clean history
52
+ 9. **Pushes and creates a PR** (configurable) — auto-detects GitHub / GitLab / Bitbucket / Gitea. With `create_pr: false`, merges directly to `main`.
53
+ 10. **Moves to the next story** — exits the worktree, commits artifacts to `main`, picks up the next story
54
+ 11. **Runs retrospective** per epic — when all stories in an epic are done, lists all PR URLs ready for merge
55
+
56
+ ## What Makes It Autonomous
59
57
 
60
58
  The autopilot handles everything that normally requires you to be present:
61
59
 
62
- - **Menu navigation** — BMad Method skills present menus, confirmations, and choices. The autopilot auto-selects "Continue", "Create Mode", and makes context-appropriate decisions from your PRD and architecture docs.
63
- - **Decision making** — when a skill asks a design question, the autopilot derives the answer from existing project artifacts (PRD, architecture, story specs). Only truly unanswerable questions pause execution.
64
- - **Session management** — after 3 stories, the autopilot checkpoints state to disk and tells you to start a fresh session. `/sprint-autopilot-on` in the new session resumes exactly where it left off. No work is ever repeated.
65
- - **Crash recovery** — if a session crashes mid-story, the next boot detects orphaned worktrees, recovers committed work (pushes it), and cleans up stale state.
60
+ - **Auto-inferred story DAG** — after `bmad-sprint-planning`, the autopilot infers inter-story dependencies once and writes `_Sprintpilot/sprints/dependencies.yaml`. Parallel dispatch works out of the box; no hand-authored deps file required. Hand-authored sidecars are detected and respected silently.
61
+ - **Menu navigation** — BMad skills present menus and confirmations. The autopilot auto-selects "Continue" / "Create Mode" and derives answers from your PRD and architecture docs.
62
+ - **Decision making** — when a skill asks a design question, the autopilot answers from existing project artifacts. Only truly unanswerable questions pause execution.
63
+ - **Session management** — checkpoints state to disk after N stories (configurable). Re-running `/sprint-autopilot-on` in a fresh session resumes exactly where it left off no work repeated.
64
+ - **Crash recovery** — on boot, the autopilot detects orphaned worktrees from a crashed previous run, pushes any committed-but-unpushed work, and cleans up stale state. No lost commits, no manual cleanup.
65
+ - **Fresh-context finalize** — when the last story of a sprint completes, the autopilot writes a `sprint-finalize-pending` marker and stops. The next session runs sprint cleanup deterministically in fresh context, eliminating context-rot failures of the final step.
66
66
 
67
67
  ### When it stops (and only when)
68
68
 
@@ -76,9 +76,9 @@ The autopilot runs until the sprint is done or hits one of exactly 5 true blocke
76
76
 
77
77
  Everything else — it decides, documents the decision in one sentence, and moves on.
78
78
 
79
- ### The git workflow in detail
79
+ ## The Git Workflow
80
80
 
81
- Controlled by `git.push.create_pr` in `_Sprintpilot/modules/git/config.yaml`:
81
+ Controlled by `git.push.create_pr` in `_Sprintpilot/modules/git/config.yaml`.
82
82
 
83
83
  **PR flow** (`create_pr: true`, default) — stories are pushed and PRs are created. No auto-merge. Code reaches `main` only after PR approval.
84
84
 
@@ -95,7 +95,7 @@ main ─────────────────────────
95
95
  → "Ready to merge: PR #42, #43, #44"
96
96
  ```
97
97
 
98
- When previous stories have pending PRs, the autopilot creates **stacked PRs** — each story branches from the previous story's branch and targets it. When a PR is merged on the platform, subsequent PRs automatically retarget.
98
+ When previous stories have pending PRs, the autopilot creates **stacked PRs** — each story branches from the previous story's branch and targets it. Reviewers see each story's diff in isolation while the next story is already in progress. When a PR is merged on the platform, subsequent PRs automatically retarget.
99
99
 
100
100
  **Direct merge flow** (`create_pr: false`) — stories are merged to `main` immediately after push:
101
101
 
@@ -103,19 +103,46 @@ When previous stories have pending PRs, the autopilot creates **stacked PRs**
103
103
  main ── story/1-1 ──→ merge ── story/1-2 ──→ merge ── story/1-3 ──→ merge
104
104
  ```
105
105
 
106
- Each story is fully isolated in its own worktree. No half-finished code on `main`. The autopilot tracks git metadata in its own `git-status.yaml` (commit SHA, push status, PR URL, lint results) — it never modifies BMad Method's `sprint-status.yaml`. Implementation artifacts (sprint status, story files, planning docs) are always committed to `main` after each story, regardless of merge strategy.
106
+ Each story is fully isolated in its own worktree. No half-finished code on `main`. The autopilot tracks git metadata in its own `git-status.yaml` (commit SHA, push status, PR URL, lint results) — it never modifies BMad Method's `sprint-status.yaml`. Implementation artifacts are always committed to `main` after each story, regardless of merge strategy.
107
+
108
+ Concurrent git operations (parallel pushes, submodule updates, ref locks) are serialized and retry with jittered backoff — safe under parallel dispatch.
107
109
 
108
- See [`modules/git/branching-and-pr-strategy.md`](_Sprintpilot/modules/git/branching-and-pr-strategy.md) for the full branching and PR decision matrix.
110
+ See [`modules/git/branching-and-pr-strategy.md`](_Sprintpilot/modules/git/branching-and-pr-strategy.md) for the full decision matrix.
109
111
 
110
- ---
112
+ ## Adaptive Process Scaling
113
+
114
+ The right amount of process for a 2-story bug-fix sprint is different from a 30-story green-field rebuild — running the heavy flow on a small change costs more LLM turns, more context rot, more time. One knob picks the right balance:
115
+
116
+ | Profile | Per-story flow | Branching | Worktrees | Parallel stories | Use it for |
117
+ |---------|---------------|-----------|-----------|------------------|-----------|
118
+ | `nano` | `bmad-quick-dev` (one-shot) | `epic` (one PR per epic) | off | n/a | Tiny patch sprints, hot-fix runs |
119
+ | `small` | Full 7-step BMad cycle | `story` (one PR per story) | on | off | Single-developer projects, ≤10 stories |
120
+ | `medium` *(default)* | Full 7-step BMad cycle | `story` | on | off | Default — balanced for most sprints |
121
+ | `large` | Full 7-step BMad cycle | `story` | on | **on** (Claude Code) | Multi-epic sprints, 20+ stories |
122
+ | `legacy` | Pinned to v1.0.5 behavior byte-for-byte | `story` | on | off | Existing installs that want zero behavior change |
123
+
124
+ Pick the profile at install time — `--profile <nano|small|medium|large|legacy>` non-interactively. Missing profile defaults to `medium` with no behavior change vs. v1.0.5.
125
+
126
+ **Nano safety net** — if `bmad-quick-dev` tests fail or its review classifies a finding as `high` severity, the autopilot escalates the session to the full 7-step cycle (session-scoped — never written back to config). Fast track for routine work, full rigor when something needs it.
127
+
128
+ ### v2 optimization layers
129
+
130
+ Each can be disabled independently per profile in `_Sprintpilot/modules/autopilot/profiles/<profile>.yaml`:
131
+
132
+ - **Auto-inferred story DAG** — see above.
133
+ - **Phase timing instrumentation** — emits `duration` records per skill phase. `summarize-timings.js` reports hotspots over 5% of total runtime, so you can see where a sprint actually spends its time.
134
+ - **State sharding** — non-critical writes accumulate in `.pending/` shards, flushed atomically at story boundaries / session checkpoints / sprint complete. Crash-recovery keys still write straight through. This is what makes parallel dispatch safe under contention.
135
+ - **Conditional boot work** — on clean repos (main worktree only, no in-progress stories), skips the slow health-check / branch-reconciliation block, saving 8–30s per session. Disabled on `large` and `legacy` profiles, which always run full reconciliation.
136
+ - **Cached reads** — TTL + source-mtime aware file cache for hot reads; any writer's mtime advance auto-invalidates without explicit calls.
137
+ - **Parallel story dispatch** — when the host supports it, layer-aware dispatch runs N stories concurrently in their own worktrees, then merges their state shards. Claude Code today; Gemini CLI experimentally.
111
138
 
112
139
  ## Multi-Agent Intelligence
113
140
 
114
- Beyond the autopilot, Sprintpilot includes 7 multi-agent skills that launch parallel subagents for tasks that benefit from diverse perspectives:
141
+ Beyond the autopilot, Sprintpilot includes 7 multi-agent skills that launch parallel subagents for tasks that benefit from diverse perspectives.
115
142
 
116
143
  ### Parallel Code Review (`/sprintpilot-code-review`)
117
144
 
118
- Three independent reviewers run simultaneously on the same diff:
145
+ Three independent reviewers run **simultaneously** on the same diff — not serially. Each comes with a different bias by design:
119
146
 
120
147
  | Agent | Perspective | Access |
121
148
  |-------|------------|--------|
@@ -123,11 +150,11 @@ Three independent reviewers run simultaneously on the same diff:
123
150
  | **Edge Case Hunter** | Boundary conditions, race conditions, missing validation | Full codebase access |
124
151
  | **Acceptance Auditor** | Verifies every acceptance criterion is met | Diff + story spec |
125
152
 
126
- Results are triaged: duplicates merged, contradictions flagged, findings classified as PATCH / WARN / DISMISS.
153
+ Results are triaged: duplicates merged, contradictions flagged, findings classified as **PATCH / WARN / DISMISS**. The autopilot auto-accepts every PATCH finding and commits each fix separately.
127
154
 
128
155
  ### Brownfield Analysis Pipeline
129
156
 
130
- > Codebase mapping inspired by [GSD's map-codebase](https://github.com/gsd-build/get-shit-done). Adapted with distinct output format, enriched agent prompts, and BMad Method-specific downstream integration.
157
+ > Codebase mapping inspired by [GSD's map-codebase](https://github.com/gsd-build/get-shit-done). Adapted with a distinct output format, enriched agent prompts, and BMad Method-specific downstream integration.
131
158
 
132
159
  For existing codebases, three skills chain together:
133
160
 
@@ -155,18 +182,18 @@ Scanned file types: TypeScript, JavaScript, Python, Java, Go, Rust, Ruby, C, C++
155
182
  - Debt Classifier (prioritized tech debt with effort estimates)
156
183
  - Migration Analyzer (framework upgrade paths and phased roadmap)
157
184
 
158
- Output file: `_bmad-output/codebase-analysis/brownfield-assessment.md` — prioritized findings with severity, confidence, effort, and migration paths.
185
+ Output: `_bmad-output/codebase-analysis/brownfield-assessment.md` — prioritized findings with severity, confidence, effort, and migration paths.
159
186
 
160
187
  **`/sprintpilot-reverse-architect`** — 3 parallel agents extract architecture from code:
161
188
  - Component Mapper (module boundaries, dependency graph)
162
189
  - Data Flow Tracer (request lifecycle, state management)
163
190
  - Pattern Extractor (design patterns, conventions, error handling)
164
191
 
165
- Output file: `{planning_artifacts}/architecture.md` — architecture document compatible with BMad Method that feeds directly into `bmad-create-epics-and-stories`.
192
+ Output: `{planning_artifacts}/architecture.md` — BMad Method-compatible, feeds directly into `bmad-create-epics-and-stories`.
166
193
 
167
194
  ### Migration Planning (`/sprintpilot-migrate`)
168
195
 
169
- A 12-step workflow for taking a codebase from one stack to another. 4 subagent fan-outs across the process:
196
+ A 12-step workflow for taking a codebase from one stack to another, with 4 subagent fan-outs:
170
197
 
171
198
  1. Validate prerequisites and get target stack from user
172
199
  2. Auto-recommend migration strategy (strangler fig / big bang / branch-by-abstraction / parallel run)
@@ -181,121 +208,69 @@ A 12-step workflow for taking a codebase from one stack to another. 4 subagent f
181
208
  11. Generate BMad Method-compatible epics for sprint planning
182
209
  12. Finalize migration plan, epics, and tracking artifacts
183
210
 
184
- Output files:
211
+ Output:
185
212
 
186
213
  | File | Location | Content |
187
214
  |------|----------|---------|
188
- | `migration-plan.md` | `{planning_artifacts}/` | Full plan: strategy, compatibility matrix, coexistence design, phased roadmap, component cards, data/API migration, risk matrix |
189
- | `migration-epics.md` | `{planning_artifacts}/` | Epics with stories, acceptance criteria, and effort estimates (BMad Method-compatible) |
215
+ | `migration-plan.md` | `{planning_artifacts}/` | Strategy, compatibility matrix, coexistence design, phased roadmap, component cards, data/API migration, risk matrix |
216
+ | `migration-epics.md` | `{planning_artifacts}/` | Epics with stories, acceptance criteria, effort estimates (BMad Method-compatible) |
190
217
  | `migration-tracking.yaml` | `{implementation_artifacts}/` | Phase-by-phase progress tracking for sprint execution |
191
218
 
192
219
  ### Research and Discussion
193
220
 
194
- **`/sprintpilot-research`** — Fan out research across multiple topics in parallel, each with web search access. Results synthesized into a unified report.
195
-
196
- **`/sprintpilot-party-mode`** — Launch 2-3 BMad Method personas (architect, PM, QA, dev, etc.) as parallel agents debating a topic. Multiple rounds where personas respond to each other. Produces consensus points, disagreements, and action items.
221
+ **`/sprintpilot-research`** — fan out research across multiple topics in parallel, each with web search access. Results synthesized into a unified report.
197
222
 
198
- ---
223
+ **`/sprintpilot-party-mode`** — launch 2–3 BMad personas (architect, PM, QA, dev, etc.) as parallel agents debating a topic. Multiple rounds where personas respond to each other. Produces consensus points, disagreements, and action items.
199
224
 
200
- ## Adaptive Process Scaling (v2)
225
+ ## Skills Reference
201
226
 
202
- Sprintpilot v2 introduced **complexity profiles** as a first-class config dimension. The right amount of process for a 2-story bug-fix sprint is different from a 30-story green-field rebuild — and the cost of running the heavy flow on a small change is real (more LLM turns, more context rot, more time). One knob picks the right balance:
203
-
204
- | Profile | Per-story flow | Branching | Worktrees | Parallel stories | Use it for |
205
- |---------|---------------|-----------|-----------|------------------|-----------|
206
- | `nano` | `bmad-quick-dev` (one-shot) | `epic` (one PR per epic) | off | n/a | Tiny patch sprints, hot-fix runs |
207
- | `small` | Full 7-step BMad cycle | `story` (one PR per story) | on | off | Single-developer projects, ≤10 stories |
208
- | `medium` *(default)* | Full 7-step BMad cycle | `story` | on | off | Default — balanced for most sprints |
209
- | `large` | Full 7-step BMad cycle | `story` | on | **on** (Claude Code) | Multi-epic sprints, 20+ stories |
210
- | `legacy` | Pinned to v1.0.5 behavior byte-for-byte | `story` | on | off | Existing installs that want zero behavior change |
211
-
212
- Pick the profile at install time — interactive installer asks, non-interactive flag is `--profile <nano|small|medium|large|legacy>`. Missing profile defaults to `medium` with no behavior change vs. v1.0.5.
213
-
214
- **One knob per feature** — every v2 optimization layer can be disabled in isolation without uninstalling. See [Configuration Reference](docs/CONFIGURATION.md#autopilot-configuration-modulesautopilotconfigyaml).
215
-
216
- ### What v2 ships on top of the core flow
217
-
218
- - **Phase timing instrumentation** — `mark` action emits `duration` records per skill phase; auto-emitted on critical paths (no LLM bracket calls to skip). `summarize-timings.js` reports hotspots > 5% of total time.
219
- - **State sharding** — non-critical writes accumulate in `.pending/` shards, flushed atomically at story boundaries / session checkpoints / sprint complete. Crash-recovery keys still write straight through.
220
- - **Conditional boot work** — clean-repo sessions skip the slow health-check / branch-reconciliation block (saves 8–30s per session).
221
- - **Cached reads** — TTL + source-mtime aware file cache; any writer's mtime advance forces a miss without explicit invalidate.
222
- - **Auto-inferred story DAG** — autopilot infers inter-story dependencies once after `bmad-sprint-planning` and writes `_Sprintpilot/sprints/dependencies.yaml` with an `# AUTO-INFERRED` marker. Hand-authored files are detected and respected silently.
223
- - **Parallel story dispatch** — when `parallel_stories: true` and the host supports it, layer-aware dispatch runs N stories concurrently in their own worktrees, then merges their state shards. Claude Code today; Gemini CLI experimentally.
224
- - **Cross-platform** — every workflow.md call site runs under bash, zsh, Git Bash, PowerShell, and cmd. Portable Node.js helpers replace POSIX-shell idioms.
225
-
226
- ## Quick Start
227
-
228
- ```bash
229
- # 1. Install BMad Method with the core method and Test Architect module
230
- # (interactive — you'll be prompted to pick your tool)
231
- npx bmad-method install --modules bmm,tea
232
- ```
233
-
234
- This installs:
235
- - **BMM** (BMad Method core) — the core development workflow with 34+ skills
236
- - **TEA** (Test Architect Enterprise) — risk-based test strategy, ATDD, CI quality gates, test framework scaffolding
237
-
238
- For full interactive setup (module *and* tool selection):
239
- ```bash
240
- npx bmad-method install
241
- ```
242
-
243
- ```bash
244
- # 2. Install Sprintpilot (interactive — select your tool and complexity profile when prompted)
245
- npx @ikunin/sprintpilot@latest
227
+ | Skill | What it does |
228
+ |-------|--------------|
229
+ | `/sprint-autopilot-on` | Engage autonomous sprint execution |
230
+ | `/sprint-autopilot-off` | Disengage and show status |
231
+ | `/sprintpilot-update` | Check for updates and install the latest version |
232
+ | `/sprintpilot-code-review` | Parallel 3-layer adversarial code review |
233
+ | `/sprintpilot-codebase-map` | 5-stream brownfield codebase analysis |
234
+ | `/sprintpilot-assess` | Tech debt, dependency audit, migration assessment |
235
+ | `/sprintpilot-reverse-architect` | Extract architecture document from existing code |
236
+ | `/sprintpilot-migrate` | 12-step legacy migration planning |
237
+ | `/sprintpilot-research` | Parallel web research fan-out |
238
+ | `/sprintpilot-party-mode` | Multi-persona BMad agent discussions |
246
239
 
247
- # 2b. Or pick the profile non-interactively
248
- npx @ikunin/sprintpilot@latest install --tools claude-code --profile medium --yes
240
+ ## Compatibility
249
241
 
250
- # 3. Start the autopilot in your IDE
251
- /sprint-autopilot-on
252
- ```
253
-
254
- See [Supported Tools](#supported-tools) below for the full list of `--tools` values if you prefer non-interactive installs.
242
+ ### Tools (9 supported)
255
243
 
256
- ## Supported Tools
244
+ Sprintpilot uses the universal SKILL.md format — same skills work everywhere:
257
245
 
258
- Sprintpilot uses the universal SKILL.md format same skills work across all 9 tools:
246
+ | Tool | Directory | Tool | Directory |
247
+ |------|-----------|------|-----------|
248
+ | Claude Code | `.claude/skills/` | Roo Code | `.roo/skills/` |
249
+ | Cursor | `.cursor/skills/` | Trae | `.trae/skills/` |
250
+ | Windsurf | `.windsurf/skills/` | Kiro | `.kiro/skills/` |
251
+ | Gemini CLI | `.gemini/skills/` | GitHub Copilot | `.github/copilot/skills/` |
252
+ | Cline | `.cline/skills/` | | |
259
253
 
260
- | Tool | Directory |
261
- |------|-----------|
262
- | Claude Code | `.claude/skills/` |
263
- | Cursor | `.cursor/skills/` |
264
- | Windsurf | `.windsurf/skills/` |
265
- | Gemini CLI | `.gemini/skills/` |
266
- | Cline | `.cline/skills/` |
267
- | Roo Code | `.roo/skills/` |
268
- | Trae | `.trae/skills/` |
269
- | Kiro | `.kiro/skills/` |
270
- | GitHub Copilot | `.github/copilot/skills/` |
254
+ For non-interactive installs:
271
255
 
272
- For non-interactive installs, pass one or more tool keys via `--tools`:
273
256
  ```bash
274
257
  npx @ikunin/sprintpilot@latest install --tools <tool1>,<tool2> --yes
275
258
  ```
259
+
276
260
  Valid values: `claude-code`, `cursor`, `windsurf`, `gemini-cli`, `cline`, `roo`, `trae`, `kiro`, `github-copilot`, or `all`.
277
261
 
278
- ## Git Platforms
262
+ ### Git platforms
279
263
 
280
- | Platform | CLI | Auto-Detect | API Fallback |
281
- |----------|-----|-------------|-------------|
264
+ | Platform | CLI | Auto-detect | API fallback |
265
+ |----------|-----|-------------|--------------|
282
266
  | GitHub | `gh` | `github.com` | No |
283
267
  | GitLab | `glab` | `gitlab.*` | No |
284
268
  | Bitbucket | `bb` | `bitbucket.org` | Yes (`BITBUCKET_TOKEN`) |
285
269
  | Gitea | `tea` | Explicit config | Yes (`GITEA_TOKEN` + `base_url`) |
286
270
 
287
- No CLI installed? The addon falls back to **git_only mode** (direct merge, no PRs).
288
-
289
- To explicitly choose between PR and direct merge regardless of platform:
290
- ```yaml
291
- # _Sprintpilot/modules/git/config.yaml
292
- git:
293
- push:
294
- create_pr: true # PR flow (default) — push + PR, no auto-merge
295
- create_pr: false # Direct merge — merge to main after each story
296
- ```
271
+ No CLI installed? Falls back to **git_only mode** (direct merge, no PRs).
297
272
 
298
- ## Supported Languages (Linting)
273
+ ### Linters (auto-detected, changed files only)
299
274
 
300
275
  | Language | Linters | Language | Linters |
301
276
  |----------|---------|----------|---------|
@@ -306,61 +281,32 @@ git:
306
281
  | Ruby | rubocop | PL/SQL | sqlfluff |
307
282
  | Kotlin | ktlint, detekt | PHP | phpstan, phpcs |
308
283
 
309
- First found wins per language. Multi-language projects (monorepos) lint all languages in one pass. See [Extending](docs/EXTENDING.md) to add more.
284
+ First found wins per language. Multi-language monorepos lint all languages in one pass. See [Extending](docs/EXTENDING.md) to add more.
310
285
 
311
286
  ## Configuration
312
287
 
313
- All settings live in two YAML files — edit after install to customize behavior.
314
-
315
- ### Git Workflow (`_Sprintpilot/modules/git/config.yaml`)
316
-
317
- | Setting | Default | Description |
318
- |---------|---------|-------------|
319
- | `git.enabled` | `true` | Enable/disable all git operations |
320
- | `git.base_branch` | `main` | Branch PRs target |
321
- | `git.branch_prefix` | `story/` | Story branch naming (e.g., `story/1-2-user-auth`) |
322
- | `git.lint.enabled` | `true` | Lint changed files after implementation |
323
- | `git.lint.blocking` | `false` | `true` = lint errors halt autopilot |
324
- | `git.push.auto` | `true` | Auto-push branches after commit |
325
- | `git.push.create_pr` | `true` | Create PR (`false` = direct merge to base branch) |
326
- | `git.platform.provider` | `auto` | `auto` \| `github` \| `gitlab` \| `bitbucket` \| `gitea` \| `git_only` |
327
- | `git.lock.stale_timeout_minutes` | `30` | Auto-remove orphaned lock files |
328
- | `git.worktree.cleanup_on_merge` | `true` | Delete worktrees after merge |
329
-
330
- ### Autopilot (`_Sprintpilot/modules/autopilot/config.yaml`)
331
-
332
- | Setting | Default (medium) | Description |
333
- |---------|------------------|-------------|
334
- | `complexity_profile` | `medium` | One of `nano`, `small`, `medium`, `large`, `legacy`. Selects the per-story flow + which v2 layers are enabled. |
335
- | `autopilot.session_story_limit` | `3` (nano: `5`) | Stories per session before checkpoint. `0` = unlimited. |
336
- | `autopilot.retrospective_mode` | `auto` | `auto` (deterministic artifact) / `stop` (pause for `/bmad-retrospective`) / `skip`. |
337
- | `autopilot.auto_infer_dependencies` | `true` (nano + legacy: `false`) | Infer story DAG once after `bmad-sprint-planning`. Hand-authored sidecars (no `# AUTO-INFERRED` marker) are respected silently. |
338
- | `autopilot.phase_timings` | `true` (legacy: `false`) | Emit phase duration records via `log-timing.js mark`. |
339
- | `autopilot.coalesce_state_writes` | `true` (legacy: `false`) | Buffer non-critical state in `.pending/` shards. |
340
- | `autopilot.conditional_boot_work` | `true` (large + legacy: `false`) | Skip health-check / branch-reconciliation on clean repos. |
341
- | `autopilot.cache_shared_reads` | `true` (legacy: `false`) | TTL + mtime-aware file cache for hot reads. |
342
-
343
- ### Multi-Agent (`_Sprintpilot/modules/ma/config.yaml`)
344
-
345
- | Setting | Default | Description |
346
- |---------|---------|-------------|
347
- | `multi_agent.enabled` | `true` | Enable parallel agent skills |
348
- | `multi_agent.max_parallel_research` | `3` | Concurrent research agents per batch |
349
- | `multi_agent.max_parallel_analysis` | `5` | Concurrent codebase analysis agents |
350
- | `ma.state_sharding` | `auto` (large: `always`) | `auto`, `always`, `never` — shards per-story state instead of contending on root YAMLs. |
351
- | `ma.parallel_stories` | `false` (large: `true`) | Dispatch independent stories from a DAG layer concurrently. Requires Claude Code (or Gemini CLI w/ experimental flag). |
352
- | `ma.max_parallel_stories` | `2` (large: `3`) | Cap on concurrent stories per layer. |
353
- | `ma.experimental_parallel_on_gemini` | `false` | Opt-in parallel dispatch under Gemini CLI (worktree-scoped subagents are still upstream). |
354
- | `ma.parallel_epics` | `false` | EXPERIMENTAL — cross-epic parallelism with merge-conflict preflight. Off on every profile by default. |
355
-
356
- See the [Configuration Reference](docs/CONFIGURATION.md) for the full list.
288
+ All settings live in YAML files under `_Sprintpilot/modules/`. Most projects only ever change a handful the rest have sensible profile-aware defaults.
289
+
290
+ **Most-tweaked settings:**
291
+
292
+ | Setting | File | Default | What it controls |
293
+ |---------|------|---------|------------------|
294
+ | `complexity_profile` | `autopilot/config.yaml` | `medium` | One of `nano`/`small`/`medium`/`large`/`legacy` picks the per-story flow + which v2 layers are enabled |
295
+ | `git.push.create_pr` | `git/config.yaml` | `true` | `true` = push + PR (no auto-merge), `false` = direct merge to base branch |
296
+ | `git.lint.blocking` | `git/config.yaml` | `false` | `true` = lint errors halt the autopilot |
297
+ | `autopilot.session_story_limit` | `autopilot/config.yaml` | `3` (nano: `5`) | Stories per session before checkpoint. `0` = unlimited |
298
+ | `multi_agent.enabled` | `ma/config.yaml` | `true` | Enable parallel agent skills |
299
+
300
+ **Profile-level overrides** — settings like `parallel_stories`, `state_sharding`, `phase_timings`, `cache_shared_reads`, and `conditional_boot_work` live in profile files at `_Sprintpilot/modules/autopilot/profiles/<profile>.yaml`, not in `autopilot/config.yaml` or `ma/config.yaml`. Their effective value depends on the active `complexity_profile`.
301
+
302
+ See the [Configuration Reference](docs/CONFIGURATION.md) for every setting, default, and profile-level override.
357
303
 
358
304
  ## Requirements
359
305
 
360
306
  - [BMad Method](https://github.com/bmad-code-org/BMAD-METHOD) v6.2.0+
361
- - A supported AI code agent (see table above)
307
+ - A supported AI code agent (see [Tools](#tools-9-supported))
362
308
  - Git repository with at least one commit
363
- - Platform CLI for PR creation (optional — see table above)
309
+ - Platform CLI for PR creation (optional — see [Git platforms](#git-platforms))
364
310
 
365
311
  ## Documentation
366
312
 
@@ -1,6 +1,6 @@
1
1
  addon:
2
2
  name: sprintpilot
3
- version: 2.0.6
3
+ version: 2.0.8
4
4
  description: Sprintpilot — autopilot and multi-agent addon for BMad Method (git workflow, parallel agents, autonomous story execution)
5
5
  bmad_compatibility: ">=6.2.0"
6
6
  modules: