gsdd-cli 0.25.0 → 0.26.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/README.md +97 -548
- package/bin/adapters/claude.mjs +18 -8
- package/bin/adapters/opencode.mjs +3 -3
- package/bin/gsdd.mjs +13 -30
- package/bin/lib/closeout-report.mjs +32 -6
- package/bin/lib/control-map.mjs +94 -19
- package/bin/lib/global-install.mjs +616 -0
- package/bin/lib/global-manifest.mjs +122 -0
- package/bin/lib/health.mjs +2 -1
- package/bin/lib/init-flow.mjs +3 -0
- package/bin/lib/init-prompts.mjs +6 -4
- package/bin/lib/init-runtime.mjs +25 -2
- package/bin/lib/models.mjs +136 -5
- package/bin/lib/next.mjs +834 -0
- package/bin/lib/work-context.mjs +760 -0
- package/bin/lib/workflows.mjs +27 -0
- package/distilled/README.md +30 -3
- package/distilled/templates/agents.block.md +1 -1
- package/distilled/templates/agents.md +0 -1
- package/distilled/templates/codebase/architecture.md +0 -1
- package/distilled/templates/codebase/concerns.md +0 -1
- package/distilled/templates/codebase/conventions.md +0 -1
- package/distilled/templates/codebase/stack.md +0 -1
- package/distilled/templates/roadmap.md +0 -1
- package/distilled/templates/spec.md +0 -1
- package/distilled/workflows/new-project.md +1 -1
- package/docs/RUNTIME-SUPPORT.md +23 -3
- package/docs/USER-GUIDE.md +40 -4
- package/docs/VERIFICATION-DISCIPLINE.md +3 -1
- package/package.json +2 -2
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
function defineWorkflow({ mutatesArtifacts = true, ...workflow }) {
|
|
2
|
+
return {
|
|
3
|
+
...workflow,
|
|
4
|
+
mutatesArtifacts,
|
|
5
|
+
agent: mutatesArtifacts ? 'Code' : 'Plan',
|
|
6
|
+
opencodeType: mutatesArtifacts ? 'edit' : 'plan',
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const WORKFLOWS = [
|
|
11
|
+
defineWorkflow({ name: 'gsdd-new-project', workflow: 'new-project.md', description: 'New project - questioning, codebase audit, research, spec, roadmap' }),
|
|
12
|
+
defineWorkflow({ name: 'gsdd-map-codebase', workflow: 'map-codebase.md', description: 'Map or refresh codebase - 4 parallel mappers, staleness check, secrets scan' }),
|
|
13
|
+
defineWorkflow({ name: 'gsdd-plan', workflow: 'plan.md', description: 'Plan a phase - research check, backward planning, task creation' }),
|
|
14
|
+
defineWorkflow({ name: 'gsdd-execute', workflow: 'execute.md', description: 'Execute a phase plan - implement tasks, verify changes, follow repo git conventions' }),
|
|
15
|
+
defineWorkflow({ name: 'gsdd-verify', workflow: 'verify.md', description: 'Verify a completed phase - 3-level checks, anti-pattern scan' }),
|
|
16
|
+
defineWorkflow({ name: 'gsdd-verify-work', workflow: 'verify-work.md', description: 'Conversational UAT testing - validate user-facing behavior with structured gap tracking' }),
|
|
17
|
+
defineWorkflow({ name: 'gsdd-audit-milestone', workflow: 'audit-milestone.md', description: 'Audit a completed milestone - cross-phase integration, requirements coverage, E2E flows' }),
|
|
18
|
+
defineWorkflow({ name: 'gsdd-complete-milestone', workflow: 'complete-milestone.md', description: 'Complete milestone - archive, evolve spec, collapse roadmap' }),
|
|
19
|
+
defineWorkflow({ name: 'gsdd-new-milestone', workflow: 'new-milestone.md', description: 'New milestone - gather goals, define requirements, create roadmap phases' }),
|
|
20
|
+
defineWorkflow({ name: 'gsdd-plan-milestone-gaps', workflow: 'plan-milestone-gaps.md', description: 'Plan gap closure phases from audit results' }),
|
|
21
|
+
defineWorkflow({ name: 'gsdd-quick', workflow: 'quick.md', description: 'Quick task - plan and execute a sub-hour task outside the phase cycle' }),
|
|
22
|
+
defineWorkflow({ name: 'gsdd-pause', workflow: 'pause.md', description: 'Pause work - save session context for seamless resumption' }),
|
|
23
|
+
defineWorkflow({ name: 'gsdd-resume', workflow: 'resume.md', description: 'Resume work - restore context and route to next action' }),
|
|
24
|
+
defineWorkflow({ name: 'gsdd-progress', workflow: 'progress.md', description: 'Check progress - show project status and route to next action', mutatesArtifacts: false }),
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
export const FRAMEWORK_VERSION = 'v1.4';
|
package/distilled/README.md
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
# Workspine
|
|
2
2
|
|
|
3
|
-
A repo-native delivery spine for planning, checking, execution, verification, and handoff
|
|
3
|
+
A repo-native delivery spine for the part of AI coding that still needs human judgment: planning, checking, execution, verification, and handoff.
|
|
4
4
|
|
|
5
5
|
Workspine keeps planning, execution, verification, handoff, and progress state in the repo so work survives cold starts, runtime switches, and session loss. The retained package and CLI contracts remain `gsdd-cli` / `gsdd`.
|
|
6
6
|
|
|
7
|
+
## Why It Matters
|
|
8
|
+
|
|
9
|
+
AI coding agents make code cheaper to produce. They do not make architecture, scope control, review, security, or release confidence disappear. In practice, they move more of the work into deciding what should happen, checking whether it happened, and preserving enough context for the next session or runtime to continue safely.
|
|
10
|
+
|
|
11
|
+
Workspine is built for that pressure. It gives serious AI-assisted work one repo-native path:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
new-project -> plan -> execute -> verify
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The plan is a reviewed contract before implementation starts. Execution is a separate step. Verification records what passed, what failed, and what still needs human judgment.
|
|
18
|
+
|
|
19
|
+
## When To Use It
|
|
20
|
+
|
|
21
|
+
Use Workspine when a change spans multiple files, sessions, agents, or runtimes; when architecture, data, security, or release confidence matter; or when proof needs to live in the repo instead of only in a chat transcript.
|
|
22
|
+
|
|
23
|
+
Skip the full lifecycle for tiny, obvious edits. Direct prompting in your usual coding agent is cheaper for low-risk work. Workspine is for the work where guessing gets expensive.
|
|
24
|
+
|
|
7
25
|
## What This Is
|
|
8
26
|
|
|
9
27
|
Workspine is a small set of workflow sources plus a CLI (`gsdd`) that:
|
|
@@ -22,7 +40,7 @@ Launch proof posture:
|
|
|
22
40
|
- Directly validated in repo truth: Claude Code, Codex CLI, OpenCode
|
|
23
41
|
- Qualified support only: Cursor, Copilot, Gemini CLI can use the shared `.agents/skills/` surface plus optional governance when their skill or slash discovery sees it; proof and ergonomics differ from the directly validated runtimes
|
|
24
42
|
- Codex CLI validation does not automatically cover Codex VS Code or the Codex app; use native discovery there when available, otherwise open or paste `.agents/skills/gsdd-*/SKILL.md`
|
|
25
|
-
-
|
|
43
|
+
- Repo-local generated runtime surfaces are renderer-checked through `npx -y gsdd-cli health`, with deterministic repair through `npx -y gsdd-cli update` (bare `gsdd ...` is equivalent only when globally installed)
|
|
26
44
|
- Public proof entrypoints: `docs/BROWNFIELD-PROOF.md`, `docs/proof/consumer-node-cli/README.md`, `docs/RUNTIME-SUPPORT.md`, `docs/VERIFICATION-DISCIPLINE.md`
|
|
27
45
|
|
|
28
46
|
## Quick Start
|
|
@@ -34,6 +52,15 @@ npx -y gsdd-cli init
|
|
|
34
52
|
|
|
35
53
|
In a TTY, `npx -y gsdd-cli init` opens a guided install wizard: choose runtimes first, then decide separately whether repo-wide `AGENTS.md` governance is worth installing. If `gsdd-cli` is globally installed, `gsdd init` is the equivalent shorthand.
|
|
36
54
|
|
|
55
|
+
For personal cross-repo availability, run:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npx -y gsdd-cli install --global
|
|
59
|
+
npx -y gsdd-cli install --global --tools claude,opencode,codex,copilot
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Global install writes selected Workspine skills and native agent surfaces into user-level agent homes. It does not create `.planning/` in the current repo.
|
|
63
|
+
|
|
37
64
|
Optional adapters:
|
|
38
65
|
```bash
|
|
39
66
|
npx -y gsdd-cli init --tools claude
|
|
@@ -78,7 +105,7 @@ Helper command for long-running sessions:
|
|
|
78
105
|
```
|
|
79
106
|
npx -y gsdd-cli control-map [--json] [--with-ignored] -> computed repo/worktree/planning state plus local annotations
|
|
80
107
|
npx -y gsdd-cli control-map annotate set|clear -> optional stale-aware local intent maintenance
|
|
81
|
-
npx -y gsdd-cli closeout-report [--json] [--phase <N>] -> read-only replay of closeout blockers, warnings, and next safe action
|
|
108
|
+
npx -y gsdd-cli closeout-report [--json] [--phase <N>] -> read-only replay of closeout blockers, warnings, fixes, and next safe action
|
|
82
109
|
```
|
|
83
110
|
|
|
84
111
|
## Brownfield Entry Contract
|
|
@@ -6,6 +6,7 @@ Lifecycle: `new-project -> plan -> execute -> verify -> audit-milestone`.
|
|
|
6
6
|
|
|
7
7
|
Core skills: `gsdd-new-project`, `gsdd-plan`, `gsdd-execute`, `gsdd-verify`, `gsdd-progress`.
|
|
8
8
|
Planning state: `.planning/`. Portable workflows: `.agents/skills/gsdd-*/SKILL.md`.
|
|
9
|
+
Install/repair: `npx -y gsdd-cli init` creates repo-local skills and planning state; `npx -y gsdd-cli health` verifies repo-local generated surfaces; `npx -y gsdd-cli update` repairs repo-local drift. Global personal skills use `npx -y gsdd-cli install --global` and are repaired by rerunning that install for the selected targets.
|
|
9
10
|
|
|
10
11
|
Invoke: `/gsdd-plan` (Claude, OpenCode; Cursor/Copilot/Gemini when skill discovery is available) · `$gsdd-plan` (Codex CLI, plan-only until `$gsdd-execute`) · open SKILL.md directly elsewhere.
|
|
11
12
|
|
|
@@ -18,4 +19,3 @@ Rules:
|
|
|
18
19
|
6. Git guidance in `.planning/config.json` -> `gitProtocol` is advisory; follow the repo's own conventions first.
|
|
19
20
|
|
|
20
21
|
If `.planning/` is missing, run `npx -y gsdd-cli init` then `gsdd-new-project`; bare `gsdd init` is equivalent only when globally installed.
|
|
21
|
-
|
|
@@ -99,7 +99,7 @@ This is an internal prerequisite of `new-project`, not a user-facing routing req
|
|
|
99
99
|
|
|
100
100
|
If `.planning/brownfield-change/CHANGE.md` exists, keep it as the current bounded continuity anchor while you do this work. Do not treat its presence as evidence that the user should have used another command instead. The only question is whether they intentionally want to widen that bounded brownfield change into full milestone planning.
|
|
101
101
|
|
|
102
|
-
Read and follow `.agents/skills/gsdd-map-codebase/SKILL.md`
|
|
102
|
+
Read and follow the `gsdd-map-codebase` skill now. Prefer the repo-local `.agents/skills/gsdd-map-codebase/SKILL.md` when it exists; otherwise use the globally installed `gsdd-map-codebase` skill available in the current runtime. Execute its full flow (check existing, spawn mappers, validate, secrets scan). When map-codebase completes, return here and continue from Brownfield Validated Requirements Inference below.
|
|
103
103
|
|
|
104
104
|
### Brownfield Validated Requirements Inference
|
|
105
105
|
|
package/docs/RUNTIME-SUPPORT.md
CHANGED
|
@@ -4,7 +4,11 @@ Workspine is a repo-native delivery spine with portable multi-runtime workflow s
|
|
|
4
4
|
|
|
5
5
|
This matrix is the release-floor truth surface.
|
|
6
6
|
|
|
7
|
-
Human setup and repair commands in this document use `npx -y gsdd-cli ...` because that works without a global install. If you installed `gsdd-cli` globally, the equivalent bare `gsdd ...` command is fine.
|
|
7
|
+
Human repo setup and repair commands in this document use `npx -y gsdd-cli ...` because that works without a global install. If you installed `gsdd-cli` globally, the equivalent bare `gsdd ...` command is fine. For cross-repo personal use, `npx -y gsdd-cli install --global` installs reusable Workspine skills and native runtime surfaces into selected agent homes.
|
|
8
|
+
|
|
9
|
+
The install contract is deliberately skills-first: `npx -y gsdd-cli init` always creates `.agents/skills/gsdd-*` and `.planning/bin/gsdd*`; runtime-specific adapters are optional discovery or orchestration helpers layered on top.
|
|
10
|
+
|
|
11
|
+
Global install is separate from repo bootstrap. It does not create `.planning/`; it writes selected runtime surfaces under user-level agent homes and records Workspine ownership in per-runtime manifests.
|
|
8
12
|
|
|
9
13
|
## Support tiers
|
|
10
14
|
|
|
@@ -49,15 +53,31 @@ Two surfaces matter for users:
|
|
|
49
53
|
| GitHub Copilot | Qualified support | `.agents/skills/gsdd-*` | Skill/slash path when discovery is available; generated skill files are freshness-checked locally, but the runtime is not claimed as parity-validated |
|
|
50
54
|
| Gemini CLI | Qualified support | `.agents/skills/gsdd-*` | Skill/slash path when discovery is available; governance is optional, generated skill files are freshness-checked locally, and parity is not claimed |
|
|
51
55
|
|
|
52
|
-
##
|
|
56
|
+
## Global install surfaces
|
|
57
|
+
|
|
58
|
+
`npx -y gsdd-cli install --global` can install personal cross-repo surfaces for these targets:
|
|
59
|
+
|
|
60
|
+
| Target | Global surfaces |
|
|
61
|
+
| --- | --- |
|
|
62
|
+
| Claude Code | `~/.claude/skills`, `~/.claude/commands`, `~/.claude/agents` |
|
|
63
|
+
| OpenCode | `~/.agents/skills`, `~/.config/opencode/commands`, `~/.config/opencode/agents` |
|
|
64
|
+
| Codex CLI | `~/.agents/skills`, `~/.codex/agents` |
|
|
65
|
+
| GitHub Copilot CLI | `~/.agents/skills`, `~/.copilot/agents` |
|
|
66
|
+
|
|
67
|
+
Install availability is not a parity claim. GitHub Copilot CLI can receive global Workspine surfaces, but it remains in the qualified-support tier unless the release-floor proof for Copilot is raised deliberately.
|
|
68
|
+
|
|
69
|
+
When `OPENCODE_CONFIG_DIR` is set, OpenCode commands and agents are installed under that custom config root. Skills remain under the shared agent-compatible global root (`~/.agents/skills`), which OpenCode, Codex CLI, and GitHub Copilot CLI can all discover.
|
|
70
|
+
|
|
71
|
+
## Repo-Local Generated-Surface Freshness
|
|
53
72
|
|
|
54
73
|
The authored source contract stays in `distilled/workflows/*`. Generated runtime-facing files are trusted only through deterministic rendering:
|
|
55
74
|
|
|
56
|
-
- `npx -y gsdd-cli health` compares
|
|
75
|
+
- `npx -y gsdd-cli health` compares generated surfaces in the current repo-local `.planning/` workspace under `.agents/skills/`, `.planning/bin/`, `.claude/`, `.opencode/`, and `.codex/` against current render output.
|
|
57
76
|
- Workflow-internal deterministic helper commands run through `node .planning/bin/gsdd.mjs ...`.
|
|
58
77
|
- `npx -y gsdd-cli update` regenerates drifted generated surfaces from the authored workflow and delegate sources.
|
|
59
78
|
- Bare `gsdd health` and `gsdd update` are equivalent only when `gsdd-cli` is globally installed.
|
|
60
79
|
- Missing generated surfaces are not treated as drift unless the corresponding runtime surface is actually installed locally.
|
|
80
|
+
- Global user-home installs are refreshed by rerunning `npx -y gsdd-cli install --global --tools <targets>`; global runtime probes remain an internal pressure-harness concern, not a public install flag.
|
|
61
81
|
|
|
62
82
|
## Entry and helper surfaces
|
|
63
83
|
|
package/docs/USER-GUIDE.md
CHANGED
|
@@ -4,8 +4,24 @@ A detailed reference for Workspine workflows, troubleshooting, and configuration
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## Fast Path
|
|
8
|
+
|
|
9
|
+
For a new project or a broad brownfield effort:
|
|
10
|
+
|
|
11
|
+
1. Run `npx -y gsdd-cli init` from the repo root.
|
|
12
|
+
2. Start with `gsdd-new-project` unless the change is already small and concrete.
|
|
13
|
+
3. Review the plan from `gsdd-plan` before starting `gsdd-execute`.
|
|
14
|
+
4. Run `gsdd-verify` before calling the phase done.
|
|
15
|
+
|
|
16
|
+
Use `npx -y gsdd-cli init` for repo-local setup. Use `npx -y gsdd-cli install --global` to install reusable Workspine skills and native runtime surfaces into selected agent homes without creating `.planning/` in the current repo.
|
|
17
|
+
|
|
18
|
+
For a bounded existing-code change, use `gsdd-quick`. For an unfamiliar or risky repo, use `gsdd-map-codebase` before choosing between `gsdd-quick` and `gsdd-new-project`.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
7
22
|
## Table of Contents
|
|
8
23
|
|
|
24
|
+
- [Fast Path](#fast-path)
|
|
9
25
|
- [Workflow Diagrams](#workflow-diagrams)
|
|
10
26
|
- [Command Reference](#command-reference)
|
|
11
27
|
- [Configuration Reference](#configuration-reference)
|
|
@@ -159,6 +175,24 @@ The 7 check dimensions: requirement coverage, task completeness, dependency corr
|
|
|
159
175
|
|
|
160
176
|
## Command Reference
|
|
161
177
|
|
|
178
|
+
### Install Modes
|
|
179
|
+
|
|
180
|
+
Use local repo install when the project should own `.planning/`, `.agents/skills`, and optional repo-local runtime adapters:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
npx -y gsdd-cli init
|
|
184
|
+
npx -y gsdd-cli init --auto --tools all
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Use global agent install when you want Workspine workflows available across repos from your personal agent home:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
npx -y gsdd-cli install --global
|
|
191
|
+
npx -y gsdd-cli install --global --tools claude,opencode,codex,copilot
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Global install writes Workspine-managed files under selected agent homes and records per-runtime manifests. It does not bootstrap project planning state.
|
|
195
|
+
|
|
162
196
|
### Workflows (run via generated skills or adapters)
|
|
163
197
|
|
|
164
198
|
| Workflow | Purpose | When to Use |
|
|
@@ -186,6 +220,7 @@ The 7 check dimensions: requirement coverage, task completeness, dependency corr
|
|
|
186
220
|
| `npx -y gsdd-cli update [--tools <platform>]` | Regenerate skills/adapters from latest sources |
|
|
187
221
|
| `npx -y gsdd-cli update --templates` | Refresh role contracts and delegates (warns about user modifications) |
|
|
188
222
|
| `npx -y gsdd-cli control-map [--json] [--with-ignored]` | Show computed repo/worktree/planning state, dirty buckets, optional ignored-path scan, local annotations, and safe next interventions |
|
|
223
|
+
| `npx -y gsdd-cli closeout-report [--json] [--phase <N>]` | Read-only closeout replay: blockers, warnings, fixes, and next safe action (composed from control-map, health/preflight, verify, and UI-proof signals) |
|
|
189
224
|
| `npx -y gsdd-cli find-phase [N]` | Show phase info as JSON (for agent consumption) |
|
|
190
225
|
| `npx -y gsdd-cli verify <N>` | Run artifact checks for phase N |
|
|
191
226
|
| `npx -y gsdd-cli scaffold phase <N> [name]` | Create a new phase plan file |
|
|
@@ -200,10 +235,11 @@ If `gsdd-cli` is globally installed, you can use the shorter `gsdd ...` form for
|
|
|
200
235
|
|
|
201
236
|
Normal user flow:
|
|
202
237
|
|
|
203
|
-
1. Run `npx gsdd-cli init`.
|
|
238
|
+
1. Run `npx -y gsdd-cli init`.
|
|
204
239
|
2. Enter workflows through your runtime surface: `/gsdd-*` or `$gsdd-*`.
|
|
205
|
-
3. Use `gsdd health` to check
|
|
206
|
-
4. Use `npx gsdd-cli update` when generated surfaces drift or you want the latest shipped output.
|
|
240
|
+
3. Use `npx -y gsdd-cli health` to check repo-local generated surfaces.
|
|
241
|
+
4. Use `npx -y gsdd-cli update` when repo-local generated surfaces drift or you want the latest shipped output.
|
|
242
|
+
5. For personal global installs, rerun `npx -y gsdd-cli install --global --tools <targets>` to repair or refresh selected agent homes.
|
|
207
243
|
|
|
208
244
|
Surface split:
|
|
209
245
|
|
|
@@ -410,7 +446,7 @@ If you've modified any templates, the generation manifest detects this and warns
|
|
|
410
446
|
|
|
411
447
|
### Generated Surfaces Drift Or A Runtime Command Goes Missing
|
|
412
448
|
|
|
413
|
-
|
|
449
|
+
In a repo-local `.planning/` workspace, start with `npx -y gsdd-cli health`. If it reports drift or missing installed generated surfaces, run `npx -y gsdd-cli update` for the whole workspace or `npx -y gsdd-cli update --tools <runtime>` for a specific runtime. For global personal installs, rerun `npx -y gsdd-cli install --global --tools <targets>`.
|
|
414
450
|
|
|
415
451
|
That repair path is deterministic for generated files. It does not imply that every runtime has equal native ergonomics or equal validation depth.
|
|
416
452
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Workspine is not just a set of prompts. Its core delivery claim depends on explicit checking and verification loops that survive across runtimes.
|
|
4
4
|
|
|
5
|
+
AI output is cheap enough that the scarce part is often proof: whether the change fits the codebase, whether the right behavior is wired in, and whether the remaining risk is visible to a human reviewer. Workspine treats that proof as part of the workflow, not as an optional cleanup note.
|
|
6
|
+
|
|
5
7
|
## The delivery contract
|
|
6
8
|
|
|
7
9
|
The durable loop is:
|
|
@@ -46,7 +48,7 @@ See `docs/BROWNFIELD-PROOF.md` for the reader-facing narrative and `docs/proof/c
|
|
|
46
48
|
|
|
47
49
|
## What this note does and does not claim
|
|
48
50
|
|
|
49
|
-
This note explains the release-floor discipline that Workspine can prove publicly
|
|
51
|
+
This note explains the release-floor discipline that Workspine can prove publicly in this release.
|
|
50
52
|
|
|
51
53
|
It does **not** claim:
|
|
52
54
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gsdd-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"description": "Workspine — a repo-native delivery spine for long-horizon AI-assisted work, with directly validated support for Claude Code, Codex CLI, and OpenCode, published as gsdd-cli.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "npm run test:gsdd",
|
|
11
|
-
"test:gsdd": "node tests/gsdd.init.test.cjs && node tests/gsdd.models.test.cjs && node tests/gsdd.consumer-ceremony.test.cjs && node tests/gsdd.manifest.test.cjs && node tests/gsdd.plan.adapters.test.cjs && node tests/gsdd.audit-milestone.test.cjs && node tests/gsdd.invariants.test.cjs && node tests/gsdd.guards.test.cjs && node tests/gsdd.health.test.cjs && node tests/gsdd.scenarios.test.cjs && node tests/gsdd.cross-runtime.test.cjs && node tests/gsdd.control-map.test.cjs && node tests/gsdd.closeout-report.test.cjs && node tests/phase.test.cjs && node tests/session-fingerprint.test.cjs",
|
|
11
|
+
"test:gsdd": "node tests/gsdd.init.test.cjs && node tests/gsdd.models.test.cjs && node tests/gsdd.consumer-ceremony.test.cjs && node tests/gsdd.manifest.test.cjs && node tests/gsdd.plan.adapters.test.cjs && node tests/gsdd.global-install-pressure.test.cjs && node tests/gsdd.audit-milestone.test.cjs && node tests/gsdd.invariants.test.cjs && node tests/gsdd.guards.test.cjs && node tests/gsdd.health.test.cjs && node tests/gsdd.scenarios.test.cjs && node tests/gsdd.cross-runtime.test.cjs && node tests/gsdd.control-map.test.cjs && node tests/gsdd.closeout-report.test.cjs && node tests/gsdd.next.test.cjs && node tests/phase.test.cjs && node tests/session-fingerprint.test.cjs",
|
|
12
12
|
"prepublishOnly": "node -e \"const ok=process.env.GITHUB_ACTIONS==='true'&&process.env.GITHUB_REF_NAME==='main'&&process.env.GITHUB_WORKFLOW==='Release'; if(!ok){console.error('Refusing to publish gsdd-cli outside the GitHub Actions Release workflow on main.'); process.exit(1)}\""
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|