pi-gsd 1.12.3 → 2.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/.gsd/extensions/pi-gsd-hooks.ts +330 -150
- package/.gsd/harnesses/pi/get-shit-done/workflows/add-phase.md +66 -11
- package/.gsd/harnesses/pi/get-shit-done/workflows/add-tests.md +69 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/add-todo.md +30 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/audit-milestone.md +75 -17
- package/.gsd/harnesses/pi/get-shit-done/workflows/audit-uat.md +38 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/autonomous.md +95 -286
- package/.gsd/harnesses/pi/get-shit-done/workflows/check-todos.md +67 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/cleanup.md +25 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/complete-milestone.md +51 -529
- package/.gsd/harnesses/pi/get-shit-done/workflows/diagnose-issues.md +39 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/discovery-phase.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase-assumptions.md +80 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md +43 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md.bak +1049 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/do.md +30 -3
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-milestone.md +64 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md +78 -20
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md.bak +846 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/execute-plan.md +56 -19
- package/.gsd/harnesses/pi/get-shit-done/workflows/fast.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/forensics.md +40 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/health.md +25 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/help.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/insert-phase.md +69 -11
- package/.gsd/harnesses/pi/get-shit-done/workflows/list-phase-assumptions.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/list-workspaces.md +51 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/manager.md +81 -8
- package/.gsd/harnesses/pi/get-shit-done/workflows/map-codebase.md +40 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/milestone-summary.md +66 -48
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md +41 -13
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md.bak +486 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md +43 -7
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md.bak +1250 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/new-workspace.md +55 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/next.md +39 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/node-repair.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/note.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/pause-work.md +46 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-milestone-gaps.md +39 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-milestone.md +40 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md +57 -7
- package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md.bak +859 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/plant-seed.md +28 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/pr-branch.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/profile-user.md +51 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/progress.md +52 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/quick.md +99 -32
- package/.gsd/harnesses/pi/get-shit-done/workflows/remove-phase.md +66 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/remove-workspace.md +55 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/research-phase.md +79 -22
- package/.gsd/harnesses/pi/get-shit-done/workflows/resume-project.md +66 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/review.md +66 -36
- package/.gsd/harnesses/pi/get-shit-done/workflows/session-report.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/settings.md +27 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/ship.md +41 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/stats.md +24 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/transition.md +54 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/ui-phase.md +91 -6
- package/.gsd/harnesses/pi/get-shit-done/workflows/ui-review.md +80 -5
- package/.gsd/harnesses/pi/get-shit-done/workflows/update.md +2 -0
- package/.gsd/harnesses/pi/get-shit-done/workflows/validate-phase.md +90 -17
- package/.gsd/harnesses/pi/get-shit-done/workflows/verify-phase.md +79 -4
- package/.gsd/harnesses/pi/get-shit-done/workflows/verify-work.md +87 -31
- package/README.md +146 -112
- package/dist/pi-gsd-tools.js +166 -163
- package/package.json +13 -5
- package/prompts/gsd-add-backlog.md +2 -3
- package/prompts/gsd-add-phase.md +3 -2
- package/prompts/gsd-add-tests.md +3 -2
- package/prompts/gsd-add-todo.md +3 -2
- package/prompts/gsd-audit-milestone.md +3 -2
- package/prompts/gsd-audit-uat.md +3 -2
- package/prompts/gsd-autonomous.md +3 -2
- package/prompts/gsd-check-todos.md +3 -2
- package/prompts/gsd-cleanup.md +3 -2
- package/prompts/gsd-complete-milestone.md +2 -3
- package/prompts/gsd-debug.md +2 -3
- package/prompts/gsd-discuss-phase.md +4 -3
- package/prompts/gsd-do.md +3 -2
- package/prompts/gsd-execute-milestone.md +3 -2
- package/prompts/gsd-execute-phase.md +3 -2
- package/prompts/gsd-fast.md +2 -1
- package/prompts/gsd-forensics.md +3 -2
- package/prompts/gsd-insert-phase.md +3 -2
- package/prompts/gsd-join-discord.md +2 -3
- package/prompts/gsd-list-phase-assumptions.md +2 -1
- package/prompts/gsd-list-workspaces.md +3 -2
- package/prompts/gsd-manager.md +3 -2
- package/prompts/gsd-map-codebase.md +3 -2
- package/prompts/gsd-milestone-summary.md +3 -2
- package/prompts/gsd-new-milestone.md +3 -2
- package/prompts/gsd-new-project.md +3 -2
- package/prompts/gsd-new-workspace.md +3 -2
- package/prompts/gsd-note.md +2 -1
- package/prompts/gsd-pause-work.md +3 -2
- package/prompts/gsd-plan-milestone-gaps.md +3 -2
- package/prompts/gsd-plan-milestone.md +3 -2
- package/prompts/gsd-plan-phase.md +3 -2
- package/prompts/gsd-plant-seed.md +3 -2
- package/prompts/gsd-pr-branch.md +2 -1
- package/prompts/gsd-profile-user.md +3 -2
- package/prompts/gsd-quick.md +3 -2
- package/prompts/gsd-reapply-patches.md +2 -3
- package/prompts/gsd-remove-phase.md +3 -2
- package/prompts/gsd-remove-workspace.md +3 -2
- package/prompts/gsd-research-phase.md +2 -3
- package/prompts/gsd-resume-work.md +3 -2
- package/prompts/gsd-review-backlog.md +2 -3
- package/prompts/gsd-review.md +3 -2
- package/prompts/gsd-session-report.md +2 -1
- package/prompts/gsd-set-profile.md +2 -3
- package/prompts/gsd-settings.md +3 -2
- package/prompts/gsd-ship.md +3 -2
- package/prompts/gsd-thread.md +2 -3
- package/prompts/gsd-ui-phase.md +3 -2
- package/prompts/gsd-ui-review.md +3 -2
- package/prompts/gsd-validate-phase.md +3 -2
- package/prompts/gsd-verify-work.md +3 -2
- package/prompts/gsd-workstreams.md +2 -3
|
@@ -1,28 +1,65 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings>
|
|
5
|
+
<keep-extra-args />
|
|
6
|
+
</settings>
|
|
7
|
+
<arg name="phase" type="number" />
|
|
8
|
+
</gsd-arguments>
|
|
9
|
+
|
|
10
|
+
<gsd-execute>
|
|
11
|
+
<shell command="pi-gsd-tools">
|
|
12
|
+
<args>
|
|
13
|
+
<arg string="init" />
|
|
14
|
+
<arg string="execute-phase" />
|
|
15
|
+
<arg name="phase" wrap='"' />
|
|
16
|
+
</args>
|
|
17
|
+
<outs>
|
|
18
|
+
<out type="string" name="init" />
|
|
19
|
+
</outs>
|
|
20
|
+
</shell>
|
|
21
|
+
<if>
|
|
22
|
+
<condition>
|
|
23
|
+
<starts-with>
|
|
24
|
+
<left name="init" />
|
|
25
|
+
<right type="string" value="@file:" />
|
|
26
|
+
</starts-with>
|
|
27
|
+
</condition>
|
|
28
|
+
<then>
|
|
29
|
+
<string-op op="split">
|
|
30
|
+
<args>
|
|
31
|
+
<arg name="init" />
|
|
32
|
+
<arg type="string" value="@file:" />
|
|
33
|
+
</args>
|
|
34
|
+
<outs>
|
|
35
|
+
<out type="string" name="init-file" />
|
|
36
|
+
</outs>
|
|
37
|
+
</string-op>
|
|
38
|
+
<shell command="cat">
|
|
39
|
+
<args>
|
|
40
|
+
<arg name="init-file" wrap='"' />
|
|
41
|
+
</args>
|
|
42
|
+
<outs>
|
|
43
|
+
<out type="string" name="init" />
|
|
44
|
+
</outs>
|
|
45
|
+
</shell>
|
|
46
|
+
</then>
|
|
47
|
+
</if>
|
|
48
|
+
</gsd-execute>
|
|
49
|
+
|
|
50
|
+
## Execution Context (pre-injected by WXP)
|
|
51
|
+
|
|
52
|
+
**Phase:** <gsd-paste name="phase" />
|
|
53
|
+
|
|
54
|
+
**Phase Init Data:**
|
|
55
|
+
<gsd-paste name="init" />
|
|
16
56
|
|
|
17
57
|
<process>
|
|
18
58
|
|
|
19
59
|
<step name="init_context" priority="first">
|
|
20
60
|
Load execution context (paths only to minimize orchestrator context):
|
|
21
61
|
|
|
22
|
-
|
|
23
|
-
INIT=$(pi-gsd-tools init execute-phase "${PHASE}")
|
|
24
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
25
|
-
```
|
|
62
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
26
63
|
|
|
27
64
|
Extract from init JSON: `executor_model`, `commit_docs`, `sub_repos`, `phase_dir`, `phase_number`, `plans`, `summaries`, `incomplete_plans`, `state_path`, `config_path`.
|
|
28
65
|
|
|
@@ -1,3 +1,43 @@
|
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings><keep-extra-args /></settings>
|
|
5
|
+
</gsd-arguments>
|
|
6
|
+
|
|
7
|
+
<gsd-execute>
|
|
8
|
+
<shell command="pi-gsd-tools">
|
|
9
|
+
<args>
|
|
10
|
+
<arg string="pi-gsd-tools" />
|
|
11
|
+
<arg string="state" />
|
|
12
|
+
<arg string="json" />
|
|
13
|
+
<arg string="--raw" />
|
|
14
|
+
</args>
|
|
15
|
+
<outs>
|
|
16
|
+
<out type="string" name="state" />
|
|
17
|
+
</outs>
|
|
18
|
+
</shell>
|
|
19
|
+
<shell command="pi-gsd-tools">
|
|
20
|
+
<args>
|
|
21
|
+
<arg string="pi-gsd-tools" />
|
|
22
|
+
<arg string="validate" />
|
|
23
|
+
<arg string="health" />
|
|
24
|
+
<arg string="--raw" />
|
|
25
|
+
</args>
|
|
26
|
+
<outs>
|
|
27
|
+
<suppress-errors />
|
|
28
|
+
<out type="string" name="health" />
|
|
29
|
+
</outs>
|
|
30
|
+
</shell>
|
|
31
|
+
</gsd-execute>
|
|
32
|
+
|
|
33
|
+
## Context (pre-injected)
|
|
34
|
+
|
|
35
|
+
**State:**
|
|
36
|
+
<gsd-paste name="state" />
|
|
37
|
+
|
|
38
|
+
**Health:**
|
|
39
|
+
<gsd-paste name="health" />
|
|
40
|
+
|
|
1
41
|
# Forensics Workflow
|
|
2
42
|
|
|
3
43
|
Post-mortem investigation for failed or stuck GSD workflows. Analyzes git history,
|
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings><keep-extra-args /></settings>
|
|
5
|
+
<arg name="repair" type="flag" flag="--repair" optional />
|
|
6
|
+
</gsd-arguments>
|
|
7
|
+
|
|
8
|
+
<gsd-execute>
|
|
9
|
+
<shell command="pi-gsd-tools">
|
|
10
|
+
<args>
|
|
11
|
+
<arg string="pi-gsd-tools" />
|
|
12
|
+
<arg string="validate" />
|
|
13
|
+
<arg string="health" />
|
|
14
|
+
<arg string="--raw" />
|
|
15
|
+
</args>
|
|
16
|
+
<outs>
|
|
17
|
+
<out type="string" name="health" />
|
|
18
|
+
</outs>
|
|
19
|
+
</shell>
|
|
20
|
+
</gsd-execute>
|
|
21
|
+
|
|
22
|
+
## Health Report (pre-injected)
|
|
23
|
+
|
|
24
|
+
<gsd-paste name="health" />
|
|
25
|
+
|
|
1
26
|
<purpose>
|
|
2
27
|
Validate `.planning/` directory integrity and report actionable issues. Checks for missing files, invalid configurations, inconsistent state, and orphaned plans. Optionally repairs auto-fixable issues.
|
|
3
28
|
</purpose>
|
|
@@ -1,10 +1,71 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings>
|
|
5
|
+
<keep-extra-args />
|
|
6
|
+
</settings>
|
|
7
|
+
<arg name="after-phase" type="number" />
|
|
8
|
+
<arg name="description" type="string" optional />
|
|
9
|
+
</gsd-arguments>
|
|
10
|
+
|
|
11
|
+
<gsd-execute>
|
|
12
|
+
<shell command="pi-gsd-tools">
|
|
13
|
+
<args>
|
|
14
|
+
<arg string="init" />
|
|
15
|
+
<arg string="phase-op" />
|
|
16
|
+
<arg name="after-phase" wrap='"' />
|
|
17
|
+
</args>
|
|
18
|
+
<outs>
|
|
19
|
+
<out type="string" name="init" />
|
|
20
|
+
</outs>
|
|
21
|
+
</shell>
|
|
22
|
+
<if>
|
|
23
|
+
<condition>
|
|
24
|
+
<starts-with>
|
|
25
|
+
<left name="init" />
|
|
26
|
+
<right type="string" value="@file:" />
|
|
27
|
+
</starts-with>
|
|
28
|
+
</condition>
|
|
29
|
+
<then>
|
|
30
|
+
<string-op op="split">
|
|
31
|
+
<args>
|
|
32
|
+
<arg name="init" />
|
|
33
|
+
<arg type="string" value="@file:" />
|
|
34
|
+
</args>
|
|
35
|
+
<outs>
|
|
36
|
+
<out type="string" name="init-file" />
|
|
37
|
+
</outs>
|
|
38
|
+
</string-op>
|
|
39
|
+
<shell command="cat">
|
|
40
|
+
<args>
|
|
41
|
+
<arg name="init-file" wrap='"' />
|
|
42
|
+
</args>
|
|
43
|
+
<outs>
|
|
44
|
+
<out type="string" name="init" />
|
|
45
|
+
</outs>
|
|
46
|
+
</shell>
|
|
47
|
+
</then>
|
|
48
|
+
</if>
|
|
49
|
+
<shell command="pi-gsd-tools">
|
|
50
|
+
<args>
|
|
51
|
+
<arg string="state" />
|
|
52
|
+
<arg string="json" />
|
|
53
|
+
<arg string="--raw" />
|
|
54
|
+
</args>
|
|
55
|
+
<outs>
|
|
56
|
+
<out type="string" name="state" />
|
|
57
|
+
</outs>
|
|
58
|
+
</shell>
|
|
59
|
+
</gsd-execute>
|
|
60
|
+
|
|
61
|
+
## Context (pre-injected by WXP)
|
|
62
|
+
|
|
63
|
+
**Insert after phase:** <gsd-paste name="after-phase" />
|
|
64
|
+
|
|
65
|
+
**Description:** <gsd-paste name="description" />
|
|
66
|
+
|
|
67
|
+
**Phase Init Data:**
|
|
68
|
+
<gsd-paste name="init" />
|
|
8
69
|
|
|
9
70
|
<process>
|
|
10
71
|
|
|
@@ -33,10 +94,7 @@ Validate first argument is an integer.
|
|
|
33
94
|
<step name="init_context">
|
|
34
95
|
Load phase operation context:
|
|
35
96
|
|
|
36
|
-
|
|
37
|
-
INIT=$(pi-gsd-tools init phase-op "${after_phase}")
|
|
38
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
39
|
-
```
|
|
97
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
40
98
|
|
|
41
99
|
Check `roadmap_exists` from init JSON. If false:
|
|
42
100
|
```
|
|
@@ -1,3 +1,53 @@
|
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings><keep-extra-args /></settings>
|
|
5
|
+
</gsd-arguments>
|
|
6
|
+
|
|
7
|
+
<gsd-execute>
|
|
8
|
+
<shell command="pi-gsd-tools">
|
|
9
|
+
<args>
|
|
10
|
+
<arg string="pi-gsd-tools" />
|
|
11
|
+
<arg string="init" />
|
|
12
|
+
<arg string="list-workspaces" />
|
|
13
|
+
</args>
|
|
14
|
+
<outs>
|
|
15
|
+
<out type="string" name="workspaces-data" />
|
|
16
|
+
</outs>
|
|
17
|
+
</shell>
|
|
18
|
+
<if>
|
|
19
|
+
<condition>
|
|
20
|
+
<starts-with>
|
|
21
|
+
<left name="workspaces-data" />
|
|
22
|
+
<right type="string" value="@file:" />
|
|
23
|
+
</starts-with>
|
|
24
|
+
</condition>
|
|
25
|
+
<then>
|
|
26
|
+
<string-op op="split">
|
|
27
|
+
<args>
|
|
28
|
+
<arg name="workspaces-data" />
|
|
29
|
+
<arg type="string" value="@file:" />
|
|
30
|
+
</args>
|
|
31
|
+
<outs>
|
|
32
|
+
<out type="string" name="workspaces-data-file" />
|
|
33
|
+
</outs>
|
|
34
|
+
</string-op>
|
|
35
|
+
<shell command="cat">
|
|
36
|
+
<args>
|
|
37
|
+
<arg name="workspaces-data-file" wrap='"' />
|
|
38
|
+
</args>
|
|
39
|
+
<outs>
|
|
40
|
+
<out type="string" name="workspaces-data" />
|
|
41
|
+
</outs>
|
|
42
|
+
</shell>
|
|
43
|
+
</then>
|
|
44
|
+
</if>
|
|
45
|
+
</gsd-execute>
|
|
46
|
+
|
|
47
|
+
## Workspaces (pre-injected)
|
|
48
|
+
|
|
49
|
+
<gsd-paste name="workspaces-data" />
|
|
50
|
+
|
|
1
51
|
<purpose>
|
|
2
52
|
List all GSD workspaces found in ~/gsd-workspaces/ with their status.
|
|
3
53
|
</purpose>
|
|
@@ -10,10 +60,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
10
60
|
|
|
11
61
|
## 1. Setup
|
|
12
62
|
|
|
13
|
-
|
|
14
|
-
INIT=$(pi-gsd-tools init list-workspaces)
|
|
15
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
16
|
-
```
|
|
63
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
17
64
|
|
|
18
65
|
Parse JSON for: `workspace_base`, `workspaces`, `workspace_count`.
|
|
19
66
|
|
|
@@ -1,3 +1,82 @@
|
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings><keep-extra-args /></settings>
|
|
5
|
+
</gsd-arguments>
|
|
6
|
+
|
|
7
|
+
<gsd-execute>
|
|
8
|
+
<shell command="pi-gsd-tools">
|
|
9
|
+
<args>
|
|
10
|
+
<arg string="pi-gsd-tools" />
|
|
11
|
+
<arg string="state" />
|
|
12
|
+
<arg string="json" />
|
|
13
|
+
<arg string="--raw" />
|
|
14
|
+
</args>
|
|
15
|
+
<outs>
|
|
16
|
+
<out type="string" name="state" />
|
|
17
|
+
</outs>
|
|
18
|
+
</shell>
|
|
19
|
+
<shell command="pi-gsd-tools">
|
|
20
|
+
<args>
|
|
21
|
+
<arg string="pi-gsd-tools" />
|
|
22
|
+
<arg string="roadmap" />
|
|
23
|
+
<arg string="analyze" />
|
|
24
|
+
<arg string="--raw" />
|
|
25
|
+
</args>
|
|
26
|
+
<outs>
|
|
27
|
+
<out type="string" name="roadmap" />
|
|
28
|
+
</outs>
|
|
29
|
+
</shell>
|
|
30
|
+
<shell command="pi-gsd-tools">
|
|
31
|
+
<args>
|
|
32
|
+
<arg string="pi-gsd-tools" />
|
|
33
|
+
<arg string="init" />
|
|
34
|
+
<arg string="manager" />
|
|
35
|
+
</args>
|
|
36
|
+
<outs>
|
|
37
|
+
<out type="string" name="manager-data" />
|
|
38
|
+
</outs>
|
|
39
|
+
</shell>
|
|
40
|
+
<if>
|
|
41
|
+
<condition>
|
|
42
|
+
<starts-with>
|
|
43
|
+
<left name="manager-data" />
|
|
44
|
+
<right type="string" value="@file:" />
|
|
45
|
+
</starts-with>
|
|
46
|
+
</condition>
|
|
47
|
+
<then>
|
|
48
|
+
<string-op op="split">
|
|
49
|
+
<args>
|
|
50
|
+
<arg name="manager-data" />
|
|
51
|
+
<arg type="string" value="@file:" />
|
|
52
|
+
</args>
|
|
53
|
+
<outs>
|
|
54
|
+
<out type="string" name="manager-data-file" />
|
|
55
|
+
</outs>
|
|
56
|
+
</string-op>
|
|
57
|
+
<shell command="cat">
|
|
58
|
+
<args>
|
|
59
|
+
<arg name="manager-data-file" wrap='"' />
|
|
60
|
+
</args>
|
|
61
|
+
<outs>
|
|
62
|
+
<out type="string" name="manager-data" />
|
|
63
|
+
</outs>
|
|
64
|
+
</shell>
|
|
65
|
+
</then>
|
|
66
|
+
</if>
|
|
67
|
+
</gsd-execute>
|
|
68
|
+
|
|
69
|
+
## Manager Context (pre-injected)
|
|
70
|
+
|
|
71
|
+
**State:**
|
|
72
|
+
<gsd-paste name="state" />
|
|
73
|
+
|
|
74
|
+
**Roadmap:**
|
|
75
|
+
<gsd-paste name="roadmap" />
|
|
76
|
+
|
|
77
|
+
**Manager Data:**
|
|
78
|
+
<gsd-paste name="manager-data" />
|
|
79
|
+
|
|
1
80
|
<purpose>
|
|
2
81
|
|
|
3
82
|
Interactive command center for managing a milestone from a single terminal. Shows a dashboard of all phases with visual status, dispatches discuss inline and plan/execute as background agents, and loops back to the dashboard after each action. Enables parallel phase work from one terminal.
|
|
@@ -18,10 +97,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
18
97
|
|
|
19
98
|
Bootstrap via manager init:
|
|
20
99
|
|
|
21
|
-
|
|
22
|
-
INIT=$(pi-gsd-tools init manager)
|
|
23
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
24
|
-
```
|
|
100
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
25
101
|
|
|
26
102
|
Parse JSON for: `milestone_version`, `milestone_name`, `phase_count`, `completed_count`, `in_progress_count`, `phases`, `recommended_actions`, `all_complete`, `waiting_signal`.
|
|
27
103
|
|
|
@@ -52,10 +128,7 @@ Proceed to dashboard step.
|
|
|
52
128
|
|
|
53
129
|
**Every time this step is reached**, re-read state from disk to pick up changes from background agents:
|
|
54
130
|
|
|
55
|
-
|
|
56
|
-
INIT=$(pi-gsd-tools init manager)
|
|
57
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
58
|
-
```
|
|
131
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
59
132
|
|
|
60
133
|
Parse the full JSON. Build the dashboard display.
|
|
61
134
|
|
|
@@ -1,3 +1,42 @@
|
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings><keep-extra-args /></settings>
|
|
5
|
+
</gsd-arguments>
|
|
6
|
+
|
|
7
|
+
<gsd-execute>
|
|
8
|
+
<shell command="pi-gsd-tools">
|
|
9
|
+
<args>
|
|
10
|
+
<arg string="pi-gsd-tools" />
|
|
11
|
+
<arg string="state" />
|
|
12
|
+
<arg string="json" />
|
|
13
|
+
<arg string="--raw" />
|
|
14
|
+
</args>
|
|
15
|
+
<outs>
|
|
16
|
+
<out type="string" name="state" />
|
|
17
|
+
</outs>
|
|
18
|
+
</shell>
|
|
19
|
+
<shell command="pi-gsd-tools">
|
|
20
|
+
<args>
|
|
21
|
+
<arg string="pi-gsd-tools" />
|
|
22
|
+
<arg string="agent-skills" />
|
|
23
|
+
<arg string="gsd-codebase-mapper" />
|
|
24
|
+
</args>
|
|
25
|
+
<outs>
|
|
26
|
+
<suppress-errors />
|
|
27
|
+
<out type="string" name="agent-skills-mapper" />
|
|
28
|
+
</outs>
|
|
29
|
+
</shell>
|
|
30
|
+
</gsd-execute>
|
|
31
|
+
|
|
32
|
+
## Context (pre-injected)
|
|
33
|
+
|
|
34
|
+
**State:**
|
|
35
|
+
<gsd-paste name="state" />
|
|
36
|
+
|
|
37
|
+
**Mapper Skills:**
|
|
38
|
+
<gsd-paste name="agent-skills-mapper" />
|
|
39
|
+
|
|
1
40
|
<purpose>
|
|
2
41
|
Orchestrate parallel codebase mapper agents to analyze codebase and produce structured documents in .planning/codebase/
|
|
3
42
|
|
|
@@ -30,11 +69,7 @@ Documents are reference material for the agent when planning/executing. Always i
|
|
|
30
69
|
<step name="init_context" priority="first">
|
|
31
70
|
Load codebase mapping context:
|
|
32
71
|
|
|
33
|
-
|
|
34
|
-
INIT=$(pi-gsd-tools init map-codebase)
|
|
35
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
36
|
-
AGENT_SKILLS_MAPPER=$(pi-gsd-tools agent-skills gsd-codebase-mapper 2>/dev/null)
|
|
37
|
-
```
|
|
72
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
38
73
|
|
|
39
74
|
Extract from init JSON: `mapper_model`, `commit_docs`, `codebase_dir`, `existing_maps`, `has_maps`, `codebase_dir_exists`.
|
|
40
75
|
</step>
|
|
@@ -1,3 +1,68 @@
|
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings><keep-extra-args /></settings>
|
|
5
|
+
</gsd-arguments>
|
|
6
|
+
|
|
7
|
+
<gsd-execute>
|
|
8
|
+
<shell command="pi-gsd-tools">
|
|
9
|
+
<args>
|
|
10
|
+
<arg string="pi-gsd-tools" />
|
|
11
|
+
<arg string="init" />
|
|
12
|
+
<arg string="progress" />
|
|
13
|
+
</args>
|
|
14
|
+
<outs>
|
|
15
|
+
<out type="string" name="progress-data" />
|
|
16
|
+
</outs>
|
|
17
|
+
</shell>
|
|
18
|
+
<if>
|
|
19
|
+
<condition>
|
|
20
|
+
<starts-with>
|
|
21
|
+
<left name="progress-data" />
|
|
22
|
+
<right type="string" value="@file:" />
|
|
23
|
+
</starts-with>
|
|
24
|
+
</condition>
|
|
25
|
+
<then>
|
|
26
|
+
<string-op op="split">
|
|
27
|
+
<args>
|
|
28
|
+
<arg name="progress-data" />
|
|
29
|
+
<arg type="string" value="@file:" />
|
|
30
|
+
</args>
|
|
31
|
+
<outs>
|
|
32
|
+
<out type="string" name="progress-data-file" />
|
|
33
|
+
</outs>
|
|
34
|
+
</string-op>
|
|
35
|
+
<shell command="cat">
|
|
36
|
+
<args>
|
|
37
|
+
<arg name="progress-data-file" wrap='"' />
|
|
38
|
+
</args>
|
|
39
|
+
<outs>
|
|
40
|
+
<out type="string" name="progress-data" />
|
|
41
|
+
</outs>
|
|
42
|
+
</shell>
|
|
43
|
+
</then>
|
|
44
|
+
</if>
|
|
45
|
+
<shell command="pi-gsd-tools">
|
|
46
|
+
<args>
|
|
47
|
+
<arg string="pi-gsd-tools" />
|
|
48
|
+
<arg string="state" />
|
|
49
|
+
<arg string="json" />
|
|
50
|
+
<arg string="--raw" />
|
|
51
|
+
</args>
|
|
52
|
+
<outs>
|
|
53
|
+
<out type="string" name="state" />
|
|
54
|
+
</outs>
|
|
55
|
+
</shell>
|
|
56
|
+
</gsd-execute>
|
|
57
|
+
|
|
58
|
+
## Context (pre-injected)
|
|
59
|
+
|
|
60
|
+
**Progress:**
|
|
61
|
+
<gsd-paste name="progress-data" />
|
|
62
|
+
|
|
63
|
+
**State:**
|
|
64
|
+
<gsd-paste name="state" />
|
|
65
|
+
|
|
1
66
|
# Milestone Summary Workflow
|
|
2
67
|
|
|
3
68
|
Generate a comprehensive, human-friendly project summary from completed milestone artifacts.
|
|
@@ -7,54 +72,7 @@ Designed for team onboarding - a new contributor can read the output and underst
|
|
|
7
72
|
|
|
8
73
|
## Step 1: Resolve Version
|
|
9
74
|
|
|
10
|
-
|
|
11
|
-
VERSION="$ARGUMENTS"
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
If `$ARGUMENTS` is empty:
|
|
15
|
-
1. Check `.planning/STATE.md` for current milestone version
|
|
16
|
-
2. Check `.planning/milestones/` for the latest archived version
|
|
17
|
-
3. If neither found, check if `.planning/ROADMAP.md` exists (project may be mid-milestone)
|
|
18
|
-
4. If nothing found: error "No milestone found. Run /gsd-new-project or /gsd-new-milestone first."
|
|
19
|
-
|
|
20
|
-
Set `VERSION` to the resolved version (e.g., "1.0").
|
|
21
|
-
|
|
22
|
-
## Step 2: Locate Artifacts
|
|
23
|
-
|
|
24
|
-
Determine whether the milestone is **archived** or **current**:
|
|
25
|
-
|
|
26
|
-
**Archived milestone** (`.planning/milestones/v{VERSION}-ROADMAP.md` exists):
|
|
27
|
-
```
|
|
28
|
-
ROADMAP_PATH=".planning/milestones/v${VERSION}-ROADMAP.md"
|
|
29
|
-
REQUIREMENTS_PATH=".planning/milestones/v${VERSION}-REQUIREMENTS.md"
|
|
30
|
-
AUDIT_PATH=".planning/milestones/v${VERSION}-MILESTONE-AUDIT.md"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
**Current/in-progress milestone** (no archive yet):
|
|
34
|
-
```
|
|
35
|
-
ROADMAP_PATH=".planning/ROADMAP.md"
|
|
36
|
-
REQUIREMENTS_PATH=".planning/REQUIREMENTS.md"
|
|
37
|
-
AUDIT_PATH=".planning/v${VERSION}-MILESTONE-AUDIT.md"
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Note: The audit file moves to `.planning/milestones/` on archive (per `complete-milestone` workflow). Check both locations as a fallback.
|
|
41
|
-
|
|
42
|
-
**Always available:**
|
|
43
|
-
```
|
|
44
|
-
PROJECT_PATH=".planning/PROJECT.md"
|
|
45
|
-
RETRO_PATH=".planning/RETROSPECTIVE.md"
|
|
46
|
-
STATE_PATH=".planning/STATE.md"
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Read all files that exist. Missing files are fine - the summary adapts to what's available.
|
|
50
|
-
|
|
51
|
-
## Step 3: Discover Phase Artifacts
|
|
52
|
-
|
|
53
|
-
Find all phase directories:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
pi-gsd-tools init progress
|
|
57
|
-
```
|
|
75
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
58
76
|
|
|
59
77
|
This returns phase metadata. For each phase in the milestone scope:
|
|
60
78
|
|
|
@@ -1,3 +1,43 @@
|
|
|
1
|
+
<gsd-version v="1.12.4" />
|
|
2
|
+
|
|
3
|
+
<gsd-arguments>
|
|
4
|
+
<settings>
|
|
5
|
+
<keep-extra-args />
|
|
6
|
+
</settings>
|
|
7
|
+
<arg name="auto" type="flag" flag="--auto" optional />
|
|
8
|
+
<arg name="skip-research" type="flag" flag="--skip-research" optional />
|
|
9
|
+
</gsd-arguments>
|
|
10
|
+
|
|
11
|
+
<gsd-execute>
|
|
12
|
+
<shell command="pi-gsd-tools">
|
|
13
|
+
<args>
|
|
14
|
+
<arg string="state" />
|
|
15
|
+
<arg string="json" />
|
|
16
|
+
<arg string="--raw" />
|
|
17
|
+
</args>
|
|
18
|
+
<outs>
|
|
19
|
+
<out type="string" name="state" />
|
|
20
|
+
</outs>
|
|
21
|
+
</shell>
|
|
22
|
+
<shell command="pi-gsd-tools">
|
|
23
|
+
<args>
|
|
24
|
+
<arg string="roadmap" />
|
|
25
|
+
<arg string="analyze" />
|
|
26
|
+
<arg string="--raw" />
|
|
27
|
+
</args>
|
|
28
|
+
<outs>
|
|
29
|
+
<out type="string" name="roadmap" />
|
|
30
|
+
</outs>
|
|
31
|
+
</shell>
|
|
32
|
+
</gsd-execute>
|
|
33
|
+
## Initialization Context (pre-injected by WXP)
|
|
34
|
+
|
|
35
|
+
**Project State:**
|
|
36
|
+
<gsd-paste name="state" />
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
1
41
|
<purpose>
|
|
2
42
|
|
|
3
43
|
Start a new milestone cycle for an existing project. Loads project context, gathers milestone goals (from MILESTONE-CONTEXT.md or conversation), updates PROJECT.md and STATE.md, optionally runs parallel research, defines scoped requirements with REQ-IDs, spawns the roadmapper to create phased execution plan, and commits all artifacts. Brownfield equivalent of new-project.
|
|
@@ -137,19 +177,7 @@ Keep Accumulated Context section from previous milestone.
|
|
|
137
177
|
|
|
138
178
|
Delete MILESTONE-CONTEXT.md if exists (consumed).
|
|
139
179
|
|
|
140
|
-
|
|
141
|
-
pi-gsd-tools commit "docs: start milestone v[X.Y] [Name]" --files .planning/PROJECT.md .planning/STATE.md
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
## 7. Load Context and Resolve Models
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
INIT=$(pi-gsd-tools init new-milestone)
|
|
148
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
149
|
-
AGENT_SKILLS_RESEARCHER=$(pi-gsd-tools agent-skills gsd-project-researcher 2>/dev/null)
|
|
150
|
-
AGENT_SKILLS_SYNTHESIZER=$(pi-gsd-tools agent-skills gsd-synthesizer 2>/dev/null)
|
|
151
|
-
AGENT_SKILLS_ROADMAPPER=$(pi-gsd-tools agent-skills gsd-roadmapper 2>/dev/null)
|
|
152
|
-
```
|
|
180
|
+
<!-- Context pre-injected above via WXP — variables available via <gsd-paste name="..."> -->
|
|
153
181
|
|
|
154
182
|
Extract from init JSON: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `commit_docs`, `research_enabled`, `current_milestone`, `project_exists`, `roadmap_exists`, `latest_completed_milestone`, `phase_dir_count`, `phase_archive_path`.
|
|
155
183
|
|