pi-gsd 1.4.0 → 1.4.1
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/gsd-hooks.ts +0 -66
- package/README.md +2 -3
- package/package.json +1 -1
|
@@ -503,7 +503,6 @@ export default function (pi: ExtensionAPI) {
|
|
|
503
503
|
" /gsd-progress Progress + next steps",
|
|
504
504
|
" /gsd-stats Full statistics",
|
|
505
505
|
" /gsd-health [--repair] .planning/ integrity",
|
|
506
|
-
" /gsd-milestone Milestone status dashboard",
|
|
507
506
|
" /gsd-help This list",
|
|
508
507
|
"",
|
|
509
508
|
"Management:",
|
|
@@ -518,71 +517,6 @@ export default function (pi: ExtensionAPI) {
|
|
|
518
517
|
},
|
|
519
518
|
});
|
|
520
519
|
|
|
521
|
-
pi.registerCommand("gsd-milestone", {
|
|
522
|
-
description:
|
|
523
|
-
"Milestone status dashboard — plan vs execute routing (instant)",
|
|
524
|
-
handler: async (_args, ctx) => {
|
|
525
|
-
const progress = runJson<GsdProgress>("progress json", ctx.cwd);
|
|
526
|
-
if (!progress) {
|
|
527
|
-
ctx.ui.notify(
|
|
528
|
-
"❌ No GSD project found. Run /gsd-new-project to initialise.",
|
|
529
|
-
"error",
|
|
530
|
-
);
|
|
531
|
-
ctx.ui.setEditorText("/gsd-new-project");
|
|
532
|
-
return;
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
const phases = progress.phases;
|
|
536
|
-
const total = phases.length;
|
|
537
|
-
const done = phases.filter((p) => p.status === "Complete").length;
|
|
538
|
-
const unplanned = phases.filter(
|
|
539
|
-
(p) => p.status !== "Complete" && p.plans === 0,
|
|
540
|
-
).length;
|
|
541
|
-
const planned = phases.filter(
|
|
542
|
-
(p) => p.status !== "Complete" && p.plans > 0,
|
|
543
|
-
).length;
|
|
544
|
-
const phasePct = total > 0 ? Math.round((done / total) * 100) : 0;
|
|
545
|
-
|
|
546
|
-
// Determine recommended next milestone-level action
|
|
547
|
-
let recommendation: string;
|
|
548
|
-
let action: string;
|
|
549
|
-
if (total === 0) {
|
|
550
|
-
recommendation = "No phases defined yet";
|
|
551
|
-
action = "/gsd-new-project";
|
|
552
|
-
} else if (done === total) {
|
|
553
|
-
recommendation = "All phases complete — ready to audit";
|
|
554
|
-
action = "/gsd-audit-milestone";
|
|
555
|
-
} else if (unplanned > 0 && planned === 0) {
|
|
556
|
-
recommendation = `${unplanned} unplanned phase${unplanned > 1 ? "s" : ""} — plan the milestone first`;
|
|
557
|
-
action = "/gsd-plan-milestone";
|
|
558
|
-
} else if (unplanned > 0) {
|
|
559
|
-
recommendation = `${planned} planned, ${unplanned} still unplanned — finish planning first`;
|
|
560
|
-
action = "/gsd-plan-milestone";
|
|
561
|
-
} else {
|
|
562
|
-
recommendation = `${planned} phase${planned > 1 ? "s" : ""} ready to execute`;
|
|
563
|
-
action = "/gsd-execute-milestone";
|
|
564
|
-
}
|
|
565
|
-
|
|
566
|
-
const lines = [
|
|
567
|
-
`━━ GSD Milestone ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`,
|
|
568
|
-
`🎯 ${progress.milestone_name} (${progress.milestone_version})`,
|
|
569
|
-
``,
|
|
570
|
-
`Phases ${bar(phasePct)} ${done}/${total} (${phasePct}%)`,
|
|
571
|
-
``,
|
|
572
|
-
`🟢 Complete: ${done}`,
|
|
573
|
-
`🟡 Planned: ${planned}`,
|
|
574
|
-
`🔴 Unplanned: ${unplanned}`,
|
|
575
|
-
``,
|
|
576
|
-
`⚡ ${recommendation}`,
|
|
577
|
-
`→ ${action}`,
|
|
578
|
-
``,
|
|
579
|
-
`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`,
|
|
580
|
-
];
|
|
581
|
-
|
|
582
|
-
ctx.ui.notify(lines.join("\n"), "info");
|
|
583
|
-
ctx.ui.setEditorText(action);
|
|
584
|
-
},
|
|
585
|
-
});
|
|
586
520
|
|
|
587
521
|
// ── tool_result: context usage monitor ───────────────────────────────────
|
|
588
522
|
const WARNING_THRESHOLD = 35; // warn when remaining % ≤ 35
|
package/README.md
CHANGED
|
@@ -139,9 +139,8 @@ Switch profile: `/gsd-set-profile <profile>`
|
|
|
139
139
|
| Instant commands (no LLM cost) | ❌ | ✔️ | `/gsd-progress`, `/gsd-stats`, `/gsd-health`, `/gsd-help`, `/gsd-next` — zero LLM, editor pivot |
|
|
140
140
|
| `/gsd-next` auto-advance | ❌ | ✔️ | Deterministic phase routing, pre-fills editor with the correct next command |
|
|
141
141
|
| Prompt-dispatch for all skills | ❌ | ✔️ | 54 pi prompt templates — clean autocomplete, arg hints, direct workflow dispatch |
|
|
142
|
-
| `/gsd-plan-milestone` command | ❌ | ✔️ | Plan all phases
|
|
143
|
-
| `/gsd-execute-milestone` command | ❌ | ✔️ | Execute all phases
|
|
144
|
-
| `/gsd-milestone` instant command | ❌ | ✔️ | Milestone dashboard — plan vs execute routing, pre-fills editor with correct next command |
|
|
142
|
+
| `/gsd-plan-milestone` command | ❌ | ✔️ | Plan all unplanned phases — one mode question, scope pre-check per phase, context-safe checkpoint |
|
|
143
|
+
| `/gsd-execute-milestone` command | ❌ | ✔️ | Execute all phases — scope guardian (pre+post), UAT gates, recovery loop, worktree isolation + merge |
|
|
145
144
|
|
|
146
145
|
Legend: ✔️ done · ⚡ enhanced · ⚠️ in progress · 📃 planned · ❌ not available
|
|
147
146
|
|