gsd-code-first 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 +21 -0
- package/README.ja-JP.md +834 -0
- package/README.ko-KR.md +823 -0
- package/README.md +937 -0
- package/README.pt-BR.md +452 -0
- package/README.zh-CN.md +800 -0
- package/agents/gsd-advisor-researcher.md +104 -0
- package/agents/gsd-annotator.md +148 -0
- package/agents/gsd-arc-executor.md +537 -0
- package/agents/gsd-arc-planner.md +374 -0
- package/agents/gsd-assumptions-analyzer.md +105 -0
- package/agents/gsd-code-planner.md +155 -0
- package/agents/gsd-codebase-mapper.md +770 -0
- package/agents/gsd-debugger.md +1373 -0
- package/agents/gsd-executor.md +509 -0
- package/agents/gsd-integration-checker.md +443 -0
- package/agents/gsd-nyquist-auditor.md +176 -0
- package/agents/gsd-phase-researcher.md +698 -0
- package/agents/gsd-plan-checker.md +773 -0
- package/agents/gsd-planner.md +1354 -0
- package/agents/gsd-project-researcher.md +654 -0
- package/agents/gsd-prototyper.md +161 -0
- package/agents/gsd-research-synthesizer.md +247 -0
- package/agents/gsd-roadmapper.md +679 -0
- package/agents/gsd-ui-auditor.md +439 -0
- package/agents/gsd-ui-checker.md +300 -0
- package/agents/gsd-ui-researcher.md +357 -0
- package/agents/gsd-user-profiler.md +171 -0
- package/agents/gsd-verifier.md +700 -0
- package/bin/install.js +5009 -0
- package/commands/gsd/add-backlog.md +76 -0
- package/commands/gsd/add-phase.md +43 -0
- package/commands/gsd/add-tests.md +41 -0
- package/commands/gsd/add-todo.md +47 -0
- package/commands/gsd/annotate.md +54 -0
- package/commands/gsd/audit-milestone.md +36 -0
- package/commands/gsd/audit-uat.md +24 -0
- package/commands/gsd/autonomous.md +41 -0
- package/commands/gsd/check-todos.md +45 -0
- package/commands/gsd/cleanup.md +18 -0
- package/commands/gsd/complete-milestone.md +136 -0
- package/commands/gsd/debug.md +173 -0
- package/commands/gsd/deep-plan.md +52 -0
- package/commands/gsd/discuss-phase.md +64 -0
- package/commands/gsd/do.md +30 -0
- package/commands/gsd/execute-phase.md +59 -0
- package/commands/gsd/extract-plan.md +35 -0
- package/commands/gsd/fast.md +30 -0
- package/commands/gsd/forensics.md +56 -0
- package/commands/gsd/health.md +22 -0
- package/commands/gsd/help.md +22 -0
- package/commands/gsd/insert-phase.md +32 -0
- package/commands/gsd/iterate.md +124 -0
- package/commands/gsd/join-discord.md +18 -0
- package/commands/gsd/list-phase-assumptions.md +46 -0
- package/commands/gsd/list-workspaces.md +19 -0
- package/commands/gsd/manager.md +39 -0
- package/commands/gsd/map-codebase.md +71 -0
- package/commands/gsd/milestone-summary.md +51 -0
- package/commands/gsd/new-milestone.md +44 -0
- package/commands/gsd/new-project.md +42 -0
- package/commands/gsd/new-workspace.md +44 -0
- package/commands/gsd/next.md +24 -0
- package/commands/gsd/note.md +34 -0
- package/commands/gsd/pause-work.md +38 -0
- package/commands/gsd/plan-milestone-gaps.md +34 -0
- package/commands/gsd/plan-phase.md +47 -0
- package/commands/gsd/plant-seed.md +28 -0
- package/commands/gsd/pr-branch.md +25 -0
- package/commands/gsd/profile-user.md +46 -0
- package/commands/gsd/progress.md +24 -0
- package/commands/gsd/prototype.md +56 -0
- package/commands/gsd/quick.md +47 -0
- package/commands/gsd/reapply-patches.md +123 -0
- package/commands/gsd/remove-phase.md +31 -0
- package/commands/gsd/remove-workspace.md +26 -0
- package/commands/gsd/research-phase.md +195 -0
- package/commands/gsd/resume-work.md +40 -0
- package/commands/gsd/review-backlog.md +61 -0
- package/commands/gsd/review.md +37 -0
- package/commands/gsd/session-report.md +19 -0
- package/commands/gsd/set-mode.md +41 -0
- package/commands/gsd/set-profile.md +12 -0
- package/commands/gsd/settings.md +36 -0
- package/commands/gsd/ship.md +23 -0
- package/commands/gsd/stats.md +18 -0
- package/commands/gsd/thread.md +127 -0
- package/commands/gsd/ui-phase.md +34 -0
- package/commands/gsd/ui-review.md +32 -0
- package/commands/gsd/update.md +37 -0
- package/commands/gsd/validate-phase.md +35 -0
- package/commands/gsd/verify-work.md +38 -0
- package/commands/gsd/workstreams.md +63 -0
- package/get-shit-done/bin/gsd-tools.cjs +946 -0
- package/get-shit-done/bin/lib/arc-scanner.cjs +341 -0
- package/get-shit-done/bin/lib/commands.cjs +959 -0
- package/get-shit-done/bin/lib/config.cjs +466 -0
- package/get-shit-done/bin/lib/core.cjs +1230 -0
- package/get-shit-done/bin/lib/frontmatter.cjs +336 -0
- package/get-shit-done/bin/lib/init.cjs +1442 -0
- package/get-shit-done/bin/lib/milestone.cjs +252 -0
- package/get-shit-done/bin/lib/model-profiles.cjs +68 -0
- package/get-shit-done/bin/lib/phase.cjs +888 -0
- package/get-shit-done/bin/lib/profile-output.cjs +952 -0
- package/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
- package/get-shit-done/bin/lib/roadmap.cjs +329 -0
- package/get-shit-done/bin/lib/security.cjs +382 -0
- package/get-shit-done/bin/lib/state.cjs +1031 -0
- package/get-shit-done/bin/lib/template.cjs +222 -0
- package/get-shit-done/bin/lib/uat.cjs +282 -0
- package/get-shit-done/bin/lib/verify.cjs +888 -0
- package/get-shit-done/bin/lib/workstream.cjs +491 -0
- package/get-shit-done/commands/gsd/workstreams.md +63 -0
- package/get-shit-done/references/arc-standard.md +315 -0
- package/get-shit-done/references/checkpoints.md +778 -0
- package/get-shit-done/references/continuation-format.md +249 -0
- package/get-shit-done/references/decimal-phase-calculation.md +64 -0
- package/get-shit-done/references/git-integration.md +295 -0
- package/get-shit-done/references/git-planning-commit.md +38 -0
- package/get-shit-done/references/model-profile-resolution.md +36 -0
- package/get-shit-done/references/model-profiles.md +139 -0
- package/get-shit-done/references/phase-argument-parsing.md +61 -0
- package/get-shit-done/references/planning-config.md +202 -0
- package/get-shit-done/references/questioning.md +162 -0
- package/get-shit-done/references/tdd.md +263 -0
- package/get-shit-done/references/ui-brand.md +160 -0
- package/get-shit-done/references/user-profiling.md +681 -0
- package/get-shit-done/references/verification-patterns.md +612 -0
- package/get-shit-done/references/workstream-flag.md +58 -0
- package/get-shit-done/templates/DEBUG.md +164 -0
- package/get-shit-done/templates/UAT.md +265 -0
- package/get-shit-done/templates/UI-SPEC.md +100 -0
- package/get-shit-done/templates/VALIDATION.md +76 -0
- package/get-shit-done/templates/claude-md.md +122 -0
- package/get-shit-done/templates/codebase/architecture.md +255 -0
- package/get-shit-done/templates/codebase/concerns.md +310 -0
- package/get-shit-done/templates/codebase/conventions.md +307 -0
- package/get-shit-done/templates/codebase/integrations.md +280 -0
- package/get-shit-done/templates/codebase/stack.md +186 -0
- package/get-shit-done/templates/codebase/structure.md +285 -0
- package/get-shit-done/templates/codebase/testing.md +480 -0
- package/get-shit-done/templates/config.json +44 -0
- package/get-shit-done/templates/context.md +352 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/copilot-instructions.md +7 -0
- package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
- package/get-shit-done/templates/dev-preferences.md +21 -0
- package/get-shit-done/templates/discovery.md +146 -0
- package/get-shit-done/templates/discussion-log.md +63 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +610 -0
- package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/get-shit-done/templates/project.md +186 -0
- package/get-shit-done/templates/requirements.md +231 -0
- package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
- package/get-shit-done/templates/research-project/FEATURES.md +147 -0
- package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
- package/get-shit-done/templates/research-project/STACK.md +120 -0
- package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
- package/get-shit-done/templates/research.md +552 -0
- package/get-shit-done/templates/retrospective.md +54 -0
- package/get-shit-done/templates/roadmap.md +202 -0
- package/get-shit-done/templates/state.md +176 -0
- package/get-shit-done/templates/summary-complex.md +59 -0
- package/get-shit-done/templates/summary-minimal.md +41 -0
- package/get-shit-done/templates/summary-standard.md +48 -0
- package/get-shit-done/templates/summary.md +248 -0
- package/get-shit-done/templates/user-profile.md +146 -0
- package/get-shit-done/templates/user-setup.md +311 -0
- package/get-shit-done/templates/verification-report.md +322 -0
- package/get-shit-done/workflows/add-phase.md +112 -0
- package/get-shit-done/workflows/add-tests.md +351 -0
- package/get-shit-done/workflows/add-todo.md +158 -0
- package/get-shit-done/workflows/audit-milestone.md +340 -0
- package/get-shit-done/workflows/audit-uat.md +109 -0
- package/get-shit-done/workflows/autonomous.md +891 -0
- package/get-shit-done/workflows/check-todos.md +177 -0
- package/get-shit-done/workflows/cleanup.md +152 -0
- package/get-shit-done/workflows/complete-milestone.md +767 -0
- package/get-shit-done/workflows/diagnose-issues.md +231 -0
- package/get-shit-done/workflows/discovery-phase.md +289 -0
- package/get-shit-done/workflows/discuss-phase-assumptions.md +653 -0
- package/get-shit-done/workflows/discuss-phase.md +1049 -0
- package/get-shit-done/workflows/do.md +104 -0
- package/get-shit-done/workflows/execute-phase.md +846 -0
- package/get-shit-done/workflows/execute-plan.md +514 -0
- package/get-shit-done/workflows/fast.md +105 -0
- package/get-shit-done/workflows/forensics.md +265 -0
- package/get-shit-done/workflows/health.md +181 -0
- package/get-shit-done/workflows/help.md +634 -0
- package/get-shit-done/workflows/insert-phase.md +130 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/list-workspaces.md +56 -0
- package/get-shit-done/workflows/manager.md +362 -0
- package/get-shit-done/workflows/map-codebase.md +377 -0
- package/get-shit-done/workflows/milestone-summary.md +223 -0
- package/get-shit-done/workflows/new-milestone.md +486 -0
- package/get-shit-done/workflows/new-project.md +1250 -0
- package/get-shit-done/workflows/new-workspace.md +237 -0
- package/get-shit-done/workflows/next.md +97 -0
- package/get-shit-done/workflows/node-repair.md +92 -0
- package/get-shit-done/workflows/note.md +156 -0
- package/get-shit-done/workflows/pause-work.md +176 -0
- package/get-shit-done/workflows/plan-milestone-gaps.md +273 -0
- package/get-shit-done/workflows/plan-phase.md +859 -0
- package/get-shit-done/workflows/plant-seed.md +169 -0
- package/get-shit-done/workflows/pr-branch.md +129 -0
- package/get-shit-done/workflows/profile-user.md +450 -0
- package/get-shit-done/workflows/progress.md +507 -0
- package/get-shit-done/workflows/quick.md +757 -0
- package/get-shit-done/workflows/remove-phase.md +155 -0
- package/get-shit-done/workflows/remove-workspace.md +90 -0
- package/get-shit-done/workflows/research-phase.md +82 -0
- package/get-shit-done/workflows/resume-project.md +326 -0
- package/get-shit-done/workflows/review.md +228 -0
- package/get-shit-done/workflows/session-report.md +146 -0
- package/get-shit-done/workflows/settings.md +283 -0
- package/get-shit-done/workflows/ship.md +228 -0
- package/get-shit-done/workflows/stats.md +60 -0
- package/get-shit-done/workflows/transition.md +671 -0
- package/get-shit-done/workflows/ui-phase.md +302 -0
- package/get-shit-done/workflows/ui-review.md +165 -0
- package/get-shit-done/workflows/update.md +323 -0
- package/get-shit-done/workflows/validate-phase.md +174 -0
- package/get-shit-done/workflows/verify-phase.md +254 -0
- package/get-shit-done/workflows/verify-work.md +637 -0
- package/hooks/dist/gsd-check-update.js +114 -0
- package/hooks/dist/gsd-context-monitor.js +156 -0
- package/hooks/dist/gsd-prompt-guard.js +96 -0
- package/hooks/dist/gsd-statusline.js +119 -0
- package/hooks/dist/gsd-workflow-guard.js +94 -0
- package/package.json +52 -0
- package/scripts/base64-scan.sh +262 -0
- package/scripts/build-hooks.js +82 -0
- package/scripts/prompt-injection-scan.sh +198 -0
- package/scripts/run-tests.cjs +29 -0
- package/scripts/secret-scan.sh +227 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Create a pull request from completed phase/milestone work, generate a rich PR body from planning artifacts, optionally run code review, and prepare for merge. Closes the plan → execute → verify → ship loop.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="initialize">
|
|
12
|
+
Parse arguments and load project state:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
INIT=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" init phase-op "${PHASE_ARG}")
|
|
16
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Parse from init JSON: `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `padded_phase`, `commit_docs`.
|
|
20
|
+
|
|
21
|
+
Also load config for branching strategy:
|
|
22
|
+
```bash
|
|
23
|
+
CONFIG=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" state load)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Extract: `branching_strategy`, `branch_name`.
|
|
27
|
+
</step>
|
|
28
|
+
|
|
29
|
+
<step name="preflight_checks">
|
|
30
|
+
Verify the work is ready to ship:
|
|
31
|
+
|
|
32
|
+
1. **Verification passed?**
|
|
33
|
+
```bash
|
|
34
|
+
VERIFICATION=$(cat ${PHASE_DIR}/*-VERIFICATION.md 2>/dev/null)
|
|
35
|
+
```
|
|
36
|
+
Check for `status: passed` or `status: human_needed` (with human approval).
|
|
37
|
+
If no VERIFICATION.md or status is `gaps_found`: warn and ask user to confirm.
|
|
38
|
+
|
|
39
|
+
2. **Clean working tree?**
|
|
40
|
+
```bash
|
|
41
|
+
git status --short
|
|
42
|
+
```
|
|
43
|
+
If uncommitted changes exist: ask user to commit or stash first.
|
|
44
|
+
|
|
45
|
+
3. **On correct branch?**
|
|
46
|
+
```bash
|
|
47
|
+
CURRENT_BRANCH=$(git branch --show-current)
|
|
48
|
+
```
|
|
49
|
+
If on `main`/`master`: warn — should be on a feature branch.
|
|
50
|
+
If branching_strategy is `none`: offer to create a branch now.
|
|
51
|
+
|
|
52
|
+
4. **Remote configured?**
|
|
53
|
+
```bash
|
|
54
|
+
git remote -v | head -2
|
|
55
|
+
```
|
|
56
|
+
Detect `origin` remote. If no remote: error — can't create PR.
|
|
57
|
+
|
|
58
|
+
5. **`gh` CLI available?**
|
|
59
|
+
```bash
|
|
60
|
+
which gh && gh auth status 2>&1
|
|
61
|
+
```
|
|
62
|
+
If `gh` not found or not authenticated: provide setup instructions and exit.
|
|
63
|
+
</step>
|
|
64
|
+
|
|
65
|
+
<step name="push_branch">
|
|
66
|
+
Push the current branch to remote:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git push origin ${CURRENT_BRANCH} 2>&1
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
If push fails (e.g., no upstream): set upstream:
|
|
73
|
+
```bash
|
|
74
|
+
git push --set-upstream origin ${CURRENT_BRANCH} 2>&1
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Report: "Pushed `{branch}` to origin ({commit_count} commits ahead of main)"
|
|
78
|
+
</step>
|
|
79
|
+
|
|
80
|
+
<step name="generate_pr_body">
|
|
81
|
+
Auto-generate a rich PR body from planning artifacts:
|
|
82
|
+
|
|
83
|
+
**1. Title:**
|
|
84
|
+
```
|
|
85
|
+
Phase {phase_number}: {phase_name}
|
|
86
|
+
```
|
|
87
|
+
Or for milestone: `Milestone {version}: {name}`
|
|
88
|
+
|
|
89
|
+
**2. Summary section:**
|
|
90
|
+
Read ROADMAP.md for phase goal. Read VERIFICATION.md for verification status.
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
## Summary
|
|
94
|
+
|
|
95
|
+
**Phase {N}: {Name}**
|
|
96
|
+
**Goal:** {goal from ROADMAP.md}
|
|
97
|
+
**Status:** Verified ✓
|
|
98
|
+
|
|
99
|
+
{One paragraph synthesized from SUMMARY.md files — what was built}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**3. Changes section:**
|
|
103
|
+
For each SUMMARY.md in the phase directory:
|
|
104
|
+
```markdown
|
|
105
|
+
## Changes
|
|
106
|
+
|
|
107
|
+
### Plan {plan_id}: {plan_name}
|
|
108
|
+
{one_liner from SUMMARY.md frontmatter}
|
|
109
|
+
|
|
110
|
+
**Key files:**
|
|
111
|
+
{key-files.created and key-files.modified from SUMMARY.md frontmatter}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**4. Requirements section:**
|
|
115
|
+
```markdown
|
|
116
|
+
## Requirements Addressed
|
|
117
|
+
|
|
118
|
+
{REQ-IDs from plan frontmatter, linked to REQUIREMENTS.md descriptions}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**5. Testing section:**
|
|
122
|
+
```markdown
|
|
123
|
+
## Verification
|
|
124
|
+
|
|
125
|
+
- [x] Automated verification: {pass/fail from VERIFICATION.md}
|
|
126
|
+
- {human verification items from VERIFICATION.md, if any}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**6. Decisions section:**
|
|
130
|
+
```markdown
|
|
131
|
+
## Key Decisions
|
|
132
|
+
|
|
133
|
+
{Decisions from STATE.md accumulated context relevant to this phase}
|
|
134
|
+
```
|
|
135
|
+
</step>
|
|
136
|
+
|
|
137
|
+
<step name="create_pr">
|
|
138
|
+
Create the PR using the generated body:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
gh pr create \
|
|
142
|
+
--title "Phase ${PHASE_NUMBER}: ${PHASE_NAME}" \
|
|
143
|
+
--body "${PR_BODY}" \
|
|
144
|
+
--base main
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
If `--draft` flag was passed: add `--draft`.
|
|
148
|
+
|
|
149
|
+
Report: "PR #{number} created: {url}"
|
|
150
|
+
</step>
|
|
151
|
+
|
|
152
|
+
<step name="optional_review">
|
|
153
|
+
Ask if user wants to trigger a code review:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
AskUserQuestion:
|
|
157
|
+
question: "PR created. Run a code review before merge?"
|
|
158
|
+
options:
|
|
159
|
+
- label: "Skip review"
|
|
160
|
+
description: "PR is ready — merge when CI passes"
|
|
161
|
+
- label: "Self-review"
|
|
162
|
+
description: "I'll review the diff in the PR myself"
|
|
163
|
+
- label: "Request review"
|
|
164
|
+
description: "Request review from a teammate"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**If "Request review":**
|
|
168
|
+
```bash
|
|
169
|
+
gh pr edit ${PR_NUMBER} --add-reviewer "${REVIEWER}"
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**If "Self-review":**
|
|
173
|
+
Report the PR URL and suggest: "Review the diff at {url}/files"
|
|
174
|
+
</step>
|
|
175
|
+
|
|
176
|
+
<step name="track_shipping">
|
|
177
|
+
Update STATE.md to reflect the shipping action:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" state update "Last Activity" "$(date +%Y-%m-%d)"
|
|
181
|
+
node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" state update "Status" "Phase ${PHASE_NUMBER} shipped — PR #${PR_NUMBER}"
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
If `commit_docs` is true:
|
|
185
|
+
```bash
|
|
186
|
+
node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" commit "docs(${padded_phase}): ship phase ${PHASE_NUMBER} — PR #${PR_NUMBER}" --files .planning/STATE.md
|
|
187
|
+
```
|
|
188
|
+
</step>
|
|
189
|
+
|
|
190
|
+
<step name="report">
|
|
191
|
+
```
|
|
192
|
+
───────────────────────────────────────────────────────────────
|
|
193
|
+
|
|
194
|
+
## ✓ Phase {X}: {Name} — Shipped
|
|
195
|
+
|
|
196
|
+
PR: #{number} ({url})
|
|
197
|
+
Branch: {branch} → main
|
|
198
|
+
Commits: {count}
|
|
199
|
+
Verification: ✓ Passed
|
|
200
|
+
Requirements: {N} REQ-IDs addressed
|
|
201
|
+
|
|
202
|
+
Next steps:
|
|
203
|
+
- Review/approve PR
|
|
204
|
+
- Merge when CI passes
|
|
205
|
+
- /gsd:complete-milestone (if last phase in milestone)
|
|
206
|
+
- /gsd:progress (to see what's next)
|
|
207
|
+
|
|
208
|
+
───────────────────────────────────────────────────────────────
|
|
209
|
+
```
|
|
210
|
+
</step>
|
|
211
|
+
|
|
212
|
+
</process>
|
|
213
|
+
|
|
214
|
+
<offer_next>
|
|
215
|
+
After shipping:
|
|
216
|
+
|
|
217
|
+
- /gsd:complete-milestone — if all phases in milestone are done
|
|
218
|
+
- /gsd:progress — see overall project state
|
|
219
|
+
- /gsd:execute-phase {next} — continue to next phase
|
|
220
|
+
</offer_next>
|
|
221
|
+
|
|
222
|
+
<success_criteria>
|
|
223
|
+
- [ ] Preflight checks passed (verification, clean tree, branch, remote, gh)
|
|
224
|
+
- [ ] Branch pushed to remote
|
|
225
|
+
- [ ] PR created with rich auto-generated body
|
|
226
|
+
- [ ] STATE.md updated with shipping status
|
|
227
|
+
- [ ] User knows PR number and next steps
|
|
228
|
+
</success_criteria>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Display comprehensive project statistics including phases, plans, requirements, git metrics, and timeline.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="gather_stats">
|
|
12
|
+
Gather project statistics:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
STATS=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" stats json)
|
|
16
|
+
if [[ "$STATS" == @file:* ]]; then STATS=$(cat "${STATS#@file:}"); fi
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Extract fields from JSON: `milestone_version`, `milestone_name`, `phases`, `phases_completed`, `phases_total`, `total_plans`, `total_summaries`, `percent`, `plan_percent`, `requirements_total`, `requirements_complete`, `git_commits`, `git_first_commit_date`, `last_activity`.
|
|
20
|
+
</step>
|
|
21
|
+
|
|
22
|
+
<step name="present_stats">
|
|
23
|
+
Present to the user with this format:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
# 📊 Project Statistics — {milestone_version} {milestone_name}
|
|
27
|
+
|
|
28
|
+
## Progress
|
|
29
|
+
[████████░░] X/Y phases (Z%)
|
|
30
|
+
|
|
31
|
+
## Plans
|
|
32
|
+
X/Y plans complete (Z%)
|
|
33
|
+
|
|
34
|
+
## Phases
|
|
35
|
+
| Phase | Name | Plans | Completed | Status |
|
|
36
|
+
|-------|------|-------|-----------|--------|
|
|
37
|
+
| ... | ... | ... | ... | ... |
|
|
38
|
+
|
|
39
|
+
## Requirements
|
|
40
|
+
✅ X/Y requirements complete
|
|
41
|
+
|
|
42
|
+
## Git
|
|
43
|
+
- **Commits:** N
|
|
44
|
+
- **Started:** YYYY-MM-DD
|
|
45
|
+
- **Last activity:** YYYY-MM-DD
|
|
46
|
+
|
|
47
|
+
## Timeline
|
|
48
|
+
- **Project age:** N days
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
If no `.planning/` directory exists, inform the user to run `/gsd:new-project` first.
|
|
52
|
+
</step>
|
|
53
|
+
|
|
54
|
+
</process>
|
|
55
|
+
|
|
56
|
+
<success_criteria>
|
|
57
|
+
- [ ] Statistics gathered from project state
|
|
58
|
+
- [ ] Results formatted clearly
|
|
59
|
+
- [ ] Displayed to user
|
|
60
|
+
</success_criteria>
|