@tekyzinc/gsd-t 2.31.13 → 2.31.15

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.
@@ -137,7 +137,7 @@ Use these when user asks for help on a specific command:
137
137
  - **Summary**: Describe what you need in plain language — auto-routes to the right GSD-T command using semantic evaluation
138
138
  - **Auto-invoked**: Yes — via UserPromptSubmit hook when prompt does not start with `/`
139
139
  - **Files**: Reads `CLAUDE.md`, `.gsd-t/progress.md`, command summaries from `gsd-t-help`
140
- - **How it works**: Evaluates your request against every command's purpose and "Use when" criteria. Commands that match get shortlisted, best fit is selected. Shows runner-up when close.
140
+ - **How it works**: First checks if this is a continuation of an ongoing command (mid-task follow-up, status report, or acknowledgment) — if so, outputs `→ /gsd ──▶ continue /user:gsd-t-{last-command}` and resumes. For new requests, evaluates against every command's purpose and "Use when" criteria. Commands that match get shortlisted, best fit is selected. Shows runner-up when close.
141
141
  - **Auto-route**: After `gsd-t install`, any plain text message (no leading `/`) is automatically routed through `/gsd`. Slash commands pass through unchanged. Binary detection — no heuristics.
142
142
  - **Use when**: You don't want to remember which command to use — just describe what you want
143
143
  - **Examples**: `/user:gsd Fix the login bug`, `/user:gsd Add dark mode`, `/user:gsd Scan for tech debt`
@@ -90,13 +90,27 @@ Read the project's `CLAUDE.md` (if it exists) to auto-populate backlog settings:
90
90
 
91
91
  ## Step 5: Initialize Progress File
92
92
 
93
+ ### Version Detection
94
+
95
+ Before creating the progress file, determine the starting version:
96
+
97
+ 1. **Check for an existing version** in the project's manifest file (in this priority order):
98
+ - `package.json` → `version` field
99
+ - `pyproject.toml` → `[project] version` or `[tool.poetry] version`
100
+ - `Cargo.toml` → `[package] version`
101
+ - `setup.py` → `version=` argument
102
+ - `build.gradle` / `build.gradle.kts` → `version = `
103
+ - `.version` file → contents as-is
104
+ 2. **If a version is found**: Use it as the starting GSD-T version (the project already has its own versioning history).
105
+ 3. **If no version is found**: Use `0.1.00` — the standard GSD-T starting point for a brand-new project with no prior releases. The first `gsd-t-complete-milestone` will reset the patch to `0.1.10` (or bump minor/major per milestone scope).
106
+
93
107
  Create `.gsd-t/progress.md`:
94
108
 
95
109
  ```markdown
96
110
  # GSD-T Progress
97
111
 
98
112
  ## Project: {name from CLAUDE.md or $ARGUMENTS}
99
- ## Version: 0.1.0
113
+ ## Version: {detected version, or 0.1.00}
100
114
  ## Status: INITIALIZED
101
115
  ## Date: {today}
102
116
 
package/commands/gsd.md CHANGED
@@ -8,6 +8,22 @@ Read:
8
8
  1. `CLAUDE.md` — project context
9
9
  2. `.gsd-t/progress.md` — current state, active milestone/phase
10
10
 
11
+ ## Step 2a: Continuation Check
12
+
13
+ Before semantic evaluation, determine if this is a **continuation** of an already-running command.
14
+
15
+ **Continuation indicators (any = continuation):**
16
+ - Message is a follow-up, answer, acknowledgment, or status report — not a new task request
17
+ - Message contains tool output, code, file content, or work artifacts from ongoing work
18
+ - Message reads as mid-task input (e.g., "both files parse cleanly", "yes continue", "looks good", "done")
19
+ - Progress.md shows an active/in-progress phase AND the message doesn't clearly start a new task
20
+
21
+ **If continuation detected** → skip Step 2, go to Step 3 using the **continuation format**.
22
+
23
+ **If NOT a continuation** → proceed to Step 2 (normal semantic evaluation).
24
+
25
+ ---
26
+
11
27
  ## Step 2: Semantic Evaluation
12
28
 
13
29
  Read the **Command Summaries** section of `commands/gsd-t-help.md` (or the in-memory skill list). For each command, evaluate whether the user's request matches that command's **Summary** and **Use when** criteria.
@@ -43,13 +59,37 @@ When the same request could fit multiple commands at different scales:
43
59
 
44
60
  ## Step 3: Confirm and Execute
45
61
 
46
- **MANDATORY — before doing anything else, output this line FIRST:**
62
+ **MANDATORY — output one of these lines as the VERY FIRST thing in your response, before any tool calls or other output.**
47
63
 
64
+ ### New request (from Step 2):
48
65
  ```
49
66
  → Routing to /user:gsd-t-{command}: {brief reason}
50
67
  ```
51
68
 
52
- **CRITICAL: `{command}` MUST be a real GSD-T command slug — never a free-form description.**
69
+ ### Continuation (from Step 2a):
70
+ ```
71
+ → /gsd ──▶ continue /user:gsd-t-{last-command}
72
+ ```
73
+
74
+ Where `{last-command}` is:
75
+ 1. The command most recently active in this conversation, OR
76
+ 2. Inferred from progress.md current phase:
77
+
78
+ | Phase in progress.md | Command slug |
79
+ |----------------------|--------------|
80
+ | EXECUTE | `execute` |
81
+ | PLAN | `plan` |
82
+ | PARTITION | `partition` |
83
+ | VERIFY | `verify` |
84
+ | INTEGRATE | `integrate` |
85
+ | TEST-SYNC | `test-sync` |
86
+ | COMPLETE | `complete-milestone` |
87
+ | SCAN | `scan` |
88
+ | WAVE | `wave` |
89
+ | QUICK | `quick` |
90
+ | DEBUG | `debug` |
91
+
92
+ **CRITICAL: `{command}` and `{last-command}` MUST be a real GSD-T command slug — never a free-form description.**
53
93
 
54
94
  Valid command slugs: `quick`, `debug`, `feature`, `execute`, `milestone`, `project`, `scan`, `gap-analysis`, `plan`, `partition`, `discuss`, `impact`, `integrate`, `verify`, `test-sync`, `complete-milestone`, `wave`, `status`, `populate`, `setup`, `init`, `health`, `log`, `pause`, `resume`, `prd`, `brainstorm`, `prompt`, `backlog-add`, `backlog-list`, `backlog-promote`, `promote-debt`, `triage-and-merge`, `version-update`, `version-update-all`
55
95
 
@@ -57,17 +97,18 @@ Valid command slugs: `quick`, `debug`, `feature`, `execute`, `milestone`, `proje
57
97
  ```
58
98
  → Routing to research + PRD update: reading web app auth code
59
99
  → Routing to implementation: adding the login feature
60
- Routing to fix: resolving the bug
100
+ /gsd ──▶ continue: mid-task work
61
101
  ```
62
102
 
63
103
  **RIGHT ✅** — always use the exact command slug:
64
104
  ```
65
105
  → Routing to /user:gsd-t-execute: implement auth feature across backend
66
106
  → Routing to /user:gsd-t-debug: investigate login bug before fixing
67
- Routing to /user:gsd-t-quick: small focused change to config file
107
+ /gsd ──▶ continue /user:gsd-t-execute
108
+ → /gsd ──▶ continue /user:gsd-t-quick
68
109
  ```
69
110
 
70
- This MUST be the very first line of your response so the user sees which command was selected. Then immediately execute that command's full workflow, passing `$ARGUMENTS` through.
111
+ This MUST be the very first line of your response. Then immediately execute that command's full workflow, passing `$ARGUMENTS` through.
71
112
 
72
113
  **Do NOT ask "is this the right command?" — just route and go.** The user can interrupt with Esc if it's wrong.
73
114
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tekyzinc/gsd-t",
3
- "version": "2.31.13",
3
+ "version": "2.31.15",
4
4
  "description": "GSD-T: Contract-Driven Development for Claude Code — 46 slash commands with backlog management, impact analysis, test sync, milestone archival, and PRD generation",
5
5
  "author": "Tekyz, Inc.",
6
6
  "license": "MIT",
@@ -118,7 +118,9 @@ GSD-T tracks project version in `.gsd-t/progress.md` using semantic versioning:
118
118
 
119
119
  **Patch convention**: Patch numbers are always 2 digits (≥10). When resetting after a minor or major bump, start at **10** (not 0). This keeps patches always 2 characters without leading zeros, so semver stays valid.
120
120
 
121
- - Version is set during `gsd-t-init` (starts at `0.1.10`)
121
+ - Version is set during `gsd-t-init`:
122
+ - **New project** (no existing manifest version): starts at `0.1.00` — first `complete-milestone` resets patch to `0.1.10`
123
+ - **Existing repo** (has `package.json`, `pyproject.toml`, `Cargo.toml`, etc. with a version): use that version as the starting point
122
124
  - Version is bumped during `gsd-t-complete-milestone` based on milestone scope
123
125
  - Version is reflected in: `progress.md`, `README.md`, package manifest (if any), and git tags (`v{version}`)
124
126