@tekyzinc/gsd-t 2.21.0 → 2.22.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/CHANGELOG.md CHANGED
@@ -1,403 +1,417 @@
1
- # Changelog
2
-
3
- All notable changes to GSD-T are documented here. Updated with each release.
4
-
5
- ## [2.21.0] - 2026-02-17
6
-
7
- ### Added
8
- - **gsd-t-triage-and-merge**: New command to auto-review unmerged GitHub branches, score impact (auto-merge / review / skip), merge safe branches, and optionally version bump + publish. Publish gate respects autonomy level — auto in Level 3, prompted in Level 1-2. Sensitive file detection for commands, CLI, templates, and scripts
9
-
10
- ## [2.20.7] - 2026-02-17
11
-
12
- ### Added
13
- - **Formal contracts**: 5 contract definitions for core GSD-T interfaces — backlog file formats, domain structure, pre-commit gate, progress.md format, and wave phase sequence. Formalizes existing conventions as machine-readable reference docs
14
-
15
- ## [2.20.6] - 2026-02-16
16
-
17
- ### Fixed
18
- - Stale command/template counts in project CLAUDE.md (25→41 commands, 7→9 templates, v2.0.0→v2.20.x)
19
- - Duplicate step numbering in `gsd-t-execute.md` (two step 10s)
20
- - Windows CRLF/LF comparison causing false "changed" detection in CLI update
21
-
22
- ### Added
23
- - Document Ripple sections to `gsd-t-execute`, `gsd-t-scan`, `gsd-t-test-sync`, `gsd-t-verify`
24
- - Heartbeat auto-cleanup: files older than 7 days are automatically removed
25
- - Error handling wrapping around file operations in CLI (copy, unlink, write)
26
- - `applyTokens()` and `normalizeEol()` helpers to reduce duplication
27
- - Extracted `updateProjectClaudeMd()`, `createProjectChangelog()`, `checkProjectHealth()` from `doUpdateAll()`
28
-
29
- ## [2.20.5] - 2026-02-16
30
-
31
- ### Added
32
- - **Next Command Hint**: After each GSD-T phase completes, displays the recommended next command (e.g., `Next /user:gsd-t-partition`). Full successor mapping for all workflow commands. Skipped during auto-advancing (Level 3 mid-wave)
33
-
34
- ## [2.20.4] - 2026-02-16
35
-
36
- ### Changed
37
- - **Scan always uses team mode**: `gsd-t-scan` and `gsd-t-init-scan-setup` now spawn a team by default. Solo mode only for trivially small codebases (< 5 files) or when teams are explicitly disabled
38
-
39
- ## [2.20.3] - 2026-02-16
40
-
41
- ### Added
42
- - **Playwright Cleanup**: After Playwright tests finish, kill any app/server processes that were started for the tests. Prevents orphaned dev servers from lingering after test runs
43
-
44
- ## [2.20.2] - 2026-02-16
45
-
46
- ### Added
47
- - **CLI health checks**: `update-all` and `doctor` now check all projects for missing Playwright and Swagger/OpenAPI
48
- - Smart API detection: scans `package.json`, `requirements.txt`, `pyproject.toml` for API frameworks (Express, Fastify, Hono, Django, FastAPI, etc.)
49
- - Swagger detection: checks for spec files (`openapi.json/yaml`, `swagger.json/yaml`) and swagger packages in dependencies
50
- - Health summary in `update-all` shows counts of missing Playwright and Swagger across all registered projects
51
-
52
- ## [2.20.1] - 2026-02-16
53
-
54
- ### Added
55
- - **API Documentation Guard (Swagger/OpenAPI)**: Every API endpoint must be documented in Swagger/OpenAPI spec — no exceptions. Auto-detects framework and installs appropriate Swagger integration. Swagger URL must be published in CLAUDE.md, README.md, and docs/infrastructure.md
56
- - Pre-Commit Gate now checks for Swagger spec updates on any API endpoint change
57
-
58
- ## [2.20.0] - 2026-02-16
59
-
60
- ### Added
61
- - **Playwright Setup in Init**: `gsd-t-init` now installs Playwright, creates `playwright.config.ts`, and sets up E2E test directory for every project. Detects package manager (bun, npm, yarn, pnpm, pip) automatically
62
- - **Playwright Readiness Guard**: Before any testing command (execute, test-sync, verify, quick, wave, milestone, complete-milestone, debug), checks for `playwright.config.*` and auto-installs if missing. Playwright must always be ready — no deferring to "later"
63
-
64
- ## [2.19.1] - 2026-02-16
65
-
66
- ### Changed
67
- - **Quick**: Now runs the FULL test suite (not just affected tests), requires comprehensive test creation for new/changed code paths including Playwright E2E, and verifies against requirements and contracts. "Quick doesn't mean skip testing."
68
-
69
- ## [2.19.0] - 2026-02-16
70
-
71
- ### Changed
72
- - **Execute**: "No feature code without test code" — every task must include comprehensive unit tests AND Playwright E2E specs for all new code paths, modes, and flows. Tests are part of the deliverable, not a follow-up
73
- - **Test-Sync**: Creates tests immediately during execute phase instead of deferring gaps to verify. Missing Playwright specs for new features/modes are created on the spot
74
- - **Verify**: Zero test coverage on new functionality is now a FAIL (not WARN). Coverage audit checks that every new feature, mode, page, and flow has comprehensive Playwright specs covering happy path, error states, edge cases, and all modes/flags
75
-
76
- ## [2.18.2] - 2026-02-16
77
-
78
- ### Added
79
- - Gap Analysis Gate in `gsd-t-complete-milestone` — mandatory requirements verification before archiving
80
- - Self-correction loop: auto-fixes gaps, re-verifies, re-analyzes (up to 2 cycles), stops if unresolvable
81
- - Explicit Playwright E2E test execution in milestone test verification step
82
-
83
- ## [2.18.1] - 2026-02-16
84
-
85
- ### Added
86
- - Auto-Init GuardGSD-T workflow commands automatically run `gsd-t-init` if any init files are missing, then continue with the original command
87
- - `gsd-t-init` copies `~/.claude/settings.local` `.claude/settings.local.json` during project initialization
88
- - Exempt commands that skip auto-init: `gsd-t-init`, `gsd-t-init-scan-setup`, `gsd-t-help`, `gsd-t-version-update`, `gsd-t-version-update-all`, `gsd-t-prompt`, `gsd-t-brainstorm`
89
-
90
- ## [2.18.0] - 2026-02-16
91
-
92
- ### Added
93
- - Heartbeat system real-time event streaming from Claude Code sessions via async hooks
94
- - `scripts/gsd-t-heartbeat.js` hook handler that writes JSONL events to `.gsd-t/heartbeat-{session_id}.jsonl`
95
- - 9 Claude Code hooks: SessionStart, PostToolUse, SubagentStart, SubagentStop, TaskCompleted, TeammateIdle, Notification, Stop, SessionEnd
96
- - Installer auto-configures heartbeat hooks in settings.json (all async, zero performance impact)
97
- - Event types: session lifecycle, tool calls with file/command summaries, agent spawn/stop/idle, task completions
98
-
99
- ## [2.17.0] - 2026-02-16
100
-
101
- ### Added
102
- - `/user:gsd-t-log` command sync progress.md Decision Log with recent git activity by scanning commits since last logged entry
103
- - Incremental updates (only new commits) and first-time full reconstruction from git history
104
- - Total commands: 38 GSD-T + 3 utility = 41
105
-
106
- ## [2.16.5] - 2026-02-16
107
-
108
- ### Added
109
- - `gsd-t-populate` now reconstructs Decision Log from git history parses all commits, generates timestamped entries, merges with existing log
110
- - Pre-Commit Gate explicitly lists all 30 file-modifying commands that must log to progress.md
111
-
112
- ### Changed
113
- - Rebuilt GSD-T project Decision Log with full `YYYY-MM-DD HH:MM` timestamps from 54 git commits
114
-
115
- ## [2.16.4] - 2026-02-16
116
-
117
- ### Changed
118
- - Smart router renamed from `/user:gsd-t` to `/user:gsd` sorts first in autocomplete, shorter to type
119
- - Pre-Commit Gate now requires timestamped progress.md entry (`YYYY-MM-DD HH:MM`) after every completed task, not just architectural decisions
120
-
121
- ## [2.16.3] - 2026-02-16
122
-
123
- ### Fixed
124
- - Reverted smart router rename (`/gsd` back to `/gsd-t`) superseded by 2.16.4 which re-applies the rename
125
-
126
- ## [2.16.2] - 2026-02-16
127
-
128
- ### Changed
129
- - Smart router renamed from `/user:gsd-t` to `/user:gsd` (reverted in 2.16.3)
130
-
131
- ## [2.16.1] - 2026-02-16
132
-
133
- ### Fixed
134
- - `gsd-t-init-scan-setup` now pulls existing code from remote before scanning — prevents treating repos with existing code as greenfield
135
-
136
- ## [2.16.0] - 2026-02-13
137
-
138
- ### Changed
139
- - Smart router (`/gsd-t`) replaced signal-word lookup table with **semantic evaluation** — evaluates user intent against each command's purpose and "Use when" criteria from help summaries
140
- - Router shows runner-up command when confidence is close: `(also considered: gsd-t-{x} — Esc to switch)`
141
- - New commands automatically participate in routing without updating a routing table
142
-
143
- ### Added
144
- - Backlog item B1: Agentic Workflow Architecture (future exploration when Claude Code agents mature)
145
-
146
- ## [2.15.4] - 2026-02-13
147
-
148
- ### Changed
149
- - `gsd-t-gap-analysis` team scaling: one teammate per requirement (3–10), cap at 10 with even batching for 11+, solo for 1–2
150
-
151
- ## [2.15.3] - 2026-02-13
152
-
153
- ### Fixed
154
- - `gsd-t-gap-analysis` hard cap of 4 teammates max scales by requirement count (2 for 5–10, 3 for 11–15, 4 for 16+), solo for < 5
155
-
156
- ## [2.15.2] - 2026-02-13
157
-
158
- ### Changed
159
- - `gsd-t-gap-analysis` team mode now handles flat requirement lists — chunks into batches of ~8–10 per teammate instead of requiring sections
160
-
161
- ## [2.15.1] - 2026-02-13
162
-
163
- ### Changed
164
- - `gsd-t-gap-analysis` now uses agent team mode automatically — one teammate per requirement section for parallel scanning and classification, with solo fallback
165
-
166
- ## [2.15.0] - 2026-02-13
167
-
168
- ### Added
169
- - `/user:gsd-t-gap-analysis` command — requirements gap analysis against existing codebase
170
- - Parses spec into discrete numbered requirements, scans codebase, classifies each as implemented/partial/incorrect/not-implemented
171
- - Evidence-based classification with file:line references for each requirement
172
- - Severity levels: Critical (incorrect), High (partial), Medium (not implemented), Low (deferrable)
173
- - Generates `.gsd-t/gap-analysis.md` with requirements breakdown, gap matrix, and summary stats
174
- - Re-run support with diff against previous gap analysis (resolved, new, changed, unchanged)
175
- - Optional merge of parsed requirements into `docs/requirements.md`
176
- - Auto-groups gaps into recommended milestones/features/quick-fixes for promotion
177
- - Autonomy-aware: Level 3 proceeds with flagged assumptions, Level 1-2 pauses for clarification
178
- - Total commands: 37 GSD-T + 3 utility = 40
179
-
180
- ## [2.14.2] - 2026-02-13
181
-
182
- ### Changed
183
- - Smart router (`/gsd-t`) now displays selected command as the first line of output (mandatory routing confirmation)
184
-
185
- ## [2.14.1] - 2026-02-13
186
-
187
- ### Changed
188
- - Update Notices section in CLAUDE-global template now handles both `[GSD-T UPDATE]` (update available) and `[GSD-T]` (up to date) version banners
189
- - Update command in notification changed from raw npm command to `/user:gsd-t-version-update-all`
190
-
191
- ## [2.14.0] - 2026-02-12
192
-
193
- ### Added
194
- - `/user:gsd-t` smart router command — describe what you need in plain language, auto-routes to the correct GSD-T command
195
- - Intent classification routes to: quick, feature, project, debug, scan, brainstorm, milestone, wave, status, resume, backlog-add, and more
196
- - Total commands: 36 GSD-T + 3 utility = 39
197
-
198
- ## [2.13.4] - 2026-02-12
199
-
200
- ### Added
201
- - Auto-invoked status column on all command tables in README and GSD-T-README (Manual / In wave)
202
- - `[auto]` markers on wave-invoked commands in `gsd-t-help` main listing
203
- - Section headers in `gsd-t-help` now show Manual or Auto label
204
-
205
- ## [2.13.3] - 2026-02-12
206
-
207
- ### Changed
208
- - `gsd-t-init-scan-setup` now asks "Is {current folder} your project root?" before prompting for a folder name
209
-
210
- ## [2.13.2] - 2026-02-12
211
-
212
- ### Changed
213
- - `gsd-t-init-scan-setup` now asks for project folder name, creates it if needed, and `cd`s into it — can be run from anywhere
214
-
215
- ## [2.13.1] - 2026-02-12
216
-
217
- ### Changed
218
- - Update notification now includes changelog link (https://github.com/Tekyz-Inc/get-stuff-done-teams/blob/main/CHANGELOG.md)
219
-
220
- ## [2.13.0] - 2026-02-12
221
-
222
- ### Added
223
- - `/user:gsd-t-init-scan-setup` slash command — full project onboarding combining git setup, init, scan, and setup in one command
224
- - Prompts for GitHub repo URL if not already connected; skips if remote exists
225
- - Total commands: 35 GSD-T + 3 utility = 38
226
-
227
- ## [2.12.0] - 2026-02-12
228
-
229
- ### Added
230
- - `/user:gsd-t-version-update` slash command — update GSD-T to latest version from within Claude Code
231
- - `/user:gsd-t-version-update-all` slash command — update GSD-T + all registered projects from within Claude Code
232
- - Total commands: 34 GSD-T + 3 utility = 37
233
-
234
- ## [2.11.6] - 2026-02-12
235
-
236
- ### Changed
237
- - Update notice now shown at both beginning and end of Claude's first response
238
-
239
- ## [2.11.5] - 2026-02-12
240
-
241
- ### Added
242
- - SessionStart hook script (`~/.claude/scripts/gsd-t-update-check.js`) for automatic update notifications in Claude Code sessions
243
- - "Update Notices" instruction in global CLAUDE.md template — Claude relays update notices to the user on first response
244
-
245
- ## [2.11.4] - 2026-02-12
246
-
247
- ### Fixed
248
- - First-run update check now fetches synchronously when no cache exists — notification shows immediately instead of requiring a second run
249
-
250
- ## [2.11.3] - 2026-02-12
251
-
252
- ### Changed
253
- - Reduced update check cache duration from 24 hours to 1 hour — new releases are detected faster
254
-
255
- ## [2.11.2] - 2026-02-12
256
-
257
- ### Fixed
258
- - CLI update check used `!==` instead of semver comparison — would show incorrect downgrade notices when cache had an older version
259
- - Added `isNewerVersion()` helper for proper semver comparison in update notifications
260
-
261
- ## [2.11.1] - 2026-02-12
262
-
263
- ### Changed
264
- - `gsd-t-resume` now detects same-session vs cross-session mode — skips full state reload when context is already available, auto-resumes at Level 3
265
- - Added "Conversation vs. Work" rule to global CLAUDE.md template — plain text questions are answered conversationally, workflow only runs when a `/gsd-t-*` command is invoked
266
-
267
- ## [2.11.0] - 2026-02-12
268
-
269
- ### Added
270
- - Autonomy-level-aware auto-advancing for all phase commands — at Level 3 (Full Auto), partition, plan, impact, execute, test-sync, integrate, verify, and complete-milestone auto-advance without waiting for user input
271
- - Wave error recovery auto-remediates at Level 3 (up to 2 fix attempts before stopping)
272
- - Discuss phase always pauses for user input regardless of autonomy level
273
- - Autonomy levels documentation added to GSD-T-README Configuration section
274
-
275
- ## [2.10.3] - 2026-02-11
276
-
277
- ### Changed
278
- - Default autonomy level changed from Level 2 (Standard) to Level 3 (Full Auto) across all templates and commands
279
- - `gsd-t-init` now sets Level 3 in generated CLAUDE.md
280
- - `gsd-t-setup` defaults to Level 3 when asking autonomy level
281
-
282
- ## [2.10.2] - 2026-02-11
283
-
284
- ### Added
285
- - Version update check in `gsd-t-status` slash command works inside Claude Code and ClaudeWebCLI sessions, not just the CLI binary
286
-
287
- ### Fixed
288
- - Normalized `repository.url` in package.json (`git+https://` prefix)
289
-
290
- ## [2.10.1] - 2026-02-10
291
-
292
- ### Added
293
- - Automatic update check CLI queries npm registry (cached 24h, background refresh) and shows a notice box with update commands when a newer version is available
294
-
295
- ## [2.10.0] - 2026-02-10
296
-
297
- ### Added
298
- - `CHANGELOG.md` release notes document with full version history
299
- - `changelog` CLI subcommandopens changelog in the browser (`gsd-t changelog`)
300
- - Clickable version links in CLI output (OSC 8 hyperlinks to changelog)
301
- - `checkin` command now auto-updates CHANGELOG.md on every version bump
302
- - `update-all` now creates CHANGELOG.md for registered projects that don't have one
303
-
304
- ## [2.9.0] - 2026-02-10
305
-
306
- ### Added
307
- - `gsd-t-setup` commandgenerates or restructures project CLAUDE.md by scanning codebase, detecting tech stack/conventions, and removing global duplicates
308
-
309
- ## [2.8.1] - 2026-02-10
310
-
311
- ### Added
312
- - Workflow Preferences section in global and project CLAUDE.md templates (Research Policy, Phase Flow defaults with per-project override support)
313
-
314
- ## [2.8.0] - 2026-02-10
315
-
316
- ### Added
317
- - Backlog management system: 7 new commands (`backlog-add`, `backlog-list`, `backlog-move`, `backlog-edit`, `backlog-remove`, `backlog-promote`, `backlog-settings`)
318
- - 2 new templates (`backlog.md`, `backlog-settings.md`)
319
- - Backlog initialization in `gsd-t-init` with auto-category derivation
320
- - Backlog summary in `gsd-t-status` report
321
- - Backlog section in `gsd-t-help`
322
-
323
- ### Changed
324
- - Updated `gsd-t-init`, `gsd-t-status`, `gsd-t-help`, CLAUDE-global template, README with backlog integration
325
-
326
- ## [2.7.0] - 2026-02-09
327
-
328
- ### Added
329
- - `update-all` CLI command — updates global install + all registered project CLAUDE.md files
330
- - `register` CLI command — manually register a project in the GSD-T project registry
331
- - Auto-registration on `gsd-t init`
332
- - Project registry at `~/.claude/.gsd-t-projects`
333
-
334
- ## [2.6.0] - 2026-02-09
335
-
336
- ### Added
337
- - Destructive Action Guard — mandatory safeguard requiring explicit user approval before destructive or structural changes (schema drops, architecture replacements, module removal)
338
- - Guard enforced in global CLAUDE.md, project template, and all execution commands
339
-
340
- ## [2.5.0] - 2026-02-09
341
-
342
- ### Changed
343
- - Audited all 27 command files added Document Ripple and Test Verification steps to 15 commands that were missing them
344
- - All code-modifying commands now enforce doc updates and test runs before completion
345
-
346
- ## [2.4.0] - 2026-02-09
347
-
348
- ### Added
349
- - Automatic version bumping in `checkin` command — determines patch/minor/major from change type
350
-
351
- ## [2.3.0] - 2026-02-09
352
-
353
- ### Added
354
- - Branch Guard — prevents commits on wrong branch by checking `Expected branch` in CLAUDE.md
355
-
356
- ## [2.2.1] - 2026-02-09
357
-
358
- ### Fixed
359
- - `gsd-t-discuss` now stops for user review when manually invoked (was auto-continuing even in manual mode)
360
-
361
- ## [2.2.0] - 2026-02-09
362
-
363
- ### Added
364
- - E2E test support in `test-sync`, `verify`, and `execute` commands
365
-
366
- ## [2.1.0] - 2026-02-09
367
-
368
- ### Added
369
- - `gsd-t-populate` command — auto-populate living docs from existing codebase
370
- - Semantic versioning system tracked in `progress.md`
371
- - Auto-update README on version changes
372
-
373
- ## [2.0.2] - 2026-02-07
374
-
375
- ### Changed
376
- - `gsd-t-init` now creates all 4 living document templates (`requirements.md`, `architecture.md`, `workflows.md`, `infrastructure.md`)
377
- - `gsd-t-scan` cross-populates findings into living docs
378
-
379
- ## [2.0.1] - 2026-02-07
380
-
381
- ### Fixed
382
- - Added `gsd-t-brainstorm` to all 4 reference files (README, GSD-T-README, CLAUDE-global, gsd-t-help)
383
- - Fixed workflow diagram alignment
384
-
385
- ## [2.0.0] - 2026-02-07
386
-
387
- ### Added
388
- - Renamed package to `@tekyzinc/gsd-t`
389
- - `gsd-t-brainstorm` command — creative exploration, rethinking, and idea generation
390
- - Initialized GSD-T state (`.gsd-t/` directory) on itself
391
-
392
- ### Changed
393
- - Complete framework rewrite from GSD to GSD-T (contract-driven development)
394
- - npm package with CLI installer (`bin/gsd-t.js`)
395
- - 6 CLI subcommands: install, update, init, status, doctor, uninstall
396
-
397
- ## [1.0.0] - 2026-02-07
398
-
399
- ### Added
400
- - Initial GSD-T framework implementation
401
- - Full milestone workflow: partition, discuss, plan, impact, execute, test-sync, integrate, verify, complete
402
- - Agent Teams support for parallel execution
403
- - Living documents system (requirements, architecture, workflows, infrastructure)
1
+ # Changelog
2
+
3
+ All notable changes to GSD-T are documented here. Updated with each release.
4
+
5
+ ## [2.22.0] - 2026-02-17
6
+
7
+ ### Added
8
+ - **gsd-t-qa**: New QA Agent command dedicated teammate for test generation, execution, and gap reporting. Spawned automatically by 10 GSD-T phase commands
9
+ - **QA Agent spawn steps**: Added to partition (4.7), plan (4.7), execute (1.5 + team), verify (1.5 + team), complete-milestone (7.6), quick (2.5), debug (2.5), integrate (4.5), test-sync (1.5), wave (1.5)
10
+ - **Contract-to-test mapping rules**: API contracts → Playwright API tests, Schema contracts → constraint tests, Component contracts → E2E tests
11
+ - **QA Agent (Mandatory) section**: Added to global CLAUDE.md template — QA failure blocks phase completion
12
+
13
+ ## [2.21.1] - 2026-02-18
14
+
15
+ ### Fixed
16
+ - **PR #7 — Fix 12 scan items**: Security symlink validation gaps, contract/doc alignment, scope template hardening, heartbeat crash guard, progress template field ordering
17
+ - **PR #8 — Resolve final 4 scan items**: Function splitting in CLI (`doInit` helpers extracted), ownership validation for domain files, npm-update-check extracted to standalone script (`scripts/npm-update-check.js`)
18
+
19
+ ## [2.21.0] - 2026-02-17
20
+
21
+ ### Added
22
+ - **gsd-t-triage-and-merge**: New command to auto-review unmerged GitHub branches, score impact (auto-merge / review / skip), merge safe branches, and optionally version bump + publish. Publish gate respects autonomy level — auto in Level 3, prompted in Level 1-2. Sensitive file detection for commands, CLI, templates, and scripts
23
+
24
+ ## [2.20.7] - 2026-02-17
25
+
26
+ ### Added
27
+ - **Formal contracts**: 5 contract definitions for core GSD-T interfaces — backlog file formats, domain structure, pre-commit gate, progress.md format, and wave phase sequence. Formalizes existing conventions as machine-readable reference docs
28
+
29
+ ## [2.20.6] - 2026-02-16
30
+
31
+ ### Fixed
32
+ - Stale command/template counts in project CLAUDE.md (25→41 commands, 7→9 templates, v2.0.0v2.20.x)
33
+ - Duplicate step numbering in `gsd-t-execute.md` (two step 10s)
34
+ - Windows CRLF/LF comparison causing false "changed" detection in CLI update
35
+
36
+ ### Added
37
+ - Document Ripple sections to `gsd-t-execute`, `gsd-t-scan`, `gsd-t-test-sync`, `gsd-t-verify`
38
+ - Heartbeat auto-cleanup: files older than 7 days are automatically removed
39
+ - Error handling wrapping around file operations in CLI (copy, unlink, write)
40
+ - `applyTokens()` and `normalizeEol()` helpers to reduce duplication
41
+ - Extracted `updateProjectClaudeMd()`, `createProjectChangelog()`, `checkProjectHealth()` from `doUpdateAll()`
42
+
43
+ ## [2.20.5] - 2026-02-16
44
+
45
+ ### Added
46
+ - **Next Command Hint**: After each GSD-T phase completes, displays the recommended next command (e.g., `Next → /user:gsd-t-partition`). Full successor mapping for all workflow commands. Skipped during auto-advancing (Level 3 mid-wave)
47
+
48
+ ## [2.20.4] - 2026-02-16
49
+
50
+ ### Changed
51
+ - **Scan always uses team mode**: `gsd-t-scan` and `gsd-t-init-scan-setup` now spawn a team by default. Solo mode only for trivially small codebases (< 5 files) or when teams are explicitly disabled
52
+
53
+ ## [2.20.3] - 2026-02-16
54
+
55
+ ### Added
56
+ - **Playwright Cleanup**: After Playwright tests finish, kill any app/server processes that were started for the tests. Prevents orphaned dev servers from lingering after test runs
57
+
58
+ ## [2.20.2] - 2026-02-16
59
+
60
+ ### Added
61
+ - **CLI health checks**: `update-all` and `doctor` now check all projects for missing Playwright and Swagger/OpenAPI
62
+ - Smart API detection: scans `package.json`, `requirements.txt`, `pyproject.toml` for API frameworks (Express, Fastify, Hono, Django, FastAPI, etc.)
63
+ - Swagger detection: checks for spec files (`openapi.json/yaml`, `swagger.json/yaml`) and swagger packages in dependencies
64
+ - Health summary in `update-all` shows counts of missing Playwright and Swagger across all registered projects
65
+
66
+ ## [2.20.1] - 2026-02-16
67
+
68
+ ### Added
69
+ - **API Documentation Guard (Swagger/OpenAPI)**: Every API endpoint must be documented in Swagger/OpenAPI spec — no exceptions. Auto-detects framework and installs appropriate Swagger integration. Swagger URL must be published in CLAUDE.md, README.md, and docs/infrastructure.md
70
+ - Pre-Commit Gate now checks for Swagger spec updates on any API endpoint change
71
+
72
+ ## [2.20.0] - 2026-02-16
73
+
74
+ ### Added
75
+ - **Playwright Setup in Init**: `gsd-t-init` now installs Playwright, creates `playwright.config.ts`, and sets up E2E test directory for every project. Detects package manager (bun, npm, yarn, pnpm, pip) automatically
76
+ - **Playwright Readiness Guard**: Before any testing command (execute, test-sync, verify, quick, wave, milestone, complete-milestone, debug), checks for `playwright.config.*` and auto-installs if missing. Playwright must always be ready — no deferring to "later"
77
+
78
+ ## [2.19.1] - 2026-02-16
79
+
80
+ ### Changed
81
+ - **Quick**: Now runs the FULL test suite (not just affected tests), requires comprehensive test creation for new/changed code paths including Playwright E2E, and verifies against requirements and contracts. "Quick doesn't mean skip testing."
82
+
83
+ ## [2.19.0] - 2026-02-16
84
+
85
+ ### Changed
86
+ - **Execute**: "No feature code without test code" every task must include comprehensive unit tests AND Playwright E2E specs for all new code paths, modes, and flows. Tests are part of the deliverable, not a follow-up
87
+ - **Test-Sync**: Creates tests immediately during execute phase instead of deferring gaps to verify. Missing Playwright specs for new features/modes are created on the spot
88
+ - **Verify**: Zero test coverage on new functionality is now a FAIL (not WARN). Coverage audit checks that every new feature, mode, page, and flow has comprehensive Playwright specs covering happy path, error states, edge cases, and all modes/flags
89
+
90
+ ## [2.18.2] - 2026-02-16
91
+
92
+ ### Added
93
+ - Gap Analysis Gate in `gsd-t-complete-milestone` mandatory requirements verification before archiving
94
+ - Self-correction loop: auto-fixes gaps, re-verifies, re-analyzes (up to 2 cycles), stops if unresolvable
95
+ - Explicit Playwright E2E test execution in milestone test verification step
96
+
97
+ ## [2.18.1] - 2026-02-16
98
+
99
+ ### Added
100
+ - Auto-Init Guard — GSD-T workflow commands automatically run `gsd-t-init` if any init files are missing, then continue with the original command
101
+ - `gsd-t-init` copies `~/.claude/settings.local` → `.claude/settings.local.json` during project initialization
102
+ - Exempt commands that skip auto-init: `gsd-t-init`, `gsd-t-init-scan-setup`, `gsd-t-help`, `gsd-t-version-update`, `gsd-t-version-update-all`, `gsd-t-prompt`, `gsd-t-brainstorm`
103
+
104
+ ## [2.18.0] - 2026-02-16
105
+
106
+ ### Added
107
+ - Heartbeat system — real-time event streaming from Claude Code sessions via async hooks
108
+ - `scripts/gsd-t-heartbeat.js` — hook handler that writes JSONL events to `.gsd-t/heartbeat-{session_id}.jsonl`
109
+ - 9 Claude Code hooks: SessionStart, PostToolUse, SubagentStart, SubagentStop, TaskCompleted, TeammateIdle, Notification, Stop, SessionEnd
110
+ - Installer auto-configures heartbeat hooks in settings.json (all async, zero performance impact)
111
+ - Event types: session lifecycle, tool calls with file/command summaries, agent spawn/stop/idle, task completions
112
+
113
+ ## [2.17.0] - 2026-02-16
114
+
115
+ ### Added
116
+ - `/user:gsd-t-log` command — sync progress.md Decision Log with recent git activity by scanning commits since last logged entry
117
+ - Incremental updates (only new commits) and first-time full reconstruction from git history
118
+ - Total commands: 38 GSD-T + 3 utility = 41
119
+
120
+ ## [2.16.5] - 2026-02-16
121
+
122
+ ### Added
123
+ - `gsd-t-populate` now reconstructs Decision Log from git history — parses all commits, generates timestamped entries, merges with existing log
124
+ - Pre-Commit Gate explicitly lists all 30 file-modifying commands that must log to progress.md
125
+
126
+ ### Changed
127
+ - Rebuilt GSD-T project Decision Log with full `YYYY-MM-DD HH:MM` timestamps from 54 git commits
128
+
129
+ ## [2.16.4] - 2026-02-16
130
+
131
+ ### Changed
132
+ - Smart router renamed from `/user:gsd-t` to `/user:gsd` — sorts first in autocomplete, shorter to type
133
+ - Pre-Commit Gate now requires timestamped progress.md entry (`YYYY-MM-DD HH:MM`) after every completed task, not just architectural decisions
134
+
135
+ ## [2.16.3] - 2026-02-16
136
+
137
+ ### Fixed
138
+ - Reverted smart router rename (`/gsd` back to `/gsd-t`) — superseded by 2.16.4 which re-applies the rename
139
+
140
+ ## [2.16.2] - 2026-02-16
141
+
142
+ ### Changed
143
+ - Smart router renamed from `/user:gsd-t` to `/user:gsd` (reverted in 2.16.3)
144
+
145
+ ## [2.16.1] - 2026-02-16
146
+
147
+ ### Fixed
148
+ - `gsd-t-init-scan-setup` now pulls existing code from remote before scanning — prevents treating repos with existing code as greenfield
149
+
150
+ ## [2.16.0] - 2026-02-13
151
+
152
+ ### Changed
153
+ - Smart router (`/gsd-t`) replaced signal-word lookup table with **semantic evaluation** — evaluates user intent against each command's purpose and "Use when" criteria from help summaries
154
+ - Router shows runner-up command when confidence is close: `(also considered: gsd-t-{x} Esc to switch)`
155
+ - New commands automatically participate in routing without updating a routing table
156
+
157
+ ### Added
158
+ - Backlog item B1: Agentic Workflow Architecture (future exploration when Claude Code agents mature)
159
+
160
+ ## [2.15.4] - 2026-02-13
161
+
162
+ ### Changed
163
+ - `gsd-t-gap-analysis` team scaling: one teammate per requirement (3–10), cap at 10 with even batching for 11+, solo for 1–2
164
+
165
+ ## [2.15.3] - 2026-02-13
166
+
167
+ ### Fixed
168
+ - `gsd-t-gap-analysis` hard cap of 4 teammates max — scales by requirement count (2 for 5–10, 3 for 11–15, 4 for 16+), solo for < 5
169
+
170
+ ## [2.15.2] - 2026-02-13
171
+
172
+ ### Changed
173
+ - `gsd-t-gap-analysis` team mode now handles flat requirement lists — chunks into batches of ~8–10 per teammate instead of requiring sections
174
+
175
+ ## [2.15.1] - 2026-02-13
176
+
177
+ ### Changed
178
+ - `gsd-t-gap-analysis` now uses agent team mode automatically one teammate per requirement section for parallel scanning and classification, with solo fallback
179
+
180
+ ## [2.15.0] - 2026-02-13
181
+
182
+ ### Added
183
+ - `/user:gsd-t-gap-analysis` command requirements gap analysis against existing codebase
184
+ - Parses spec into discrete numbered requirements, scans codebase, classifies each as implemented/partial/incorrect/not-implemented
185
+ - Evidence-based classification with file:line references for each requirement
186
+ - Severity levels: Critical (incorrect), High (partial), Medium (not implemented), Low (deferrable)
187
+ - Generates `.gsd-t/gap-analysis.md` with requirements breakdown, gap matrix, and summary stats
188
+ - Re-run support with diff against previous gap analysis (resolved, new, changed, unchanged)
189
+ - Optional merge of parsed requirements into `docs/requirements.md`
190
+ - Auto-groups gaps into recommended milestones/features/quick-fixes for promotion
191
+ - Autonomy-aware: Level 3 proceeds with flagged assumptions, Level 1-2 pauses for clarification
192
+ - Total commands: 37 GSD-T + 3 utility = 40
193
+
194
+ ## [2.14.2] - 2026-02-13
195
+
196
+ ### Changed
197
+ - Smart router (`/gsd-t`) now displays selected command as the first line of output (mandatory routing confirmation)
198
+
199
+ ## [2.14.1] - 2026-02-13
200
+
201
+ ### Changed
202
+ - Update Notices section in CLAUDE-global template now handles both `[GSD-T UPDATE]` (update available) and `[GSD-T]` (up to date) version banners
203
+ - Update command in notification changed from raw npm command to `/user:gsd-t-version-update-all`
204
+
205
+ ## [2.14.0] - 2026-02-12
206
+
207
+ ### Added
208
+ - `/user:gsd-t` smart router command describe what you need in plain language, auto-routes to the correct GSD-T command
209
+ - Intent classification routes to: quick, feature, project, debug, scan, brainstorm, milestone, wave, status, resume, backlog-add, and more
210
+ - Total commands: 36 GSD-T + 3 utility = 39
211
+
212
+ ## [2.13.4] - 2026-02-12
213
+
214
+ ### Added
215
+ - Auto-invoked status column on all command tables in README and GSD-T-README (Manual / In wave)
216
+ - `[auto]` markers on wave-invoked commands in `gsd-t-help` main listing
217
+ - Section headers in `gsd-t-help` now show Manual or Auto label
218
+
219
+ ## [2.13.3] - 2026-02-12
220
+
221
+ ### Changed
222
+ - `gsd-t-init-scan-setup` now asks "Is {current folder} your project root?" before prompting for a folder name
223
+
224
+ ## [2.13.2] - 2026-02-12
225
+
226
+ ### Changed
227
+ - `gsd-t-init-scan-setup` now asks for project folder name, creates it if needed, and `cd`s into it — can be run from anywhere
228
+
229
+ ## [2.13.1] - 2026-02-12
230
+
231
+ ### Changed
232
+ - Update notification now includes changelog link (https://github.com/Tekyz-Inc/get-stuff-done-teams/blob/main/CHANGELOG.md)
233
+
234
+ ## [2.13.0] - 2026-02-12
235
+
236
+ ### Added
237
+ - `/user:gsd-t-init-scan-setup` slash command full project onboarding combining git setup, init, scan, and setup in one command
238
+ - Prompts for GitHub repo URL if not already connected; skips if remote exists
239
+ - Total commands: 35 GSD-T + 3 utility = 38
240
+
241
+ ## [2.12.0] - 2026-02-12
242
+
243
+ ### Added
244
+ - `/user:gsd-t-version-update` slash command — update GSD-T to latest version from within Claude Code
245
+ - `/user:gsd-t-version-update-all` slash command — update GSD-T + all registered projects from within Claude Code
246
+ - Total commands: 34 GSD-T + 3 utility = 37
247
+
248
+ ## [2.11.6] - 2026-02-12
249
+
250
+ ### Changed
251
+ - Update notice now shown at both beginning and end of Claude's first response
252
+
253
+ ## [2.11.5] - 2026-02-12
254
+
255
+ ### Added
256
+ - SessionStart hook script (`~/.claude/scripts/gsd-t-update-check.js`) for automatic update notifications in Claude Code sessions
257
+ - "Update Notices" instruction in global CLAUDE.md template — Claude relays update notices to the user on first response
258
+
259
+ ## [2.11.4] - 2026-02-12
260
+
261
+ ### Fixed
262
+ - First-run update check now fetches synchronously when no cache exists — notification shows immediately instead of requiring a second run
263
+
264
+ ## [2.11.3] - 2026-02-12
265
+
266
+ ### Changed
267
+ - Reduced update check cache duration from 24 hours to 1 hour — new releases are detected faster
268
+
269
+ ## [2.11.2] - 2026-02-12
270
+
271
+ ### Fixed
272
+ - CLI update check used `!==` instead of semver comparison would show incorrect downgrade notices when cache had an older version
273
+ - Added `isNewerVersion()` helper for proper semver comparison in update notifications
274
+
275
+ ## [2.11.1] - 2026-02-12
276
+
277
+ ### Changed
278
+ - `gsd-t-resume` now detects same-session vs cross-session mode skips full state reload when context is already available, auto-resumes at Level 3
279
+ - Added "Conversation vs. Work" rule to global CLAUDE.md template — plain text questions are answered conversationally, workflow only runs when a `/gsd-t-*` command is invoked
280
+
281
+ ## [2.11.0] - 2026-02-12
282
+
283
+ ### Added
284
+ - Autonomy-level-aware auto-advancing for all phase commands — at Level 3 (Full Auto), partition, plan, impact, execute, test-sync, integrate, verify, and complete-milestone auto-advance without waiting for user input
285
+ - Wave error recovery auto-remediates at Level 3 (up to 2 fix attempts before stopping)
286
+ - Discuss phase always pauses for user input regardless of autonomy level
287
+ - Autonomy levels documentation added to GSD-T-README Configuration section
288
+
289
+ ## [2.10.3] - 2026-02-11
290
+
291
+ ### Changed
292
+ - Default autonomy level changed from Level 2 (Standard) to Level 3 (Full Auto) across all templates and commands
293
+ - `gsd-t-init` now sets Level 3 in generated CLAUDE.md
294
+ - `gsd-t-setup` defaults to Level 3 when asking autonomy level
295
+
296
+ ## [2.10.2] - 2026-02-11
297
+
298
+ ### Added
299
+ - Version update check in `gsd-t-status` slash commandworks inside Claude Code and ClaudeWebCLI sessions, not just the CLI binary
300
+
301
+ ### Fixed
302
+ - Normalized `repository.url` in package.json (`git+https://` prefix)
303
+
304
+ ## [2.10.1] - 2026-02-10
305
+
306
+ ### Added
307
+ - Automatic update check CLI queries npm registry (cached 24h, background refresh) and shows a notice box with update commands when a newer version is available
308
+
309
+ ## [2.10.0] - 2026-02-10
310
+
311
+ ### Added
312
+ - `CHANGELOG.md` release notes document with full version history
313
+ - `changelog` CLI subcommand — opens changelog in the browser (`gsd-t changelog`)
314
+ - Clickable version links in CLI output (OSC 8 hyperlinks to changelog)
315
+ - `checkin` command now auto-updates CHANGELOG.md on every version bump
316
+ - `update-all` now creates CHANGELOG.md for registered projects that don't have one
317
+
318
+ ## [2.9.0] - 2026-02-10
319
+
320
+ ### Added
321
+ - `gsd-t-setup` command — generates or restructures project CLAUDE.md by scanning codebase, detecting tech stack/conventions, and removing global duplicates
322
+
323
+ ## [2.8.1] - 2026-02-10
324
+
325
+ ### Added
326
+ - Workflow Preferences section in global and project CLAUDE.md templates (Research Policy, Phase Flow defaults with per-project override support)
327
+
328
+ ## [2.8.0] - 2026-02-10
329
+
330
+ ### Added
331
+ - Backlog management system: 7 new commands (`backlog-add`, `backlog-list`, `backlog-move`, `backlog-edit`, `backlog-remove`, `backlog-promote`, `backlog-settings`)
332
+ - 2 new templates (`backlog.md`, `backlog-settings.md`)
333
+ - Backlog initialization in `gsd-t-init` with auto-category derivation
334
+ - Backlog summary in `gsd-t-status` report
335
+ - Backlog section in `gsd-t-help`
336
+
337
+ ### Changed
338
+ - Updated `gsd-t-init`, `gsd-t-status`, `gsd-t-help`, CLAUDE-global template, README with backlog integration
339
+
340
+ ## [2.7.0] - 2026-02-09
341
+
342
+ ### Added
343
+ - `update-all` CLI command — updates global install + all registered project CLAUDE.md files
344
+ - `register` CLI command manually register a project in the GSD-T project registry
345
+ - Auto-registration on `gsd-t init`
346
+ - Project registry at `~/.claude/.gsd-t-projects`
347
+
348
+ ## [2.6.0] - 2026-02-09
349
+
350
+ ### Added
351
+ - Destructive Action Guard — mandatory safeguard requiring explicit user approval before destructive or structural changes (schema drops, architecture replacements, module removal)
352
+ - Guard enforced in global CLAUDE.md, project template, and all execution commands
353
+
354
+ ## [2.5.0] - 2026-02-09
355
+
356
+ ### Changed
357
+ - Audited all 27 command files — added Document Ripple and Test Verification steps to 15 commands that were missing them
358
+ - All code-modifying commands now enforce doc updates and test runs before completion
359
+
360
+ ## [2.4.0] - 2026-02-09
361
+
362
+ ### Added
363
+ - Automatic version bumping in `checkin` command — determines patch/minor/major from change type
364
+
365
+ ## [2.3.0] - 2026-02-09
366
+
367
+ ### Added
368
+ - Branch Guard — prevents commits on wrong branch by checking `Expected branch` in CLAUDE.md
369
+
370
+ ## [2.2.1] - 2026-02-09
371
+
372
+ ### Fixed
373
+ - `gsd-t-discuss` now stops for user review when manually invoked (was auto-continuing even in manual mode)
374
+
375
+ ## [2.2.0] - 2026-02-09
376
+
377
+ ### Added
378
+ - E2E test support in `test-sync`, `verify`, and `execute` commands
379
+
380
+ ## [2.1.0] - 2026-02-09
381
+
382
+ ### Added
383
+ - `gsd-t-populate` command auto-populate living docs from existing codebase
384
+ - Semantic versioning system tracked in `progress.md`
385
+ - Auto-update README on version changes
386
+
387
+ ## [2.0.2] - 2026-02-07
388
+
389
+ ### Changed
390
+ - `gsd-t-init` now creates all 4 living document templates (`requirements.md`, `architecture.md`, `workflows.md`, `infrastructure.md`)
391
+ - `gsd-t-scan` cross-populates findings into living docs
392
+
393
+ ## [2.0.1] - 2026-02-07
394
+
395
+ ### Fixed
396
+ - Added `gsd-t-brainstorm` to all 4 reference files (README, GSD-T-README, CLAUDE-global, gsd-t-help)
397
+ - Fixed workflow diagram alignment
398
+
399
+ ## [2.0.0] - 2026-02-07
400
+
401
+ ### Added
402
+ - Renamed package to `@tekyzinc/gsd-t`
403
+ - `gsd-t-brainstorm` command creative exploration, rethinking, and idea generation
404
+ - Initialized GSD-T state (`.gsd-t/` directory) on itself
405
+
406
+ ### Changed
407
+ - Complete framework rewrite from GSD to GSD-T (contract-driven development)
408
+ - npm package with CLI installer (`bin/gsd-t.js`)
409
+ - 6 CLI subcommands: install, update, init, status, doctor, uninstall
410
+
411
+ ## [1.0.0] - 2026-02-07
412
+
413
+ ### Added
414
+ - Initial GSD-T framework implementation
415
+ - Full milestone workflow: partition, discuss, plan, impact, execute, test-sync, integrate, verify, complete
416
+ - Agent Teams support for parallel execution
417
+ - Living documents system (requirements, architecture, workflows, infrastructure)