@tekyzinc/gsd-t 2.50.12 → 2.53.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 +24 -0
- package/README.md +379 -372
- package/bin/component-registry.js +250 -0
- package/bin/graph-cgc.js +510 -510
- package/bin/graph-indexer.js +147 -147
- package/bin/graph-overlay.js +195 -195
- package/bin/graph-parsers.js +327 -327
- package/bin/graph-query.js +453 -452
- package/bin/graph-store.js +154 -154
- package/bin/qa-calibrator.js +194 -0
- package/bin/scan-data-collector.js +153 -153
- package/bin/scan-diagrams-generators.js +187 -187
- package/bin/scan-diagrams.js +79 -79
- package/bin/scan-renderer.js +92 -92
- package/bin/scan-report-sections.js +121 -121
- package/bin/scan-report.js +184 -184
- package/bin/scan-schema-parsers.js +199 -199
- package/bin/scan-schema.js +103 -103
- package/bin/token-budget.js +246 -0
- package/commands/Claude-md.md +10 -10
- package/commands/branch.md +15 -15
- package/commands/checkin.md +45 -45
- package/commands/global-change.md +209 -209
- package/commands/gsd-t-audit.md +199 -0
- package/commands/gsd-t-backlog-add.md +94 -94
- package/commands/gsd-t-backlog-edit.md +111 -111
- package/commands/gsd-t-backlog-list.md +63 -63
- package/commands/gsd-t-backlog-move.md +94 -94
- package/commands/gsd-t-backlog-promote.md +123 -123
- package/commands/gsd-t-backlog-remove.md +86 -86
- package/commands/gsd-t-backlog-settings.md +158 -158
- package/commands/gsd-t-complete-milestone.md +528 -515
- package/commands/gsd-t-debug.md +506 -399
- package/commands/gsd-t-discuss.md +174 -174
- package/commands/gsd-t-execute.md +758 -634
- package/commands/gsd-t-feature.md +276 -276
- package/commands/gsd-t-health.md +142 -142
- package/commands/gsd-t-help.md +465 -457
- package/commands/gsd-t-impact.md +302 -302
- package/commands/gsd-t-init.md +320 -280
- package/commands/gsd-t-integrate.md +365 -249
- package/commands/gsd-t-milestone.md +87 -87
- package/commands/gsd-t-partition.md +442 -361
- package/commands/gsd-t-pause.md +82 -82
- package/commands/gsd-t-plan.md +345 -344
- package/commands/gsd-t-populate.md +111 -111
- package/commands/gsd-t-prd.md +326 -326
- package/commands/gsd-t-project.md +211 -211
- package/commands/gsd-t-promote-debt.md +123 -123
- package/commands/gsd-t-prompt.md +137 -137
- package/commands/gsd-t-qa.md +266 -266
- package/commands/gsd-t-quick.md +357 -234
- package/commands/gsd-t-reflect.md +134 -134
- package/commands/gsd-t-resume.md +72 -72
- package/commands/gsd-t-scan.md +615 -615
- package/commands/gsd-t-setup.md +76 -0
- package/commands/gsd-t-status.md +192 -166
- package/commands/gsd-t-test-sync.md +381 -381
- package/commands/gsd-t-triage-and-merge.md +171 -171
- package/commands/gsd-t-verify.md +382 -382
- package/commands/gsd-t-visualize.md +118 -118
- package/commands/gsd-t-wave.md +401 -378
- package/docs/GSD-T-README.md +425 -422
- package/docs/architecture.md +385 -369
- package/docs/harness-design-analysis.md +371 -0
- package/docs/infrastructure.md +205 -205
- package/docs/prd-graph-engine.md +398 -398
- package/docs/prd-gsd2-hybrid.md +559 -559
- package/docs/prd-harness-evolution.md +583 -0
- package/docs/requirements.md +14 -0
- package/docs/workflows.md +226 -226
- package/examples/.gsd-t/domains/example-domain/scope.md +13 -13
- package/package.json +40 -40
- package/scripts/gsd-t-auto-route.js +39 -39
- package/scripts/gsd-t-dashboard-mockup.html +1143 -1143
- package/scripts/gsd-t-dashboard-server.js +171 -171
- package/scripts/gsd-t-dashboard.html +262 -262
- package/scripts/gsd-t-event-writer.js +128 -128
- package/scripts/gsd-t-statusline.js +94 -94
- package/scripts/gsd-t-tools.js +175 -175
- package/templates/CLAUDE-global.md +639 -614
- package/templates/CLAUDE-project.md +24 -0
- package/templates/backlog-settings.md +18 -18
- package/templates/backlog.md +1 -1
- package/templates/progress.md +40 -40
- package/templates/shared-services-contract.md +60 -60
- package/templates/stacks/desktop.ini +2 -2
- package/bin/desktop.ini +0 -2
- package/commands/desktop.ini +0 -2
- package/docs/ci-examples/desktop.ini +0 -2
- package/docs/desktop.ini +0 -2
- package/examples/.gsd-t/contracts/desktop.ini +0 -2
- package/examples/.gsd-t/desktop.ini +0 -2
- package/examples/.gsd-t/domains/desktop.ini +0 -2
- package/examples/.gsd-t/domains/example-domain/desktop.ini +0 -2
- package/examples/desktop.ini +0 -2
- package/examples/rules/desktop.ini +0 -2
- package/scripts/desktop.ini +0 -2
- package/templates/desktop.ini +0 -2
|
@@ -1,171 +1,171 @@
|
|
|
1
|
-
# GSD-T: Triage and Merge — Auto-Review, Merge, and Publish GitHub Branches
|
|
2
|
-
|
|
3
|
-
You are triaging unmerged GitHub branches for safety, then auto-merging, committing, and publishing those that pass all safety checks.
|
|
4
|
-
|
|
5
|
-
## Step 1: Publish Gate
|
|
6
|
-
|
|
7
|
-
Check the project's autonomy level in `CLAUDE.md`:
|
|
8
|
-
|
|
9
|
-
- **Level 3 (Full Auto / "yolo")**: Auto-publish is ON. Skip the prompt and proceed.
|
|
10
|
-
- **Level 1 or 2**: Ask the user before starting:
|
|
11
|
-
```
|
|
12
|
-
Auto-publish after merge? This will version bump, npm publish, and deploy.
|
|
13
|
-
(yes/no)
|
|
14
|
-
```
|
|
15
|
-
If **no**: triage and merge only — skip version bump, npm publish, and deploy (Steps 7-8).
|
|
16
|
-
If **yes**: full pipeline including publish.
|
|
17
|
-
|
|
18
|
-
Store the decision for use in Step 7.
|
|
19
|
-
|
|
20
|
-
## Step 2: Load Context
|
|
21
|
-
|
|
22
|
-
Read:
|
|
23
|
-
1. `CLAUDE.md` — project conventions, pre-commit gate, autonomy level
|
|
24
|
-
2. `.gsd-t/progress.md` — current version and state
|
|
25
|
-
3. `package.json` — current version number
|
|
26
|
-
|
|
27
|
-
## Step 3: Fetch and Identify Branches
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
git fetch --all
|
|
31
|
-
git branch -r --no-merged main
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
If no unmerged branches exist, report "No unmerged branches found" and stop.
|
|
35
|
-
|
|
36
|
-
## Step 4: Triage Each Branch
|
|
37
|
-
|
|
38
|
-
For each unmerged branch, collect:
|
|
39
|
-
|
|
40
|
-
1. **Commit log**: `git log main..origin/{branch} --oneline`
|
|
41
|
-
2. **Files changed**: `git diff main...origin/{branch} --stat`
|
|
42
|
-
3. **Full diff**: `git diff main...origin/{branch}` (for impact scoring)
|
|
43
|
-
4. **Conflict check**: `git merge --no-commit --no-ff origin/{branch}` then `git merge --abort`
|
|
44
|
-
|
|
45
|
-
### Impact Scoring
|
|
46
|
-
|
|
47
|
-
Score each branch on a 3-tier scale:
|
|
48
|
-
|
|
49
|
-
| Tier | Criteria | Action |
|
|
50
|
-
|------|----------|--------|
|
|
51
|
-
| **Auto-merge** | Docs-only, contracts-only, templates with no behavior change, < 100 lines changed, no merge conflicts, no command file behavior changes | Merge automatically |
|
|
52
|
-
| **Review** | Command file changes, CLI behavior changes, new files in `commands/`, template behavior changes, > 100 lines, wave/phase sequence changes | Show summary, ask user to confirm |
|
|
53
|
-
| **Skip** | Merge conflicts, version-sensitive changes (package.json version), breaking changes to existing interfaces | Report why, do not merge |
|
|
54
|
-
|
|
55
|
-
### Sensitive File Patterns (trigger Review tier)
|
|
56
|
-
|
|
57
|
-
- `commands/*.md` — command behavior
|
|
58
|
-
- `bin/gsd-t.js` — CLI installer
|
|
59
|
-
- `templates/CLAUDE-global.md` — global config template
|
|
60
|
-
- `scripts/*.js` — hook scripts
|
|
61
|
-
- `package.json` — version/dependencies
|
|
62
|
-
|
|
63
|
-
### Safe File Patterns (stay in Auto-merge tier)
|
|
64
|
-
|
|
65
|
-
- `.gsd-t/contracts/*.md` — contract definitions
|
|
66
|
-
- `.gsd-t/techdebt.md` — debt tracking
|
|
67
|
-
- `docs/*.md` — documentation
|
|
68
|
-
- `examples/**` — example files
|
|
69
|
-
- `*.md` in root (except README.md with structural changes)
|
|
70
|
-
|
|
71
|
-
## Step 5: Report Triage Results
|
|
72
|
-
|
|
73
|
-
Display a summary table:
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
77
|
-
║ Branch Triage Results ║
|
|
78
|
-
╠══════════════════════════════════════════════════════════════════════════════╣
|
|
79
|
-
|
|
80
|
-
AUTO-MERGE
|
|
81
|
-
──────────
|
|
82
|
-
✓ {branch-name} — {commit count} commits, {lines} lines, {description}
|
|
83
|
-
|
|
84
|
-
NEEDS REVIEW
|
|
85
|
-
────────────
|
|
86
|
-
? {branch-name} — {commit count} commits, {lines} lines, {reason for review}
|
|
87
|
-
|
|
88
|
-
SKIPPED
|
|
89
|
-
───────
|
|
90
|
-
✗ {branch-name} — {reason} (conflicts / breaking changes)
|
|
91
|
-
|
|
92
|
-
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Step 6: Merge Safe Branches
|
|
96
|
-
|
|
97
|
-
For each Auto-merge branch:
|
|
98
|
-
1. `git merge origin/{branch} --no-edit`
|
|
99
|
-
2. Verify merge succeeded
|
|
100
|
-
3. Log the merge
|
|
101
|
-
|
|
102
|
-
For each Review branch:
|
|
103
|
-
1. Show the diff summary and reason it needs review
|
|
104
|
-
2. Ask: "Merge {branch}? (yes/no)"
|
|
105
|
-
3. If yes, merge it
|
|
106
|
-
|
|
107
|
-
If ALL branches were skipped (none merged), report why and stop.
|
|
108
|
-
|
|
109
|
-
## Step 7: Version Bump and Publish
|
|
110
|
-
|
|
111
|
-
**If publish gate is OFF** (user declined in Step 1): Skip this step entirely. Report merged branches and stop.
|
|
112
|
-
|
|
113
|
-
After all merges complete:
|
|
114
|
-
|
|
115
|
-
1. **Determine version bump**:
|
|
116
|
-
- If any merged branch adds new commands → bump minor
|
|
117
|
-
- If merged branches are docs/contracts/fixes only → bump patch
|
|
118
|
-
- If any merged branch has breaking changes → bump minor (breaking = major, but those should be in Review tier)
|
|
119
|
-
|
|
120
|
-
2. **Update files**:
|
|
121
|
-
- `package.json` — bump version
|
|
122
|
-
- `.gsd-t/progress.md` — update version + add Decision Log entry summarizing all merged branches
|
|
123
|
-
- `CHANGELOG.md` — add release entry listing what each branch contributed
|
|
124
|
-
|
|
125
|
-
3. **Pre-Commit Gate**: Run the project-specific pre-commit checklist:
|
|
126
|
-
- If any merged branch changed command files → update GSD-T-README.md, README.md, CLAUDE-global template, gsd-t-help
|
|
127
|
-
- If any merged branch changed CLI → verify install/update/status/doctor work
|
|
128
|
-
- If any merged branch changed templates → verify gsd-t-init output
|
|
129
|
-
|
|
130
|
-
4. **Commit**: `git add` changed files and commit:
|
|
131
|
-
```
|
|
132
|
-
chore: version bump to v{version} for merged branch(es)
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
5. **Push**: `git push`
|
|
136
|
-
|
|
137
|
-
6. **Publish**: `npm publish --access public`
|
|
138
|
-
|
|
139
|
-
7. **Deploy**: Install globally and propagate:
|
|
140
|
-
```bash
|
|
141
|
-
npm install -g @tekyzinc/gsd-t@{version}
|
|
142
|
-
gsd-t update-all
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
## Step 8: Report
|
|
146
|
-
|
|
147
|
-
Display final summary:
|
|
148
|
-
|
|
149
|
-
```
|
|
150
|
-
Triage complete:
|
|
151
|
-
Merged: {N} branches
|
|
152
|
-
Skipped: {N} branches
|
|
153
|
-
Published: v{new-version} (or "Skipped — publish gate off")
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
## Document Ripple
|
|
157
|
-
|
|
158
|
-
After completing triage-and-merge, check if any of these need updating based on what was merged:
|
|
159
|
-
|
|
160
|
-
1. **`.gsd-t/progress.md`** — Decision Log entry (always)
|
|
161
|
-
2. **`CHANGELOG.md`** — Release notes (always, if publishing)
|
|
162
|
-
3. **`README.md`** — If merged branches changed commands or structure
|
|
163
|
-
4. **`docs/GSD-T-README.md`** — If merged branches changed commands or workflow
|
|
164
|
-
5. **`templates/CLAUDE-global.md`** — If merged branches added commands
|
|
165
|
-
6. **`commands/gsd-t-help.md`** — If merged branches added commands
|
|
166
|
-
|
|
167
|
-
$ARGUMENTS
|
|
168
|
-
|
|
169
|
-
## Auto-Clear
|
|
170
|
-
|
|
171
|
-
All work is committed to project files. Execute `/clear` to free the context window for the next command.
|
|
1
|
+
# GSD-T: Triage and Merge — Auto-Review, Merge, and Publish GitHub Branches
|
|
2
|
+
|
|
3
|
+
You are triaging unmerged GitHub branches for safety, then auto-merging, committing, and publishing those that pass all safety checks.
|
|
4
|
+
|
|
5
|
+
## Step 1: Publish Gate
|
|
6
|
+
|
|
7
|
+
Check the project's autonomy level in `CLAUDE.md`:
|
|
8
|
+
|
|
9
|
+
- **Level 3 (Full Auto / "yolo")**: Auto-publish is ON. Skip the prompt and proceed.
|
|
10
|
+
- **Level 1 or 2**: Ask the user before starting:
|
|
11
|
+
```
|
|
12
|
+
Auto-publish after merge? This will version bump, npm publish, and deploy.
|
|
13
|
+
(yes/no)
|
|
14
|
+
```
|
|
15
|
+
If **no**: triage and merge only — skip version bump, npm publish, and deploy (Steps 7-8).
|
|
16
|
+
If **yes**: full pipeline including publish.
|
|
17
|
+
|
|
18
|
+
Store the decision for use in Step 7.
|
|
19
|
+
|
|
20
|
+
## Step 2: Load Context
|
|
21
|
+
|
|
22
|
+
Read:
|
|
23
|
+
1. `CLAUDE.md` — project conventions, pre-commit gate, autonomy level
|
|
24
|
+
2. `.gsd-t/progress.md` — current version and state
|
|
25
|
+
3. `package.json` — current version number
|
|
26
|
+
|
|
27
|
+
## Step 3: Fetch and Identify Branches
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
git fetch --all
|
|
31
|
+
git branch -r --no-merged main
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
If no unmerged branches exist, report "No unmerged branches found" and stop.
|
|
35
|
+
|
|
36
|
+
## Step 4: Triage Each Branch
|
|
37
|
+
|
|
38
|
+
For each unmerged branch, collect:
|
|
39
|
+
|
|
40
|
+
1. **Commit log**: `git log main..origin/{branch} --oneline`
|
|
41
|
+
2. **Files changed**: `git diff main...origin/{branch} --stat`
|
|
42
|
+
3. **Full diff**: `git diff main...origin/{branch}` (for impact scoring)
|
|
43
|
+
4. **Conflict check**: `git merge --no-commit --no-ff origin/{branch}` then `git merge --abort`
|
|
44
|
+
|
|
45
|
+
### Impact Scoring
|
|
46
|
+
|
|
47
|
+
Score each branch on a 3-tier scale:
|
|
48
|
+
|
|
49
|
+
| Tier | Criteria | Action |
|
|
50
|
+
|------|----------|--------|
|
|
51
|
+
| **Auto-merge** | Docs-only, contracts-only, templates with no behavior change, < 100 lines changed, no merge conflicts, no command file behavior changes | Merge automatically |
|
|
52
|
+
| **Review** | Command file changes, CLI behavior changes, new files in `commands/`, template behavior changes, > 100 lines, wave/phase sequence changes | Show summary, ask user to confirm |
|
|
53
|
+
| **Skip** | Merge conflicts, version-sensitive changes (package.json version), breaking changes to existing interfaces | Report why, do not merge |
|
|
54
|
+
|
|
55
|
+
### Sensitive File Patterns (trigger Review tier)
|
|
56
|
+
|
|
57
|
+
- `commands/*.md` — command behavior
|
|
58
|
+
- `bin/gsd-t.js` — CLI installer
|
|
59
|
+
- `templates/CLAUDE-global.md` — global config template
|
|
60
|
+
- `scripts/*.js` — hook scripts
|
|
61
|
+
- `package.json` — version/dependencies
|
|
62
|
+
|
|
63
|
+
### Safe File Patterns (stay in Auto-merge tier)
|
|
64
|
+
|
|
65
|
+
- `.gsd-t/contracts/*.md` — contract definitions
|
|
66
|
+
- `.gsd-t/techdebt.md` — debt tracking
|
|
67
|
+
- `docs/*.md` — documentation
|
|
68
|
+
- `examples/**` — example files
|
|
69
|
+
- `*.md` in root (except README.md with structural changes)
|
|
70
|
+
|
|
71
|
+
## Step 5: Report Triage Results
|
|
72
|
+
|
|
73
|
+
Display a summary table:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
77
|
+
║ Branch Triage Results ║
|
|
78
|
+
╠══════════════════════════════════════════════════════════════════════════════╣
|
|
79
|
+
|
|
80
|
+
AUTO-MERGE
|
|
81
|
+
──────────
|
|
82
|
+
✓ {branch-name} — {commit count} commits, {lines} lines, {description}
|
|
83
|
+
|
|
84
|
+
NEEDS REVIEW
|
|
85
|
+
────────────
|
|
86
|
+
? {branch-name} — {commit count} commits, {lines} lines, {reason for review}
|
|
87
|
+
|
|
88
|
+
SKIPPED
|
|
89
|
+
───────
|
|
90
|
+
✗ {branch-name} — {reason} (conflicts / breaking changes)
|
|
91
|
+
|
|
92
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Step 6: Merge Safe Branches
|
|
96
|
+
|
|
97
|
+
For each Auto-merge branch:
|
|
98
|
+
1. `git merge origin/{branch} --no-edit`
|
|
99
|
+
2. Verify merge succeeded
|
|
100
|
+
3. Log the merge
|
|
101
|
+
|
|
102
|
+
For each Review branch:
|
|
103
|
+
1. Show the diff summary and reason it needs review
|
|
104
|
+
2. Ask: "Merge {branch}? (yes/no)"
|
|
105
|
+
3. If yes, merge it
|
|
106
|
+
|
|
107
|
+
If ALL branches were skipped (none merged), report why and stop.
|
|
108
|
+
|
|
109
|
+
## Step 7: Version Bump and Publish
|
|
110
|
+
|
|
111
|
+
**If publish gate is OFF** (user declined in Step 1): Skip this step entirely. Report merged branches and stop.
|
|
112
|
+
|
|
113
|
+
After all merges complete:
|
|
114
|
+
|
|
115
|
+
1. **Determine version bump**:
|
|
116
|
+
- If any merged branch adds new commands → bump minor
|
|
117
|
+
- If merged branches are docs/contracts/fixes only → bump patch
|
|
118
|
+
- If any merged branch has breaking changes → bump minor (breaking = major, but those should be in Review tier)
|
|
119
|
+
|
|
120
|
+
2. **Update files**:
|
|
121
|
+
- `package.json` — bump version
|
|
122
|
+
- `.gsd-t/progress.md` — update version + add Decision Log entry summarizing all merged branches
|
|
123
|
+
- `CHANGELOG.md` — add release entry listing what each branch contributed
|
|
124
|
+
|
|
125
|
+
3. **Pre-Commit Gate**: Run the project-specific pre-commit checklist:
|
|
126
|
+
- If any merged branch changed command files → update GSD-T-README.md, README.md, CLAUDE-global template, gsd-t-help
|
|
127
|
+
- If any merged branch changed CLI → verify install/update/status/doctor work
|
|
128
|
+
- If any merged branch changed templates → verify gsd-t-init output
|
|
129
|
+
|
|
130
|
+
4. **Commit**: `git add` changed files and commit:
|
|
131
|
+
```
|
|
132
|
+
chore: version bump to v{version} for merged branch(es)
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
5. **Push**: `git push`
|
|
136
|
+
|
|
137
|
+
6. **Publish**: `npm publish --access public`
|
|
138
|
+
|
|
139
|
+
7. **Deploy**: Install globally and propagate:
|
|
140
|
+
```bash
|
|
141
|
+
npm install -g @tekyzinc/gsd-t@{version}
|
|
142
|
+
gsd-t update-all
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Step 8: Report
|
|
146
|
+
|
|
147
|
+
Display final summary:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
Triage complete:
|
|
151
|
+
Merged: {N} branches
|
|
152
|
+
Skipped: {N} branches
|
|
153
|
+
Published: v{new-version} (or "Skipped — publish gate off")
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Document Ripple
|
|
157
|
+
|
|
158
|
+
After completing triage-and-merge, check if any of these need updating based on what was merged:
|
|
159
|
+
|
|
160
|
+
1. **`.gsd-t/progress.md`** — Decision Log entry (always)
|
|
161
|
+
2. **`CHANGELOG.md`** — Release notes (always, if publishing)
|
|
162
|
+
3. **`README.md`** — If merged branches changed commands or structure
|
|
163
|
+
4. **`docs/GSD-T-README.md`** — If merged branches changed commands or workflow
|
|
164
|
+
5. **`templates/CLAUDE-global.md`** — If merged branches added commands
|
|
165
|
+
6. **`commands/gsd-t-help.md`** — If merged branches added commands
|
|
166
|
+
|
|
167
|
+
$ARGUMENTS
|
|
168
|
+
|
|
169
|
+
## Auto-Clear
|
|
170
|
+
|
|
171
|
+
All work is committed to project files. Execute `/clear` to free the context window for the next command.
|