@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.
- package/commands/gsd-t-help.md +1 -1
- package/commands/gsd-t-init.md +15 -1
- package/commands/gsd.md +46 -5
- package/package.json +1 -1
- package/templates/CLAUDE-global.md +3 -1
package/commands/gsd-t-help.md
CHANGED
|
@@ -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**:
|
|
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`
|
package/commands/gsd-t-init.md
CHANGED
|
@@ -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.
|
|
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 —
|
|
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
|
-
|
|
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
|
-
→
|
|
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
|
-
→
|
|
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
|
|
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.
|
|
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
|
|
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
|
|