@ikunin/sprintpilot 1.0.0
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/LICENSE +201 -0
- package/README.md +330 -0
- package/_Sprintpilot/.secrets-allowlist +26 -0
- package/_Sprintpilot/Sprintpilot.md +216 -0
- package/_Sprintpilot/lib/runtime/args.js +77 -0
- package/_Sprintpilot/lib/runtime/git.js +24 -0
- package/_Sprintpilot/lib/runtime/http.js +96 -0
- package/_Sprintpilot/lib/runtime/log.js +30 -0
- package/_Sprintpilot/lib/runtime/secrets.js +151 -0
- package/_Sprintpilot/lib/runtime/spawn.js +68 -0
- package/_Sprintpilot/lib/runtime/text.js +26 -0
- package/_Sprintpilot/lib/runtime/yaml-lite.js +160 -0
- package/_Sprintpilot/manifest.yaml +26 -0
- package/_Sprintpilot/modules/autopilot/config.yaml +20 -0
- package/_Sprintpilot/modules/git/branching-and-pr-strategy.md +101 -0
- package/_Sprintpilot/modules/git/config.yaml +83 -0
- package/_Sprintpilot/modules/git/templates/commit-patch.txt +1 -0
- package/_Sprintpilot/modules/git/templates/commit-story.txt +1 -0
- package/_Sprintpilot/modules/git/templates/pr-body.md +20 -0
- package/_Sprintpilot/modules/ma/config.yaml +9 -0
- package/_Sprintpilot/scripts/create-pr.js +284 -0
- package/_Sprintpilot/scripts/detect-platform.js +64 -0
- package/_Sprintpilot/scripts/health-check.js +98 -0
- package/_Sprintpilot/scripts/lint-changed.js +249 -0
- package/_Sprintpilot/scripts/lock.js +195 -0
- package/_Sprintpilot/scripts/sanitize-branch.js +107 -0
- package/_Sprintpilot/scripts/stage-and-commit.js +190 -0
- package/_Sprintpilot/scripts/sync-status.js +141 -0
- package/_Sprintpilot/skills/sprint-autopilot-off/SKILL.md +6 -0
- package/_Sprintpilot/skills/sprint-autopilot-off/workflow.md +154 -0
- package/_Sprintpilot/skills/sprint-autopilot-on/SKILL.md +6 -0
- package/_Sprintpilot/skills/sprint-autopilot-on/workflow.md +1119 -0
- package/_Sprintpilot/skills/sprintpilot-assess/SKILL.md +6 -0
- package/_Sprintpilot/skills/sprintpilot-assess/agents/debt-classifier.md +64 -0
- package/_Sprintpilot/skills/sprintpilot-assess/agents/dependency-auditor.md +57 -0
- package/_Sprintpilot/skills/sprintpilot-assess/agents/migration-analyzer.md +62 -0
- package/_Sprintpilot/skills/sprintpilot-assess/workflow.md +114 -0
- package/_Sprintpilot/skills/sprintpilot-code-review/SKILL.md +6 -0
- package/_Sprintpilot/skills/sprintpilot-code-review/agents/acceptance-auditor.md +51 -0
- package/_Sprintpilot/skills/sprintpilot-code-review/agents/blind-hunter.md +39 -0
- package/_Sprintpilot/skills/sprintpilot-code-review/agents/edge-case-hunter.md +46 -0
- package/_Sprintpilot/skills/sprintpilot-code-review/workflow.md +111 -0
- package/_Sprintpilot/skills/sprintpilot-codebase-map/SKILL.md +6 -0
- package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/architecture-mapper.md +129 -0
- package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/concerns-hunter.md +135 -0
- package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/integration-mapper.md +138 -0
- package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/quality-assessor.md +143 -0
- package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/stack-analyzer.md +133 -0
- package/_Sprintpilot/skills/sprintpilot-codebase-map/workflow.md +120 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/SKILL.md +6 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/agents/dependency-analyzer.md +51 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/agents/risk-assessor.md +55 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/agents/stack-mapper.md +49 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/agents/test-parity-analyzer.md +49 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/resources/coexistence-patterns.md +59 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/resources/strategies.md +43 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/templates/component-card.md +11 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/templates/migration-epics.md +35 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/templates/migration-plan.md +66 -0
- package/_Sprintpilot/skills/sprintpilot-migrate/workflow.md +235 -0
- package/_Sprintpilot/skills/sprintpilot-party-mode/SKILL.md +6 -0
- package/_Sprintpilot/skills/sprintpilot-party-mode/workflow.md +138 -0
- package/_Sprintpilot/skills/sprintpilot-research/SKILL.md +6 -0
- package/_Sprintpilot/skills/sprintpilot-research/workflow.md +128 -0
- package/_Sprintpilot/skills/sprintpilot-reverse-architect/SKILL.md +6 -0
- package/_Sprintpilot/skills/sprintpilot-reverse-architect/agents/component-mapper.md +53 -0
- package/_Sprintpilot/skills/sprintpilot-reverse-architect/agents/data-flow-tracer.md +54 -0
- package/_Sprintpilot/skills/sprintpilot-reverse-architect/agents/pattern-extractor.md +67 -0
- package/_Sprintpilot/skills/sprintpilot-reverse-architect/workflow.md +119 -0
- package/_Sprintpilot/skills/sprintpilot-update/SKILL.md +6 -0
- package/_Sprintpilot/skills/sprintpilot-update/workflow.md +46 -0
- package/_Sprintpilot/templates/agent-rules.md +43 -0
- package/bin/sprintpilot.js +95 -0
- package/lib/commands/check-update.js +54 -0
- package/lib/commands/install.js +876 -0
- package/lib/commands/uninstall.js +218 -0
- package/lib/core/bmad-config.js +113 -0
- package/lib/core/file-ops.js +90 -0
- package/lib/core/gitignore.js +54 -0
- package/lib/core/markers.js +126 -0
- package/lib/core/tool-registry.js +73 -0
- package/lib/core/update-check.js +39 -0
- package/lib/core/v1-detect.js +86 -0
- package/lib/prompts.js +82 -0
- package/lib/substitute.js +39 -0
- package/package.json +49 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Sprintpilot — OFF (Enhanced with Git Status)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Disengage autopilot mode. Produce a complete status report including git branch/PR status, release the autopilot lock, and consult `bmad-help` for the exact next recommended step.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## INITIALIZATION
|
|
10
|
+
|
|
11
|
+
Load config: `{project-root}/_bmad/bmm/config.yaml`
|
|
12
|
+
|
|
13
|
+
Resolve:
|
|
14
|
+
- `implementation_artifacts`
|
|
15
|
+
- `status_file` = `{implementation_artifacts}/sprint-status.yaml` (BMAD-owned, read only)
|
|
16
|
+
- `git_status_file` = `{implementation_artifacts}/git-status.yaml` (addon-owned git fields)
|
|
17
|
+
- `decision_log_file` = `{implementation_artifacts}/decision-log.yaml`
|
|
18
|
+
- `planning_artifacts`
|
|
19
|
+
- `project_root` = absolute path of current working directory
|
|
20
|
+
|
|
21
|
+
### Git integration check
|
|
22
|
+
|
|
23
|
+
<action>Check if `{project-root}/_Sprintpilot/manifest.yaml` exists</action>
|
|
24
|
+
<check if="manifest exists">
|
|
25
|
+
<action>Read manifest → set `{{git_enabled}}` from `git.enabled`</action>
|
|
26
|
+
</check>
|
|
27
|
+
<check if="manifest does NOT exist">
|
|
28
|
+
<action>Set `{{git_enabled}}` = false</action>
|
|
29
|
+
</check>
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## EXECUTION
|
|
34
|
+
|
|
35
|
+
### Step 1 — Exit worktree if active
|
|
36
|
+
|
|
37
|
+
<check if="current working directory appears to be inside a worktree (check if `.worktrees/` is in the path or run `git rev-parse --show-toplevel` and compare to project_root)">
|
|
38
|
+
<action>Commit any uncommitted work if possible</action>
|
|
39
|
+
<action>`cd` to project root — preserve worktree for later resume</action>
|
|
40
|
+
<action>Log: "Exited worktree, returned to project root"</action>
|
|
41
|
+
</check>
|
|
42
|
+
|
|
43
|
+
### Step 2 — Load sprint state
|
|
44
|
+
|
|
45
|
+
Read `{status_file}` fully.
|
|
46
|
+
|
|
47
|
+
If `{status_file}` does not exist:
|
|
48
|
+
> "No sprint-status.yaml found. Run `/bmad-sprint-planning` first, or `/sprint-autopilot-on` to start from the beginning."
|
|
49
|
+
> Stop.
|
|
50
|
+
|
|
51
|
+
### Step 3 — Summarize completed and in-progress work
|
|
52
|
+
|
|
53
|
+
Scan all entries in sprint-status:
|
|
54
|
+
- Count stories with status `done` — list them grouped by epic
|
|
55
|
+
- Find the first story that is `in-progress` or `ready-for-dev` — this is the current position
|
|
56
|
+
- Count remaining stories not yet `done`
|
|
57
|
+
|
|
58
|
+
### Step 4 — Collect git status (if enabled)
|
|
59
|
+
|
|
60
|
+
<check if="{{git_enabled}}">
|
|
61
|
+
<action>Read `{git_status_file}` (addon's git-status.yaml) if it exists</action>
|
|
62
|
+
<action>Extract `git_integration` block (platform, base_branch)</action>
|
|
63
|
+
<action>For each story in `stories:` section:
|
|
64
|
+
- Note `branch`, `push_status`, `pr_url`, `worktree_cleaned`
|
|
65
|
+
</action>
|
|
66
|
+
<action>Check for active worktrees: `git worktree list --porcelain 2>/dev/null`</action>
|
|
67
|
+
<action>Check current branch: `git branch --show-current 2>/dev/null`</action>
|
|
68
|
+
</check>
|
|
69
|
+
|
|
70
|
+
### Step 5 — Consult bmad-help for next action
|
|
71
|
+
|
|
72
|
+
Invoke `bmad-help` with the question: "Where are we in the sprint and what is the next required step?"
|
|
73
|
+
|
|
74
|
+
Extract the recommended next skill and any important context.
|
|
75
|
+
|
|
76
|
+
### Step 6 — Release lock
|
|
77
|
+
|
|
78
|
+
<check if="{{git_enabled}}">
|
|
79
|
+
<action>Release lock: `node {{project_root}}/_Sprintpilot/scripts/lock.js release`</action>
|
|
80
|
+
</check>
|
|
81
|
+
|
|
82
|
+
### Step 7 — Collect decision log
|
|
83
|
+
|
|
84
|
+
<action>Read `{decision_log_file}` if it exists</action>
|
|
85
|
+
<action>Collect:
|
|
86
|
+
- All decisions with impact `medium` or `high`
|
|
87
|
+
- Count of `review-accept` entries (patches applied)
|
|
88
|
+
- Count of `review-triage` entries (findings dismissed)
|
|
89
|
+
- Per-story summary: patches applied and findings dismissed
|
|
90
|
+
</action>
|
|
91
|
+
|
|
92
|
+
### Step 8 — Produce status report
|
|
93
|
+
|
|
94
|
+
Output to user (use exact format):
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
98
|
+
║ BMAD AUTOPILOT — STATUS REPORT ║
|
|
99
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
100
|
+
|
|
101
|
+
SUMMARY
|
|
102
|
+
Stories completed : {{done_count}}/{{total_stories}}
|
|
103
|
+
Epics completed : {{done_epics}}/{{total_epics}}
|
|
104
|
+
{{#if git_enabled}}
|
|
105
|
+
Platform : {{platform}}
|
|
106
|
+
{{/if}}
|
|
107
|
+
|
|
108
|
+
STORIES
|
|
109
|
+
{{#each epic}}
|
|
110
|
+
Epic {{epic_number}}: {{epic_title}}
|
|
111
|
+
{{#each stories}}
|
|
112
|
+
{{#if done}}✓{{else}}{{#if in_progress}}▶{{else}}·{{/if}}{{/if}} {{story-key}}{{#if done}}{{#if pr_url}} PR: {{pr_url}}{{/if}}{{/if}}{{#if in_progress}} ← current{{/if}}
|
|
113
|
+
{{/each}}
|
|
114
|
+
{{/each}}
|
|
115
|
+
|
|
116
|
+
{{#if medium_high_decisions}}
|
|
117
|
+
DECISIONS REQUIRING REVIEW (high/medium impact)
|
|
118
|
+
{{#each medium_high_decisions}}
|
|
119
|
+
#{{id}} [{{impact}}] {{story}} / {{phase}}
|
|
120
|
+
{{decision}}
|
|
121
|
+
→ {{rationale}}
|
|
122
|
+
{{/each}}
|
|
123
|
+
|
|
124
|
+
Full log: {decision_log_file}
|
|
125
|
+
{{/if}}
|
|
126
|
+
|
|
127
|
+
{{#if has_review_data}}
|
|
128
|
+
REVIEW FINDINGS APPLIED
|
|
129
|
+
Patches applied : {{total_patches}}
|
|
130
|
+
Findings dismissed : {{total_dismissed}}
|
|
131
|
+
|
|
132
|
+
CODE REVIEW SUMMARY (per story)
|
|
133
|
+
{{#each reviewed_stories}}
|
|
134
|
+
{{story-key}} : {{patches_applied}} patches applied, {{findings_dismissed}} dismissed
|
|
135
|
+
{{/each}}
|
|
136
|
+
{{/if}}
|
|
137
|
+
|
|
138
|
+
{{#if git_enabled}}
|
|
139
|
+
GIT STATUS
|
|
140
|
+
{{#each stories_with_git_fields}}
|
|
141
|
+
{{story-key}}: branch={{branch}} push={{push_status}} {{#if pr_url}}PR: {{pr_url}}{{/if}}
|
|
142
|
+
{{/each}}
|
|
143
|
+
Active worktrees: {{worktree_count}}
|
|
144
|
+
Lock: released
|
|
145
|
+
{{/if}}
|
|
146
|
+
|
|
147
|
+
NEXT REQUIRED STEP (from bmad-help)
|
|
148
|
+
{{next_skill_name}} — {{next_skill_description}}
|
|
149
|
+
|
|
150
|
+
WHAT TO DO NEXT
|
|
151
|
+
1. Review decisions marked medium/high above (if any)
|
|
152
|
+
2. TO RESUME AUTOPILOT: /sprint-autopilot-on
|
|
153
|
+
3. TO CONTINUE MANUALLY: /{{next-skill-name}}
|
|
154
|
+
```
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sprint-autopilot-on
|
|
3
|
+
description: 'Engage autonomous story execution for BMad Method with git workflow integration. Implements stories end-to-end with automatic branching (git worktrees), commits, linting, and PR creation. Uses standard git worktree commands for story isolation — works with any coding agent. Falls back to stock BMad behavior when git is disabled. Use when user says "/sprint-autopilot-on" or "start autopilot".'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Follow the instructions in ./workflow.md.
|