@tekyzinc/gsd-t 2.16.4 → 2.17.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 +16 -0
- package/README.md +4 -3
- package/commands/gsd-t-help.md +8 -0
- package/commands/gsd-t-log.md +87 -0
- package/commands/gsd-t-populate.md +30 -0
- package/docs/GSD-T-README.md +1 -0
- package/package.json +2 -2
- package/templates/CLAUDE-global.md +8 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to GSD-T are documented here. Updated with each release.
|
|
4
4
|
|
|
5
|
+
## [2.17.0] - 2026-02-16
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- `/user:gsd-t-log` command — sync progress.md Decision Log with recent git activity by scanning commits since last logged entry
|
|
9
|
+
- Incremental updates (only new commits) and first-time full reconstruction from git history
|
|
10
|
+
- Total commands: 38 GSD-T + 3 utility = 41
|
|
11
|
+
|
|
12
|
+
## [2.16.5] - 2026-02-16
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- `gsd-t-populate` now reconstructs Decision Log from git history — parses all commits, generates timestamped entries, merges with existing log
|
|
16
|
+
- Pre-Commit Gate explicitly lists all 30 file-modifying commands that must log to progress.md
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- Rebuilt GSD-T project Decision Log with full `YYYY-MM-DD HH:MM` timestamps from 54 git commits
|
|
20
|
+
|
|
5
21
|
## [2.16.4] - 2026-02-16
|
|
6
22
|
|
|
7
23
|
### Changed
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ A methodology for reliable, parallelizable development using Claude Code with op
|
|
|
18
18
|
npx @tekyzinc/gsd-t install
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
This installs
|
|
21
|
+
This installs 38 GSD-T commands + 3 utility commands to `~/.claude/commands/` and the global CLAUDE.md to `~/.claude/CLAUDE.md`. Works on Windows, Mac, and Linux.
|
|
22
22
|
|
|
23
23
|
### Start Using It
|
|
24
24
|
|
|
@@ -142,6 +142,7 @@ This will replace changed command files, back up your CLAUDE.md if customized, a
|
|
|
142
142
|
| `/user:gsd-t-resume` | Restore context, continue | Manual |
|
|
143
143
|
| `/user:gsd-t-quick` | Fast task with GSD-T guarantees | Manual |
|
|
144
144
|
| `/user:gsd-t-debug` | Systematic debugging with state | Manual |
|
|
145
|
+
| `/user:gsd-t-log` | Sync progress Decision Log with recent git activity | Manual |
|
|
145
146
|
| `/user:gsd-t-version-update` | Update GSD-T to latest version | Manual |
|
|
146
147
|
| `/user:gsd-t-version-update-all` | Update GSD-T + all registered projects | Manual |
|
|
147
148
|
|
|
@@ -280,8 +281,8 @@ get-stuff-done-teams/
|
|
|
280
281
|
├── LICENSE
|
|
281
282
|
├── bin/
|
|
282
283
|
│ └── gsd-t.js # CLI installer
|
|
283
|
-
├── commands/ #
|
|
284
|
-
│ ├── gsd-t-*.md #
|
|
284
|
+
├── commands/ # 41 slash commands
|
|
285
|
+
│ ├── gsd-t-*.md # 38 GSD-T workflow commands
|
|
285
286
|
│ ├── branch.md # Git branch helper
|
|
286
287
|
│ ├── checkin.md # Auto-version + commit/push helper
|
|
287
288
|
│ └── Claude-md.md # Reload CLAUDE.md directives
|
package/commands/gsd-t-help.md
CHANGED
|
@@ -52,6 +52,7 @@ UTILITIES Manual
|
|
|
52
52
|
debug Systematic debugging with state
|
|
53
53
|
promote-debt Convert techdebt items to milestones
|
|
54
54
|
populate Auto-populate docs from existing codebase
|
|
55
|
+
log Sync progress Decision Log with recent git activity
|
|
55
56
|
version-update Update GSD-T package to latest version
|
|
56
57
|
version-update-all Update GSD-T package + all registered projects
|
|
57
58
|
|
|
@@ -295,6 +296,13 @@ Use these when user asks for help on a specific command:
|
|
|
295
296
|
- **Updates**: `docs/requirements.md`, `docs/architecture.md`, `docs/workflows.md`, `docs/infrastructure.md`, `.gsd-t/progress.md`
|
|
296
297
|
- **Use when**: You have an existing codebase and want to fill docs with real findings instead of placeholders
|
|
297
298
|
|
|
299
|
+
### log
|
|
300
|
+
- **Summary**: Sync progress.md Decision Log with recent git activity
|
|
301
|
+
- **Auto-invoked**: No
|
|
302
|
+
- **Files**: `.gsd-t/progress.md`, git history
|
|
303
|
+
- **Use when**: Progress.md Decision Log is behind — catches up by scanning git commits since the last logged entry
|
|
304
|
+
- **Features**: Incremental updates, first-time full reconstruction from git history, groups same-day changes
|
|
305
|
+
|
|
298
306
|
### backlog-add
|
|
299
307
|
- **Summary**: Capture a new backlog item with auto-categorization
|
|
300
308
|
- **Auto-invoked**: No
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# GSD-T: Log — Sync Progress Decision Log with Recent Activity
|
|
2
|
+
|
|
3
|
+
Update `.gsd-t/progress.md` Decision Log by scanning git history for commits not yet recorded. Works on any GSD-T project.
|
|
4
|
+
|
|
5
|
+
## Step 1: Load State
|
|
6
|
+
|
|
7
|
+
Read:
|
|
8
|
+
1. `.gsd-t/progress.md` — current Decision Log entries
|
|
9
|
+
2. Note the **last entry's timestamp** — this is the cutoff; only commits after this time need processing
|
|
10
|
+
|
|
11
|
+
If `.gsd-t/progress.md` doesn't exist, inform user: "No GSD-T state found. Run `/user:gsd-t-init` first."
|
|
12
|
+
|
|
13
|
+
## Step 2: Get Recent Commits
|
|
14
|
+
|
|
15
|
+
Run: `git log --reverse --format="%ai|%s" --after="{last entry date}"`
|
|
16
|
+
|
|
17
|
+
If no cutoff exists (empty Decision Log), get the full history:
|
|
18
|
+
`git log --reverse --format="%ai|%s"`
|
|
19
|
+
|
|
20
|
+
## Step 3: Filter and Format
|
|
21
|
+
|
|
22
|
+
For each commit since the last logged entry:
|
|
23
|
+
|
|
24
|
+
1. **Skip** merge commits, whitespace-only changes, and commits already in the Decision Log
|
|
25
|
+
2. **Group** multiple commits on the same day that cover the same logical change into one entry
|
|
26
|
+
3. **Format** each entry:
|
|
27
|
+
```
|
|
28
|
+
- YYYY-MM-DD HH:MM: {commit summary} — {brief context}
|
|
29
|
+
```
|
|
30
|
+
4. If the commit message includes a version tag like `(vX.Y.Z)`, append it to the entry
|
|
31
|
+
|
|
32
|
+
### What to include:
|
|
33
|
+
- Feature additions, bug fixes, refactors
|
|
34
|
+
- Config/dependency changes
|
|
35
|
+
- Documentation updates
|
|
36
|
+
- Version bumps and releases
|
|
37
|
+
- Any commit that modified documents, scripts, or code
|
|
38
|
+
|
|
39
|
+
### What to exclude:
|
|
40
|
+
- Pure merge commits with no additional context
|
|
41
|
+
- Commits that only change whitespace or formatting
|
|
42
|
+
- Entries already in the Decision Log (check by date+content match)
|
|
43
|
+
|
|
44
|
+
## Step 4: Append to Decision Log
|
|
45
|
+
|
|
46
|
+
Append the new entries chronologically at the end of the existing Decision Log section in `.gsd-t/progress.md`.
|
|
47
|
+
|
|
48
|
+
Do NOT modify or rewrite existing entries — only add new ones.
|
|
49
|
+
|
|
50
|
+
## Step 5: Report
|
|
51
|
+
|
|
52
|
+
Show a summary:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
Progress Log Updated
|
|
56
|
+
|
|
57
|
+
Commits scanned: {N}
|
|
58
|
+
New entries added: {M}
|
|
59
|
+
Last entry: {date and summary of most recent entry}
|
|
60
|
+
|
|
61
|
+
Decision Log now has {total} entries covering {first date} to {last date}.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
If no new commits were found:
|
|
65
|
+
```
|
|
66
|
+
Progress Log — already up to date
|
|
67
|
+
|
|
68
|
+
Last entry: {date and summary}
|
|
69
|
+
No new commits since last log entry.
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Step 6: First-Time Reconstruction
|
|
73
|
+
|
|
74
|
+
If the Decision Log is empty or has fewer than 3 entries and git history has 5+ commits, offer full reconstruction:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
The Decision Log appears sparse but this project has {N} commits.
|
|
78
|
+
Reconstructing full history from git...
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Then run the full reconstruction (same as the populate command's git history reconstruction):
|
|
82
|
+
1. Parse all commits
|
|
83
|
+
2. Generate timestamped entries
|
|
84
|
+
3. Group by logical change
|
|
85
|
+
4. Mark reconstructed entries: `(Entries before {date} reconstructed from git history)`
|
|
86
|
+
|
|
87
|
+
$ARGUMENTS
|
|
@@ -35,6 +35,36 @@ Scan this codebase and populate the GSD-T documentation. Analyze the actual code
|
|
|
35
35
|
- Set status: VERIFIED
|
|
36
36
|
- Log today session: "GSD-T documentation populated from existing codebase"
|
|
37
37
|
|
|
38
|
+
## Reconstruct Decision Log from Git History
|
|
39
|
+
|
|
40
|
+
Rebuild the progress.md Decision Log from the project's commit history:
|
|
41
|
+
|
|
42
|
+
1. **Read existing Decision Log entries** — note what's already recorded to avoid duplicates
|
|
43
|
+
2. **Run `git log --reverse --format="%ai|%s"`** — get all commits with timestamps and messages
|
|
44
|
+
3. **Filter meaningful commits** — skip merge commits, trivial whitespace/formatting-only commits
|
|
45
|
+
4. **Generate entries** in the standard format:
|
|
46
|
+
```
|
|
47
|
+
- YYYY-MM-DD HH:MM: {commit summary} — {brief context from commit message}
|
|
48
|
+
```
|
|
49
|
+
5. **Group by date** — if multiple commits on the same day cover the same logical change, combine them into one entry rather than listing each commit separately
|
|
50
|
+
6. **Merge with existing entries** — insert reconstructed entries chronologically, keeping any hand-written entries that already exist (they may have richer context than commit messages)
|
|
51
|
+
7. **Mark the reconstruction** — add a note at the top of the reconstructed section:
|
|
52
|
+
```
|
|
53
|
+
(Entries before {date} reconstructed from git history)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### What to include:
|
|
57
|
+
- Feature additions, bug fixes, refactors
|
|
58
|
+
- Config/dependency changes
|
|
59
|
+
- Documentation updates
|
|
60
|
+
- Version bumps and releases
|
|
61
|
+
- Any commit that modified documents, scripts, or code
|
|
62
|
+
|
|
63
|
+
### What to exclude:
|
|
64
|
+
- Pure merge commits with no additional context
|
|
65
|
+
- Commits that only change whitespace or formatting
|
|
66
|
+
- Duplicate entries already in the Decision Log
|
|
67
|
+
|
|
38
68
|
---
|
|
39
69
|
|
|
40
70
|
## Document Ripple
|
package/docs/GSD-T-README.md
CHANGED
|
@@ -111,6 +111,7 @@ GSD-T reads all state files and tells you exactly where you left off.
|
|
|
111
111
|
| `/user:gsd-t-resume` | Restore context, continue | Manual |
|
|
112
112
|
| `/user:gsd-t-quick` | Fast task with GSD-T guarantees | Manual |
|
|
113
113
|
| `/user:gsd-t-debug` | Systematic debugging with state | Manual |
|
|
114
|
+
| `/user:gsd-t-log` | Sync progress Decision Log with recent git activity | Manual |
|
|
114
115
|
| `/user:gsd-t-version-update` | Update GSD-T to latest version | Manual |
|
|
115
116
|
| `/user:gsd-t-version-update-all` | Update GSD-T + all registered projects | Manual |
|
|
116
117
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tekyzinc/gsd-t",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "GSD-T: Contract-Driven Development for Claude Code —
|
|
3
|
+
"version": "2.17.0",
|
|
4
|
+
"description": "GSD-T: Contract-Driven Development for Claude Code — 41 slash commands with backlog management, impact analysis, test sync, and milestone archival",
|
|
5
5
|
"author": "Tekyz, Inc.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -54,6 +54,7 @@ PROJECT or FEATURE or SCAN
|
|
|
54
54
|
| `/user:gsd-t-debug` | Systematic debugging |
|
|
55
55
|
| `/user:gsd-t-quick` | Fast task, respects contracts |
|
|
56
56
|
| `/user:gsd-t-populate` | Auto-populate docs from existing codebase |
|
|
57
|
+
| `/user:gsd-t-log` | Sync progress Decision Log with recent git activity |
|
|
57
58
|
| `/user:gsd-t-resume` | Restore context, continue |
|
|
58
59
|
| `/user:gsd-t-version-update` | Update GSD-T to latest version |
|
|
59
60
|
| `/user:gsd-t-version-update-all` | Update GSD-T + all registered projects |
|
|
@@ -205,11 +206,16 @@ BEFORE EVERY COMMIT:
|
|
|
205
206
|
│ YES → Update docs/requirements.md (mark complete or revise)
|
|
206
207
|
├── Did I add/change/remove a component or change data flow?
|
|
207
208
|
│ YES → Update docs/architecture.md
|
|
208
|
-
├── Did I
|
|
209
|
+
├── Did I modify any document, script, or code file?
|
|
209
210
|
│ YES → Add timestamped entry to .gsd-t/progress.md Decision Log
|
|
210
211
|
│ Format: `- YYYY-MM-DD HH:MM: {what was done} — {brief context or result}`
|
|
212
|
+
│ This includes ALL file-modifying activities:
|
|
213
|
+
│ project, feature, scan, gap-analysis, milestone, partition, discuss,
|
|
214
|
+
│ plan, impact, execute, test-sync, integrate, verify, complete-milestone,
|
|
215
|
+
│ wave, quick, debug, promote-debt, populate, setup, init, init-scan-setup,
|
|
216
|
+
│ backlog-add/edit/move/remove/promote/settings, and any manual code changes
|
|
211
217
|
├── Did I make an architectural or design decision?
|
|
212
|
-
│ YES →
|
|
218
|
+
│ YES → Also include decision rationale in the progress.md entry
|
|
213
219
|
├── Did I discover or fix tech debt?
|
|
214
220
|
│ YES → Update .gsd-t/techdebt.md
|
|
215
221
|
├── Did I establish a pattern future work should follow?
|