@tekyzinc/gsd-t 2.1.0 → 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.
|
@@ -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
|
|
31
|
-
7.
|
|
32
|
-
8.
|
|
33
|
-
9.
|
|
30
|
+
6. Run affected unit tests — fix 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:
|
|
@@ -15,9 +15,11 @@ Read:
|
|
|
15
15
|
4. `.gsd-t/domains/{current}/tasks.md` — recent completed tasks
|
|
16
16
|
|
|
17
17
|
Identify:
|
|
18
|
-
-
|
|
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
|
-
|
|
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
|
-
-
|
|
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
|
-
-
|
|
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.
|
|
210
|
-
4. If
|
|
211
|
-
5.
|
|
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
|
|
217
|
-
3.
|
|
218
|
-
4.
|
|
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
|
-
|
|
276
|
+
Unit/Integration:
|
|
242
277
|
- Tests run: 45
|
|
243
278
|
- Passing: 43
|
|
244
279
|
- Failing: 2
|
|
245
|
-
|
|
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
|
|
296
|
+
Generated 5 test tasks → added to current domain
|
|
254
297
|
```
|
|
255
298
|
|
|
256
299
|
$ARGUMENTS
|
package/commands/gsd-t-verify.md
CHANGED
|
@@ -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. **
|
|
24
|
-
6. **
|
|
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
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tekyzinc/gsd-t",
|
|
3
|
-
"version": "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",
|
|
@@ -133,8 +133,12 @@ BEFORE EVERY COMMIT:
|
|
|
133
133
|
│ YES → Update .gsd-t/techdebt.md
|
|
134
134
|
├── Did I establish a pattern future work should follow?
|
|
135
135
|
│ YES → Update CLAUDE.md or domain constraints.md
|
|
136
|
-
|
|
137
|
-
|
|
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.
|
|
138
142
|
```
|
|
139
143
|
|
|
140
144
|
If ANY answer is YES and the doc is NOT updated, update it BEFORE committing. No exceptions.
|