@tekyzinc/gsd-t 2.19.0 → 2.20.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 +11 -0
- package/commands/gsd-t-init.md +25 -3
- package/commands/gsd-t-quick.md +18 -9
- package/package.json +1 -1
- package/templates/CLAUDE-global.md +10 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to GSD-T are documented here. Updated with each release.
|
|
4
4
|
|
|
5
|
+
## [2.20.0] - 2026-02-16
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **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
|
|
9
|
+
- **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"
|
|
10
|
+
|
|
11
|
+
## [2.19.1] - 2026-02-16
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- **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."
|
|
15
|
+
|
|
5
16
|
## [2.19.0] - 2026-02-16
|
|
6
17
|
|
|
7
18
|
### Changed
|
package/commands/gsd-t-init.md
CHANGED
|
@@ -174,13 +174,35 @@ After initialization, verify all created documentation is consistent:
|
|
|
174
174
|
|
|
175
175
|
### Skip what's not affected — init creates docs, so most ripple is about consistency verification.
|
|
176
176
|
|
|
177
|
-
## Step 7.6:
|
|
177
|
+
## Step 7.6: Playwright Setup (MANDATORY)
|
|
178
|
+
|
|
179
|
+
Every GSD-T project must have Playwright ready for E2E testing. If `playwright.config.*` does not exist:
|
|
180
|
+
|
|
181
|
+
1. **Detect package manager**: Check for `bun.lockb` (bun), `yarn.lock` (yarn), `pnpm-lock.yaml` (pnpm), `package-lock.json` or `package.json` (npm), `requirements.txt`/`pyproject.toml` (Python)
|
|
182
|
+
2. **Install Playwright**:
|
|
183
|
+
- bun: `bun add -d @playwright/test && bunx playwright install chromium`
|
|
184
|
+
- npm: `npm install -D @playwright/test && npx playwright install chromium`
|
|
185
|
+
- yarn: `yarn add -D @playwright/test && yarn playwright install chromium`
|
|
186
|
+
- pnpm: `pnpm add -D @playwright/test && pnpm exec playwright install chromium`
|
|
187
|
+
- Python: `pip install playwright && playwright install chromium`
|
|
188
|
+
- No package manager detected: `npm init -y && npm install -D @playwright/test && npx playwright install chromium`
|
|
189
|
+
3. **Create `playwright.config.ts`** (or `.js` if not using TypeScript) with sensible defaults:
|
|
190
|
+
- `testDir: './e2e'` (or `./tests/e2e`)
|
|
191
|
+
- `use: { baseURL: 'http://localhost:3000' }` (adjust based on project)
|
|
192
|
+
- Chromium only (keep it fast; user can add more browsers later)
|
|
193
|
+
- Screenshot on failure enabled
|
|
194
|
+
4. **Create the E2E test directory** (`e2e/` or `tests/e2e/`) with a placeholder spec
|
|
195
|
+
5. **Add test script** to `package.json` if it exists: `"test:e2e": "playwright test"`
|
|
196
|
+
|
|
197
|
+
Skip silently if `playwright.config.*` already exists.
|
|
198
|
+
|
|
199
|
+
## Step 7.7: Test Verification
|
|
178
200
|
|
|
179
201
|
After initialization:
|
|
180
202
|
|
|
181
203
|
1. **If existing code with tests**: Run the full test suite to establish a baseline. Document results in `.gsd-t/progress.md`
|
|
182
|
-
2. **If existing code without tests**:
|
|
183
|
-
3. **If greenfield**:
|
|
204
|
+
2. **If existing code without tests**: Playwright is now set up (Step 7.6) — note unit test framework should be added as part of the first milestone
|
|
205
|
+
3. **If greenfield**: Playwright is ready. Note that unit test infrastructure should be added in Milestone 1
|
|
184
206
|
4. **Verify init outputs**: Confirm all created files exist and are non-empty
|
|
185
207
|
|
|
186
208
|
## Step 8: Report
|
package/commands/gsd-t-quick.md
CHANGED
|
@@ -52,14 +52,23 @@ If `.gsd-t/progress.md` exists, assess what documentation was affected and updat
|
|
|
52
52
|
|
|
53
53
|
### Skip what's not affected — most quick tasks will only touch 1-2 of these.
|
|
54
54
|
|
|
55
|
-
## Step 5: Test
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
1. **
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
## Step 5: Test & Verify (MANDATORY)
|
|
56
|
+
|
|
57
|
+
Quick does not mean skip testing. Before committing:
|
|
58
|
+
|
|
59
|
+
1. **Write/update tests for every new or changed code path**:
|
|
60
|
+
- Unit tests: happy path + common edge cases + error cases
|
|
61
|
+
- Playwright E2E specs (if UI/routes/flows/modes changed): create new specs for new functionality, update existing specs for changed behavior
|
|
62
|
+
- Cover all modes/flags affected by this change
|
|
63
|
+
- "No feature code without test code" applies to quick tasks too
|
|
64
|
+
2. **Run the FULL test suite** — not just affected tests:
|
|
65
|
+
- All unit/integration tests
|
|
66
|
+
- Full Playwright E2E suite (if configured)
|
|
67
|
+
- Fix any failures before proceeding (up to 2 attempts)
|
|
68
|
+
3. **Verify against requirements**:
|
|
69
|
+
- Does the change satisfy its intended requirement?
|
|
70
|
+
- Did the change break any existing functionality? (the full test run catches this)
|
|
71
|
+
- If a contract exists for the interface touched, does the code still match?
|
|
72
|
+
4. **No test framework?**: Set one up, or at minimum manually verify and document how in the commit message
|
|
64
73
|
|
|
65
74
|
$ARGUMENTS
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tekyzinc/gsd-t",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.20.0",
|
|
4
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",
|
|
@@ -191,6 +191,16 @@ If any are missing:
|
|
|
191
191
|
|
|
192
192
|
**Exempt commands** (do not trigger 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`.
|
|
193
193
|
|
|
194
|
+
## Playwright Readiness Guard
|
|
195
|
+
|
|
196
|
+
Before any command that involves testing (`gsd-t-execute`, `gsd-t-test-sync`, `gsd-t-verify`, `gsd-t-quick`, `gsd-t-wave`, `gsd-t-milestone`, `gsd-t-complete-milestone`, `gsd-t-debug`), check if `playwright.config.*` exists in the project. If it does not:
|
|
197
|
+
1. Detect the package manager and install Playwright (`@playwright/test` + chromium)
|
|
198
|
+
2. Create a basic `playwright.config.ts` with sensible defaults
|
|
199
|
+
3. Create the E2E test directory with a placeholder spec
|
|
200
|
+
4. Then continue with the original command
|
|
201
|
+
|
|
202
|
+
Playwright must always be ready before any testing occurs. Do not skip this check. Do not defer setup to "later."
|
|
203
|
+
|
|
194
204
|
## Prime Rule
|
|
195
205
|
KEEP GOING. Only stop for:
|
|
196
206
|
1. Unrecoverable errors after 2 fix attempts
|