@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.
Files changed (86) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +330 -0
  3. package/_Sprintpilot/.secrets-allowlist +26 -0
  4. package/_Sprintpilot/Sprintpilot.md +216 -0
  5. package/_Sprintpilot/lib/runtime/args.js +77 -0
  6. package/_Sprintpilot/lib/runtime/git.js +24 -0
  7. package/_Sprintpilot/lib/runtime/http.js +96 -0
  8. package/_Sprintpilot/lib/runtime/log.js +30 -0
  9. package/_Sprintpilot/lib/runtime/secrets.js +151 -0
  10. package/_Sprintpilot/lib/runtime/spawn.js +68 -0
  11. package/_Sprintpilot/lib/runtime/text.js +26 -0
  12. package/_Sprintpilot/lib/runtime/yaml-lite.js +160 -0
  13. package/_Sprintpilot/manifest.yaml +26 -0
  14. package/_Sprintpilot/modules/autopilot/config.yaml +20 -0
  15. package/_Sprintpilot/modules/git/branching-and-pr-strategy.md +101 -0
  16. package/_Sprintpilot/modules/git/config.yaml +83 -0
  17. package/_Sprintpilot/modules/git/templates/commit-patch.txt +1 -0
  18. package/_Sprintpilot/modules/git/templates/commit-story.txt +1 -0
  19. package/_Sprintpilot/modules/git/templates/pr-body.md +20 -0
  20. package/_Sprintpilot/modules/ma/config.yaml +9 -0
  21. package/_Sprintpilot/scripts/create-pr.js +284 -0
  22. package/_Sprintpilot/scripts/detect-platform.js +64 -0
  23. package/_Sprintpilot/scripts/health-check.js +98 -0
  24. package/_Sprintpilot/scripts/lint-changed.js +249 -0
  25. package/_Sprintpilot/scripts/lock.js +195 -0
  26. package/_Sprintpilot/scripts/sanitize-branch.js +107 -0
  27. package/_Sprintpilot/scripts/stage-and-commit.js +190 -0
  28. package/_Sprintpilot/scripts/sync-status.js +141 -0
  29. package/_Sprintpilot/skills/sprint-autopilot-off/SKILL.md +6 -0
  30. package/_Sprintpilot/skills/sprint-autopilot-off/workflow.md +154 -0
  31. package/_Sprintpilot/skills/sprint-autopilot-on/SKILL.md +6 -0
  32. package/_Sprintpilot/skills/sprint-autopilot-on/workflow.md +1119 -0
  33. package/_Sprintpilot/skills/sprintpilot-assess/SKILL.md +6 -0
  34. package/_Sprintpilot/skills/sprintpilot-assess/agents/debt-classifier.md +64 -0
  35. package/_Sprintpilot/skills/sprintpilot-assess/agents/dependency-auditor.md +57 -0
  36. package/_Sprintpilot/skills/sprintpilot-assess/agents/migration-analyzer.md +62 -0
  37. package/_Sprintpilot/skills/sprintpilot-assess/workflow.md +114 -0
  38. package/_Sprintpilot/skills/sprintpilot-code-review/SKILL.md +6 -0
  39. package/_Sprintpilot/skills/sprintpilot-code-review/agents/acceptance-auditor.md +51 -0
  40. package/_Sprintpilot/skills/sprintpilot-code-review/agents/blind-hunter.md +39 -0
  41. package/_Sprintpilot/skills/sprintpilot-code-review/agents/edge-case-hunter.md +46 -0
  42. package/_Sprintpilot/skills/sprintpilot-code-review/workflow.md +111 -0
  43. package/_Sprintpilot/skills/sprintpilot-codebase-map/SKILL.md +6 -0
  44. package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/architecture-mapper.md +129 -0
  45. package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/concerns-hunter.md +135 -0
  46. package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/integration-mapper.md +138 -0
  47. package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/quality-assessor.md +143 -0
  48. package/_Sprintpilot/skills/sprintpilot-codebase-map/agents/stack-analyzer.md +133 -0
  49. package/_Sprintpilot/skills/sprintpilot-codebase-map/workflow.md +120 -0
  50. package/_Sprintpilot/skills/sprintpilot-migrate/SKILL.md +6 -0
  51. package/_Sprintpilot/skills/sprintpilot-migrate/agents/dependency-analyzer.md +51 -0
  52. package/_Sprintpilot/skills/sprintpilot-migrate/agents/risk-assessor.md +55 -0
  53. package/_Sprintpilot/skills/sprintpilot-migrate/agents/stack-mapper.md +49 -0
  54. package/_Sprintpilot/skills/sprintpilot-migrate/agents/test-parity-analyzer.md +49 -0
  55. package/_Sprintpilot/skills/sprintpilot-migrate/resources/coexistence-patterns.md +59 -0
  56. package/_Sprintpilot/skills/sprintpilot-migrate/resources/strategies.md +43 -0
  57. package/_Sprintpilot/skills/sprintpilot-migrate/templates/component-card.md +11 -0
  58. package/_Sprintpilot/skills/sprintpilot-migrate/templates/migration-epics.md +35 -0
  59. package/_Sprintpilot/skills/sprintpilot-migrate/templates/migration-plan.md +66 -0
  60. package/_Sprintpilot/skills/sprintpilot-migrate/workflow.md +235 -0
  61. package/_Sprintpilot/skills/sprintpilot-party-mode/SKILL.md +6 -0
  62. package/_Sprintpilot/skills/sprintpilot-party-mode/workflow.md +138 -0
  63. package/_Sprintpilot/skills/sprintpilot-research/SKILL.md +6 -0
  64. package/_Sprintpilot/skills/sprintpilot-research/workflow.md +128 -0
  65. package/_Sprintpilot/skills/sprintpilot-reverse-architect/SKILL.md +6 -0
  66. package/_Sprintpilot/skills/sprintpilot-reverse-architect/agents/component-mapper.md +53 -0
  67. package/_Sprintpilot/skills/sprintpilot-reverse-architect/agents/data-flow-tracer.md +54 -0
  68. package/_Sprintpilot/skills/sprintpilot-reverse-architect/agents/pattern-extractor.md +67 -0
  69. package/_Sprintpilot/skills/sprintpilot-reverse-architect/workflow.md +119 -0
  70. package/_Sprintpilot/skills/sprintpilot-update/SKILL.md +6 -0
  71. package/_Sprintpilot/skills/sprintpilot-update/workflow.md +46 -0
  72. package/_Sprintpilot/templates/agent-rules.md +43 -0
  73. package/bin/sprintpilot.js +95 -0
  74. package/lib/commands/check-update.js +54 -0
  75. package/lib/commands/install.js +876 -0
  76. package/lib/commands/uninstall.js +218 -0
  77. package/lib/core/bmad-config.js +113 -0
  78. package/lib/core/file-ops.js +90 -0
  79. package/lib/core/gitignore.js +54 -0
  80. package/lib/core/markers.js +126 -0
  81. package/lib/core/tool-registry.js +73 -0
  82. package/lib/core/update-check.js +39 -0
  83. package/lib/core/v1-detect.js +86 -0
  84. package/lib/prompts.js +82 -0
  85. package/lib/substitute.js +39 -0
  86. 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.