@tekyzinc/gsd-t 5.8.10 → 5.10.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.
- package/CHANGELOG.md +57 -0
- package/README.md +1 -1
- package/bin/gsd-t-concise-rewrite.cjs +223 -0
- package/bin/gsd-t-fallback-detect.cjs +624 -0
- package/bin/gsd-t-install-check.cjs +342 -0
- package/bin/gsd-t-project-history.cjs +374 -0
- package/bin/gsd-t-rule-mine.cjs +467 -0
- package/bin/gsd-t-verify-gate.cjs +2 -0
- package/bin/gsd-t.js +199 -5
- package/commands/gsd-t-setup.md +98 -74
- package/package.json +1 -1
- package/scripts/gsd-t-concise-hook.js +200 -0
- package/scripts/gsd-t-fallback-guard.js +237 -0
- package/scripts/gsd-t-install-heal.js +183 -0
- package/templates/CLAUDE-project.md +50 -107
|
@@ -1,127 +1,70 @@
|
|
|
1
|
-
#
|
|
1
|
+
# {PROJECT_NAME}
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
{ONE_LINE_WHAT_THIS_IS}
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> Everything general lives in `~/.claude/CLAUDE.md` and applies here. This file
|
|
6
|
+
> holds only what is true of this project and nothing else.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
## Rules that can never be broken
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
<!--
|
|
11
|
+
Ticked by David from what the project already says. Nothing invented, nothing
|
|
12
|
+
copied from the global file. If a rule is enforced by a hook or a gate, say so
|
|
13
|
+
— the reader should know a machine is watching.
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
Leave this section out entirely if none were found, and say why.
|
|
16
|
+
-->
|
|
17
|
+
{RULES}
|
|
12
18
|
|
|
13
|
-
|
|
19
|
+
## Where the repo misleads you
|
|
14
20
|
|
|
15
|
-
|
|
21
|
+
<!--
|
|
22
|
+
Only where reading the code gives a confident WRONG answer — two version
|
|
23
|
+
fields disagreeing, a legacy path that still looks live, a config that is not
|
|
24
|
+
the one in use. Leave out if none.
|
|
25
|
+
-->
|
|
26
|
+
{MISLEADS}
|
|
16
27
|
|
|
17
|
-
|
|
18
|
-
- **Distribution**: npm package `@tekyzinc/gsd-t`
|
|
19
|
-
- **CLI**: `bin/gsd-t.js` (install, update, init, status, uninstall, doctor, graph, headless, …)
|
|
20
|
-
- **Testing**: `npm test` (Node built-in test runner) + manual CLI testing
|
|
28
|
+
## Files that are riskier than they look
|
|
21
29
|
|
|
22
|
-
|
|
30
|
+
<!--
|
|
31
|
+
Determined by reading, never asked. A file fixed the same way five times is a
|
|
32
|
+
rule nobody wrote down. Say what breaks, not just which file. Leave out if none.
|
|
33
|
+
-->
|
|
34
|
+
{DANGER_MAP}
|
|
23
35
|
|
|
24
|
-
|
|
25
|
-
bin/ — CLI entry (gsd-t.js) + orchestrators (orchestrator.js, design-orchestrator.js)
|
|
26
|
-
+ support modules (gsd-t-context-brief.cjs, cli-preflight.cjs, gsd-t-verify-gate.cjs, gsd-t-model-tier-policy.cjs, …)
|
|
27
|
-
commands/ — slash commands for Claude Code (GSD-T workflow + utility)
|
|
28
|
-
templates/ — document + prompt + stack templates
|
|
29
|
-
CLAUDE-{global,project}.md, requirements.md, architecture.md, workflows.md,
|
|
30
|
-
infrastructure.md, progress.md, backlog.md, backlog-settings.md, design-contract.md
|
|
31
|
-
prompts/ — validation subagent protocols (qa, red-team, design-verify)
|
|
32
|
-
stacks/ — Stack Rules Engine templates (injected at spawn time)
|
|
33
|
-
scripts/ — runtime scripts (design review, context meter hook, event writer)
|
|
34
|
-
examples/ — example project structure + settings
|
|
35
|
-
docs/methodology.md — GSD → GSD-T evolution and concepts
|
|
36
|
-
package.json, README.md, GSD-T-README.md, CHANGELOG.md
|
|
37
|
-
```
|
|
36
|
+
## Where this differs from the global rules
|
|
38
37
|
|
|
39
|
-
|
|
38
|
+
<!-- ONLY genuine differences. An empty table means there are none — leave it out. -->
|
|
40
39
|
|
|
41
|
-
|
|
40
|
+
| Global default | Here | Why |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
{OVERRIDES}
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
- Changes to command files change the methodology itself — treat them as code; verify by running the workflow.
|
|
45
|
-
- The `.gsd-t/` state dir coexists with the commands that *define* `.gsd-t/` — intentional.
|
|
46
|
-
- `bin/gsd-t.js` is the primary testable surface; command files are validated by use.
|
|
44
|
+
## Stack and commands
|
|
47
45
|
|
|
48
|
-
|
|
46
|
+
{STACK}
|
|
49
47
|
|
|
50
|
-
|
|
48
|
+
| | |
|
|
49
|
+
|---|---|
|
|
50
|
+
| Build | `{BUILD_CMD}` |
|
|
51
|
+
| Test | `{TEST_CMD}` |
|
|
52
|
+
| Branch | `{BRANCH}` |
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
## Where things are written down
|
|
53
55
|
|
|
54
|
-
|
|
56
|
+
| | |
|
|
57
|
+
|---|---|
|
|
58
|
+
| State and decisions | `.gsd-t/progress.md` |
|
|
59
|
+
| Interfaces between parts | `.gsd-t/contracts/` |
|
|
60
|
+
| How to reach environments | `docs/infrastructure.md` |
|
|
55
61
|
|
|
56
|
-
|
|
62
|
+
<!--
|
|
63
|
+
Written {GENERATED_DATE} from this project's own history.
|
|
57
64
|
|
|
58
|
-
|
|
65
|
+
Nothing above should carry a number that changes on its own — no version, no
|
|
66
|
+
line count, no "currently in progress". Those belong in progress.md, and a
|
|
67
|
+
file that repeats them is wrong within a week.
|
|
59
68
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
Phase orchestration lives in `templates/workflows/`. Each command file (`commands/gsd-t-*.md`) is a thin invoker that calls `Workflow({scriptPath, args})`. Canonical scripts:
|
|
63
|
-
|
|
64
|
-
- `gsd-t-execute.workflow.js` — preflight → brief → file-disjointness → parallel(domain workers) → integrate → verify-gate
|
|
65
|
-
- `gsd-t-verify.workflow.js` — orthogonal triad with M57 CI-parity + M58 test-data purge as FAIL-blocking gates
|
|
66
|
-
- `gsd-t-wave.workflow.js`, `-integrate`, `-debug`, `-quick`, `-phase` (generic upper-stage runner)
|
|
67
|
-
|
|
68
|
-
Shared helpers: `templates/workflows/_lib.js`. Each helper prefers project-local `bin/<tool>.cjs` and falls back to global `gsd-t` PATH binary.
|
|
69
|
-
|
|
70
|
-
The brains stay in `bin/`: `gsd-t-file-disjointness.cjs`, `gsd-t-task-graph.cjs`, `gsd-t-context-brief.cjs`, `cli-preflight.cjs`, `gsd-t-verify-gate.cjs`, `gsd-t-verify-gate-judge.cjs`, `gsd-t-build-coverage.cjs`, `gsd-t-ci-parity.cjs`, `gsd-t-test-data-ledger.cjs`, `journey-coverage.cjs`. Workflows invoke them via `lib.*` helpers.
|
|
71
|
-
|
|
72
|
-
## Validation Protocols (KEPT — methodology layer)
|
|
73
|
-
|
|
74
|
-
Three validation protocol bodies stay at `templates/prompts/`:
|
|
75
|
-
- `qa-subagent.md` — test mechanics + shallow-test detection + contract compliance
|
|
76
|
-
- `red-team-subagent.md` — adversarial / security / boundaries; verdict `FAIL` / `GRUDGING-PASS`
|
|
77
|
-
- `design-verify-subagent.md` — visual MATCH/DEVIATION against the design contract
|
|
78
|
-
|
|
79
|
-
These are invoked as Workflow `agent()` stages with schema-validated output. The methodology body is unchanged; only the invocation context (Workflow stage vs. Task subagent) updated. Per `.gsd-t/contracts/orthogonal-validation-contract.md` v1.0.0 STABLE.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
# Destructive Action Guard (MANDATORY)
|
|
83
|
-
|
|
84
|
-
**NEVER perform destructive or structural changes without explicit user approval.** This applies at ALL autonomy levels.
|
|
85
|
-
|
|
86
|
-
Before any of these actions, STOP and ask the user:
|
|
87
|
-
- DROP TABLE, DROP COLUMN, DROP INDEX, TRUNCATE, DELETE without WHERE
|
|
88
|
-
- Renaming or removing database tables or columns
|
|
89
|
-
- Schema migrations that lose data or break existing queries
|
|
90
|
-
- Replacing an existing architecture pattern (e.g., normalized → denormalized)
|
|
91
|
-
- Removing or replacing existing files/modules that contain working functionality
|
|
92
|
-
- Changing ORM models in ways that conflict with the existing database schema
|
|
93
|
-
- Removing API endpoints or changing response shapes that existing clients depend on
|
|
94
|
-
- Any change that would require other parts of the system to be rewritten
|
|
95
|
-
|
|
96
|
-
**Rule: "Adapt new code to existing structures, not the other way around."**
|
|
97
|
-
|
|
98
|
-
## Pre-Commit Gate (project-specific additions)
|
|
99
|
-
|
|
100
|
-
The global gate applies first (see `~/.claude/CLAUDE.md`). Additionally for this repo:
|
|
101
|
-
|
|
102
|
-
- **Command file interface/behavior changed** → update `GSD-T-README.md` + `README.md` commands table + `templates/CLAUDE-global.md` + `commands/gsd-t-help.md`.
|
|
103
|
-
- **Command added/removed** → update all 4 files above, bump `package.json`, update any command-counting logic in `bin/gsd-t.js`.
|
|
104
|
-
- **New command invokes a Workflow** → verify `scriptPath` resolves to `templates/workflows/<name>.workflow.js` and `args` shape matches the script's `meta.phases`.
|
|
105
|
-
- **CLI installer changed** → smoke test `install`, `update`, `status`, `doctor`, `init`, `uninstall`.
|
|
106
|
-
- **Template changed** → verify `gsd-t-init` still produces correct output.
|
|
107
|
-
- **Wave flow changed (phases added/removed/reordered)** → update `gsd-t-wave.md`, `GSD-T-README.md` wave diagram, `README.md` workflow section.
|
|
108
|
-
- **Contract or domain boundary changed** → update `.gsd-t/contracts/` and owning `scope.md`.
|
|
109
|
-
|
|
110
|
-
## Don't
|
|
111
|
-
|
|
112
|
-
- NEVER add external npm runtime dependencies to the installer — zero-dep invariant.
|
|
113
|
-
- NEVER rename a command without updating all 4 reference files above.
|
|
114
|
-
- NEVER modify wave phase sequence without updating wave, README, GSD-T-README in the same commit.
|
|
115
|
-
- NEVER let installer's command count diverge from `commands/` directory reality.
|
|
116
|
-
- NEVER inline validation-subagent protocol bodies into Workflow scripts — `_lib.loadProtocol("qa"|"red-team"|"design-verify")` reads the methodology body from `templates/prompts/`.
|
|
117
|
-
|
|
118
|
-
## Recovery After Interruption
|
|
119
|
-
|
|
120
|
-
1. Read `.gsd-t/progress.md`
|
|
121
|
-
2. Read `README.md` for what the package delivers
|
|
122
|
-
3. Check `commands/` and `package.json` for current state
|
|
123
|
-
4. Continue from current task; don't restart the phase
|
|
124
|
-
|
|
125
|
-
## Current Status
|
|
126
|
-
|
|
127
|
-
See `.gsd-t/progress.md`.
|
|
69
|
+
Regenerate with /gsd-t-setup.
|
|
70
|
+
-->
|