@tekyzinc/gsd-t 2.0.2 → 2.2.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/README.md CHANGED
@@ -17,7 +17,7 @@ A methodology for reliable, parallelizable development using Claude Code with op
17
17
  npx @tekyzinc/gsd-t install
18
18
  ```
19
19
 
20
- This installs 23 GSD-T commands + 3 utility commands to `~/.claude/commands/` and the global CLAUDE.md to `~/.claude/CLAUDE.md`. Works on Windows, Mac, and Linux.
20
+ This installs 24 GSD-T commands + 3 utility commands to `~/.claude/commands/` and the global CLAUDE.md to `~/.claude/CLAUDE.md`. Works on Windows, Mac, and Linux.
21
21
 
22
22
  ### Start Using It
23
23
 
@@ -103,6 +103,7 @@ This will replace changed command files, back up your CLAUDE.md if customized, a
103
103
  | `/user:gsd-t-feature` | Major feature → impact analysis + milestones |
104
104
  | `/user:gsd-t-scan` | Deep codebase analysis → techdebt.md |
105
105
  | `/user:gsd-t-promote-debt` | Convert techdebt items to milestones |
106
+ | `/user:gsd-t-populate` | Auto-populate docs from existing codebase |
106
107
 
107
108
  ### Milestone Workflow
108
109
 
@@ -172,9 +173,10 @@ This will replace changed command files, back up your CLAUDE.md if customized, a
172
173
  your-project/
173
174
  ├── CLAUDE.md
174
175
  ├── docs/
175
- │ ├── requirements.md
176
- │ ├── architecture.md
177
- └── ...
176
+ │ ├── requirements.md # Functional + technical requirements
177
+ │ ├── architecture.md # System design, components, data flow
178
+ ├── workflows.md # User journeys, technical processes
179
+ │ └── infrastructure.md # Dev setup, DB, cloud, deployment
178
180
  ├── .gsd-t/
179
181
  │ ├── progress.md # Master state file
180
182
  │ ├── roadmap.md # Milestone roadmap
@@ -249,8 +251,8 @@ get-stuff-done-teams/
249
251
  ├── LICENSE
250
252
  ├── bin/
251
253
  │ └── gsd-t.js # CLI installer
252
- ├── commands/ # 25 slash commands
253
- │ ├── gsd-t-*.md # 22 GSD-T workflow commands
254
+ ├── commands/ # 27 slash commands
255
+ │ ├── gsd-t-*.md # 24 GSD-T workflow commands
254
256
  │ ├── branch.md # Git branch helper
255
257
  │ ├── checkin.md # Git commit/push helper
256
258
  │ └── Claude-md.md # Reload CLAUDE.md directives
@@ -266,8 +268,8 @@ get-stuff-done-teams/
266
268
  │ ├── settings.json
267
269
  │ └── .gsd-t/
268
270
  ├── docs/
271
+ │ ├── GSD-T-README.md # Detailed methodology + usage guide
269
272
  │ └── methodology.md
270
- └── GSD-T-README.md
271
273
  ```
272
274
 
273
275
  ---
@@ -84,7 +84,26 @@ Create `summary.md`:
84
84
  {Summary of files created/modified/deleted}
85
85
  ```
86
86
 
87
- ## Step 5: Clean Working State
87
+ ## Step 5: Bump Version
88
+
89
+ GSD-T tracks project version in `.gsd-t/progress.md` using semantic versioning: `Major.Minor.Patch`
90
+
91
+ - **Major** (X.0.0): Breaking changes, major rework, v1 launch
92
+ - **Minor** (0.X.0): New features, completed feature milestones
93
+ - **Patch** (0.0.X): Bug fixes, minor improvements, cleanup milestones
94
+
95
+ Determine the version bump based on the milestone:
96
+ 1. Read current version from `.gsd-t/progress.md`
97
+ 2. Assess milestone scope:
98
+ - Was this a major/breaking milestone? → bump **major**, reset minor and patch to 0
99
+ - Was this a feature milestone? → bump **minor**, reset patch to 0
100
+ - Was this a bugfix/cleanup/debt milestone? → bump **patch**
101
+ 3. Update version in `.gsd-t/progress.md`
102
+ 4. If a package manifest exists (`package.json`, `pyproject.toml`, `Cargo.toml`, etc.), update its version to match
103
+ 5. Update `README.md` version badge or version reference if present
104
+ 6. Include version in the milestone summary and git tag
105
+
106
+ ## Step 6: Clean Working State
88
107
 
89
108
  Reset `.gsd-t/` for next milestone:
90
109
 
@@ -97,30 +116,42 @@ Reset `.gsd-t/` for next milestone:
97
116
  ```markdown
98
117
  # GSD-T Progress
99
118
 
119
+ ## Version: {new version}
100
120
  ## Current Milestone
101
121
  None — ready for next milestone
102
122
 
103
123
  ## Completed Milestones
104
- | Milestone | Completed | Tag |
105
- |-----------|-----------|-----|
106
- | {name} | {date} | {tag} |
107
- | {previous} | {date} | {tag} |
124
+ | Milestone | Version | Completed | Tag |
125
+ |-----------|---------|-----------|-----|
126
+ | {name} | {version} | {date} | v{version} |
127
+ | {previous} | {version} | {date} | v{version} |
108
128
 
109
129
  ## Decision Log
110
130
  {Keep the decision log — it's valuable context}
111
131
  ```
112
132
 
113
- ## Step 6: Create Git Tag
133
+ ## Step 7: Update README.md
134
+
135
+ If `README.md` exists, update it to reflect the completed milestone:
136
+ - Add or update a **Features** / **What's Included** section with capabilities delivered
137
+ - Update version number if displayed in README
138
+ - Update setup instructions if infrastructure changed
139
+ - Update tech stack if new dependencies were added
140
+ - Keep existing user content — merge, don't overwrite
141
+
142
+ If `README.md` doesn't exist, create one with project name, description, version, tech stack, setup instructions, and link to `docs/`.
143
+
144
+ ## Step 8: Create Git Tag
114
145
 
115
146
  ```bash
116
147
  # Stage any remaining .gsd-t changes
117
148
  git add .gsd-t/
118
149
 
119
150
  # Commit the archive
120
- git commit -m "milestone({milestone-name}): complete and archive"
151
+ git commit -m "milestone({milestone-name}): complete and archive v{version}"
121
152
 
122
- # Create annotated tag
123
- git tag -a "milestone/{milestone-name}" -m "Milestone: {name}
153
+ # Create annotated tag with version
154
+ git tag -a "v{version}" -m "v{version} — Milestone: {name}
124
155
 
125
156
  {Brief description from summary}
126
157
 
@@ -128,27 +159,28 @@ Domains: {list}
128
159
  Verified: {date}"
129
160
  ```
130
161
 
131
- ## Step 7: Report Completion
162
+ ## Step 9: Report Completion
132
163
 
133
164
  ```
134
- ✅ Milestone "{name}" completed!
165
+ ✅ Milestone "{name}" completed — v{version}
135
166
 
136
167
  📁 Archived to: .gsd-t/milestones/{name}-{date}/
137
- 🏷️ Tagged as: milestone/{name}
168
+ 🏷️ Tagged as: v{version}
138
169
 
139
170
  Summary:
171
+ - Version: {previous version} → {new version}
140
172
  - Domains completed: {N}
141
173
  - Tasks completed: {N}
142
174
  - Contracts: {N} defined/updated
143
175
  - Tests: {N} added/updated
144
176
 
145
177
  Next steps:
146
- - Push tags: git push origin milestone/{name}
178
+ - Push tags: git push origin v{version}
147
179
  - Start next milestone: /user:gsd-t-milestone "{next name}"
148
180
  - Or view roadmap: /user:gsd-t-status
149
181
  ```
150
182
 
151
- ## Step 8: Update Roadmap (if exists)
183
+ ## Step 10: Update Roadmap (if exists)
152
184
 
153
185
  If `.gsd-t/roadmap.md` exists:
154
186
  - Mark this milestone as complete
@@ -27,10 +27,12 @@ For each task:
27
27
  3. Read the domain's constraints.md — follow all patterns
28
28
  4. Implement the task
29
29
  5. Verify acceptance criteria are met
30
- 6. Run the Pre-Commit Gate checklist from CLAUDE.md update ALL affected docs BEFORE committing
31
- 7. Commit with a descriptive message: `[{domain}] Task {N}: {description}`
32
- 8. Update `.gsd-t/progress.md`mark task complete
33
- 9. If you've reached a CHECKPOINT in integration-points.md, pause and verify the contract before continuing
30
+ 6. Run affected unit testsfix any failures before proceeding
31
+ 7. If E2E framework exists and task changed UI/routes/flows: run affected E2E specs, update specs if needed
32
+ 8. Run the Pre-Commit Gate checklist from CLAUDE.md — update ALL affected docs BEFORE committing
33
+ 9. Commit with a descriptive message: `[{domain}] Task {N}: {description}`
34
+ 10. Update `.gsd-t/progress.md` — mark task complete
35
+ 11. If you've reached a CHECKPOINT in integration-points.md, pause and verify the contract before continuing
34
36
 
35
37
  ### Team Mode (when agent teams are enabled)
36
38
  Spawn teammates for independent domains:
@@ -44,6 +44,7 @@ UTILITIES
44
44
  quick Fast task with GSD-T guarantees
45
45
  debug Systematic debugging with state
46
46
  promote-debt Convert techdebt items to milestones
47
+ populate Auto-populate docs from existing codebase
47
48
 
48
49
  ───────────────────────────────────────────────────────────────────────────────
49
50
  Type /user:gsd-t-help {command} for detailed help on any command.
@@ -240,6 +241,12 @@ Use these when user asks for help on a specific command:
240
241
  - **Updates**: `.gsd-t/roadmap.md`, `.gsd-t/techdebt.md`
241
242
  - **Use when**: Ready to address technical debt items
242
243
 
244
+ ### populate
245
+ - **Summary**: Auto-populate all living docs from existing codebase analysis
246
+ - **Auto-invoked**: No
247
+ - **Updates**: `docs/requirements.md`, `docs/architecture.md`, `docs/workflows.md`, `docs/infrastructure.md`, `.gsd-t/progress.md`
248
+ - **Use when**: You have an existing codebase and want to fill docs with real findings instead of placeholders
249
+
243
250
  ## Unknown Command
244
251
 
245
252
  If user asks for help on unrecognized command:
@@ -37,6 +37,7 @@ Create `.gsd-t/progress.md`:
37
37
  # GSD-T Progress
38
38
 
39
39
  ## Project: {name from CLAUDE.md or $ARGUMENTS}
40
+ ## Version: 0.1.0
40
41
  ## Status: INITIALIZED
41
42
  ## Date: {today}
42
43
 
@@ -105,7 +106,17 @@ docs/
105
106
 
106
107
  These are the living documents that persist across milestones and keep institutional knowledge alive. The `infrastructure.md` is especially important — it captures the exact commands for provisioning cloud resources, setting up databases, managing secrets, and deploying, so this knowledge doesn't get lost between sessions.
107
108
 
108
- ## Step 6: Map Existing Codebase (if code exists)
109
+ ## Step 6: Ensure README.md Exists
110
+
111
+ If no `README.md` exists, create one with:
112
+ - Project name and brief description
113
+ - Tech stack summary
114
+ - Getting started / setup instructions (from existing configs or placeholder)
115
+ - Link to `docs/` for detailed documentation
116
+
117
+ If `README.md` exists, leave it as-is — don't overwrite user content during init.
118
+
119
+ ## Step 7: Map Existing Codebase (if code exists)
109
120
 
110
121
  If there's existing source code:
111
122
  1. Scan the codebase structure
@@ -114,7 +125,7 @@ If there's existing source code:
114
125
  4. Add findings to CLAUDE.md
115
126
  5. Log in progress.md: "Existing codebase analyzed — {summary}"
116
127
 
117
- ## Step 7: Report
128
+ ## Step 8: Report
118
129
 
119
130
  Tell the user:
120
131
  1. What was created
@@ -352,6 +352,16 @@ Using all scan findings, update or create `docs/requirements.md`:
352
352
  - Technical requirements from configs, package.json, runtime settings
353
353
  - Non-functional requirements from performance configs, rate limits, caching
354
354
 
355
+ ### README.md
356
+ Update or create `README.md` with scan findings:
357
+ - Project name and description
358
+ - Tech stack and versions discovered
359
+ - Getting started / setup instructions (from infrastructure findings)
360
+ - Brief architecture overview
361
+ - Link to `docs/` for detailed documentation
362
+
363
+ If `README.md` exists, merge — update tech stack and setup sections but preserve the user's existing structure and custom content.
364
+
355
365
  ### For all docs:
356
366
  - If the file exists and has real content, **merge** — don't overwrite
357
367
  - If the file exists with only placeholder text, **replace** with real findings
@@ -15,9 +15,11 @@ Read:
15
15
  4. `.gsd-t/domains/{current}/tasks.md` — recent completed tasks
16
16
 
17
17
  Identify:
18
- - Test framework (pytest, jest, vitest, etc.)
18
+ - **Unit/integration test framework** (pytest, jest, vitest, etc.)
19
+ - **E2E test framework** (Playwright, Cypress, Puppeteer, etc.) — check for `playwright.config.*`, `cypress.config.*`, `playwright/`, `cypress/`, `e2e/`, or E2E-related dependencies in package.json/requirements.txt
19
20
  - Test directory structure
20
21
  - Naming conventions
22
+ - Test run commands (from package.json scripts, Makefile, or CI config)
21
23
 
22
24
  ## Step 2: Map Code to Tests
23
25
 
@@ -77,6 +79,7 @@ Tests that sometimes fail:
77
79
 
78
80
  ## Step 4: Run Affected Tests
79
81
 
82
+ ### A) Unit/Integration Tests
80
83
  Execute tests that cover changed code:
81
84
 
82
85
  ```bash
@@ -87,7 +90,34 @@ pytest tests/test_{module}.py -v
87
90
  npm test -- --testPathPattern="{module}"
88
91
  ```
89
92
 
90
- Capture results:
93
+ ### B) E2E Tests
94
+ If an E2E framework is detected, run E2E tests affected by the changes:
95
+
96
+ ```bash
97
+ # Playwright
98
+ npx playwright test {affected-spec}.spec.ts
99
+
100
+ # Cypress
101
+ npx cypress run --spec "cypress/e2e/{affected-spec}.cy.ts"
102
+ ```
103
+
104
+ Determine which E2E specs are affected:
105
+ - Changed a UI component or page? → Run specs that test that page/flow
106
+ - Changed an API endpoint? → Run specs that exercise that endpoint
107
+ - Changed auth/session logic? → Run all auth-related E2E specs
108
+ - Changed database schema? → Run specs that depend on that data
109
+ - Not sure what's affected? → Run the full E2E suite
110
+
111
+ ### C) Update E2E Tests
112
+ If code changes affect user flows, update E2E test specs:
113
+ - New pages/routes → create new E2E specs
114
+ - Changed UI elements (selectors, text, layout) → update locators and assertions
115
+ - Changed form fields or validation → update form fill steps and error assertions
116
+ - New features → add E2E specs covering the happy path + key error cases
117
+ - Removed features → remove or update affected E2E specs
118
+
119
+ ### D) Capture Results
120
+ For all test types:
91
121
  - PASS: Test still valid
92
122
  - FAIL: Test needs update or code has bug
93
123
  - ERROR: Test broken (import error, etc.)
@@ -101,11 +131,13 @@ Create/update `.gsd-t/test-coverage.md`:
101
131
 
102
132
  ## Summary
103
133
  - Source files analyzed: {N}
104
- - Test files found: {N}
134
+ - Unit/integration test files: {N}
135
+ - E2E test specs: {N}
105
136
  - Coverage gaps: {N}
106
137
  - Stale tests: {N}
107
138
  - Dead tests: {N}
108
- - Tests passing: {N}/{total}
139
+ - Unit tests passing: {N}/{total}
140
+ - E2E tests passing: {N}/{total}
109
141
 
110
142
  ## Coverage Status
111
143
 
@@ -205,17 +237,20 @@ If issues found, add to current domain's tasks:
205
237
  ### During Execute Phase (auto-invoked):
206
238
  After each task completes:
207
239
  1. Quick scan of changed files
208
- 2. Run affected tests
209
- 3. If failures: pause and report
210
- 4. If gaps: note for end-of-phase sync
211
- 5. Continue execution
240
+ 2. Run affected unit/integration tests
241
+ 3. Run affected E2E tests (if E2E framework detected)
242
+ 4. If failures: pause and report
243
+ 5. If E2E specs need updating: update them before continuing
244
+ 6. If gaps: note for end-of-phase sync
245
+ 7. Continue execution
212
246
 
213
247
  ### During Verify Phase (auto-invoked):
214
248
  Full sync:
215
- 1. Complete coverage analysis
216
- 2. Run all tests
217
- 3. Generate full report
218
- 4. Block verification if critical tests failing
249
+ 1. Complete coverage analysis (unit + E2E)
250
+ 2. Run ALL unit/integration tests
251
+ 3. Run the FULL E2E test suite — this is mandatory, not optional
252
+ 4. Generate full report
253
+ 5. Block verification if any critical tests failing (unit or E2E)
219
254
 
220
255
  ### Standalone Mode:
221
256
  ```
@@ -238,19 +273,27 @@ Full sync:
238
273
  ```
239
274
  🧪 Test Sync Complete
240
275
 
241
- Results:
276
+ Unit/Integration:
242
277
  - Tests run: 45
243
278
  - Passing: 43
244
279
  - Failing: 2
245
- - Coverage gaps: 3
280
+
281
+ E2E ({framework}):
282
+ - Specs run: 12
283
+ - Passing: 11
284
+ - Failing: 1
285
+
286
+ Coverage:
287
+ - Gaps: 3
246
288
  - Stale tests: 1
247
289
  - Dead tests: 0
248
290
 
249
291
  Action Required:
250
- - 2 failing tests must be fixed before verify passes
292
+ - 2 failing unit tests must be fixed before verify passes
293
+ - 1 failing E2E spec must be fixed before verify passes
251
294
  - See .gsd-t/test-coverage.md for details
252
295
 
253
- Generated 4 test tasks → added to current domain
296
+ Generated 5 test tasks → added to current domain
254
297
  ```
255
298
 
256
299
  $ARGUMENTS
@@ -20,8 +20,9 @@ Standard dimensions (adjust based on project):
20
20
  2. **Contract Compliance**: Does every domain honor its contracts?
21
21
  3. **Code Quality**: Conventions, patterns, error handling, readability
22
22
  4. **Test Coverage**: Are critical paths tested? Are edge cases covered?
23
- 5. **Security**: Auth flows, input validation, data exposure, dependencies
24
- 6. **Integration Integrity**: Do the seams between domains hold under stress?
23
+ 5. **E2E Tests**: Run the full E2E suite (Playwright, Cypress, etc.) — all specs must pass
24
+ 6. **Security**: Auth flows, input validation, data exposure, dependencies
25
+ 7. **Integration Integrity**: Do the seams between domains hold under stress?
25
26
 
26
27
  ## Step 3: Execute Verification
27
28
 
@@ -32,6 +33,13 @@ Work through each dimension sequentially. For each:
32
33
  3. Record findings as PASS / WARN / FAIL with specifics
33
34
  4. If FAIL, create a remediation task
34
35
 
36
+ **Mandatory test execution:**
37
+ 1. Run ALL unit/integration tests — every test must pass
38
+ 2. Detect E2E framework (check for `playwright.config.*`, `cypress.config.*`, E2E deps in package.json)
39
+ 3. If E2E framework exists, run the FULL E2E suite — every spec must pass
40
+ 4. If E2E specs are missing or stale, invoke `gsd-t-test-sync` to update them first, then re-run
41
+ 5. Tests are NOT optional — verification cannot pass without running them
42
+
35
43
  ### Team Mode (when agent teams are enabled)
36
44
  ```
37
45
  Create an agent team for verification:
@@ -88,6 +96,8 @@ Create or update `.gsd-t/verify-report.md`:
88
96
  - Functional: {PASS/WARN/FAIL} — {X}/{Y} criteria met
89
97
  - Contracts: {PASS/WARN/FAIL} — {X}/{Y} contracts compliant
90
98
  - Code Quality: {PASS/WARN/FAIL} — {N} issues found
99
+ - Unit Tests: {PASS/WARN/FAIL} — {N}/{total} passing
100
+ - E2E Tests: {PASS/WARN/FAIL} — {N}/{total} specs passing
91
101
  - Security: {PASS/WARN/FAIL} — {N} findings
92
102
  - Integration: {PASS/WARN/FAIL}
93
103
 
@@ -76,6 +76,7 @@ GSD-T reads all state files and tells you exactly where you left off.
76
76
  | `/user:gsd-t-feature` | Major feature → impact analysis + milestones |
77
77
  | `/user:gsd-t-scan` | Deep codebase analysis → techdebt.md |
78
78
  | `/user:gsd-t-promote-debt` | Convert techdebt items to milestones |
79
+ | `/user:gsd-t-populate` | Auto-populate docs from existing codebase |
79
80
 
80
81
  ### Milestone Workflow
81
82
 
@@ -148,9 +149,10 @@ GSD-T reads all state files and tells you exactly where you left off.
148
149
  your-project/
149
150
  ├── CLAUDE.md # Project conventions + GSD-T reference
150
151
  ├── docs/
151
- │ ├── requirements.md
152
- │ ├── architecture.md
153
- └── ...
152
+ │ ├── requirements.md # Functional + technical requirements
153
+ │ ├── architecture.md # System design, components, data flow
154
+ ├── workflows.md # User journeys, technical processes
155
+ │ └── infrastructure.md # Dev setup, DB, cloud, deployment
154
156
  ├── .gsd-t/
155
157
  │ ├── progress.md # Master state file
156
158
  │ ├── roadmap.md # Milestone roadmap
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tekyzinc/gsd-t",
3
- "version": "2.0.2",
3
+ "version": "2.2.0",
4
4
  "description": "GSD-T: Contract-Driven Development for Claude Code — 27 slash commands with impact analysis, test sync, and milestone archival",
5
5
  "author": "Tekyz, Inc.",
6
6
  "license": "MIT",
@@ -49,6 +49,7 @@ PROJECT or FEATURE or SCAN
49
49
  | `/user:gsd-t-status` | Cross-domain progress view |
50
50
  | `/user:gsd-t-debug` | Systematic debugging |
51
51
  | `/user:gsd-t-quick` | Fast task, respects contracts |
52
+ | `/user:gsd-t-populate` | Auto-populate docs from existing codebase |
52
53
  | `/user:gsd-t-resume` | Restore context, continue |
53
54
  | `/user:branch` | Create and switch to a new git branch |
54
55
  | `/user:checkin` | Stage, commit, and push all changes |
@@ -65,7 +66,8 @@ These documents MUST be maintained and referenced throughout development:
65
66
  | **Architecture** | `docs/architecture.md` | System design, components, data flow, decisions |
66
67
  | **Workflows** | `docs/workflows.md` | User journeys and technical process flows |
67
68
  | **Infrastructure** | `docs/infrastructure.md` | Commands, DB setup, server access, creds |
68
- | **Progress** | `.gsd-t/progress.md` | Current milestone/phase state |
69
+ | **README** | `README.md` | Project overview, setup, features |
70
+ | **Progress** | `.gsd-t/progress.md` | Current milestone/phase state + version |
69
71
  | **Contracts** | `.gsd-t/contracts/` | Interfaces between domains |
70
72
  | **Tech Debt** | `.gsd-t/techdebt.md` | Debt register from scans |
71
73
 
@@ -84,6 +86,21 @@ NEED TO UNDERSTAND SOMETHING?
84
86
  ```
85
87
 
86
88
 
89
+ # Versioning
90
+
91
+ GSD-T tracks project version in `.gsd-t/progress.md` using semantic versioning: `Major.Minor.Patch`
92
+
93
+ | Segment | Bumped When | Example |
94
+ |---------|-------------|---------|
95
+ | **Major** | Breaking changes, major rework, v1 launch | 1.0.0 → 2.0.0 |
96
+ | **Minor** | New features, completed feature milestones | 1.1.0 → 1.2.0 |
97
+ | **Patch** | Bug fixes, minor improvements, cleanup | 1.1.1 → 1.1.2 |
98
+
99
+ - Version is set during `gsd-t-init` (starts at `0.1.0`)
100
+ - Version is bumped during `gsd-t-complete-milestone` based on milestone scope
101
+ - Version is reflected in: `progress.md`, `README.md`, package manifest (if any), and git tags (`v{version}`)
102
+
103
+
87
104
  # Autonomous Execution Rules
88
105
 
89
106
  ## Prime Rule
@@ -116,8 +133,12 @@ BEFORE EVERY COMMIT:
116
133
  │ YES → Update .gsd-t/techdebt.md
117
134
  ├── Did I establish a pattern future work should follow?
118
135
  │ YES → Update CLAUDE.md or domain constraints.md
119
- └── Did I add/change tests?
120
- YES → Verify test names and paths are referenced in requirements
136
+ ├── Did I add/change tests?
137
+ YES → Verify test names and paths are referenced in requirements
138
+ ├── Did I change UI, routes, or user flows?
139
+ │ YES → Update affected E2E test specs (Playwright/Cypress)
140
+ └── Did I run the affected tests?
141
+ YES → Verify they pass. NO → Run them now.
121
142
  ```
122
143
 
123
144
  If ANY answer is YES and the doc is NOT updated, update it BEFORE committing. No exceptions.
@@ -1,6 +1,7 @@
1
1
  # GSD-T Progress
2
2
 
3
3
  ## Project: {Project Name}
4
+ ## Version: 0.1.0
4
5
  ## Status: INITIALIZED
5
6
  ## Date: {Date}
6
7