@tekyzinc/gsd-t 2.34.11 → 2.35.10
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.
|
@@ -22,6 +22,14 @@ Read everything:
|
|
|
22
22
|
|
|
23
23
|
Build a mental model of: "How does this codebase work today?"
|
|
24
24
|
|
|
25
|
+
**Multi-Client Architecture Check**: Before moving to Step 2, identify whether the project has or will have multiple consumer surfaces:
|
|
26
|
+
- Look for directories: `web/`, `mobile/`, `app/`, `cli/`, `client/`, `frontend/`
|
|
27
|
+
- Look for split route files: `routes/web.js`, `routes/mobile.js`, `routes/api/v1/`, `routes/api/v2/`
|
|
28
|
+
- Check package.json scripts for `build:web`, `build:mobile`, `start:mobile`, etc.
|
|
29
|
+
- Check `.gsd-t/scan/quality.md` (if exists) for the "Consumer Surfaces Detected" table
|
|
30
|
+
|
|
31
|
+
Note what you find — this informs Step 3's Multi-Consumer Check and Step 4's milestone ordering.
|
|
32
|
+
|
|
25
33
|
## Step 2: Understand the Feature
|
|
26
34
|
|
|
27
35
|
From $ARGUMENTS and conversation:
|
|
@@ -102,6 +110,14 @@ Produce a combined analysis:
|
|
|
102
110
|
- {where this feature could break existing functionality}
|
|
103
111
|
- {complex integration points}
|
|
104
112
|
- {performance concerns}
|
|
113
|
+
|
|
114
|
+
### Multi-Consumer Check
|
|
115
|
+
- Consumer surfaces that exist or will exist after this feature: {list}
|
|
116
|
+
- Does this feature add a new consumer surface? {yes/no}
|
|
117
|
+
- If yes: backend operations this new surface needs: {list}
|
|
118
|
+
- Of those, how many are already implemented for an existing surface? {list any matches}
|
|
119
|
+
- SharedCore extraction candidates (operations needed by 2+ surfaces): {list or "none found"}
|
|
120
|
+
- SharedCore milestone required? {yes — if 2+ candidates found | no — if none}
|
|
105
121
|
```
|
|
106
122
|
|
|
107
123
|
## Step 4: Decompose into Milestones
|
|
@@ -121,6 +137,7 @@ Apply these sequencing rules:
|
|
|
121
137
|
3. **Existing contract updates early**: If existing contracts change, update and verify them before building new code against them
|
|
122
138
|
4. **New functionality before integration**: Build the new thing, then wire it into existing flows
|
|
123
139
|
5. **Migration/backfill as its own milestone**: If existing data needs transformation, isolate that work
|
|
140
|
+
6. **SharedCore before new consumer surfaces**: If the feature adds a new consumer surface (web, mobile, CLI) AND SharedCore candidates were identified in Step 3's Multi-Consumer Check, add a SharedCore milestone BEFORE the new client's milestone. The SharedCore milestone extracts shared operations into a reusable backend domain — the new client's API calls SharedCore functions, it does not duplicate them.
|
|
124
141
|
|
|
125
142
|
### Write the Feature Roadmap
|
|
126
143
|
|
|
@@ -8,6 +8,8 @@ Read these files in order:
|
|
|
8
8
|
1. `CLAUDE.md` — project conventions and context
|
|
9
9
|
2. `.gsd-t/progress.md` — current state (if exists)
|
|
10
10
|
3. `docs/` — all available documentation (requirements, architecture, schema, design)
|
|
11
|
+
4. `.gsd-t/scan/quality.md` (if exists) — extract the "Consumer Surfaces Detected" and "Shared Service Candidates" tables. These pre-populate Step 1.6 with scan-discovered data and eliminate re-research.
|
|
12
|
+
5. `.gsd-t/contracts/shared-services-contract.md` (if exists) — a SharedCore domain was previously identified. Its listed operations are pre-confirmed shared and carry forward automatically to Step 1.6.2.
|
|
11
13
|
|
|
12
14
|
If `.gsd-t/` doesn't exist, create the full directory structure:
|
|
13
15
|
```
|
|
@@ -98,7 +100,11 @@ For each surface that will consume this system, capture:
|
|
|
98
100
|
|
|
99
101
|
**Surface types**: `web`, `mobile`, `cli`, `external-api`, `admin`, `background-worker`, `other`
|
|
100
102
|
|
|
101
|
-
|
|
103
|
+
**Existing System Check**: This milestone may be adding a NEW surface to a system that already has existing consumer surfaces. Before concluding surface enumeration, scan `.gsd-t/progress.md` completed milestones and look for directories or route files indicating prior client surfaces (`web/`, `mobile/`, `app/`, `cli/`, `client/`, `routes/web.js`, `routes/mobile.js`). Add any discovered existing surfaces to the table above.
|
|
104
|
+
|
|
105
|
+
> ⚠️ **New-client signal**: If this milestone adds a consumer surface to a system that already has one or more other consumer surfaces, SharedCore evaluation is MANDATORY regardless of shared operation count.
|
|
106
|
+
|
|
107
|
+
If only one surface exists and no prior surfaces were found → mark "Single consumer — SharedCore not needed" and proceed to Step 2.
|
|
102
108
|
|
|
103
109
|
---
|
|
104
110
|
|
|
@@ -123,7 +129,7 @@ Compare the "Operations Needed" column across all surfaces. Flag every operation
|
|
|
123
129
|
|
|
124
130
|
### 1.6.3 — Auto-Suggest SharedCore Domain
|
|
125
131
|
|
|
126
|
-
**If
|
|
132
|
+
**If 2 or more shared operations exist, OR if this milestone adds a new consumer surface to a system that already has other surfaces (detected in the Existing System Check above):**
|
|
127
133
|
|
|
128
134
|
> ⚠️ **SharedCore recommended** — {N} operations are needed by {M} consumer surfaces.
|
|
129
135
|
> A `shared-core` domain will be added to own these functions.
|
|
@@ -134,7 +140,7 @@ Add `shared-core` to the domain list before running Step 2. The `shared-core` do
|
|
|
134
140
|
- Consumed by: all surface-specific adapter domains
|
|
135
141
|
- Contract: `shared-services-contract.md` (use the template from `templates/shared-services-contract.md`)
|
|
136
142
|
|
|
137
|
-
**If
|
|
143
|
+
**If only 1 shared operation exists AND this is not a new-client-to-existing-system scenario:**
|
|
138
144
|
|
|
139
145
|
> ℹ️ {N} shared operations found. Inline sharing is sufficient — no separate SharedCore domain needed. Document shared functions in the relevant domain's constraints.md.
|
|
140
146
|
|
package/commands/gsd-t-plan.md
CHANGED
|
@@ -18,6 +18,13 @@ Read ALL of these:
|
|
|
18
18
|
|
|
19
19
|
## Step 2: Create Task Lists Per Domain
|
|
20
20
|
|
|
21
|
+
### SharedCore-First Pre-Check
|
|
22
|
+
|
|
23
|
+
Before writing any domain task lists:
|
|
24
|
+
1. Does `.gsd-t/contracts/shared-services-contract.md` exist?
|
|
25
|
+
- **YES**: A `shared-core` domain has been identified. Plan its tasks first. All client-surface domains that consume SharedCore operations are BLOCKED BY shared-core until its tasks complete. Use `BLOCKED BY shared-core Task {N}` in the relevant client domain task lists.
|
|
26
|
+
- **NO**: Proceed. The Cross-Domain Duplicate Operation Scan (below) will catch any shared operations missed during partition.
|
|
27
|
+
|
|
21
28
|
For each domain, write `.gsd-t/domains/{domain-name}/tasks.md`:
|
|
22
29
|
|
|
23
30
|
```markdown
|
|
@@ -81,6 +88,19 @@ For each operation in each domain's task list:
|
|
|
81
88
|
|
|
82
89
|
> ✅ No duplicate operations detected across domains.
|
|
83
90
|
|
|
91
|
+
### SharedCore Contract Compliance Check
|
|
92
|
+
|
|
93
|
+
If `.gsd-t/contracts/shared-services-contract.md` exists, run a second pass:
|
|
94
|
+
|
|
95
|
+
For each client-surface domain's task list, compare task operations against the SharedCore contract's "Shared Operations" table. Flag any task that implements an operation already owned by SharedCore:
|
|
96
|
+
|
|
97
|
+
> ⚠️ **SharedCore contract violation** — the following tasks reimplement operations owned by SharedCore:
|
|
98
|
+
> - {domain} Task {N}: implements `{operation}` — already owned by SharedCore per shared-services-contract.md
|
|
99
|
+
>
|
|
100
|
+
> Fix: Change these tasks to CALL the SharedCore function rather than implementing it independently.
|
|
101
|
+
|
|
102
|
+
If no violations: `✅ All client domains reference SharedCore correctly.`
|
|
103
|
+
|
|
84
104
|
---
|
|
85
105
|
|
|
86
106
|
### REQ Traceability
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tekyzinc/gsd-t",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.35.10",
|
|
4
4
|
"description": "GSD-T: Contract-Driven Development for Claude Code — 48 slash commands with real-time agent dashboard, execution intelligence, backlog management, impact analysis, test sync, milestone archival, and PRD generation",
|
|
5
5
|
"author": "Tekyz, Inc.",
|
|
6
6
|
"license": "MIT",
|