pi-gsd 1.6.6 → 1.8.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 +46 -1
- package/README.md +27 -25
- package/package.json +1 -5
- package/prompts/gsd-add-backlog.md +1 -1
- package/prompts/gsd-autonomous.md +1 -0
- package/prompts/gsd-complete-milestone.md +1 -1
- package/prompts/gsd-debug.md +1 -1
- package/prompts/gsd-discuss-phase.md +2 -0
- package/prompts/gsd-do.md +1 -0
- package/prompts/gsd-execute-phase.md +1 -0
- package/prompts/gsd-join-discord.md +1 -1
- package/prompts/gsd-new-milestone.md +4 -0
- package/prompts/gsd-new-project.md +4 -0
- package/prompts/gsd-plan-phase.md +1 -0
- package/prompts/gsd-reapply-patches.md +1 -1
- package/prompts/gsd-research-phase.md +1 -1
- package/prompts/gsd-review-backlog.md +1 -1
- package/prompts/gsd-set-profile.md +1 -1
- package/prompts/gsd-setup-pi.md +1 -1
- package/prompts/gsd-thread.md +1 -1
- package/prompts/gsd-ui-phase.md +1 -0
- package/prompts/gsd-ui-review.md +1 -0
- package/prompts/gsd-verify-work.md +1 -0
- package/prompts/gsd-workstreams.md +1 -1
- package/skills/gsd-add-backlog/SKILL.md +0 -78
- package/skills/gsd-add-phase/SKILL.md +0 -39
- package/skills/gsd-add-tests/SKILL.md +0 -28
- package/skills/gsd-add-todo/SKILL.md +0 -42
- package/skills/gsd-audit-milestone/SKILL.md +0 -29
- package/skills/gsd-audit-uat/SKILL.md +0 -20
- package/skills/gsd-autonomous/SKILL.md +0 -34
- package/skills/gsd-check-todos/SKILL.md +0 -40
- package/skills/gsd-cleanup/SKILL.md +0 -19
- package/skills/gsd-complete-milestone/SKILL.md +0 -122
- package/skills/gsd-debug/SKILL.md +0 -178
- package/skills/gsd-discuss-phase/SKILL.md +0 -55
- package/skills/gsd-do/SKILL.md +0 -26
- package/skills/gsd-execute-milestone/SKILL.md +0 -53
- package/skills/gsd-execute-phase/SKILL.md +0 -53
- package/skills/gsd-fast/SKILL.md +0 -22
- package/skills/gsd-forensics/SKILL.md +0 -51
- package/skills/gsd-insert-phase/SKILL.md +0 -28
- package/skills/gsd-join-discord/SKILL.md +0 -19
- package/skills/gsd-list-phase-assumptions/SKILL.md +0 -41
- package/skills/gsd-list-workspaces/SKILL.md +0 -17
- package/skills/gsd-manager/SKILL.md +0 -33
- package/skills/gsd-map-codebase/SKILL.md +0 -64
- package/skills/gsd-milestone-summary/SKILL.md +0 -45
- package/skills/gsd-new-milestone/SKILL.md +0 -39
- package/skills/gsd-new-project/SKILL.md +0 -37
- package/skills/gsd-new-workspace/SKILL.md +0 -41
- package/skills/gsd-note/SKILL.md +0 -30
- package/skills/gsd-pause-work/SKILL.md +0 -35
- package/skills/gsd-plan-milestone/SKILL.md +0 -38
- package/skills/gsd-plan-milestone-gaps/SKILL.md +0 -28
- package/skills/gsd-plan-phase/SKILL.md +0 -38
- package/skills/gsd-plant-seed/SKILL.md +0 -21
- package/skills/gsd-pr-branch/SKILL.md +0 -20
- package/skills/gsd-profile-user/SKILL.md +0 -38
- package/skills/gsd-quick/SKILL.md +0 -38
- package/skills/gsd-reapply-patches/SKILL.md +0 -126
- package/skills/gsd-remove-phase/SKILL.md +0 -26
- package/skills/gsd-remove-workspace/SKILL.md +0 -22
- package/skills/gsd-research-phase/SKILL.md +0 -200
- package/skills/gsd-resume-work/SKILL.md +0 -35
- package/skills/gsd-review/SKILL.md +0 -31
- package/skills/gsd-review-backlog/SKILL.md +0 -62
- package/skills/gsd-session-report/SKILL.md +0 -16
- package/skills/gsd-set-profile/SKILL.md +0 -9
- package/skills/gsd-settings/SKILL.md +0 -32
- package/skills/gsd-setup-pi/SKILL.md +0 -105
- package/skills/gsd-ship/SKILL.md +0 -16
- package/skills/gsd-thread/SKILL.md +0 -133
- package/skills/gsd-ui-phase/SKILL.md +0 -24
- package/skills/gsd-ui-review/SKILL.md +0 -24
- package/skills/gsd-update/SKILL.md +0 -35
- package/skills/gsd-validate-phase/SKILL.md +0 -26
- package/skills/gsd-verify-work/SKILL.md +0 -30
- package/skills/gsd-workstreams/SKILL.md +0 -72
|
@@ -17,14 +17,55 @@
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import { execSync } from "node:child_process";
|
|
20
|
-
import {
|
|
20
|
+
import {
|
|
21
|
+
existsSync,
|
|
22
|
+
mkdirSync,
|
|
23
|
+
readFileSync,
|
|
24
|
+
statSync,
|
|
25
|
+
writeFileSync,
|
|
26
|
+
} from "node:fs";
|
|
21
27
|
import { homedir } from "node:os";
|
|
22
28
|
import { join } from "node:path";
|
|
23
29
|
import type { ContextUsage, ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
24
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Extracts the <core> section from a reference file and writes a derived
|
|
33
|
+
* `-core.md` sibling. Runs on session_start and tool_result so the core
|
|
34
|
+
* file is always fresh — including immediately after the LLM creates the
|
|
35
|
+
* source file mid-session.
|
|
36
|
+
*
|
|
37
|
+
* @param cwd - project root
|
|
38
|
+
* @param ref - name segments, e.g. ['ui', 'brand'] → reads ui-brand.md,
|
|
39
|
+
* writes ui-brand-core.md
|
|
40
|
+
*
|
|
41
|
+
* Fallback: if the source has no <core> tag, copies the full file so
|
|
42
|
+
* prompts that reference the core variant never 404.
|
|
43
|
+
*/
|
|
44
|
+
const syncReferenceToCore = (cwd: string, ref: string[]): void => {
|
|
45
|
+
try {
|
|
46
|
+
const refsDir = join(cwd, ".pi", "gsd", "references");
|
|
47
|
+
const refName = ref.join("-") + ".md";
|
|
48
|
+
const coreName = [...ref, "core"].join("-") + ".md";
|
|
49
|
+
const src = join(refsDir, refName);
|
|
50
|
+
const dst = join(refsDir, coreName);
|
|
51
|
+
if (!existsSync(src)) return;
|
|
52
|
+
const srcMtime = statSync(src).mtimeMs;
|
|
53
|
+
const dstMtime = existsSync(dst) ? statSync(dst).mtimeMs : 0;
|
|
54
|
+
if (srcMtime <= dstMtime) return; // already in sync
|
|
55
|
+
const content = readFileSync(src, "utf8");
|
|
56
|
+
const match = content.match(/<core>([\s\S]*?)<\/core>/i);
|
|
57
|
+
writeFileSync(dst, match ? match[1].trim() : content, "utf8");
|
|
58
|
+
} catch {
|
|
59
|
+
/* silent — never block session startup or tool execution */
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
25
63
|
export default function (pi: ExtensionAPI) {
|
|
26
64
|
// ── session_start: GSD update check ──────────────────────────────────────
|
|
27
65
|
pi.on("session_start", async (_event, ctx) => {
|
|
66
|
+
// Sync derived core files from tagged reference sources
|
|
67
|
+
syncReferenceToCore(ctx.cwd, ["ui", "brand"]);
|
|
68
|
+
|
|
28
69
|
try {
|
|
29
70
|
const cacheDir = join(homedir(), ".pi", "cache");
|
|
30
71
|
const cacheFile = join(cacheDir, "gsd-update-check.json");
|
|
@@ -529,6 +570,10 @@ export default function (pi: ExtensionAPI) {
|
|
|
529
570
|
let lastLevel: "warning" | "critical" | null = null;
|
|
530
571
|
|
|
531
572
|
pi.on("tool_result", async (_event, ctx) => {
|
|
573
|
+
// Keep derived core files in sync after any tool write (e.g. gsd-new-project
|
|
574
|
+
// creating ui-brand.md mid-session — no reboot needed)
|
|
575
|
+
syncReferenceToCore(ctx.cwd, ["ui", "brand"]);
|
|
576
|
+
|
|
532
577
|
try {
|
|
533
578
|
const usage: ContextUsage | undefined = ctx.getContextUsage();
|
|
534
579
|
if (!usage || usage.percent === null) return undefined;
|
package/README.md
CHANGED
|
@@ -117,30 +117,32 @@ Switch profile: `/gsd-set-profile <profile>`
|
|
|
117
117
|
|
|
118
118
|
## Comparison with GSD v1.30.0
|
|
119
119
|
|
|
120
|
-
| Feature | gsd v1.30 | pi-gsd | Details
|
|
121
|
-
| -----------------------------------: | :-------: | :----: |
|
|
122
|
-
| `.planning/` data format | ✔️ | ✔️ | 100% compatible - projects are portable across tools
|
|
123
|
-
| Workstreams | ✔️ | ✔️ | Full workstream isolation
|
|
124
|
-
| 4 model profiles | ✔️ | ✔️ | quality / balanced / budget / inherit
|
|
125
|
-
| 18 subagents | ✔️ | ✔️ | Identical agent definitions
|
|
126
|
-
| 55 GSD skills | ✔️ | ✔️ | All commands available via pi prompt dispatcher (replaces skill system)
|
|
127
|
-
| Different skills paths for pi | ✔️ | ⚡ | All 55 skills moved to `.pi/gsd/` to enable advanced pi-gsd-tools integration
|
|
128
|
-
| pi harness (`.pi/`) | ❌ | ✔️ | New - GSD installs into pi's config dir
|
|
129
|
-
| Background hooks (pi) | ❌ | ✔️ | TypeScript extension (`gsd-hooks.ts`) installed via postinstall
|
|
130
|
-
| Pi session history ingestion | ❌ | ✔️ | `/gsd-profile-user` reads pi JSONL sessions from `~/.pi/agent/sessions/`
|
|
131
|
-
| `/gsd-setup-pi` onboarding | ❌ | ✔️ | Setup skill for `bun install` where postinstall is skipped (default untrusted behavior)
|
|
132
|
-
| `gsd-tools` → `pi-gsd-tools` CLI | ✔️ | ⚡ | Same commands basic signatures as original (`gsd-tools`) but enhanced
|
|
133
|
-
| `[-o\|--output] [toon\|json]` output | ❌ | ⚡ | Token-efficient toon renderer output (or json, if LLM absolutely needs it...)
|
|
134
|
-
| `[-p\|--pick] {JSONPath}` extraction | ❌ | ⚡ | Field extraction from CLI output
|
|
135
|
-
| TypeScript source | ❌ | ⚡ | Full TS port of gsd-tools (~9k lines)
|
|
136
|
-
| Compile-time type safety | ❌ |
|
|
137
|
-
| Runtime validation (Zod) | ❌ |
|
|
138
|
-
| Smarter `--repair` | ❌ | ✔️ | Schema defaults fill missing `config.json` fields; W011 STATE.md issues trigger regeneration
|
|
139
|
-
| Instant commands (no LLM cost) | ❌ | ✔️ | `/gsd-progress`, `/gsd-stats`, `/gsd-health`, `/gsd-help`, `/gsd-next`
|
|
140
|
-
| `/gsd-next` auto-advance | ❌ | ✔️ | Deterministic phase routing, pre-fills editor with the correct next command
|
|
141
|
-
| Prompt-dispatch for all skills | ❌ | ✔️ | 54 pi prompt templates
|
|
142
|
-
|
|
|
143
|
-
|
|
|
120
|
+
| Feature | gsd v1.30 | pi-gsd | Details |
|
|
121
|
+
| -----------------------------------: | :-------: | :----: | :-------------------------------------------------------------------------------------------------------- |
|
|
122
|
+
| `.planning/` data format | ✔️ | ✔️ | 100% compatible - projects are portable across tools |
|
|
123
|
+
| Workstreams | ✔️ | ✔️ | Full workstream isolation |
|
|
124
|
+
| 4 model profiles | ✔️ | ✔️ | quality / balanced / budget / inherit |
|
|
125
|
+
| 18 subagents | ✔️ | ✔️ | Identical agent definitions |
|
|
126
|
+
| 55 GSD skills | ✔️ | ✔️ | All commands available via pi prompt dispatcher (replaces skill system) |
|
|
127
|
+
| Different skills paths for pi | ✔️ | ⚡ | All 55 skills moved to `.pi/gsd/` to enable advanced pi-gsd-tools integration |
|
|
128
|
+
| pi harness (`.pi/`) | ❌ | ✔️ | New - GSD installs into pi's config dir |
|
|
129
|
+
| Background hooks (pi) | ❌ | ✔️ | TypeScript extension (`gsd-hooks.ts`) installed via postinstall |
|
|
130
|
+
| Pi session history ingestion | ❌ | ✔️ | `/gsd-profile-user` reads pi JSONL sessions from `~/.pi/agent/sessions/` |
|
|
131
|
+
| `/gsd-setup-pi` onboarding | ❌ | ✔️ | Setup skill for `bun install` where postinstall is skipped (default untrusted behavior) |
|
|
132
|
+
| `gsd-tools` → `pi-gsd-tools` CLI | ✔️ | ⚡ | Same commands basic signatures as original (`gsd-tools`) but enhanced |
|
|
133
|
+
| `[-o\|--output] [toon\|json]` output | ❌ | ⚡ | Token-efficient toon renderer output (or json, if LLM absolutely needs it...) |
|
|
134
|
+
| `[-p\|--pick] {JSONPath}` extraction | ❌ | ⚡ | Field extraction from CLI output |
|
|
135
|
+
| TypeScript source | ❌ | ⚡ | Full TS port of gsd-tools (~9k lines) |
|
|
136
|
+
| Compile-time type safety | ❌ | ⚡ | Full TypeScript - only `FrontmatterObject` root type retains `any` (intentional, documented) |
|
|
137
|
+
| Runtime validation (Zod) | ❌ | ⚡ | Zod schemas for all `.planning/` types; `validate health` checks `config.json` (W005) + `STATE.md` (W011) |
|
|
138
|
+
| Smarter `--repair` | ❌ | ✔️ | Schema defaults fill missing `config.json` fields; W011 STATE.md issues trigger regeneration |
|
|
139
|
+
| Instant commands (no LLM cost) | ❌ | ✔️ | `/gsd-progress`, `/gsd-stats`, `/gsd-health`, `/gsd-help`, `/gsd-next` - zero LLM, editor pivot |
|
|
140
|
+
| `/gsd-next` auto-advance | ❌ | ✔️ | Deterministic phase routing, pre-fills editor with the correct next command |
|
|
141
|
+
| Prompt-dispatch for all skills | ❌ | ✔️ | 54 pi prompt templates - clean autocomplete, arg hints, direct workflow dispatch |
|
|
142
|
+
| `ui-brand` context modularity | ❌ | ✔️ | `<core>` tag splits ui-brand.md — planning gets 103 lines, UI commands get full 166 |
|
|
143
|
+
| `syncReferenceToCore` utility | ❌ | ✔️ | Auto-derives `-core.md` from any `<core>`-tagged reference; syncs on session start + after tool writes |
|
|
144
|
+
| `/gsd-plan-milestone` command | ❌ | ✔️ | Plan all unplanned phases - one mode question, scope pre-check per phase, context-safe checkpoint |
|
|
145
|
+
| `/gsd-execute-milestone` command | ❌ | ✔️ | Execute all phases + scope guardian + auto gap/debt retry loop (insert-phase) + audit→complete→cleanup |
|
|
144
146
|
|
|
145
147
|
Legend: ✔️ done · ⚡ enhanced · ❌ not available
|
|
146
148
|
|
|
@@ -173,7 +175,7 @@ node scripts/validate-model-profiles.cjs
|
|
|
173
175
|
### Pre-commit hook
|
|
174
176
|
|
|
175
177
|
The pre-commit hook runs `ralphi check` (typecheck + build) via [prek](https://github.com/j178/prek).
|
|
176
|
-
prek is a dev-only tool
|
|
178
|
+
prek is a dev-only tool - install it once:
|
|
177
179
|
|
|
178
180
|
```sh
|
|
179
181
|
# macOS / Linux (Homebrew)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-gsd",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Get Shit Done - Unofficial port of the renowned AI-native project-planning spec-driven toolkit",
|
|
5
5
|
"main": "dist/pi-gsd-tools.js",
|
|
6
6
|
"bin": {
|
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
"prepublishOnly": "npm run build"
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
|
-
"skills",
|
|
20
19
|
"dist",
|
|
21
20
|
"scripts/postinstall.js",
|
|
22
21
|
".gsd/extensions",
|
|
@@ -60,9 +59,6 @@
|
|
|
60
59
|
"extensions": [
|
|
61
60
|
"./.gsd/extensions"
|
|
62
61
|
],
|
|
63
|
-
"skills": [
|
|
64
|
-
"./skills"
|
|
65
|
-
],
|
|
66
62
|
"prompts": [
|
|
67
63
|
"./prompts"
|
|
68
64
|
]
|
package/prompts/gsd-debug.md
CHANGED
|
@@ -2,5 +2,7 @@
|
|
|
2
2
|
description: Gather phase context through adaptive questioning before planning. Use --auto to skip interactive questions (the agent picks recommended defaults).
|
|
3
3
|
---
|
|
4
4
|
@.pi/gsd/workflows/discuss-phase.md
|
|
5
|
+
@.pi/gsd/workflows/discuss-phase-assumptions.md
|
|
6
|
+
@.pi/gsd/templates/context.md
|
|
5
7
|
|
|
6
8
|
$ARGUMENTS
|
package/prompts/gsd-do.md
CHANGED
|
@@ -2,5 +2,9 @@
|
|
|
2
2
|
description: Start a new milestone cycle - update PROJECT.md and route to requirements
|
|
3
3
|
---
|
|
4
4
|
@.pi/gsd/workflows/new-milestone.md
|
|
5
|
+
@.pi/gsd/references/questioning.md
|
|
6
|
+
@.pi/gsd/references/ui-brand-core.md
|
|
7
|
+
@.pi/gsd/templates/project.md
|
|
8
|
+
@.pi/gsd/templates/requirements.md
|
|
5
9
|
|
|
6
10
|
$ARGUMENTS
|
|
@@ -2,5 +2,9 @@
|
|
|
2
2
|
description: Initialize a new project with deep context gathering and PROJECT.md
|
|
3
3
|
---
|
|
4
4
|
@.pi/gsd/workflows/new-project.md
|
|
5
|
+
@.pi/gsd/references/questioning.md
|
|
6
|
+
@.pi/gsd/references/ui-brand-core.md
|
|
7
|
+
@.pi/gsd/templates/project.md
|
|
8
|
+
@.pi/gsd/templates/requirements.md
|
|
5
9
|
|
|
6
10
|
$ARGUMENTS
|
package/prompts/gsd-setup-pi.md
CHANGED
package/prompts/gsd-thread.md
CHANGED
package/prompts/gsd-ui-phase.md
CHANGED
package/prompts/gsd-ui-review.md
CHANGED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gsd-add-backlog
|
|
3
|
-
description: Add an idea to the backlog parking lot (999.x numbering)
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<objective>
|
|
7
|
-
Add a backlog item to the roadmap using 999.x numbering. Backlog items are
|
|
8
|
-
unsequenced ideas that aren't ready for active planning - they live outside
|
|
9
|
-
the normal phase sequence and accumulate context over time.
|
|
10
|
-
</objective>
|
|
11
|
-
|
|
12
|
-
<process>
|
|
13
|
-
|
|
14
|
-
1. **Read ROADMAP.md** to find existing backlog entries:
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
cat .planning/ROADMAP.md
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
2. **Find next backlog number:**
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
NEXT=$(node ".pi/gsd/bin/pi-gsd-tools.cjs" phase next-decimal 999 --raw)
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
If no 999.x phases exist, start at 999.1.
|
|
27
|
-
|
|
28
|
-
3. **Create the phase directory:**
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
SLUG=$(node ".pi/gsd/bin/pi-gsd-tools.cjs" generate-slug "$ARGUMENTS")
|
|
32
|
-
mkdir -p ".planning/phases/${NEXT}-${SLUG}"
|
|
33
|
-
touch ".planning/phases/${NEXT}-${SLUG}/.gitkeep"
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
4. **Add to ROADMAP.md** under a `## Backlog` section. If the section doesn't exist, create it at the end:
|
|
37
|
-
|
|
38
|
-
```markdown
|
|
39
|
-
## Backlog
|
|
40
|
-
|
|
41
|
-
### Phase {NEXT}: {description} (BACKLOG)
|
|
42
|
-
|
|
43
|
-
**Goal:** [Captured for future planning]
|
|
44
|
-
**Requirements:** TBD
|
|
45
|
-
**Plans:** 0 plans
|
|
46
|
-
|
|
47
|
-
Plans:
|
|
48
|
-
|
|
49
|
-
- [ ] TBD (promote with /gsd-review-backlog when ready)
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
5. **Commit:**
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
node ".pi/gsd/bin/pi-gsd-tools.cjs" commit "docs: add backlog item ${NEXT} - ${ARGUMENTS}" --files .planning/ROADMAP.md ".planning/phases/${NEXT}-${SLUG}/.gitkeep"
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
6. **Report:**
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
## 📋 Backlog Item Added
|
|
62
|
-
|
|
63
|
-
Phase {NEXT}: {description}
|
|
64
|
-
Directory: .planning/phases/{NEXT}-{slug}/
|
|
65
|
-
|
|
66
|
-
This item lives in the backlog parking lot.
|
|
67
|
-
Use /gsd-discuss-phase {NEXT} to explore it further.
|
|
68
|
-
Use /gsd-review-backlog to promote items to active milestone.
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
</process>
|
|
72
|
-
|
|
73
|
-
<notes>
|
|
74
|
-
- 999.x numbering keeps backlog items out of the active phase sequence
|
|
75
|
-
- Phase directories are created immediately, so /gsd-discuss-phase and /gsd-plan-phase work on them
|
|
76
|
-
- No `Depends on:` field - backlog items are unsequenced by definition
|
|
77
|
-
- Sparse numbering is fine (999.1, 999.3) - always uses next-decimal
|
|
78
|
-
</notes>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gsd-add-phase
|
|
3
|
-
description: Add phase to end of current milestone in roadmap
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
<objective>
|
|
8
|
-
Add a new integer phase to the end of the current milestone in the roadmap.
|
|
9
|
-
|
|
10
|
-
Routes to the add-phase workflow which handles:
|
|
11
|
-
- Phase number calculation (next sequential integer)
|
|
12
|
-
- Directory creation with slug generation
|
|
13
|
-
- Roadmap structure updates
|
|
14
|
-
- STATE.md roadmap evolution tracking
|
|
15
|
-
</objective>
|
|
16
|
-
|
|
17
|
-
<execution_context>
|
|
18
|
-
@.pi/gsd/workflows/add-phase.md
|
|
19
|
-
</execution_context>
|
|
20
|
-
|
|
21
|
-
<context>
|
|
22
|
-
Arguments: $ARGUMENTS (phase description)
|
|
23
|
-
|
|
24
|
-
Roadmap and state are resolved in-workflow via `init phase-op` and targeted tool calls.
|
|
25
|
-
</context>
|
|
26
|
-
|
|
27
|
-
<process>
|
|
28
|
-
**Follow the add-phase workflow** from `@.pi/gsd/workflows/add-phase.md`.
|
|
29
|
-
|
|
30
|
-
The workflow handles all logic including:
|
|
31
|
-
1. Argument parsing and validation
|
|
32
|
-
2. Roadmap existence checking
|
|
33
|
-
3. Current milestone identification
|
|
34
|
-
4. Next phase number calculation (ignoring decimals)
|
|
35
|
-
5. Slug generation from description
|
|
36
|
-
6. Phase directory creation
|
|
37
|
-
7. Roadmap entry insertion
|
|
38
|
-
8. STATE.md updates
|
|
39
|
-
</process>
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gsd-add-tests
|
|
3
|
-
description: Generate tests for a completed phase based on UAT criteria and implementation
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<objective>
|
|
7
|
-
Generate unit and E2E tests for a completed phase, using its SUMMARY.md, CONTEXT.md, and VERIFICATION.md as specifications.
|
|
8
|
-
|
|
9
|
-
Analyzes implementation files, classifies them into TDD (unit), E2E (browser), or Skip categories, presents a test plan for user approval, then generates tests following RED-GREEN conventions.
|
|
10
|
-
|
|
11
|
-
Output: Test files committed with message `test(phase-{N}): add unit and E2E tests from add-tests command`
|
|
12
|
-
</objective>
|
|
13
|
-
|
|
14
|
-
<execution_context>
|
|
15
|
-
@.pi/gsd/workflows/add-tests.md
|
|
16
|
-
</execution_context>
|
|
17
|
-
|
|
18
|
-
<context>
|
|
19
|
-
Phase: $ARGUMENTS
|
|
20
|
-
|
|
21
|
-
@.planning/STATE.md
|
|
22
|
-
@.planning/ROADMAP.md
|
|
23
|
-
</context>
|
|
24
|
-
|
|
25
|
-
<process>
|
|
26
|
-
Execute the add-tests workflow from @.pi/gsd/workflows/add-tests.md end-to-end.
|
|
27
|
-
Preserve all workflow gates (classification approval, test plan approval, RED-GREEN verification, gap reporting).
|
|
28
|
-
</process>
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gsd-add-todo
|
|
3
|
-
description: Capture idea or task as todo from current conversation context
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
<objective>
|
|
8
|
-
Capture an idea, task, or issue that surfaces during a GSD session as a structured todo for later work.
|
|
9
|
-
|
|
10
|
-
Routes to the add-todo workflow which handles:
|
|
11
|
-
- Directory structure creation
|
|
12
|
-
- Content extraction from arguments or conversation
|
|
13
|
-
- Area inference from file paths
|
|
14
|
-
- Duplicate detection and resolution
|
|
15
|
-
- Todo file creation with frontmatter
|
|
16
|
-
- STATE.md updates
|
|
17
|
-
- Git commits
|
|
18
|
-
</objective>
|
|
19
|
-
|
|
20
|
-
<execution_context>
|
|
21
|
-
@.pi/gsd/workflows/add-todo.md
|
|
22
|
-
</execution_context>
|
|
23
|
-
|
|
24
|
-
<context>
|
|
25
|
-
Arguments: $ARGUMENTS (optional todo description)
|
|
26
|
-
|
|
27
|
-
State is resolved in-workflow via `init todos` and targeted reads.
|
|
28
|
-
</context>
|
|
29
|
-
|
|
30
|
-
<process>
|
|
31
|
-
**Follow the add-todo workflow** from `@.pi/gsd/workflows/add-todo.md`.
|
|
32
|
-
|
|
33
|
-
The workflow handles all logic including:
|
|
34
|
-
1. Directory ensuring
|
|
35
|
-
2. Existing area checking
|
|
36
|
-
3. Content extraction (arguments or conversation)
|
|
37
|
-
4. Area inference
|
|
38
|
-
5. Duplicate checking
|
|
39
|
-
6. File creation with slug generation
|
|
40
|
-
7. STATE.md updates
|
|
41
|
-
8. Git commits
|
|
42
|
-
</process>
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gsd-audit-milestone
|
|
3
|
-
description: Audit milestone completion against original intent before archiving
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<objective>
|
|
7
|
-
Verify milestone achieved its definition of done. Check requirements coverage, cross-phase integration, and end-to-end flows.
|
|
8
|
-
|
|
9
|
-
**This command IS the orchestrator.** Reads existing VERIFICATION.md files (phases already verified during execute-phase), aggregates tech debt and deferred gaps, then spawns integration checker for cross-phase wiring.
|
|
10
|
-
</objective>
|
|
11
|
-
|
|
12
|
-
<execution_context>
|
|
13
|
-
@.pi/gsd/workflows/audit-milestone.md
|
|
14
|
-
</execution_context>
|
|
15
|
-
|
|
16
|
-
<context>
|
|
17
|
-
Version: $ARGUMENTS (optional - defaults to current milestone)
|
|
18
|
-
|
|
19
|
-
Core planning files are resolved in-workflow (`init milestone-op`) and loaded only as needed.
|
|
20
|
-
|
|
21
|
-
**Completed Work:**
|
|
22
|
-
Glob: .planning/phases/_/_-SUMMARY.md
|
|
23
|
-
Glob: .planning/phases/_/_-VERIFICATION.md
|
|
24
|
-
</context>
|
|
25
|
-
|
|
26
|
-
<process>
|
|
27
|
-
Execute the audit-milestone workflow from @.pi/gsd/workflows/audit-milestone.md end-to-end.
|
|
28
|
-
Preserve all workflow gates (scope determination, verification reading, integration check, requirements coverage, routing).
|
|
29
|
-
</process>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gsd-audit-uat
|
|
3
|
-
description: Cross-phase audit of all outstanding UAT and verification items
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<objective>
|
|
7
|
-
Scan all phases for pending, skipped, blocked, and human_needed UAT items. Cross-reference against codebase to detect stale documentation. Produce prioritized human test plan.
|
|
8
|
-
</objective>
|
|
9
|
-
|
|
10
|
-
<execution_context>
|
|
11
|
-
@.pi/gsd/workflows/audit-uat.md
|
|
12
|
-
</execution_context>
|
|
13
|
-
|
|
14
|
-
<context>
|
|
15
|
-
Core planning files are loaded in-workflow via CLI.
|
|
16
|
-
|
|
17
|
-
**Scope:**
|
|
18
|
-
Glob: .planning/phases/*/*-UAT.md
|
|
19
|
-
Glob: .planning/phases/*/*-VERIFICATION.md
|
|
20
|
-
</context>
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gsd-autonomous
|
|
3
|
-
description: Run all remaining phases autonomously - discuss→plan→execute per phase
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<objective>
|
|
7
|
-
Execute all remaining milestone phases autonomously. For each phase: discuss → plan → execute. Pauses only for user decisions (grey area acceptance, blockers, validation requests).
|
|
8
|
-
|
|
9
|
-
Uses ROADMAP.md phase discovery and Skill() flat invocations for each phase command. After all phases complete: milestone audit → complete → cleanup.
|
|
10
|
-
|
|
11
|
-
**Creates/Updates:**
|
|
12
|
-
|
|
13
|
-
- `.planning/STATE.md` - updated after each phase
|
|
14
|
-
- `.planning/ROADMAP.md` - progress updated after each phase
|
|
15
|
-
- Phase artifacts - CONTEXT.md, PLANs, SUMMARYs per phase
|
|
16
|
-
|
|
17
|
-
**After:** Milestone is complete and cleaned up.
|
|
18
|
-
</objective>
|
|
19
|
-
|
|
20
|
-
<execution_context>
|
|
21
|
-
@.pi/gsd/workflows/autonomous.md
|
|
22
|
-
@.pi/gsd/references/ui-brand.md
|
|
23
|
-
</execution_context>
|
|
24
|
-
|
|
25
|
-
<context>
|
|
26
|
-
Optional flag: `--from N` - start from phase N instead of the first incomplete phase.
|
|
27
|
-
|
|
28
|
-
Project context, phase list, and state are resolved inside the workflow using init commands (`pi-gsd-tools.cjs init milestone-op`, `pi-gsd-tools.cjs roadmap analyze`). No upfront context loading needed.
|
|
29
|
-
</context>
|
|
30
|
-
|
|
31
|
-
<process>
|
|
32
|
-
Execute the autonomous workflow from @.pi/gsd/workflows/autonomous.md end-to-end.
|
|
33
|
-
Preserve all workflow gates (phase discovery, per-phase execution, blocker handling, progress display).
|
|
34
|
-
</process>
|