chore: rebrand to GSD-redux/get-shit-done-redux
Mirror of code, issues, and PRs from the upstream gsd-build/get-shit-done, which appears compromised or abandoned (maintainer unreachable since 2026-04-01; $GSD token linked to rug-pull). - Adds rebrand notice block at top of English README - Removes $GSD token badge and @gsd_foundation X badge (keeps Discord) - Renames npm packages: get-shit-done-cc -> get-shit-done-redux, @gsd-build/sdk -> @gsd-redux/sdk - Updates all repo URLs across docs, workflows, package.json, bin/ - Updates ci@gsd-build -> ci@gsd-redux in workflow git identities - Leaves CHANGELOG and .changeset/* alone (historical, time-stamped)
This commit is contained in:
@@ -120,7 +120,7 @@ User-facing entry points. Each file contains YAML frontmatter (name, description
|
||||
|
||||
**Total commands:** see [`docs/INVENTORY.md`](INVENTORY.md#commands) for the authoritative count and full roster.
|
||||
|
||||
#### Two-stage hierarchical routing (v1.40, [#2792](https://github.com/gsd-build/get-shit-done/issues/2792))
|
||||
#### Two-stage hierarchical routing (v1.40, [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792))
|
||||
|
||||
To keep the eager skill-listing token cost low, v1.40 introduces six namespace **meta-skills** (`gsd-workflow`, `gsd-project`, `gsd-quality`, `gsd-context`, `gsd-manage`, `gsd-ideate` — sourced from `commands/gsd/ns-*.md`, but the invocable `name:` is the bare form shown here) layered above the concrete sub-skills. The model sees 6 namespace routers (~120 tokens) instead of a flat 86-skill listing (~2,150 tokens), selects a namespace, then routes to the concrete sub-skill via a routing table embedded in the namespace router's body. Namespace skills are **additive** — every concrete command is still directly invocable.
|
||||
|
||||
|
||||
@@ -20,13 +20,13 @@ A canary build NEVER becomes a `next` build directly, and a `next` build NEVER b
|
||||
|
||||
```bash
|
||||
# One-off invocation (npx)
|
||||
npx get-shit-done-cc@canary
|
||||
npx get-shit-done-redux@canary
|
||||
|
||||
# Pin to the canary dist-tag globally
|
||||
npm install -g get-shit-done-cc@canary
|
||||
npm install -g get-shit-done-redux@canary
|
||||
|
||||
# Pin to an exact canary version
|
||||
npm install -g get-shit-done-cc@1.50.0-canary.1
|
||||
npm install -g get-shit-done-redux@1.50.0-canary.1
|
||||
```
|
||||
|
||||
The CC installer's defensive purge rewrites stale config blocks left by older GSD versions, so reinstalling on top of an existing project is safe.
|
||||
@@ -47,20 +47,20 @@ The CC installer's defensive purge rewrites stale config blocks left by older GS
|
||||
|
||||
```bash
|
||||
# Back to the current stable
|
||||
npm install -g get-shit-done-cc@latest
|
||||
npm install -g get-shit-done-redux@latest
|
||||
|
||||
# Or to the next/RC train
|
||||
npm install -g get-shit-done-cc@next
|
||||
npm install -g get-shit-done-redux@next
|
||||
```
|
||||
|
||||
If you have a local project that interacted with canary-only features (for instance, an MVP-mode phase planned by 1.50.0-canary), the planner artifacts in `.planning/` remain valid — older GSD versions will just ignore the `**Mode:** mvp` field on phases.
|
||||
|
||||
## Reporting issues against canary
|
||||
|
||||
File against the [issue tracker](https://github.com/gsd-build/get-shit-done/issues) with the `bug` template. Include the exact canary version (`get-shit-done-cc --version` reports it) so triage can route the report back into the `dev` stream rather than the stable stream.
|
||||
File against the [issue tracker](https://github.com/GSD-redux/get-shit-done-redux/issues) with the `bug` template. Include the exact canary version (`get-shit-done-redux --version` reports it) so triage can route the report back into the `dev` stream rather than the stable stream.
|
||||
|
||||
## Where to look next
|
||||
|
||||
- Active canary release notes: [`docs/RELEASE-v1.50.0-canary.1.md`](RELEASE-v1.50.0-canary.1.md)
|
||||
- Stable release notes: [`CHANGELOG.md`](../CHANGELOG.md)
|
||||
- Stream architecture rationale: discussed across [#2727](https://github.com/gsd-build/get-shit-done/issues/2727), [#2773](https://github.com/gsd-build/get-shit-done/issues/2773) (codex schema-break and the resulting promotion bottleneck that motivated explicit stream isolation)
|
||||
- Stream architecture rationale: discussed across [#2727](https://github.com/GSD-redux/get-shit-done-redux/issues/2727), [#2773](https://github.com/GSD-redux/get-shit-done-redux/issues/2773) (codex schema-break and the resulting promotion bottleneck that motivated explicit stream isolation)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# GSD CLI Tools Reference
|
||||
|
||||
> Surface-area reference for `get-shit-done/bin/gsd-tools.cjs` (legacy Node CLI). Workflows and agents should prefer `gsd-sdk query` or `@gsd-build/sdk` where a handler exists — see [SDK and programmatic access](#sdk-and-programmatic-access). For slash commands and user flows, see [Command Reference](COMMANDS.md).
|
||||
> Surface-area reference for `get-shit-done/bin/gsd-tools.cjs` (legacy Node CLI). Workflows and agents should prefer `gsd-sdk query` or `@gsd-redux/sdk` where a handler exists — see [SDK and programmatic access](#sdk-and-programmatic-access). For slash commands and user flows, see [Command Reference](COMMANDS.md).
|
||||
|
||||
---
|
||||
|
||||
@@ -43,7 +43,7 @@ Use this when authoring workflows, not when you only need the command list below
|
||||
- Resolves argv with the same **longest-prefix** rules as the typed registry (`resolveQueryArgv` in `sdk/src/query/registry.ts`). Unregistered commands **fail fast** — use `node …/gsd-tools.cjs` only for handlers not in the registry.
|
||||
- Full matrix (CJS command → registry key, CLI-only tools, aliases, golden tiers): [sdk/src/query/QUERY-HANDLERS.md](../sdk/src/query/QUERY-HANDLERS.md).
|
||||
|
||||
**2. TypeScript — `@gsd-build/sdk` (`GSDTools`, `createRegistry`)**
|
||||
**2. TypeScript — `@gsd-redux/sdk` (`GSDTools`, `createRegistry`)**
|
||||
|
||||
- `GSDTools` now routes through the **SDK Runtime Bridge Module** (`sdk/src/query-runtime-bridge.ts`). Native registry dispatch is preferred; subprocess fallback is explicit policy (`allowFallbackToSubprocess`) and can be disabled for strict SDK-only execution.
|
||||
- `strictSdk` mode fails fast when a command has no native adapter, making SDK publish/readiness checks deterministic.
|
||||
|
||||
@@ -16,7 +16,7 @@ The hyphen and colon forms are *runtime-specific spellings of the same command*.
|
||||
|
||||
## Namespace Meta-Skills
|
||||
|
||||
Six namespace routers ship as the first-stage entry points in v1.40. They keep the eager skill-listing token cost low (~120 tokens for 6 routers vs ~2,150 for a flat 86-skill listing) while the full surface remains directly invocable. The model selects a namespace, then routes to the concrete sub-skill. See [#2792](https://github.com/gsd-build/get-shit-done/issues/2792).
|
||||
Six namespace routers ship as the first-stage entry points in v1.40. They keep the eager skill-listing token cost low (~120 tokens for 6 routers vs ~2,150 for a flat 86-skill listing) while the full surface remains directly invocable. The model selects a namespace, then routes to the concrete sub-skill. See [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792).
|
||||
|
||||
| Command | Routes to |
|
||||
|---------|-----------|
|
||||
@@ -757,7 +757,7 @@ Generate a developer behavioral profile from Claude Code session analysis across
|
||||
|
||||
Validate `.planning/` directory integrity. With `--context`, probes the
|
||||
context-window utilization guard against the 60 % / 70 % thresholds (added
|
||||
v1.40.0, [#2792](https://github.com/gsd-build/get-shit-done/issues/2792)).
|
||||
v1.40.0, [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792)).
|
||||
|
||||
| Flag | Description |
|
||||
|------|-------------|
|
||||
|
||||
@@ -136,11 +136,11 @@ GSD stores project settings in `.planning/config.json`. Created during `/gsd-new
|
||||
|---------|------|---------|---------|-------------|
|
||||
| `mode` | enum | `interactive`, `yolo` | `interactive` | `yolo` auto-approves decisions; `interactive` confirms at each step |
|
||||
| `granularity` | enum | `coarse`, `standard`, `fine` | `standard` | Controls phase count: `coarse` (3-5), `standard` (5-8), `fine` (8-12) |
|
||||
| `model_profile` | enum | `quality`, `balanced`, `budget`, `adaptive`, `inherit` | `balanced` | Model tier for each agent (see [Model Profiles](#model-profiles)). `adaptive` was added per [#1713](https://github.com/gsd-build/get-shit-done/issues/1713) / [#1806](https://github.com/gsd-build/get-shit-done/issues/1806) and resolves the same way as the other tiers under runtime-aware profiles. |
|
||||
| `runtime` | string | `claude`, `codex`, or any string | (none) | Active runtime for [runtime-aware profile resolution](#runtime-aware-profiles-2517). When set, profile tiers (opus/sonnet/haiku) resolve to runtime-native model IDs. Today only the Codex install path emits per-agent model IDs from this resolver; other runtimes (`opencode`, `gemini`, `qwen`, `copilot`, …) consume the resolver at spawn time and gain dedicated install-path support in [#2612](https://github.com/gsd-build/get-shit-done/issues/2612). When unset (default), behavior is unchanged from prior versions. Added in v1.39 |
|
||||
| `model_profile` | enum | `quality`, `balanced`, `budget`, `adaptive`, `inherit` | `balanced` | Model tier for each agent (see [Model Profiles](#model-profiles)). `adaptive` was added per [#1713](https://github.com/GSD-redux/get-shit-done-redux/issues/1713) / [#1806](https://github.com/GSD-redux/get-shit-done-redux/issues/1806) and resolves the same way as the other tiers under runtime-aware profiles. |
|
||||
| `runtime` | string | `claude`, `codex`, or any string | (none) | Active runtime for [runtime-aware profile resolution](#runtime-aware-profiles-2517). When set, profile tiers (opus/sonnet/haiku) resolve to runtime-native model IDs. Today only the Codex install path emits per-agent model IDs from this resolver; other runtimes (`opencode`, `gemini`, `qwen`, `copilot`, …) consume the resolver at spawn time and gain dedicated install-path support in [#2612](https://github.com/GSD-redux/get-shit-done-redux/issues/2612). When unset (default), behavior is unchanged from prior versions. Added in v1.39 |
|
||||
| `model_profile_overrides.<runtime>.<tier>` | string \| object | per-runtime tier override | (none) | Override the runtime-aware tier mapping for a specific `(runtime, tier)`. Tier is one of `opus`, `sonnet`, `haiku`. Value is either a model ID string (e.g. `"gpt-5-pro"`) or `{ model, reasoning_effort }`. See [Runtime-Aware Profiles](#runtime-aware-profiles-2517). Added in v1.39 |
|
||||
| `models.<phase_type>` | enum | `opus`, `sonnet`, `haiku`, `inherit` | (none) | Per-phase-type model tier. Six accepted slots: `planning`, `discuss`, `research`, `execution`, `verification`, `completion`. Lets you tune at the phase level ("Opus for planning, Sonnet for the rest") without learning agent names. Resolves between `model_overrides` (higher) and `model_profile` (lower); see [Per-Phase-Type Models](#per-phase-type-models-models--added-in-v140). Added in v1.40 ([#3023](https://github.com/gsd-build/get-shit-done/pull/3030)) |
|
||||
| `dynamic_routing.enabled` | boolean | `true`, `false` | `false` | Master switch for [dynamic routing with failure-tier escalation](#dynamic-routing-with-failure-tier-escalation-dynamic_routing--added-in-v140). When `true`, agents resolve to `tier_models[default_tier]` and escalate one tier up on orchestrator-detected soft failure. Added in v1.40 ([#3024](https://github.com/gsd-build/get-shit-done/pull/3031)) |
|
||||
| `models.<phase_type>` | enum | `opus`, `sonnet`, `haiku`, `inherit` | (none) | Per-phase-type model tier. Six accepted slots: `planning`, `discuss`, `research`, `execution`, `verification`, `completion`. Lets you tune at the phase level ("Opus for planning, Sonnet for the rest") without learning agent names. Resolves between `model_overrides` (higher) and `model_profile` (lower); see [Per-Phase-Type Models](#per-phase-type-models-models--added-in-v140). Added in v1.40 ([#3023](https://github.com/GSD-redux/get-shit-done-redux/pull/3030)) |
|
||||
| `dynamic_routing.enabled` | boolean | `true`, `false` | `false` | Master switch for [dynamic routing with failure-tier escalation](#dynamic-routing-with-failure-tier-escalation-dynamic_routing--added-in-v140). When `true`, agents resolve to `tier_models[default_tier]` and escalate one tier up on orchestrator-detected soft failure. Added in v1.40 ([#3024](https://github.com/GSD-redux/get-shit-done-redux/pull/3031)) |
|
||||
| `dynamic_routing.tier_models.<tier>` | enum | `opus`, `sonnet`, `haiku` | (none) | Tier alias for `light`, `standard`, or `heavy`. Used when `dynamic_routing.enabled: true`. Added in v1.40 |
|
||||
| `dynamic_routing.escalate_on_failure` | boolean | `true`, `false` | `true` | When `false`, escalation is disabled even if `enabled: true` — every attempt uses the default tier. Added in v1.40 |
|
||||
| `dynamic_routing.max_escalations` | integer | `0`, `1`, `2`, … | `1` | Hard cap on retries per agent invocation. Beyond the cap the resolver returns the cap-tier model. Added in v1.40 |
|
||||
@@ -258,7 +258,7 @@ All workflow toggles follow the **absent = enabled** pattern. If a key is missin
|
||||
| `executor.stall_detect_interval_minutes` | number | `5` | Minutes between executor stall checks while an executor agent is active. The execute-phase orchestrator uses this cadence to inspect recent commits and avoid waiting forever on a silent agent. |
|
||||
| `executor.stall_threshold_minutes` | number | `10` | Minutes without executor completion or expected-branch commit activity before execute-phase offers recovery choices for a possible stalled executor. |
|
||||
| `workflow.inline_plan_threshold` | number | `3` | Maximum number of tasks in a phase before the planner generates a separate PLAN.md file instead of inlining tasks in the prompt |
|
||||
| `workflow.drift_threshold` | number | `3` | Minimum number of new structural elements (new directories, barrel exports, migrations, route modules) introduced during a phase before the post-execute codebase-drift gate takes action. See [#2003](https://github.com/gsd-build/get-shit-done/issues/2003). Added in v1.39 |
|
||||
| `workflow.drift_threshold` | number | `3` | Minimum number of new structural elements (new directories, barrel exports, migrations, route modules) introduced during a phase before the post-execute codebase-drift gate takes action. See [#2003](https://github.com/GSD-redux/get-shit-done-redux/issues/2003). Added in v1.39 |
|
||||
| `workflow.drift_action` | string | `warn` | What to do when `workflow.drift_threshold` is exceeded after `/gsd-execute-phase`. `warn` prints a message suggesting `/gsd-map-codebase --paths …`; `auto-remap` spawns `gsd-codebase-mapper` scoped to the affected paths. Added in v1.39 |
|
||||
| `workflow.build_command` | string | (none) | Shell command to build the project in the post-merge build gate (Step A of step 5.6 in execute-phase). When unset, the gate auto-detects: Xcode (`.xcodeproj` present) → `xcodebuild build`, `Makefile` with `build:` target → `make build`, Justfile → `just build`, `Cargo.toml` → `cargo build`, `go.mod` → `go build ./...`, Python → `python -m py_compile`, `package.json` with `build` script → `npm run build`. Runs with a 5-minute timeout; failure increments `WAVE_FAILURE_COUNT`. Added in v1.39 |
|
||||
| `workflow.test_command` | string | (none) | Shell command to run the project's test suite in the post-merge test gate (Step B of step 5.6 in execute-phase) and the regression gate. When unset, the gate auto-detects: Xcode (`.xcodeproj` present) → `xcodebuild test`, `Makefile` with `test:` target → `make test`, Justfile → `just test`, `package.json` → `npm test`, `Cargo.toml` → `cargo test`, `go.mod` → `go test ./...`, Python → `python -m pytest`. Runs with a 5-minute timeout; failure increments `WAVE_FAILURE_COUNT`. Added in v1.39 |
|
||||
@@ -811,7 +811,7 @@ for the change to take effect. See issue #2256.
|
||||
|
||||
### Per-Phase-Type Models (`models`) — added in v1.41
|
||||
|
||||
> Express tuning at the **phase** level (planning, research, execution, verification) without learning the agent taxonomy. Added in [#3023](https://github.com/gsd-build/get-shit-done/pull/3030).
|
||||
> Express tuning at the **phase** level (planning, research, execution, verification) without learning the agent taxonomy. Added in [#3023](https://github.com/GSD-redux/get-shit-done-redux/pull/3030).
|
||||
|
||||
`model_overrides` is per-**agent** (precise but verbose; you have to know that `gsd-codebase-mapper` is research and `gsd-doc-writer` is execution). The `models` block lets you say "Opus for planning and execution, Sonnet for the rest" in two lines:
|
||||
|
||||
@@ -895,7 +895,7 @@ Direct edits to `.planning/config.json` are looser — the resolver simply ignor
|
||||
|
||||
### Dynamic Routing with Failure-Tier Escalation (`dynamic_routing`) — added in v1.41
|
||||
|
||||
> Start cheap, escalate only when the agent fails the gate. Added in [#3024](https://github.com/gsd-build/get-shit-done/pull/3031).
|
||||
> Start cheap, escalate only when the agent fails the gate. Added in [#3024](https://github.com/GSD-redux/get-shit-done-redux/pull/3031).
|
||||
|
||||
`dynamic_routing` lets you pay for the cheap tier by default and only escalate to the more expensive tier when the orchestrator detects a soft failure (verification inconclusive, plan-check FLAG, etc.).
|
||||
|
||||
@@ -974,7 +974,7 @@ The `dynamic_routing` block is **disabled by default** — `enabled: false` (or
|
||||
|
||||
### Non-Claude Runtimes (Codex, OpenCode, Gemini CLI, Kilo)
|
||||
|
||||
> **Codex CLI minimum supported version: `0.130.0`** (issue [#3562](https://github.com/gsd-build/get-shit-done/issues/3562)).
|
||||
> **Codex CLI minimum supported version: `0.130.0`** (issue [#3562](https://github.com/GSD-redux/get-shit-done-redux/issues/3562)).
|
||||
>
|
||||
> [Codex CLI 0.130.0](https://github.com/openai/codex/releases/tag/rust-v0.130.0) (released 2026-05-08) removed extra-skills-roots discovery via [openai/codex#21485](https://github.com/openai/codex/pull/21485). From this version forward, Codex CLI only scans `~/.codex/skills/<name>/SKILL.md`, `<project>/.codex/skills/`, and registered plugin roots for invocable skills. GSD installs the `$gsd-*` surface as `~/.codex/skills/gsd-<name>/SKILL.md` so commands resolve after a Codex restart. Earlier Codex CLI versions can show a duplicate listing (the legacy extra-roots scan plus the user-root copies) — restart Codex and either upgrade to ≥ 0.130.0 or accept the duplicates until you do.
|
||||
|
||||
|
||||
@@ -1054,7 +1054,7 @@ When the user declines (or keeps a non-GSD) statusline, the installer offers a S
|
||||
GSD update available: 1.39.0 → 1.40.0. Run /gsd-update.
|
||||
```
|
||||
|
||||
The banner is silent when up-to-date and rate-limits "check failed" diagnostics to once per 24 hours. Removed cleanly by `npx get-shit-done-cc --uninstall` or by deleting the SessionStart entry that references `gsd-update-banner.js`.
|
||||
The banner is silent when up-to-date and rate-limits "check failed" diagnostics to once per 24 hours. Removed cleanly by `npx get-shit-done-redux --uninstall` or by deleting the SessionStart entry that references `gsd-update-banner.js`.
|
||||
|
||||
### 38. Developer Profiling
|
||||
|
||||
@@ -1436,7 +1436,7 @@ Test suite that scans all agent, workflow, and command files for embedded inject
|
||||
|
||||
### 55. Multi-Runtime Installer Selection
|
||||
|
||||
**Part of:** `npx get-shit-done-cc`
|
||||
**Part of:** `npx get-shit-done-redux`
|
||||
|
||||
**Purpose:** Select multiple runtimes in a single interactive install session.
|
||||
|
||||
@@ -1455,7 +1455,7 @@ Test suite that scans all agent, workflow, and command files for embedded inject
|
||||
|
||||
### 56. Windsurf Runtime Support
|
||||
|
||||
**Part of:** `npx get-shit-done-cc`
|
||||
**Part of:** `npx get-shit-done-redux`
|
||||
|
||||
**Purpose:** Add Windsurf as a supported AI CLI runtime for GSD installation and execution.
|
||||
|
||||
@@ -1695,7 +1695,7 @@ Test suite that scans all agent, workflow, and command files for embedded inject
|
||||
|
||||
### 68. Claude Code Skills Migration
|
||||
|
||||
**Part of:** `npx get-shit-done-cc`
|
||||
**Part of:** `npx get-shit-done-redux`
|
||||
|
||||
**Purpose:** Migrate GSD commands to Claude Code 2.1.88+ skills format with backward compatibility.
|
||||
|
||||
@@ -1959,7 +1959,7 @@ Test suite that scans all agent, workflow, and command files for embedded inject
|
||||
|
||||
### 85. New Runtime Support (Trae, Cline, Augment Code)
|
||||
|
||||
**Part of:** `npx get-shit-done-cc`
|
||||
**Part of:** `npx get-shit-done-redux`
|
||||
|
||||
**Purpose:** Extend GSD installation to Trae IDE, Cline, and Augment Code runtimes.
|
||||
|
||||
@@ -2301,7 +2301,7 @@ Test suite that scans all agent, workflow, and command files for embedded inject
|
||||
|
||||
### 104. New Runtime Support (Cline, CodeBuddy, Qwen Code)
|
||||
|
||||
**Part of:** `npx get-shit-done-cc`
|
||||
**Part of:** `npx get-shit-done-redux`
|
||||
|
||||
**Purpose:** Extend GSD installation to Cline, CodeBuddy, and Qwen Code runtimes.
|
||||
|
||||
@@ -2644,7 +2644,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style
|
||||
- REQ-CONSOLIDATE-03: Deleted micro-skill slash forms (the bare `gsd-add-todo`, `gsd-add-backlog`, `gsd-plant-seed`, `gsd-check-todos`, `gsd-add-phase`, `gsd-insert-phase`, `gsd-remove-phase`, `gsd-edit-phase`, `gsd-new-workspace`, `gsd-list-workspaces`, `gsd-remove-workspace`, `gsd-settings-advanced`, `gsd-settings-integrations`, `gsd-set-profile`, `gsd-sketch-wrap-up`, `gsd-spike-wrap-up`, `gsd-reapply-patches`, `gsd-code-review-fix`, …) MUST resolve to "Unknown command" — no shadow stubs.
|
||||
- REQ-CONSOLIDATE-04: `autonomous.md` invokes `/gsd-code-review --fix` (was previously calling the deleted `gsd-code-review-fix`).
|
||||
|
||||
**Reference issue:** [#2790](https://github.com/gsd-build/get-shit-done/issues/2790)
|
||||
**Reference issue:** [#2790](https://github.com/GSD-redux/get-shit-done-redux/issues/2790)
|
||||
|
||||
---
|
||||
|
||||
@@ -2672,7 +2672,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style
|
||||
- REQ-NS-02: Existing sub-skills are unchanged and still invocable directly — namespace skills are additive, not a replacement for direct slash forms.
|
||||
- REQ-NS-03: The body of each namespace router contains a routing table that maps user intent to the correct concrete sub-skill on the post-#2790 consolidated surface.
|
||||
|
||||
**Reference issue:** [#2792](https://github.com/gsd-build/get-shit-done/issues/2792)
|
||||
**Reference issue:** [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792)
|
||||
|
||||
---
|
||||
|
||||
@@ -2687,7 +2687,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style
|
||||
- REQ-CTX-GUARD-02: The same triage is exposed as `gsd-sdk query validate.context --tokens-used <int> --context-window <int>` — a structured envelope for status-line and hook callers (#125). Both flags are required; the handler returns the same `{ percent, state }` envelope as the pure classifier in REQ-CTX-GUARD-03.
|
||||
- REQ-CTX-GUARD-03: The classifier (`bin/lib/context-utilization.cjs`) is pure: input `(tokensUsed, contextWindow)`, output `{ percent, state }`. Easy to unit-test, easy to reuse from any caller.
|
||||
|
||||
**Reference issue:** [#2792](https://github.com/gsd-build/get-shit-done/issues/2792)
|
||||
**Reference issue:** [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792)
|
||||
|
||||
---
|
||||
|
||||
@@ -2704,7 +2704,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style
|
||||
- REQ-LIFECYCLE-02: `formatGsdState()` checks the lifecycle fields in priority order and emits the first matching scene (Phase active → Idle next-recommended → Milestone complete → Default fallback).
|
||||
- REQ-LIFECYCLE-03: All four fields default to undefined; existing STATE.md files render byte-for-byte identically.
|
||||
|
||||
**Reference issue:** [#2833](https://github.com/gsd-build/get-shit-done/issues/2833) — see [`docs/STATE-MD-LIFECYCLE.md`](STATE-MD-LIFECYCLE.md) for the full field reference and rendering rules.
|
||||
**Reference issue:** [#2833](https://github.com/GSD-redux/get-shit-done-redux/issues/2833) — see [`docs/STATE-MD-LIFECYCLE.md`](STATE-MD-LIFECYCLE.md) for the full field reference and rendering rules.
|
||||
|
||||
---
|
||||
|
||||
@@ -2744,7 +2744,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style
|
||||
- REQ-PHASE-MODELS-02: Configs without a `models` block behave byte-for-byte identically to pre-v1.41 behavior.
|
||||
- REQ-PHASE-MODELS-03: `discuss` and `completion` are accepted by the schema for forward compatibility; setting them today is a no-op until a subagent maps to each.
|
||||
|
||||
**Reference issue:** [#3023](https://github.com/gsd-build/get-shit-done/pull/3030)
|
||||
**Reference issue:** [#3023](https://github.com/GSD-redux/get-shit-done-redux/pull/3030)
|
||||
|
||||
---
|
||||
|
||||
@@ -2765,7 +2765,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style
|
||||
- REQ-DYNROUTE-02: New resolver `resolveModelForTier(cwd, agent, attempt)` in `core.cjs` is the single call-site for orchestrator integration.
|
||||
- REQ-DYNROUTE-03: `max_escalations` caps the escalation chain to prevent runaway cost.
|
||||
|
||||
**Reference issue:** [#3024](https://github.com/gsd-build/get-shit-done/pull/3031)
|
||||
**Reference issue:** [#3024](https://github.com/GSD-redux/get-shit-done-redux/pull/3031)
|
||||
|
||||
---
|
||||
|
||||
@@ -2778,14 +2778,14 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style
|
||||
- The hook reads the existing `~/.cache/gsd/gsd-update-check.json` cache — the same cache used by the statusline — and prints a banner only when an update is available.
|
||||
- Silent when up-to-date.
|
||||
- Failure diagnostics rate-limited to once per 24 h.
|
||||
- Cleanly removed by `npx get-shit-done-cc --uninstall`.
|
||||
- Cleanly removed by `npx get-shit-done-redux --uninstall`.
|
||||
|
||||
**Requirements:**
|
||||
- REQ-BANNER-01: Banner does not install without explicit opt-in.
|
||||
- REQ-BANNER-02: No additional network requests — reuses the existing background update-check cache.
|
||||
- REQ-BANNER-03: Uninstall path removes the banner hook.
|
||||
|
||||
**Reference issue:** [#2795](https://github.com/gsd-build/get-shit-done/pull/2795)
|
||||
**Reference issue:** [#2795](https://github.com/GSD-redux/get-shit-done-redux/pull/2795)
|
||||
|
||||
---
|
||||
|
||||
@@ -2804,7 +2804,7 @@ Users who run a memory / knowledge-base MCP server (for example, ExoCortex-style
|
||||
|
||||
No new commands or daemon process — purely a documentation artifact that maps existing primitives onto a tracker-driven workflow.
|
||||
|
||||
**Reference issue:** [#2840](https://github.com/gsd-build/get-shit-done/pull/2840)
|
||||
**Reference issue:** [#2840](https://github.com/GSD-redux/get-shit-done-redux/pull/2840)
|
||||
|
||||
---
|
||||
|
||||
@@ -2832,7 +2832,7 @@ Source commit: abc1234 (3 commits behind HEAD)
|
||||
|
||||
**Fallback:** pre-v0.7 graphs and non-git checkouts return `commit_stale: null`; callers fall back to the existing mtime-based `stale` flag. No behavior change for existing users.
|
||||
|
||||
**Reference issue:** [#3170](https://github.com/gsd-build/get-shit-done/issues/3170)
|
||||
**Reference issue:** [#3170](https://github.com/GSD-redux/get-shit-done-redux/issues/3170)
|
||||
|
||||
---
|
||||
|
||||
@@ -2853,7 +2853,7 @@ CLI flag → ROADMAP `**Mode:** mvp` → `workflow.mvp_mode` config → `false`
|
||||
|
||||
**Bug fix:** `roadmap.get-phase --pick mode` in the SDK's `roadmap.ts` previously returned `null` for phases with `**Mode:** mvp`, causing MVP_MODE to silently fall through to false on the native dispatch path. Restores parity with the CJS implementation.
|
||||
|
||||
**Reference issue:** [#3178](https://github.com/gsd-build/get-shit-done/pull/3178)
|
||||
**Reference issue:** [#3178](https://github.com/GSD-redux/get-shit-done-redux/pull/3178)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ Full roster at `commands/gsd/*.md`. The groupings below mirror `docs/COMMANDS.md
|
||||
|
||||
### Namespace Meta-Skills
|
||||
|
||||
These six routers are descriptor-only entries that the model picks first; the body of each contains a routing table that points at the correct concrete sub-skill. They exist to keep the eager skill-listing token cost low while the full surface remains reachable. See [#2792](https://github.com/gsd-build/get-shit-done/issues/2792) for the rationale; the routing tables target the post-[#2790](https://github.com/gsd-build/get-shit-done/issues/2790) consolidated surface.
|
||||
These six routers are descriptor-only entries that the model picks first; the body of each contains a routing table that points at the correct concrete sub-skill. They exist to keep the eager skill-listing token cost low while the full surface remains reachable. See [#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792) for the rationale; the routing tables target the post-[#2790](https://github.com/GSD-redux/get-shit-done-redux/issues/2790) consolidated surface.
|
||||
|
||||
| Command | Role | Source |
|
||||
|---------|------|--------|
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Pre-release candidate. Published to npm under the `next` tag.
|
||||
|
||||
```
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
```
|
||||
|
||||
---
|
||||
@@ -62,16 +62,16 @@ The installer now:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm install -g get-shit-done-cc@next
|
||||
npm install -g get-shit-done-redux@next
|
||||
|
||||
# npx (one-shot)
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
```
|
||||
|
||||
To pin to this exact RC:
|
||||
|
||||
```bash
|
||||
npm install -g get-shit-done-cc@1.39.0-rc.4
|
||||
npm install -g get-shit-done-redux@1.39.0-rc.4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Pre-release candidate. Published to npm under the `next` tag.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
```
|
||||
|
||||
---
|
||||
@@ -77,16 +77,16 @@ The installer now:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm install -g get-shit-done-cc@next
|
||||
npm install -g get-shit-done-redux@next
|
||||
|
||||
# npx (one-shot)
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
```
|
||||
|
||||
To pin to this exact RC:
|
||||
|
||||
```bash
|
||||
npm install -g get-shit-done-cc@1.39.0-rc.5
|
||||
npm install -g get-shit-done-redux@1.39.0-rc.5
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Pre-release candidate. Published to npm under the `next` tag.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
```
|
||||
|
||||
---
|
||||
@@ -93,16 +93,16 @@ The installer now:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm install -g get-shit-done-cc@next
|
||||
npm install -g get-shit-done-redux@next
|
||||
|
||||
# npx (one-shot)
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
```
|
||||
|
||||
To pin to this exact RC:
|
||||
|
||||
```bash
|
||||
npm install -g get-shit-done-cc@1.39.0-rc.6
|
||||
npm install -g get-shit-done-redux@1.39.0-rc.6
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Pre-release candidate. Published to npm under the `next` tag.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
```
|
||||
|
||||
---
|
||||
@@ -12,16 +12,16 @@ npx get-shit-done-cc@next
|
||||
|
||||
rc.7 is the first RC in the 1.39.0 train that rolls in the post-rc.5 fixes from
|
||||
`main`. rc.6 was content-identical to rc.5 (`release/1.39.0` was bumped without
|
||||
first being merged with `main` — see [#2856](https://github.com/gsd-build/get-shit-done/issues/2856)).
|
||||
first being merged with `main` — see [#2856](https://github.com/GSD-redux/get-shit-done-redux/issues/2856)).
|
||||
rc.7 syncs the release branch with `main` so all of the work below actually
|
||||
reaches the registry.
|
||||
|
||||
### Added
|
||||
|
||||
- **Manual canary release workflow** — `.github/workflows/canary.yml` publishes
|
||||
`{base}-canary.{N}` builds of `get-shit-done-cc` under the `canary` dist-tag on
|
||||
`{base}-canary.{N}` builds of `get-shit-done-redux` under the `canary` dist-tag on
|
||||
demand via `workflow_dispatch` (manual trigger only). Optional `dry_run` boolean.
|
||||
([#2828](https://github.com/gsd-build/get-shit-done/issues/2828))
|
||||
([#2828](https://github.com/GSD-redux/get-shit-done-redux/issues/2828))
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -29,74 +29,74 @@ reaches the registry.
|
||||
inside fenced code blocks** — the milestone-end search now scans line-by-line while
|
||||
tracking ` ``` ` / `~~~` fence state, so a line like `# Ops runbook (v1.0 compat)`
|
||||
inside a code block no longer acts as a milestone boundary.
|
||||
([#2787](https://github.com/gsd-build/get-shit-done/issues/2787))
|
||||
([#2787](https://github.com/GSD-redux/get-shit-done-redux/issues/2787))
|
||||
- **`audit-uat` parser reads `human_verification:` from frontmatter array** — the
|
||||
previous body-only regex was too strict and missed valid UAT items declared in
|
||||
YAML frontmatter, surfacing false-positive open gaps at every milestone-completion
|
||||
audit. ([#2788](https://github.com/gsd-build/get-shit-done/issues/2788))
|
||||
audit. ([#2788](https://github.com/GSD-redux/get-shit-done-redux/issues/2788))
|
||||
- **Skill description anti-patterns trimmed; ≤ 100-char budget enforced** — three
|
||||
anti-patterns eliminated across `commands/gsd/*.md`: flag documentation already in
|
||||
`argument-hint:`, `Triggers:` keyword-stuffing lists, and numbered enumeration. New
|
||||
CI lint gate `npm run lint:descriptions` fails if any description exceeds 100
|
||||
chars. ([#2789](https://github.com/gsd-build/get-shit-done/issues/2789))
|
||||
- **`gsd-sdk` binary collision with `@gsd-build/sdk` resolved** — workstream-aware
|
||||
chars. ([#2789](https://github.com/GSD-redux/get-shit-done-redux/issues/2789))
|
||||
- **`gsd-sdk` binary collision with `@gsd-redux/sdk` resolved** — workstream-aware
|
||||
query registry now respects the `GSD_WORKSTREAM` env var; `gsd-tools` bin alias
|
||||
added. ([#2791](https://github.com/gsd-build/get-shit-done/issues/2791))
|
||||
added. ([#2791](https://github.com/GSD-redux/get-shit-done-redux/issues/2791))
|
||||
- **`OpenCode` agents embed `model_profile_overrides.opencode.<tier>`** — per-tier
|
||||
model overrides set via `/gsd-settings-advanced` are now propagated into generated
|
||||
agent files. ([#2794](https://github.com/gsd-build/get-shit-done/issues/2794))
|
||||
agent files. ([#2794](https://github.com/GSD-redux/get-shit-done-redux/issues/2794))
|
||||
- **`roadmap update-plan-progress` accepts `--phase` flag form** — SDK arg-parsing
|
||||
regression in v0.1.0 silently dropped `--phase`/`--name`/`--plans` flags, causing
|
||||
STATE.md corruption. ([#2796](https://github.com/gsd-build/get-shit-done/issues/2796))
|
||||
STATE.md corruption. ([#2796](https://github.com/GSD-redux/get-shit-done-redux/issues/2796))
|
||||
- **`context_window` added to `VALID_CONFIG_KEYS` allowlist** —
|
||||
`/gsd-settings-advanced` could not set `context_window` because the key was missing
|
||||
from the allowlist used by `config-set` validation.
|
||||
([#2798](https://github.com/gsd-build/get-shit-done/issues/2798))
|
||||
([#2798](https://github.com/GSD-redux/get-shit-done-redux/issues/2798))
|
||||
- **`gsd-tools init` dispatches `ingest-docs` handler** — `/gsd-ingest-docs` was
|
||||
broken in v1.38.5 because the workflow called the new tool but no `ingest-docs`
|
||||
init handler was registered. ([#2801](https://github.com/gsd-build/get-shit-done/issues/2801))
|
||||
init handler was registered. ([#2801](https://github.com/GSD-redux/get-shit-done-redux/issues/2801))
|
||||
- **`config-get` honors `--default <value>` flag** — fallback for missing keys
|
||||
ported from CJS into the SDK. ([#2803](https://github.com/gsd-build/get-shit-done/issues/2803))
|
||||
ported from CJS into the SDK. ([#2803](https://github.com/GSD-redux/get-shit-done-redux/issues/2803))
|
||||
- **`find-phase` returns `null` for archived phases** — when the current-milestone
|
||||
phase had no directory yet, `init.plan-phase` / `init.execute-phase` returned the
|
||||
archived prior-milestone directory instead of `null`, causing wrong-phase work.
|
||||
([#2805](https://github.com/gsd-build/get-shit-done/issues/2805))
|
||||
([#2805](https://github.com/GSD-redux/get-shit-done-redux/issues/2805))
|
||||
- **SKILL.md frontmatter `name:` migrated to hyphen form** — files that still used
|
||||
the deprecated colon form (`gsd:cmd`) caused autocomplete to suggest `/gsd:command`.
|
||||
([#2808](https://github.com/gsd-build/get-shit-done/issues/2808))
|
||||
([#2808](https://github.com/GSD-redux/get-shit-done-redux/issues/2808))
|
||||
- **`gsd-sdk` resolvable in local-mode installs** — the previous `isLocal`
|
||||
short-circuit returned before the PATH probe + self-link could run. When
|
||||
`sdk/dist/cli.js` is present, local installs now run the same probe-and-link flow
|
||||
as global installs. ([#2829](https://github.com/gsd-build/get-shit-done/issues/2829))
|
||||
as global installs. ([#2829](https://github.com/GSD-redux/get-shit-done-redux/issues/2829))
|
||||
- **OpenCode `@file` references use absolute paths on all platforms** — OpenCode
|
||||
does not shell-expand `$HOME` in `@file` references on any platform; the
|
||||
Windows-only guard from #2376 left macOS/Linux producing literal `@$HOME/...`
|
||||
strings. Guard now applies unconditionally for OpenCode.
|
||||
([#2831](https://github.com/gsd-build/get-shit-done/issues/2831))
|
||||
([#2831](https://github.com/GSD-redux/get-shit-done-redux/issues/2831))
|
||||
- **`gsd-sdk auto` detects Codex runtime correctly** — `auto` mode ignored
|
||||
`runtime: codex` and routed through `@anthropic-ai/claude-agent-sdk`, producing
|
||||
the `[FAILED] $0.00 0.1s` symptom on autonomous runs. New `runtime-gate` raises a
|
||||
clear error for non-Claude runtimes; `resolveModel()` honours `GSD_RUNTIME` env
|
||||
precedence and never injects a Claude profile id under non-Claude runtimes.
|
||||
([#2832](https://github.com/gsd-build/get-shit-done/issues/2832))
|
||||
([#2832](https://github.com/GSD-redux/get-shit-done-redux/issues/2832))
|
||||
- **CR-INTEGRATION tests aligned with hyphen-form skill names** — tests now parse
|
||||
`Skill(skill="...")` invocations structurally and reject the legacy colon form.
|
||||
([#2835](https://github.com/gsd-build/get-shit-done/issues/2835))
|
||||
([#2835](https://github.com/GSD-redux/get-shit-done-redux/issues/2835))
|
||||
- **`audit-open` quick-task scanner accepts `${quick_id}-SUMMARY.md`** — the
|
||||
bare-`SUMMARY.md` check produced false-positive `status: missing` for every
|
||||
documented quick task. UAT terminal-status enum also adds `resolved` (matches
|
||||
`execute-phase.md`'s post-gap-closure terminal).
|
||||
([#2836](https://github.com/gsd-build/get-shit-done/issues/2836))
|
||||
([#2836](https://github.com/GSD-redux/get-shit-done-redux/issues/2836))
|
||||
- **`quick.md` / `execute-phase.md` SUMMARY rescue handles gitignored `.planning/`** —
|
||||
rescue blocks used `git ls-files --exclude-standard`, silently no-op'ing when
|
||||
`.planning/` was excluded; the worktree was then deleted with the SUMMARY.
|
||||
Replaced with filesystem-level `find` + idempotent `cp`.
|
||||
([#2838](https://github.com/gsd-build/get-shit-done/issues/2838))
|
||||
([#2838](https://github.com/GSD-redux/get-shit-done-redux/issues/2838))
|
||||
- **`/gsd-code-review-fix` cleanup tail is transactional** — JSON recovery sentinel
|
||||
at `${phase_dir}/.review-fix-recovery-pending.json` is written after `git worktree
|
||||
add` succeeds and removed only after `git worktree remove` returns. New runs that
|
||||
find a pre-existing sentinel force-remove the orphan worktree, making the agent
|
||||
self-healing across crashes. ([#2839](https://github.com/gsd-build/get-shit-done/issues/2839))
|
||||
self-healing across crashes. ([#2839](https://github.com/GSD-redux/get-shit-done-redux/issues/2839))
|
||||
|
||||
---
|
||||
|
||||
@@ -117,7 +117,7 @@ without first being merged with `main`. See
|
||||
|
||||
### Fixed
|
||||
|
||||
**Codex hooks migrator correctness hardening** ([#2809](https://github.com/gsd-build/get-shit-done/issues/2809))
|
||||
**Codex hooks migrator correctness hardening** ([#2809](https://github.com/GSD-redux/get-shit-done-redux/issues/2809))
|
||||
|
||||
Five edge-cases in the `[[hooks.<Event>]]` → `[[hooks.<Event>.hooks]]` two-level
|
||||
nested schema migration path, discovered across five rounds of code review:
|
||||
@@ -136,7 +136,7 @@ nested schema migration path, discovered across five rounds of code review:
|
||||
|
||||
### Added
|
||||
|
||||
**`--minimal` install flag** (alias `--core-only`) ([#2762](https://github.com/gsd-build/get-shit-done/issues/2762))
|
||||
**`--minimal` install flag** (alias `--core-only`) ([#2762](https://github.com/GSD-redux/get-shit-done-redux/issues/2762))
|
||||
|
||||
Writes only the six core skills needed to run the main workflow loop:
|
||||
`new-project`, `discuss-phase`, `plan-phase`, `execute-phase`, `help`, `update`.
|
||||
@@ -152,7 +152,7 @@ The install manifest records `mode: "minimal" | "full"`. Run `gsd update` withou
|
||||
|
||||
### Fixed (rc.4)
|
||||
|
||||
**Codex install no longer corrupts `~/.codex/config.toml`** ([#2760](https://github.com/gsd-build/get-shit-done/issues/2760))
|
||||
**Codex install no longer corrupts `~/.codex/config.toml`** ([#2760](https://github.com/GSD-redux/get-shit-done-redux/issues/2760))
|
||||
|
||||
The installer now strips legacy `[agents]` blocks, emits hooks in the user's
|
||||
existing shape, migrates legacy `[hooks.<Event>]` map format to `[[hooks.<Event>]]`,
|
||||
@@ -165,16 +165,16 @@ with a strict TOML parser.
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm install -g get-shit-done-cc@next
|
||||
npm install -g get-shit-done-redux@next
|
||||
|
||||
# npx (one-shot)
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
```
|
||||
|
||||
To pin to this exact RC:
|
||||
|
||||
```bash
|
||||
npm install -g get-shit-done-cc@1.39.0-rc.7
|
||||
npm install -g get-shit-done-redux@1.39.0-rc.7
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Pre-release candidate. Published to npm under the `next` tag.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
```
|
||||
|
||||
---
|
||||
@@ -11,9 +11,9 @@ npx get-shit-done-cc@next
|
||||
## What's in this release
|
||||
|
||||
rc.1 opens the 1.40.0 train. The headline change is the **skill-surface
|
||||
consolidation** ([#2790](https://github.com/gsd-build/get-shit-done/issues/2790))
|
||||
consolidation** ([#2790](https://github.com/GSD-redux/get-shit-done-redux/issues/2790))
|
||||
and the new **two-stage hierarchical namespace routing** that sits on top of it
|
||||
([#2792](https://github.com/gsd-build/get-shit-done/issues/2792)) — together
|
||||
([#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792)) — together
|
||||
they drop the cold-start system-prompt overhead from ~2,150 tokens (86 flat skills)
|
||||
to ~120 tokens (6 namespace routers). The release also adds the read-side of the
|
||||
phase-lifecycle status-line, hardens multi-runtime installs, and clears a backlog of
|
||||
@@ -26,23 +26,23 @@ correctness fixes for Gemini, Copilot, Codex, and the canary publish workflow.
|
||||
namespace routers (`gsd:workflow`, `gsd:project`, `gsd:review`, `gsd:context`,
|
||||
`gsd:manage`, `gsd:ideate`) instead of 86 entries; selects a namespace, then routes
|
||||
to the sub-skill. Existing sub-skills are unchanged and still invocable directly.
|
||||
([#2792](https://github.com/gsd-build/get-shit-done/issues/2792))
|
||||
([#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792))
|
||||
|
||||
- **`/gsd-health --context` utilization guard** — context-window quality guard with
|
||||
two thresholds: 60 % warns ("consider `/gsd-thread`"), 70 % is critical ("reasoning
|
||||
quality may degrade"). Also exposed as `gsd-tools validate context`.
|
||||
([#2792](https://github.com/gsd-build/get-shit-done/issues/2792))
|
||||
([#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792))
|
||||
|
||||
- **Phase-lifecycle status-line — read-side** — `parseStateMd()` now reads four new
|
||||
STATE.md frontmatter fields: `active_phase`, `next_action`, `next_phases`, and
|
||||
`progress`. `formatGsdState()` gains scenes for in-flight, idle, and progress
|
||||
display. Write-side wiring follows in a later RC.
|
||||
([#2833](https://github.com/gsd-build/get-shit-done/issues/2833))
|
||||
([#2833](https://github.com/GSD-redux/get-shit-done-redux/issues/2833))
|
||||
|
||||
- **`--minimal` install flag** (alias `--core-only`) — writes only the six core
|
||||
skills needed for the main workflow loop; no `gsd-*` subagents. Drops cold-start
|
||||
overhead from ~12k tokens to ~700. Useful for local LLMs with 32K–128K context.
|
||||
([#2762](https://github.com/gsd-build/get-shit-done/issues/2762))
|
||||
([#2762](https://github.com/GSD-redux/get-shit-done-redux/issues/2762))
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -52,18 +52,18 @@ correctness fixes for Gemini, Copilot, Codex, and the canary publish workflow.
|
||||
(`update --sync/--reapply`, `sketch --wrap-up`, `spike --wrap-up`,
|
||||
`map-codebase --fast/--query`, `code-review --fix`, `progress --do/--next`).
|
||||
Zero functional loss — 31 micro-skills deleted, all behavior preserved via flags.
|
||||
([#2790](https://github.com/gsd-build/get-shit-done/issues/2790))
|
||||
([#2790](https://github.com/GSD-redux/get-shit-done-redux/issues/2790))
|
||||
|
||||
- **Canary release workflow now publishes from `dev` branch only** — aligns with
|
||||
the branch→dist-tag policy (`dev` → `@canary`, `main` → `@next`/`@latest`).
|
||||
`workflow_dispatch` on `main` now completes build/test/dry-run validation but
|
||||
skips publish and tag.
|
||||
([#2868](https://github.com/gsd-build/get-shit-done/issues/2868))
|
||||
([#2868](https://github.com/GSD-redux/get-shit-done-redux/issues/2868))
|
||||
|
||||
- **PRs missing `Closes #NNN` are auto-closed** — the `Issue link required`
|
||||
workflow now auto-closes any PR opened without a closing keyword, posting a
|
||||
comment that points to the contribution guide.
|
||||
([#2872](https://github.com/gsd-build/get-shit-done/issues/2872))
|
||||
([#2872](https://github.com/GSD-redux/get-shit-done-redux/issues/2872))
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -71,28 +71,28 @@ correctness fixes for Gemini, Copilot, Codex, and the canary publish workflow.
|
||||
Gemini CLI namespaces commands under `gsd:` so `/gsd-plan-phase` was unexecutable.
|
||||
The install path now converts every body-text reference via a roster-checked regex,
|
||||
consistently rewriting command files, agent bodies, and banners.
|
||||
([#2768](https://github.com/gsd-build/get-shit-done/issues/2768),
|
||||
[#2783](https://github.com/gsd-build/get-shit-done/issues/2783))
|
||||
([#2768](https://github.com/GSD-redux/get-shit-done-redux/issues/2768),
|
||||
[#2783](https://github.com/GSD-redux/get-shit-done-redux/issues/2783))
|
||||
|
||||
- **GSD slash-command namespace drift cleaned up across docs, workflows, and
|
||||
autocomplete** — remaining stale `/gsd:<cmd>` references now use canonical
|
||||
`/gsd-<cmd>`; `scripts/fix-slash-commands.cjs` rewrites retired colon syntax.
|
||||
([#2858](https://github.com/gsd-build/get-shit-done/pull/2858))
|
||||
([#2858](https://github.com/GSD-redux/get-shit-done-redux/pull/2858))
|
||||
|
||||
- **`SKILL.md` description quoted for Copilot / Antigravity / Trae / CodeBuddy** —
|
||||
descriptions starting with a YAML 1.2 flow indicator crashed gh-copilot's strict
|
||||
YAML loader. Six emission sites now wrap descriptions in `yamlQuote(...)`.
|
||||
([#2876](https://github.com/gsd-build/get-shit-done/issues/2876))
|
||||
([#2876](https://github.com/GSD-redux/get-shit-done-redux/issues/2876))
|
||||
|
||||
- **`gsd-tools` invocations use the absolute installed path** — bare `gsd-tools …`
|
||||
calls inside skill bodies relied on PATH resolution not guaranteed in every runtime;
|
||||
replaced with the absolute path emitted at install time.
|
||||
([#2851](https://github.com/gsd-build/get-shit-done/issues/2851))
|
||||
([#2851](https://github.com/GSD-redux/get-shit-done-redux/issues/2851))
|
||||
|
||||
- **Codex installer preserves trailing newline when stripping legacy hooks** — the
|
||||
legacy-hook strip ran against files with no terminating newline at EOF, breaking
|
||||
downstream parsers.
|
||||
([#2866](https://github.com/gsd-build/get-shit-done/issues/2866))
|
||||
([#2866](https://github.com/GSD-redux/get-shit-done-redux/issues/2866))
|
||||
|
||||
---
|
||||
|
||||
@@ -100,10 +100,10 @@ correctness fixes for Gemini, Copilot, Codex, and the canary publish workflow.
|
||||
|
||||
[`RELEASE-v1.39.0-rc.7.md`](RELEASE-v1.39.0-rc.7.md) — first 1.39.0 RC to roll in
|
||||
post-rc.5 fixes from `main`. Includes the `extractCurrentMilestone` fenced-code-block
|
||||
fix ([#2787](https://github.com/gsd-build/get-shit-done/issues/2787)), `audit-uat`
|
||||
frontmatter parse fix ([#2788](https://github.com/gsd-build/get-shit-done/issues/2788)),
|
||||
skill description budget + lint gate ([#2789](https://github.com/gsd-build/get-shit-done/issues/2789)),
|
||||
`gsd-sdk` workstream + binary-collision fixes ([#2791](https://github.com/gsd-build/get-shit-done/issues/2791)),
|
||||
fix ([#2787](https://github.com/GSD-redux/get-shit-done-redux/issues/2787)), `audit-uat`
|
||||
frontmatter parse fix ([#2788](https://github.com/GSD-redux/get-shit-done-redux/issues/2788)),
|
||||
skill description budget + lint gate ([#2789](https://github.com/GSD-redux/get-shit-done-redux/issues/2789)),
|
||||
`gsd-sdk` workstream + binary-collision fixes ([#2791](https://github.com/GSD-redux/get-shit-done-redux/issues/2791)),
|
||||
and nine additional correctness fixes across OpenCode, Codex, and Gemini runtimes.
|
||||
|
||||
---
|
||||
@@ -112,16 +112,16 @@ and nine additional correctness fixes across OpenCode, Codex, and Gemini runtime
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm install -g get-shit-done-cc@next
|
||||
npm install -g get-shit-done-redux@next
|
||||
|
||||
# npx (one-shot)
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
```
|
||||
|
||||
To pin to this exact RC:
|
||||
|
||||
```bash
|
||||
npm install -g get-shit-done-cc@1.40.0-rc.1
|
||||
npm install -g get-shit-done-redux@1.40.0-rc.1
|
||||
```
|
||||
|
||||
---
|
||||
@@ -131,6 +131,6 @@ npm install -g get-shit-done-cc@1.40.0-rc.1
|
||||
- Soak rc.1 against real installs across Claude Code, Codex, Copilot, Gemini,
|
||||
OpenCode, and Antigravity runtimes.
|
||||
- Wire write-side phase-lifecycle status-line on top of the
|
||||
[#2833](https://github.com/gsd-build/get-shit-done/issues/2833) read-side.
|
||||
[#2833](https://github.com/GSD-redux/get-shit-done-redux/issues/2833) read-side.
|
||||
- Run `finalize` on the release workflow to promote `1.40.0` to `latest` once
|
||||
the train has soaked.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Stable release. Published to npm under the `latest` tag.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
```
|
||||
|
||||
---
|
||||
@@ -19,25 +19,25 @@ npx get-shit-done-cc@latest
|
||||
named slots (`planning` / `discuss` / `research` / `execution` / `verification` /
|
||||
`completion`) accept tier aliases (`opus` / `sonnet` / `haiku` / `inherit`). Fully
|
||||
backward compatible.
|
||||
([#3023](https://github.com/gsd-build/get-shit-done/pull/3030))
|
||||
([#3023](https://github.com/GSD-redux/get-shit-done-redux/pull/3030))
|
||||
|
||||
- **Dynamic routing with failure-tier escalation (`dynamic_routing` block)** — start
|
||||
cheap, escalate only when the orchestrator detects a soft failure (inconclusive
|
||||
verification, plan-check FLAG). Disabled by default; composes with `model_overrides`
|
||||
and `models.<phase_type>` via the same precedence chain.
|
||||
([#3024](https://github.com/gsd-build/get-shit-done/pull/3031))
|
||||
([#3024](https://github.com/GSD-redux/get-shit-done-redux/pull/3031))
|
||||
|
||||
- **Optional update banner for non-GSD statusline users** — when the installer detects
|
||||
no GSD statusline, it offers an opt-in `SessionStart` hook that surfaces update
|
||||
availability via the existing `~/.cache/gsd/gsd-update-check.json` cache. Silent when
|
||||
up-to-date; removed cleanly by `--uninstall`.
|
||||
([#2795](https://github.com/gsd-build/get-shit-done/pull/2795))
|
||||
([#2795](https://github.com/GSD-redux/get-shit-done-redux/pull/2795))
|
||||
|
||||
- **Issue-driven orchestration guide** — new
|
||||
[`docs/issue-driven-orchestration.md`](issue-driven-orchestration.md) recipe that maps
|
||||
tracker issues (GitHub / Linear / Jira) onto existing GSD primitives: workspace →
|
||||
discuss → plan → execute → verify → review → ship.
|
||||
([#2840](https://github.com/gsd-build/get-shit-done/pull/2840))
|
||||
([#2840](https://github.com/GSD-redux/get-shit-done-redux/pull/2840))
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -48,136 +48,136 @@ npx get-shit-done-cc@latest
|
||||
consuming workflows now call the verb instead of inlining 4–8 bash lines each. Also
|
||||
fixes a silent SDK bug where `roadmap.get-phase --pick mode` returned `null` for
|
||||
phases with `**Mode:** mvp` set.
|
||||
([#3178](https://github.com/gsd-build/get-shit-done/pull/3178))
|
||||
([#3178](https://github.com/GSD-redux/get-shit-done-redux/pull/3178))
|
||||
|
||||
- **`/gsd-graphify status` surfaces commit-based staleness** — reads `built_at_commit`
|
||||
from graphify v0.7+ graphs, compares against `git HEAD`, and adds four new fields
|
||||
(`built_at_commit`, `current_commit`, `commits_behind`, `commit_stale`). Pre-v0.7
|
||||
graphs return `commit_stale: null` and fall back to the existing mtime-based signal.
|
||||
([#3170](https://github.com/gsd-build/get-shit-done/issues/3170))
|
||||
([#3170](https://github.com/GSD-redux/get-shit-done-redux/issues/3170))
|
||||
|
||||
- **MVP concept index and domain glossary** — seven MVP-related terms added to
|
||||
`CONTEXT.md`; new `references/mvp-concepts.md` indexes the six MVP reference files.
|
||||
No behavior change.
|
||||
([#3176](https://github.com/gsd-build/get-shit-done/pull/3176))
|
||||
([#3176](https://github.com/GSD-redux/get-shit-done-redux/pull/3176))
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Stable node path on Homebrew** — `resolveNodeRunner()` now maps versioned Cellar
|
||||
paths to the stable Homebrew symlinks. Prevents `dyld: Library not loaded` errors
|
||||
after `brew upgrade node`.
|
||||
([#3181](https://github.com/gsd-build/get-shit-done/issues/3181))
|
||||
([#3181](https://github.com/GSD-redux/get-shit-done-redux/issues/3181))
|
||||
|
||||
- **Milestone-archive layout support** — `validate consistency`, `validate health`, and
|
||||
`find-phase` now scan `.planning/milestones/v*-phases/` in addition to the flat
|
||||
`.planning/phases/` layout, eliminating spurious W006 warnings.
|
||||
([#3164](https://github.com/gsd-build/get-shit-done/issues/3164))
|
||||
([#3164](https://github.com/GSD-redux/get-shit-done-redux/issues/3164))
|
||||
|
||||
- **`/gsd-graphify build` runs inline instead of spawning a sub-agent** — the
|
||||
post-extraction clustering phase was SIGTERM'd when the sub-agent exited, leaving no
|
||||
`graph.json` / `graph.html` / `GRAPH_REPORT.md` artifacts.
|
||||
([#3166](https://github.com/gsd-build/get-shit-done/issues/3166))
|
||||
([#3166](https://github.com/GSD-redux/get-shit-done-redux/issues/3166))
|
||||
|
||||
- **Planner directive language restored** — 10 `CRITICAL`/`MANDATORY`/`MUST` emphasis
|
||||
markers were silently removed from `gsd-planner.md` in v1.38.4, weakening planner
|
||||
adherence to user decisions and requirement coverage. All restored.
|
||||
([#3138](https://github.com/gsd-build/get-shit-done/issues/3087))
|
||||
([#3138](https://github.com/GSD-redux/get-shit-done-redux/issues/3087))
|
||||
|
||||
- **`secure-phase` retroactive-STRIDE mode for legacy phases** — phases with no
|
||||
`<threat_model>` blocks no longer rubber-stamp a clean `SECURITY.md`; the auditor
|
||||
now builds a register from implementation files before verifying mitigations.
|
||||
([#3142](https://github.com/gsd-build/get-shit-done/issues/3120))
|
||||
([#3142](https://github.com/GSD-redux/get-shit-done-redux/issues/3120))
|
||||
|
||||
- **Global skills resolution now uses the correct runtime home directory** —
|
||||
`buildAgentSkillsBlock()` hardcoded `~/.claude/skills` for all runtimes. The new
|
||||
`runtime-homes.cjs` module maps all 15 supported runtimes to their canonical skills
|
||||
directory.
|
||||
([#3126](https://github.com/gsd-build/get-shit-done/issues/3126))
|
||||
([#3126](https://github.com/GSD-redux/get-shit-done-redux/issues/3126))
|
||||
|
||||
- **`state.begin-phase` is now idempotent** — wave-resume calls no longer overwrite
|
||||
`Current Plan`, `stopped_at`, or `Last Activity Description` with stale values from
|
||||
the last `plan-phase` run.
|
||||
([#3127](https://github.com/gsd-build/get-shit-done/issues/3127))
|
||||
([#3127](https://github.com/GSD-redux/get-shit-done-redux/issues/3127))
|
||||
|
||||
- **`gsd-validate-commit.sh` hook catches all git commit forms** — the previous bash
|
||||
regex missed `git -C /path commit`, `GIT_AUTHOR_NAME=x git commit`, and
|
||||
`/usr/bin/git commit`. New `hooks/lib/git-cmd.js` token-walk classifier handles all
|
||||
forms correctly.
|
||||
([#3141](https://github.com/gsd-build/get-shit-done/issues/3129))
|
||||
([#3141](https://github.com/GSD-redux/get-shit-done-redux/issues/3129))
|
||||
|
||||
- **`/gsd-plan-phase` no longer auto-dispatches to a subagent on OpenCode** — the
|
||||
`agent: gsd-planner` frontmatter directive caused OpenCode to run the orchestrator in
|
||||
a context where the `Agent` tool is unavailable. Directive removed.
|
||||
([#3156](https://github.com/gsd-build/get-shit-done/issues/3156))
|
||||
([#3156](https://github.com/GSD-redux/get-shit-done-redux/issues/3156))
|
||||
|
||||
- **`/gsd-quick` worktree-merge resurrection guard** — the inverted `PRE_MERGE_FILES`
|
||||
grep that deleted freshly-created files (including `SUMMARY.md`) is replaced with the
|
||||
git-history check used by `execute-phase.md`.
|
||||
([#3195](https://github.com/gsd-build/get-shit-done/issues/3195))
|
||||
([#3195](https://github.com/GSD-redux/get-shit-done-redux/issues/3195))
|
||||
|
||||
- **`gsd-health` no longer raises W019 for `RETROSPECTIVE.md`** — registered in
|
||||
`CANONICAL_EXACT` in `artifacts.cjs` to match its established status as a milestone
|
||||
completion artifact.
|
||||
([#3200](https://github.com/gsd-build/get-shit-done/issues/3198))
|
||||
([#3200](https://github.com/GSD-redux/get-shit-done-redux/issues/3198))
|
||||
|
||||
- **`--sdk` flag now wired into SDK deployment** — `hasSdk` was parsed but never
|
||||
passed to `installSdkIfNeeded`, so `--sdk` silently skipped deployment.
|
||||
([#3033](https://github.com/gsd-build/get-shit-done/issues/3033))
|
||||
([#3033](https://github.com/GSD-redux/get-shit-done-redux/issues/3033))
|
||||
|
||||
- **Installer shell-path probe for SDK shim** — no longer prints "✓ GSD SDK ready"
|
||||
when the shim is unreachable from the user's interactive shells; probes
|
||||
`$SHELL -lc 'printf %s "$PATH"'` instead of the installer subprocess PATH.
|
||||
([#3028](https://github.com/gsd-build/get-shit-done/issues/3020))
|
||||
([#3028](https://github.com/GSD-redux/get-shit-done-redux/issues/3020))
|
||||
|
||||
- **Windows update-check no longer silently fails** — passes `shell: true` on Windows
|
||||
so `npm.cmd` resolves via PATHEXT; without this the statusline "⬆ /gsd-update"
|
||||
indicator never rendered on Windows.
|
||||
([#3102](https://github.com/gsd-build/get-shit-done/issues/3103))
|
||||
([#3102](https://github.com/GSD-redux/get-shit-done-redux/issues/3103))
|
||||
|
||||
- **Community `.sh` hooks use `#!/usr/bin/env bash`** — the previous `#!/bin/bash`
|
||||
shebang fails on NixOS, minimal Alpine images, and some container runtimes.
|
||||
([#3194](https://github.com/gsd-build/get-shit-done/issues/3194))
|
||||
([#3194](https://github.com/GSD-redux/get-shit-done-redux/issues/3194))
|
||||
|
||||
- **Gemini local install no longer duplicates `/gsd:*` commands** — when GSD is
|
||||
already installed at user scope, a subsequent `--gemini --local` install skips the
|
||||
workspace scope. Previously both scopes received all 65 command files and Gemini's
|
||||
conflict detector renamed everything.
|
||||
([#3037](https://github.com/gsd-build/get-shit-done/issues/3037))
|
||||
([#3037](https://github.com/GSD-redux/get-shit-done-redux/issues/3037))
|
||||
|
||||
- **Workstream resolution in `init.milestone-op` and `roadmap.analyze`** — both
|
||||
handlers now respect `--ws`, `GSD_WORKSTREAM`, and `.planning/active-workstream`.
|
||||
Workstream-scoped repos no longer exit with "Nothing left to do" from reading the
|
||||
root `.planning/` directory.
|
||||
([#3196](https://github.com/gsd-build/get-shit-done/issues/3196),
|
||||
[#3207](https://github.com/gsd-build/get-shit-done/pull/3207))
|
||||
([#3196](https://github.com/GSD-redux/get-shit-done-redux/issues/3196),
|
||||
[#3207](https://github.com/GSD-redux/get-shit-done-redux/pull/3207))
|
||||
|
||||
- **`gsd-tools config-set workflow._auto_chain_active` no longer rejected** — the key
|
||||
was added to the SDK schema but not mirrored to `config-schema.cjs`; users routed
|
||||
through `gsd-tools` saw "Unknown config key."
|
||||
([#3197](https://github.com/gsd-build/get-shit-done/issues/3197))
|
||||
([#3197](https://github.com/GSD-redux/get-shit-done-redux/issues/3197))
|
||||
|
||||
- **Statusline state rendering is type-robust and YAML-list compatible** — milestone
|
||||
completion renders for numeric and string `percent` values; `next_phases` parses both
|
||||
flow-array and block-list YAML.
|
||||
([#3153](https://github.com/gsd-build/get-shit-done/issues/3153))
|
||||
([#3153](https://github.com/GSD-redux/get-shit-done-redux/issues/3153))
|
||||
|
||||
- **Codex SessionStart hook uses absolute Node binary path** — bare `node` in
|
||||
`config.toml` failed with exit 127 under GUI/minimal-PATH runtimes.
|
||||
([#3022](https://github.com/gsd-build/get-shit-done/issues/3017))
|
||||
([#3022](https://github.com/GSD-redux/get-shit-done-redux/issues/3017))
|
||||
|
||||
- **`config-set resolve_model_ids` and `workflow._auto_chain_active` accepted** — both
|
||||
keys were documented or written by internal workflows but missing from the allowlists.
|
||||
([#3162](https://github.com/gsd-build/get-shit-done/issues/3162))
|
||||
([#3162](https://github.com/GSD-redux/get-shit-done-redux/issues/3162))
|
||||
|
||||
---
|
||||
|
||||
## What was in 1.40.0
|
||||
|
||||
[`RELEASE-v1.40.0-rc.1.md`](RELEASE-v1.40.0-rc.1.md) — skill-surface consolidation
|
||||
(86 → 59, [#2790](https://github.com/gsd-build/get-shit-done/issues/2790)), six
|
||||
namespace meta-skills ([#2792](https://github.com/gsd-build/get-shit-done/issues/2792)),
|
||||
(86 → 59, [#2790](https://github.com/GSD-redux/get-shit-done-redux/issues/2790)), six
|
||||
namespace meta-skills ([#2792](https://github.com/GSD-redux/get-shit-done-redux/issues/2792)),
|
||||
`/gsd-health --context` utilization guard, phase-lifecycle status-line read-side
|
||||
([#2833](https://github.com/gsd-build/get-shit-done/issues/2833)), and Gemini
|
||||
([#2833](https://github.com/GSD-redux/get-shit-done-redux/issues/2833)), and Gemini
|
||||
colon-form slash-command conversion.
|
||||
|
||||
---
|
||||
@@ -186,13 +186,13 @@ colon-form slash-command conversion.
|
||||
|
||||
```bash
|
||||
# npm (global)
|
||||
npm install -g get-shit-done-cc@latest
|
||||
npm install -g get-shit-done-redux@latest
|
||||
|
||||
# npx (one-shot)
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
|
||||
# Pin to this exact version
|
||||
npm install -g get-shit-done-cc@1.41.0
|
||||
npm install -g get-shit-done-redux@1.41.0
|
||||
```
|
||||
|
||||
The installer is idempotent — re-running on an existing install updates in-place,
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
First release candidate for the **1.42.0** train. Published to npm under the `next` dist-tag.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
# or pin exact:
|
||||
npm install -g get-shit-done-cc@1.42.0-rc1
|
||||
npm install -g get-shit-done-redux@1.42.0-rc1
|
||||
```
|
||||
|
||||
> **Release-candidate stream caveat.** RCs come from `main` and are the staging stream for the next stable `latest`. They are stable enough for everyday use but may carry bake items resolved before the matching `vX.Y.0` is published. See [CANARY.md](CANARY.md) for the stream policy.
|
||||
@@ -16,7 +16,7 @@ npm install -g get-shit-done-cc@1.42.0-rc1
|
||||
|
||||
1.42.0-rc.1 is the first cut of the 1.42 train. The headline addition is a **package legitimacy gate against slopsquatting** — a three-layer defense across the research → plan → execute pipeline that prevents AI-hallucinated package names from flowing undetected into `npm install`. Underneath that, two structural refactors deepen the **SDK package seam** and the **phase lifecycle seams** so future work has cleaner module boundaries.
|
||||
|
||||
This RC also rolls up every fix that shipped in [v1.41.1](https://github.com/gsd-build/get-shit-done/releases/tag/v1.41.1). Those fixes are listed in the v1.41.1 notes and on the GitHub release page; this document is scoped to the **new features** in 1.42.0.
|
||||
This RC also rolls up every fix that shipped in [v1.41.1](https://github.com/GSD-redux/get-shit-done-redux/releases/tag/v1.41.1). Those fixes are listed in the v1.41.1 notes and on the GitHub release page; this document is scoped to the **new features** in 1.42.0.
|
||||
|
||||
---
|
||||
|
||||
@@ -24,7 +24,7 @@ This RC also rolls up every fix that shipped in [v1.41.1](https://github.com/gsd
|
||||
|
||||
### Security
|
||||
|
||||
#### Package legitimacy gate against slopsquatting ([#3215](https://github.com/gsd-build/get-shit-done/pull/3215))
|
||||
#### Package legitimacy gate against slopsquatting ([#3215](https://github.com/GSD-redux/get-shit-done-redux/pull/3215))
|
||||
|
||||
A three-layer defense across the research → plan → execute pipeline. Before this release, a hallucinated package name that passed `npm view` could flow undetected into `gsd-executor` running `npm install <malicious-pkg>` with no human gate. The gate closes that path:
|
||||
|
||||
@@ -38,7 +38,7 @@ A three-layer defense across the research → plan → execute pipeline. Before
|
||||
|
||||
**Documentation.** `docs/USER-GUIDE.md` has a new "Package Legitimacy Gate" subsection in the Security section; `docs/COMMANDS.md` notes the gate on `/gsd-plan-phase`; `docs/ARCHITECTURE.md` documents the gate before the Security Hooks section and updates the plan-phase pipeline diagram with the gate steps.
|
||||
|
||||
Closes [#2827](https://github.com/gsd-build/get-shit-done/issues/2827).
|
||||
Closes [#2827](https://github.com/GSD-redux/get-shit-done-redux/issues/2827).
|
||||
|
||||
---
|
||||
|
||||
@@ -46,7 +46,7 @@ Closes [#2827](https://github.com/gsd-build/get-shit-done/issues/2827).
|
||||
|
||||
### Architecture
|
||||
|
||||
#### SDK package seam deepened; runtime-global skills policy converged ([#3238](https://github.com/gsd-build/get-shit-done/pull/3238))
|
||||
#### SDK package seam deepened; runtime-global skills policy converged ([#3238](https://github.com/GSD-redux/get-shit-done-redux/pull/3238))
|
||||
|
||||
Concentrates two areas that were previously scattered across the codebase:
|
||||
|
||||
@@ -55,9 +55,9 @@ Concentrates two areas that were previously scattered across the codebase:
|
||||
|
||||
The CONTEXT.md domain glossary is updated with both Module entries so future work points at the canonical seams instead of re-deriving the boundaries.
|
||||
|
||||
Closes [#3237](https://github.com/gsd-build/get-shit-done/issues/3237). Refs [#3234](https://github.com/gsd-build/get-shit-done/issues/3234).
|
||||
Closes [#3237](https://github.com/GSD-redux/get-shit-done-redux/issues/3237). Refs [#3234](https://github.com/GSD-redux/get-shit-done-redux/issues/3234).
|
||||
|
||||
#### Phase lifecycle seams deepened ([#3267](https://github.com/gsd-build/get-shit-done/pull/3267))
|
||||
#### Phase lifecycle seams deepened ([#3267](https://github.com/GSD-redux/get-shit-done-redux/pull/3267))
|
||||
|
||||
`phase-lifecycle.ts` becomes a thin public orchestrator. Three new modules are extracted:
|
||||
|
||||
@@ -67,14 +67,14 @@ Closes [#3237](https://github.com/gsd-build/get-shit-done/issues/3237). Refs [#3
|
||||
|
||||
Backward-compatible re-exports are preserved on `phase-lifecycle.ts` so existing callers continue to work; new callers should import from the dedicated modules.
|
||||
|
||||
Closes [#3270](https://github.com/gsd-build/get-shit-done/issues/3270).
|
||||
Closes [#3270](https://github.com/GSD-redux/get-shit-done-redux/issues/3270).
|
||||
|
||||
---
|
||||
|
||||
## What was in 1.41.x
|
||||
|
||||
- **[v1.41.1](https://github.com/gsd-build/get-shit-done/releases/tag/v1.41.1)** — 14-fix hotfix: phase-plan-index DAG correctness, state-snapshot YAML frontmatter precedence, code-review SUMMARY parser hardening (`BL-` / `blocker:` accepted as Critical-tier), Codex install TOML floats + idempotent rollback, persistent SDK reachability probe, shared model-catalog source of truth (ADR-0003), and more.
|
||||
- **[v1.41.0](https://github.com/gsd-build/get-shit-done/releases/tag/v1.41.0)** — six namespace meta-skills, `/gsd-health --context` utilization guard, `--minimal` install flag, `/gsd-edit-phase`, post-merge build & test gate, manual canary release workflow, and 25+ correctness fixes. See [`RELEASE-v1.41.0.md`](RELEASE-v1.41.0.md).
|
||||
- **[v1.41.1](https://github.com/GSD-redux/get-shit-done-redux/releases/tag/v1.41.1)** — 14-fix hotfix: phase-plan-index DAG correctness, state-snapshot YAML frontmatter precedence, code-review SUMMARY parser hardening (`BL-` / `blocker:` accepted as Critical-tier), Codex install TOML floats + idempotent rollback, persistent SDK reachability probe, shared model-catalog source of truth (ADR-0003), and more.
|
||||
- **[v1.41.0](https://github.com/GSD-redux/get-shit-done-redux/releases/tag/v1.41.0)** — six namespace meta-skills, `/gsd-health --context` utilization guard, `--minimal` install flag, `/gsd-edit-phase`, post-merge build & test gate, manual canary release workflow, and 25+ correctness fixes. See [`RELEASE-v1.41.0.md`](RELEASE-v1.41.0.md).
|
||||
|
||||
---
|
||||
|
||||
@@ -82,13 +82,13 @@ Closes [#3270](https://github.com/gsd-build/get-shit-done/issues/3270).
|
||||
|
||||
```bash
|
||||
# npm (global, RC channel)
|
||||
npm install -g get-shit-done-cc@next
|
||||
npm install -g get-shit-done-redux@next
|
||||
|
||||
# npx (one-shot)
|
||||
npx get-shit-done-cc@next
|
||||
npx get-shit-done-redux@next
|
||||
|
||||
# Pin to this exact RC
|
||||
npm install -g get-shit-done-cc@1.42.0-rc1
|
||||
npm install -g get-shit-done-redux@1.42.0-rc1
|
||||
```
|
||||
|
||||
The installer is idempotent — re-running on an existing install updates in-place, preserving your `.planning/` directory and local patches.
|
||||
@@ -96,5 +96,5 @@ The installer is idempotent — re-running on an existing install updates in-pla
|
||||
To roll back to the latest stable, install with `@latest`:
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
```
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Stable release. Published to npm under the `latest` tag.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
```
|
||||
|
||||
---
|
||||
@@ -26,41 +26,41 @@ install migration, SDK readiness, and decimal-phase dependencies.
|
||||
and executors stop on package install failures instead of trying similarly named
|
||||
alternatives. This closes the path where AI-hallucinated package names could flow
|
||||
from research into `npm install` / `pip install` / `cargo add`.
|
||||
([#3215](https://github.com/gsd-build/get-shit-done/pull/3215))
|
||||
([#3215](https://github.com/GSD-redux/get-shit-done-redux/pull/3215))
|
||||
|
||||
- **Skill surface budgeting** — install with `--profile=core`, `--profile=standard`,
|
||||
or the default `full`; profiles persist in `.gsd-profile`. Use `/gsd:surface` to
|
||||
list, enable, disable, reset, or switch skill clusters without reinstalling.
|
||||
`--minimal` and `--core-only` remain aliases for `--profile=core`.
|
||||
([#3408](https://github.com/gsd-build/get-shit-done/pull/3456))
|
||||
([#3408](https://github.com/GSD-redux/get-shit-done-redux/pull/3456))
|
||||
|
||||
- **Installer migration framework** — install now has explicit migration records,
|
||||
baseline scanning, legacy cleanup, user-owned artifact preservation, dry-run
|
||||
reporting, rollback protection, and ambiguous stale-file guardrails.
|
||||
([#3398](https://github.com/gsd-build/get-shit-done/pull/3398),
|
||||
[#3399](https://github.com/gsd-build/get-shit-done/pull/3399),
|
||||
[#3400](https://github.com/gsd-build/get-shit-done/pull/3400),
|
||||
[#3402](https://github.com/gsd-build/get-shit-done/pull/3402),
|
||||
[#3404](https://github.com/gsd-build/get-shit-done/pull/3404))
|
||||
([#3398](https://github.com/GSD-redux/get-shit-done-redux/pull/3398),
|
||||
[#3399](https://github.com/GSD-redux/get-shit-done-redux/pull/3399),
|
||||
[#3400](https://github.com/GSD-redux/get-shit-done-redux/pull/3400),
|
||||
[#3402](https://github.com/GSD-redux/get-shit-done-redux/pull/3402),
|
||||
[#3404](https://github.com/GSD-redux/get-shit-done-redux/pull/3404))
|
||||
|
||||
- **Configurable `/gsd-ship` PR body sections** — `ship.pr_body_sections` appends
|
||||
project-specific PRD-style sections while preserving the required `Summary`,
|
||||
`Changes`, `Requirements Addressed`, `Verification`, and `Key Decisions` sections.
|
||||
([#3391](https://github.com/gsd-build/get-shit-done/pull/3391))
|
||||
([#3391](https://github.com/GSD-redux/get-shit-done-redux/pull/3391))
|
||||
|
||||
- **`review.default_reviewers`** — no-flag `/gsd-review` can default to a configured
|
||||
reviewer subset. Explicit reviewer flags and `--all` still take precedence.
|
||||
([#3464](https://github.com/gsd-build/get-shit-done/pull/3464))
|
||||
([#3464](https://github.com/GSD-redux/get-shit-done-redux/pull/3464))
|
||||
|
||||
- **Optional fallow structural review pre-pass** — `code_quality.fallow.*` runs a
|
||||
structural pass before `/gsd-code-review`, writes `FALLOW.json`, and embeds
|
||||
structural findings in `REVIEW.md`.
|
||||
([#3424](https://github.com/gsd-build/get-shit-done/pull/3486))
|
||||
([#3424](https://github.com/GSD-redux/get-shit-done-redux/pull/3486))
|
||||
|
||||
- **Structured CLI error mode** — `gsd-tools --json-errors` returns machine-readable
|
||||
error envelopes for automation and SDK callers while preserving human-readable output
|
||||
by default.
|
||||
([#3255](https://github.com/gsd-build/get-shit-done/pull/3304))
|
||||
([#3255](https://github.com/GSD-redux/get-shit-done-redux/pull/3304))
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -68,86 +68,86 @@ install migration, SDK readiness, and decimal-phase dependencies.
|
||||
"end-of-phase"` keeps human checks in verification blocks instead of scattering
|
||||
mid-flight checkpoint tasks. Set `"mid-flight"` to restore the previous blocking
|
||||
checkpoint behavior.
|
||||
([#3309](https://github.com/gsd-build/get-shit-done/pull/3325))
|
||||
([#3309](https://github.com/GSD-redux/get-shit-done-redux/pull/3325))
|
||||
|
||||
- **Quota and rate-limit failures get a distinct recovery path** — execute-phase
|
||||
classifies provider quota failures (`429`, `rate limit`, `usage limit`,
|
||||
`RESOURCE_EXHAUSTED`, etc.) and guides wait-and-resume instead of retry-now.
|
||||
([#3095](https://github.com/gsd-build/get-shit-done/pull/3490))
|
||||
([#3095](https://github.com/GSD-redux/get-shit-done-redux/pull/3490))
|
||||
|
||||
- **Milestone tags can be disabled** — `git.create_tag: false` lets projects with
|
||||
external release automation complete milestones without creating local tags.
|
||||
Existing tag collisions now fail clearly instead of overwriting tags.
|
||||
([#3086](https://github.com/gsd-build/get-shit-done/pull/3508))
|
||||
([#3086](https://github.com/GSD-redux/get-shit-done-redux/pull/3508))
|
||||
|
||||
- **Statusline context meter can move to the front** — `statusline.context_position:
|
||||
"front"` renders the context meter after the model name so it stays visible in narrow
|
||||
terminals.
|
||||
([#2937](https://github.com/gsd-build/get-shit-done/pull/3515))
|
||||
([#2937](https://github.com/GSD-redux/get-shit-done-redux/pull/3515))
|
||||
|
||||
- **Reasoning effort is transported with resolved model IDs** — runtime-aware model
|
||||
resolution now carries `reasoning_effort` where supported, including Codex config
|
||||
output and SDK query paths.
|
||||
([#3474](https://github.com/gsd-build/get-shit-done/pull/3483))
|
||||
([#3474](https://github.com/GSD-redux/get-shit-done-redux/pull/3483))
|
||||
|
||||
- **Shell command projection and SDK architecture seams deepened** — hook commands,
|
||||
path actions, subprocess execution, platform file I/O, SDK compatibility policy, and
|
||||
runtime skill policy now flow through narrower typed modules.
|
||||
([#3238](https://github.com/gsd-build/get-shit-done/pull/3238),
|
||||
[#3316](https://github.com/gsd-build/get-shit-done/pull/3316),
|
||||
[#3470](https://github.com/gsd-build/get-shit-done/pull/3470),
|
||||
[#3476](https://github.com/gsd-build/get-shit-done/pull/3476),
|
||||
[#3481](https://github.com/gsd-build/get-shit-done/pull/3481),
|
||||
[#3484](https://github.com/gsd-build/get-shit-done/pull/3484))
|
||||
([#3238](https://github.com/GSD-redux/get-shit-done-redux/pull/3238),
|
||||
[#3316](https://github.com/GSD-redux/get-shit-done-redux/pull/3316),
|
||||
[#3470](https://github.com/GSD-redux/get-shit-done-redux/pull/3470),
|
||||
[#3476](https://github.com/GSD-redux/get-shit-done-redux/pull/3476),
|
||||
[#3481](https://github.com/GSD-redux/get-shit-done-redux/pull/3481),
|
||||
[#3484](https://github.com/GSD-redux/get-shit-done-redux/pull/3484))
|
||||
|
||||
### Fixed
|
||||
|
||||
- **`project_code` phase directory prefixes apply consistently** — first-touch
|
||||
`/gsd-discuss-phase`, `/gsd-plan-phase`, import, gap-planning, and backlog creation
|
||||
paths now create prefixed phase directories consistently.
|
||||
([#3287](https://github.com/gsd-build/get-shit-done/pull/3292),
|
||||
[#3298](https://github.com/gsd-build/get-shit-done/pull/3306))
|
||||
([#3287](https://github.com/GSD-redux/get-shit-done-redux/pull/3292),
|
||||
[#3298](https://github.com/GSD-redux/get-shit-done-redux/pull/3306))
|
||||
|
||||
- **Phase completion is idempotent and refreshes state** — `state complete-phase` and
|
||||
`phase.complete` no longer leave stale `STATE.md` progress, focus, or body
|
||||
frontmatter fields behind.
|
||||
([#3489](https://github.com/gsd-build/get-shit-done/pull/3499),
|
||||
[#3517](https://github.com/gsd-build/get-shit-done/pull/3520))
|
||||
([#3489](https://github.com/GSD-redux/get-shit-done-redux/pull/3499),
|
||||
[#3517](https://github.com/GSD-redux/get-shit-done-redux/pull/3520))
|
||||
|
||||
- **Nested git worktrees are detected** — `/gsd-new-project` and ingest flows avoid
|
||||
creating nested `.git` directories when run inside an existing repository or
|
||||
worktree.
|
||||
([#3491](https://github.com/gsd-build/get-shit-done/pull/3502))
|
||||
([#3491](https://github.com/GSD-redux/get-shit-done-redux/pull/3502))
|
||||
|
||||
- **Codex install and hook migration are safer** — AoT hooks use event-name leaf keys,
|
||||
duplicate legacy `hooks.json` entries are removed, user hooks are preserved, and
|
||||
unsupported execute-phase worktrees are blocked.
|
||||
([#3346](https://github.com/gsd-build/get-shit-done/pull/3505),
|
||||
[#3357](https://github.com/gsd-build/get-shit-done/pull/3380),
|
||||
[#3360](https://github.com/gsd-build/get-shit-done/pull/3380))
|
||||
([#3346](https://github.com/GSD-redux/get-shit-done-redux/pull/3505),
|
||||
[#3357](https://github.com/GSD-redux/get-shit-done-redux/pull/3380),
|
||||
[#3360](https://github.com/GSD-redux/get-shit-done-redux/pull/3380))
|
||||
|
||||
- **SDK install readiness is durable** — `--sdk` now forces SDK deployment, stale shims
|
||||
are detected, Windows PATH probing is hardened, and "GSD SDK ready" only prints when
|
||||
the shim is reachable.
|
||||
([#3033](https://github.com/gsd-build/get-shit-done/issues/3033),
|
||||
[#3211](https://github.com/gsd-build/get-shit-done/pull/3282),
|
||||
[#3231](https://github.com/gsd-build/get-shit-done/pull/3249),
|
||||
[#3359](https://github.com/gsd-build/get-shit-done/pull/3380))
|
||||
([#3033](https://github.com/GSD-redux/get-shit-done-redux/issues/3033),
|
||||
[#3211](https://github.com/GSD-redux/get-shit-done-redux/pull/3282),
|
||||
[#3231](https://github.com/GSD-redux/get-shit-done-redux/pull/3249),
|
||||
[#3359](https://github.com/GSD-redux/get-shit-done-redux/pull/3380))
|
||||
|
||||
- **User custom skills are preserved during update detection** — `detect-custom-files`
|
||||
now scans `skills/`, preventing user-added skill files from being missed during
|
||||
patch preservation.
|
||||
([#3317](https://github.com/gsd-build/get-shit-done/pull/3318))
|
||||
([#3317](https://github.com/GSD-redux/get-shit-done-redux/pull/3318))
|
||||
|
||||
- **Decimal-phase `depends_on` references resolve correctly** — SDK phase indexing now
|
||||
expands same-phase short forms such as `depends_on: [01]` and warns on unresolved
|
||||
references.
|
||||
([#3488](https://github.com/gsd-build/get-shit-done/pull/3501))
|
||||
([#3488](https://github.com/GSD-redux/get-shit-done-redux/pull/3501))
|
||||
|
||||
- **`gsd-sdk query commit --files --respect-staged` preserves interactive staging** —
|
||||
respect-staged mode now avoids restaging pathspecs and commits only the already
|
||||
staged hunks within the requested file scope.
|
||||
([#3522](https://github.com/gsd-build/get-shit-done/pull/3528))
|
||||
([#3522](https://github.com/GSD-redux/get-shit-done-redux/pull/3528))
|
||||
|
||||
---
|
||||
|
||||
@@ -165,13 +165,13 @@ secure-phase audits, cross-runtime installs, and statusline parsing.
|
||||
|
||||
```bash
|
||||
# npm (global)
|
||||
npm install -g get-shit-done-cc@latest
|
||||
npm install -g get-shit-done-redux@latest
|
||||
|
||||
# npx (one-shot)
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
|
||||
# Pin to this exact version
|
||||
npm install -g get-shit-done-cc@1.42.1
|
||||
npm install -g get-shit-done-redux@1.42.1
|
||||
```
|
||||
|
||||
The installer is idempotent — re-running on an existing install updates in-place,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Hotfix release. Published to npm under the `latest` tag.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
```
|
||||
|
||||
---
|
||||
@@ -11,7 +11,7 @@ npx get-shit-done-cc@latest
|
||||
## What's in this release
|
||||
|
||||
1.42.3 is a stability hotfix on top of 1.42.2. The headline is **Codex
|
||||
CLI 0.130.0 install routability** — after `npx get-shit-done-cc@latest
|
||||
CLI 0.130.0 install routability** — after `npx get-shit-done-redux@latest
|
||||
--codex`, `$gsd-*` skills now resolve correctly under Codex 0.130.0 and
|
||||
later, where the previous build left users with zero routable
|
||||
entrypoints. The release also ships **runtime-aware slash formatting**
|
||||
@@ -32,8 +32,8 @@ canonical Codex hooks, and the SDK bridge load path.
|
||||
leaving users with a successful-looking install and zero usable
|
||||
commands. Documented minimum Codex CLI version (0.130.0) inline in the
|
||||
Codex sections of `USER-GUIDE.md` and `CONFIGURATION.md`.
|
||||
([#3562](https://github.com/gsd-build/get-shit-done/pull/3568),
|
||||
[#3582](https://github.com/gsd-build/get-shit-done/pull/3609))
|
||||
([#3562](https://github.com/GSD-redux/get-shit-done-redux/pull/3568),
|
||||
[#3582](https://github.com/GSD-redux/get-shit-done-redux/pull/3609))
|
||||
|
||||
- **Runtime-aware slash formatter for user-facing emissions** —
|
||||
`runtime-slash.cjs` produces `/gsd-<cmd>` for skills-based runtimes
|
||||
@@ -43,7 +43,7 @@ canonical Codex hooks, and the SDK bridge load path.
|
||||
`milestone`, `validate-command-router`, `workstream`, `profile-output`,
|
||||
`drift`, `gsd2-import`, and `commands` now paste cleanly into the
|
||||
active runtime.
|
||||
([#3584](https://github.com/gsd-build/get-shit-done/pull/3606))
|
||||
([#3584](https://github.com/GSD-redux/get-shit-done-redux/pull/3606))
|
||||
|
||||
- **Argv-based subprocess for `check.ship-ready`** — every git/gh probe
|
||||
in `sdk/src/query/check-ship-ready.ts` now uses `execFileSync` with an
|
||||
@@ -51,7 +51,7 @@ canonical Codex hooks, and the SDK bridge load path.
|
||||
Closes a shell-injection class where a malicious branch name (e.g.
|
||||
`foo;touch INJ;bar`) interpolated into `git config --get
|
||||
branch.<name>.merge` triggered arbitrary code execution.
|
||||
([#3587](https://github.com/gsd-build/get-shit-done/pull/3611))
|
||||
([#3587](https://github.com/GSD-redux/get-shit-done-redux/pull/3611))
|
||||
|
||||
- **`init.plan-phase` surfaces `phase_status`; `/gsd:plan-phase` gates
|
||||
on closed phases** — `init.plan-phase` payload now carries the
|
||||
@@ -60,54 +60,54 @@ canonical Codex hooks, and the SDK bridge load path.
|
||||
short-circuits on `Complete` (with `--force` override), and
|
||||
`--reviews` against a closed phase hard-errors with no override.
|
||||
Prevents accidental re-planning over shipped code.
|
||||
([#3569](https://github.com/gsd-build/get-shit-done/pull/3581))
|
||||
([#3569](https://github.com/GSD-redux/get-shit-done-redux/pull/3581))
|
||||
|
||||
- **Canonical `[features].hooks` for Codex configs, legacy alias
|
||||
recognized** — Codex config emission uses the canonical
|
||||
`features.hooks` key while still accepting the legacy `codex_hooks`
|
||||
shape on read. Fixes the install where the previous key drift left
|
||||
Codex unable to find managed hooks.
|
||||
([#3566](https://github.com/gsd-build/get-shit-done/pull/3573))
|
||||
([#3566](https://github.com/GSD-redux/get-shit-done-redux/pull/3573))
|
||||
|
||||
- **SDK bridge loads via the public package export** — fixes a stale
|
||||
internal path that broke SDK dispatch after install on some package
|
||||
layouts.
|
||||
([#3567](https://github.com/gsd-build/get-shit-done/pull/3574))
|
||||
([#3567](https://github.com/GSD-redux/get-shit-done-redux/pull/3574))
|
||||
|
||||
- **W006/W007 health warnings skip archived and future phases** —
|
||||
`/gsd:health` no longer flags phases that are intentionally
|
||||
unimplemented (future) or archived as missing-on-disk or
|
||||
missing-from-roadmap.
|
||||
([#3559](https://github.com/gsd-build/get-shit-done/pull/3565),
|
||||
[#3560](https://github.com/gsd-build/get-shit-done/pull/3564))
|
||||
([#3559](https://github.com/GSD-redux/get-shit-done-redux/pull/3565),
|
||||
[#3560](https://github.com/GSD-redux/get-shit-done-redux/pull/3564))
|
||||
|
||||
- **Ultraplan runtime gates on Claude Code markers** — `/gsd:ultraplan`
|
||||
detects the runtime via Claude Code markers and fails closed when
|
||||
the version is unavailable, instead of running against an unknown
|
||||
runtime.
|
||||
([#3561](https://github.com/gsd-build/get-shit-done/pull/3563))
|
||||
([#3561](https://github.com/GSD-redux/get-shit-done-redux/pull/3563))
|
||||
|
||||
- **Padded phase IDs match unpadded ROADMAP prose** — phase routing
|
||||
through `phaseMarkdownRegexSource` handles `02.7` ↔ `2.7` and
|
||||
similar padding mismatches so `/gsd:phase complete 02` updates a
|
||||
ROADMAP that uses the short `### Phase 2:` form.
|
||||
([#3537](https://github.com/gsd-build/get-shit-done/pull/3538))
|
||||
([#3537](https://github.com/GSD-redux/get-shit-done-redux/pull/3538))
|
||||
|
||||
- **W007 ignores archived phase directories** — phases under
|
||||
`.planning/milestones/v*/` no longer trigger
|
||||
"exists on disk but not in roadmap" warnings against the active
|
||||
roadmap.
|
||||
([#3560](https://github.com/gsd-build/get-shit-done/pull/3564))
|
||||
([#3560](https://github.com/GSD-redux/get-shit-done-redux/pull/3564))
|
||||
|
||||
- **Prompt-user migration actions resolve in non-TTY runs** —
|
||||
`installer-migration-authoring` flows complete cleanly under CI /
|
||||
non-interactive shells; error grouping clarified.
|
||||
([#3541](https://github.com/gsd-build/get-shit-done/pull/3547))
|
||||
([#3541](https://github.com/GSD-redux/get-shit-done-redux/pull/3547))
|
||||
|
||||
- **Executor agents forbidden from `git stash`** — execution agents
|
||||
no longer use shared stash storage, which violated worktree
|
||||
isolation when multiple agents ran in parallel.
|
||||
([#3542](https://github.com/gsd-build/get-shit-done/pull/3546))
|
||||
([#3542](https://github.com/GSD-redux/get-shit-done-redux/pull/3546))
|
||||
|
||||
- **Configuration manifests load from the installed payload** —
|
||||
`configuration.generated.cjs` looks in the installed
|
||||
@@ -115,7 +115,7 @@ canonical Codex hooks, and the SDK bridge load path.
|
||||
source-checkout `sdk/shared/`. Fixes the install where the manifest
|
||||
loader failed on the runtime layout because the source-tree path
|
||||
doesn't exist after install.
|
||||
([#3571](https://github.com/gsd-build/get-shit-done/pull/3572))
|
||||
([#3571](https://github.com/GSD-redux/get-shit-done-redux/pull/3572))
|
||||
|
||||
---
|
||||
|
||||
@@ -136,13 +136,13 @@ SDK install readiness, and decimal-phase dependencies.
|
||||
|
||||
```bash
|
||||
# npm (global)
|
||||
npm install -g get-shit-done-cc@latest
|
||||
npm install -g get-shit-done-redux@latest
|
||||
|
||||
# npx (one-shot)
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
|
||||
# Pin to this exact version
|
||||
npm install -g get-shit-done-cc@1.42.3
|
||||
npm install -g get-shit-done-redux@1.42.3
|
||||
```
|
||||
|
||||
The installer is idempotent — re-running on an existing install
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
First canary cut for the **1.50.0** train. Published to npm under the `canary` dist-tag.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@canary
|
||||
npx get-shit-done-redux@canary
|
||||
# or pin exact:
|
||||
npm install -g get-shit-done-cc@1.50.0-canary.1
|
||||
npm install -g get-shit-done-redux@1.50.0-canary.1
|
||||
```
|
||||
|
||||
> **Canary stream caveat.** Canary builds come from the long-lived `dev` integration branch and may carry rough edges that the `next` (RC) and `latest` (stable) channels never see. Use canary when you want to exercise in-flight features early and report findings; do NOT pin production projects to it. See [CANARY.md](CANARY.md) for the stream policy and rollback path.
|
||||
@@ -14,11 +14,11 @@ npm install -g get-shit-done-cc@1.50.0-canary.1
|
||||
|
||||
## Headline: Vertical MVP / TDD / UAT planning track
|
||||
|
||||
The 1.50.0 train opens with a four-phase vertical slice that adds an end-to-end "MVP mode" to the GSD planning pipeline — from project kickoff, through phase planning, through execution, through verification. Issue [#2826](https://github.com/gsd-build/get-shit-done/issues/2826) is the umbrella PRD.
|
||||
The 1.50.0 train opens with a four-phase vertical slice that adds an end-to-end "MVP mode" to the GSD planning pipeline — from project kickoff, through phase planning, through execution, through verification. Issue [#2826](https://github.com/GSD-redux/get-shit-done-redux/issues/2826) is the umbrella PRD.
|
||||
|
||||
### What's new
|
||||
|
||||
#### `/gsd plan-phase --mvp` — vertical-slice planning ([#2867](https://github.com/gsd-build/get-shit-done/pull/2867))
|
||||
#### `/gsd plan-phase --mvp` — vertical-slice planning ([#2867](https://github.com/GSD-redux/get-shit-done-redux/pull/2867))
|
||||
|
||||
`/gsd plan-phase` learns a `--mvp` flag that flips the planner into vertical-slice mode. The planner reads `**Mode:** mvp` from a phase's ROADMAP entry, an explicit `--mvp` CLI override, or `workflow.mvp_mode` in `.planning/config.json` (precedence in that order, with the CLI flag winning). Under MVP mode the planner:
|
||||
|
||||
@@ -28,7 +28,7 @@ The 1.50.0 train opens with a four-phase vertical slice that adds an end-to-end
|
||||
|
||||
New required-reading injection: `references/planner-mvp-mode.md`. New parser surface: `roadmap.cjs` extracts a `mode` field on every phase lookup.
|
||||
|
||||
#### `/gsd mvp-phase <N>` — guided user-story phase framing ([#2874](https://github.com/gsd-build/get-shit-done/pull/2874))
|
||||
#### `/gsd mvp-phase <N>` — guided user-story phase framing ([#2874](https://github.com/GSD-redux/get-shit-done-redux/pull/2874))
|
||||
|
||||
A new top-level command that walks the user through framing a phase as a vertical MVP slice before planning. Three structured prompts capture an "As a / I want to / So that" user story. If the story is too large, an interactive SPIDR (Spike / Path / Interface / Data / Rule) splitting flow surfaces a list of `/gsd add-phase` invocations to break the work apart. The command then:
|
||||
|
||||
@@ -37,19 +37,19 @@ A new top-level command that walks the user through framing a phase as a vertica
|
||||
|
||||
Two new references: [`spidr-splitting.md`](../get-shit-done/references/spidr-splitting.md), [`user-story-template.md`](../get-shit-done/references/user-story-template.md).
|
||||
|
||||
#### Execute-phase MVP+TDD runtime gate ([#2878](https://github.com/gsd-build/get-shit-done/pull/2878))
|
||||
#### Execute-phase MVP+TDD runtime gate ([#2878](https://github.com/GSD-redux/get-shit-done-redux/pull/2878))
|
||||
|
||||
When `MVP_MODE` and `TDD_MODE` are both true at execution time, `execute-phase` adds a per-task gate that requires a `test(<phase>-<plan>):` commit to exist before the corresponding `feat(...)` commit. The reference [`execute-mvp-tdd.md`](../get-shit-done/references/execute-mvp-tdd.md) documents the contract; the executor agent (`agents/gsd-executor.md`) gains an MVP+TDD Gate section that explains when the gate trips, what evidence it expects, and how to escalate via the documented escape hatch.
|
||||
|
||||
> **Known canary-bake item.** The current bash gate snippet uses some workflow variables that aren't fully wired (`${PLAN_ID}`, `${TASK_TDD}`) and the documented `--force-mvp-gate` escape hatch is referenced in the user-facing error message but not yet implemented in the argument parser. These are tracked as canary-bake follow-ups; the gate itself is functional for the dominant code path.
|
||||
|
||||
#### Verify-work MVP-mode UAT framing ([#2880](https://github.com/gsd-build/get-shit-done/pull/2880))
|
||||
#### Verify-work MVP-mode UAT framing ([#2880](https://github.com/GSD-redux/get-shit-done-redux/pull/2880))
|
||||
|
||||
Under MVP mode, `verify-work` flips the UAT script's framing so user-flow steps come **before** technical correctness checks — the inverse of the default order. The verifier agent gains a `mvp_mode_verification` section. New reference: [`verify-mvp-mode.md`](../get-shit-done/references/verify-mvp-mode.md).
|
||||
|
||||
A user-story format guard at the top of `extract_tests` will halt verification if a phase claims `**Mode:** mvp` but its `**Goal:**` doesn't parse as `As a … I want to … so that …` — pointing the user at `/gsd mvp-phase <N>` to repair.
|
||||
|
||||
#### Discovery & progress surfaces ([#2883](https://github.com/gsd-build/get-shit-done/pull/2883))
|
||||
#### Discovery & progress surfaces ([#2883](https://github.com/GSD-redux/get-shit-done-redux/pull/2883))
|
||||
|
||||
The MVP slice closes out with read-side surfaces:
|
||||
|
||||
@@ -62,7 +62,7 @@ The MVP slice closes out with read-side surfaces:
|
||||
|
||||
## Bonus fixes also in this canary
|
||||
|
||||
- **`/gsd-progress` no longer cites stale CLAUDE.md project blocks** as the source for the "Next Up" section ([#2912](https://github.com/gsd-build/get-shit-done/issues/2912)) — explicit context-authority directive added to the report step.
|
||||
- **`/gsd-progress` no longer cites stale CLAUDE.md project blocks** as the source for the "Next Up" section ([#2912](https://github.com/GSD-redux/get-shit-done-redux/issues/2912)) — explicit context-authority directive added to the report step.
|
||||
|
||||
(Other recent main-stream fixes — agent-skills CLI JSON wrap, audit-open ReferenceError, execute-phase branching, Hermes runtime — target the `next` stream and will arrive in the canary when they land in `dev`.)
|
||||
|
||||
@@ -72,17 +72,17 @@ The MVP slice closes out with read-side surfaces:
|
||||
|
||||
```bash
|
||||
# Try the canary
|
||||
npx get-shit-done-cc@canary
|
||||
npx get-shit-done-redux@canary
|
||||
|
||||
# Or pin exact
|
||||
npm install -g get-shit-done-cc@1.50.0-canary.1
|
||||
npm install -g get-shit-done-redux@1.50.0-canary.1
|
||||
```
|
||||
|
||||
The installer's defensive purge will rewrite stale config blocks left by older GSD versions on first run. No manual cleanup needed.
|
||||
|
||||
## Reporting issues
|
||||
|
||||
If something breaks on canary, file against [the issue tracker](https://github.com/gsd-build/get-shit-done/issues) with the `bug` template and mention `1.50.0-canary.1` so it gets routed back into the dev stream rather than the stable stream.
|
||||
If something breaks on canary, file against [the issue tracker](https://github.com/GSD-redux/get-shit-done-redux/issues) with the `bug` template and mention `1.50.0-canary.1` so it gets routed back into the dev stream rather than the stable stream.
|
||||
|
||||
## What ships next in this train
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# STATE.md Phase Lifecycle Frontmatter
|
||||
|
||||
> **Status:** Read-side shipped in v1.40.0 (issue
|
||||
> [#2833](https://github.com/gsd-build/get-shit-done/issues/2833)).
|
||||
> [#2833](https://github.com/GSD-redux/get-shit-done-redux/issues/2833)).
|
||||
> `parseStateMd()` reads the four frontmatter fields below and
|
||||
> `formatGsdState()` renders the in-flight / idle / progress scenes.
|
||||
> SDK write-side support to maintain the fields automatically is tracked
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
This project's `tests/` directory uses **filename suffix markers** to group tests into named suites. The harness `scripts/run-tests.cjs` filters by suite when given `--suite <name>`. Without a flag it runs every `*.test.cjs` file (the historical default — unchanged).
|
||||
|
||||
> Tracked by issue [#3597](https://github.com/gsd-build/get-shit-done/issues/3597).
|
||||
> Tracked by issue [#3597](https://github.com/GSD-redux/get-shit-done-redux/issues/3597).
|
||||
|
||||
## Suites
|
||||
|
||||
|
||||
@@ -1219,7 +1219,7 @@ For the full audit, harness reference, and the composition note with `model_prof
|
||||
|
||||
### Using Non-Claude Runtimes (Codex, OpenCode, Gemini CLI, Kilo)
|
||||
|
||||
> **Codex CLI minimum supported version: `0.130.0`** (issue [#3562](https://github.com/gsd-build/get-shit-done/issues/3562)).
|
||||
> **Codex CLI minimum supported version: `0.130.0`** (issue [#3562](https://github.com/GSD-redux/get-shit-done-redux/issues/3562)).
|
||||
>
|
||||
> Codex CLI [0.130.0](https://github.com/openai/codex/releases/tag/rust-v0.130.0) (released 2026-05-08) removed extra-skills-roots discovery via [openai/codex#21485](https://github.com/openai/codex/pull/21485). From that version onward, Codex only discovers commands from `~/.codex/skills/<name>/SKILL.md` (user root), `<project>/.codex/skills/` (cwd root), and registered plugin roots. The GSD installer writes `~/.codex/skills/gsd-<name>/SKILL.md` directly so `$gsd-help`, `$gsd-new-project`, etc. are discoverable after restart.
|
||||
>
|
||||
@@ -1263,10 +1263,10 @@ Cline uses a rules-based integration — GSD installs as `.clinerules` rather th
|
||||
|
||||
```bash
|
||||
# Global install (applies to all projects)
|
||||
npx get-shit-done-cc --cline --global
|
||||
npx get-shit-done-redux --cline --global
|
||||
|
||||
# Local install (this project only)
|
||||
npx get-shit-done-cc --cline --local
|
||||
npx get-shit-done-redux --cline --local
|
||||
```
|
||||
|
||||
Global installs write to `~/.cline/`. Local installs write to `./.cline/`. No custom slash commands are registered — GSD rules are loaded automatically by Cline from the rules file.
|
||||
@@ -1276,7 +1276,7 @@ Global installs write to `~/.cline/`. Local installs write to `./.cline/`. No cu
|
||||
CodeBuddy uses a skills-based integration.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc --codebuddy --global
|
||||
npx get-shit-done-redux --codebuddy --global
|
||||
```
|
||||
|
||||
Skills are installed to `~/.codebuddy/skills/gsd-*/SKILL.md`.
|
||||
@@ -1286,7 +1286,7 @@ Skills are installed to `~/.codebuddy/skills/gsd-*/SKILL.md`.
|
||||
Qwen Code uses the same open skills standard as Claude Code 2.1.88+.
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc --qwen --global
|
||||
npx get-shit-done-redux --qwen --global
|
||||
```
|
||||
|
||||
Skills are installed to `~/.qwen/skills/gsd-*/SKILL.md`. Use the `QWEN_CONFIG_DIR` environment variable to override the default install path.
|
||||
@@ -1295,12 +1295,12 @@ Skills are installed to `~/.qwen/skills/gsd-*/SKILL.md`. Use the `QWEN_CONFIG_DI
|
||||
|
||||
Many supported runtimes ship a prerelease edition alongside their stable release — Windsurf Next, Cursor Nightly, VS Code Insiders, Codex preview channels, JetBrains EAP, and so on. Prerelease editions read from a sibling configuration directory, so the default install path won't reach them.
|
||||
|
||||
GSD does not enumerate prerelease editions as separate named runtimes. They are accommodated through the existing `<RUNTIME>_CONFIG_DIR` environment variables and the free-string runtime policy (see [#2517](https://github.com/gsd-build/get-shit-done/issues/2517)) — installs work, paths resolve, GSD operates. Prerelease editions are **best-effort and not separately tested** as part of release CI.
|
||||
GSD does not enumerate prerelease editions as separate named runtimes. They are accommodated through the existing `<RUNTIME>_CONFIG_DIR` environment variables and the free-string runtime policy (see [#2517](https://github.com/GSD-redux/get-shit-done-redux/issues/2517)) — installs work, paths resolve, GSD operates. Prerelease editions are **best-effort and not separately tested** as part of release CI.
|
||||
|
||||
**Pattern.** Set the runtime's `*_CONFIG_DIR` env var to the prerelease directory before running the installer:
|
||||
|
||||
```bash
|
||||
WINDSURF_CONFIG_DIR=~/.codeium/windsurf-next npx get-shit-done-cc@latest --windsurf --global
|
||||
WINDSURF_CONFIG_DIR=~/.codeium/windsurf-next npx get-shit-done-redux@latest --windsurf --global
|
||||
```
|
||||
|
||||
Select the corresponding stable runtime in the installer prompt. Skills land in the prerelease directory; commands appear in the prerelease editor.
|
||||
@@ -1340,7 +1340,7 @@ Since v1.17, the installer backs up locally modified files to `gsd-local-patches
|
||||
|
||||
### Cannot Update via npm
|
||||
|
||||
If `npx get-shit-done-cc` fails due to npm outages or network restrictions, see [docs/manual-update.md](manual-update.md) for a step-by-step manual update procedure that works without npm access.
|
||||
If `npx get-shit-done-redux` fails due to npm outages or network restrictions, see [docs/manual-update.md](manual-update.md) for a step-by-step manual update procedure that works without npm access.
|
||||
|
||||
### Surface GSD Update Notifications Without GSD's Statusline
|
||||
|
||||
@@ -1362,7 +1362,7 @@ GSD update available: 1.39.0 → 1.40.0. Run /gsd-update.
|
||||
|
||||
The banner is silent when no update is available. If the cache file is corrupt, GSD emits one diagnostic line (`GSD update check failed.`) and stays silent for 24 hours so a broken cache does not nag every session.
|
||||
|
||||
**Opt-out / removal:** delete the SessionStart hook entry that references `gsd-update-banner.js` from your runtime's `settings.json` (Claude Code: `~/.claude/settings.json`; Gemini: `~/.gemini/settings.json`). `npx get-shit-done-cc --uninstall` removes both the script and the registration in one pass.
|
||||
**Opt-out / removal:** delete the SessionStart hook entry that references `gsd-update-banner.js` from your runtime's `settings.json` (Claude Code: `~/.claude/settings.json`; Gemini: `~/.gemini/settings.json`). `npx get-shit-done-redux --uninstall` removes both the script and the registration in one pass.
|
||||
|
||||
The banner is not offered when GSD's statusline is installed — that channel already surfaces update info, so re-prompting would be noise.
|
||||
|
||||
|
||||
@@ -30,8 +30,8 @@ The catalog owns:
|
||||
- agent → dynamic-routing default tier mapping
|
||||
|
||||
The canonical file lives in a location both packages ship:
|
||||
- repo root package (`get-shit-done-cc`) includes it
|
||||
- standalone SDK package (`@gsd-build/sdk`) includes it
|
||||
- repo root package (`get-shit-done-redux`) includes it
|
||||
- standalone SDK package (`@gsd-redux/sdk`) includes it
|
||||
|
||||
Both CJS and SDK load this exact file. Neither package keeps its own independent list.
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# SDK Package Seam Module owns SDK-to-get-shit-done-cc compatibility
|
||||
# SDK Package Seam Module owns SDK-to-get-shit-done-redux compatibility
|
||||
|
||||
- **Status:** Accepted
|
||||
- **Date:** 2026-05-07
|
||||
|
||||
We decided to define one explicit SDK Package Seam Module for the `@gsd-build/sdk` → `get-shit-done-cc` transition. During this transition, install-layout probing, legacy `gsd-tools.cjs` discovery, legacy `core.cjs` discovery, and compatibility-only missing-asset diagnostics must live behind one seam instead of leaking across SDK Modules. This keeps callers thin, raises leverage for standalone-SDK testing, and improves locality by making package-readiness bugs land in one place. First tracer-bullet slice: add one compatibility Adapter Module at this seam and migrate current legacy asset callers onto it before broader native replacement work.
|
||||
We decided to define one explicit SDK Package Seam Module for the `@gsd-redux/sdk` → `get-shit-done-redux` transition. During this transition, install-layout probing, legacy `gsd-tools.cjs` discovery, legacy `core.cjs` discovery, and compatibility-only missing-asset diagnostics must live behind one seam instead of leaking across SDK Modules. This keeps callers thin, raises leverage for standalone-SDK testing, and improves locality by making package-readiness bugs land in one place. First tracer-bullet slice: add one compatibility Adapter Module at this seam and migrate current legacy asset callers onto it before broader native replacement work.
|
||||
|
||||
Runtime-global skills directory resolution is explicitly out of scope for this seam. That policy varies by runtime (`claude`, `codex`, `cline`, etc.) rather than by legacy package/install layout, so it now lives in a separate Runtime-Global Skills Policy Module consumed by `agent-skills` and `skill-manifest`.
|
||||
|
||||
@@ -48,4 +48,4 @@ Future direction (deferred): the hub should consult `manifest` to detect per-sub
|
||||
## References
|
||||
|
||||
- Extends ADR-0001 (Dispatch Policy Module) — the hub implements the no-throw + structured-result contract ADR-0001 established for the SDK query layer, applying it to the CJS adapter layer.
|
||||
- Issue: [#3788](https://github.com/gsd-build/get-shit-done/issues/3788)
|
||||
- Issue: [#3788](https://github.com/GSD-redux/get-shit-done-redux/issues/3788)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
- **Status:** Proposed
|
||||
- **Date:** 2026-05-14
|
||||
- **Tracking issue:** [#3524](https://github.com/gsd-build/get-shit-done/issues/3524)
|
||||
- **Tracking issue:** [#3524](https://github.com/GSD-redux/get-shit-done-redux/issues/3524)
|
||||
- **Related PRD:** [`docs/prd/3524-cjs-sdk-hard-seam.md`](../prd/3524-cjs-sdk-hard-seam.md)
|
||||
- **Extends:** ADR-0005 (seam map) — adds the **Shared-Module Source Policy** to the seam family
|
||||
- **Defers to:** ADR-0001 (Dispatch Policy Module), ADR-0003 (Model Catalog Module), ADR-0004 (Planning Workspace Module), ADR-0006 (Planning Path Projection Module), ADR-0009 (Shell Command Projection Module — post-Phase 3–4, also subsuming superseded ADR-0010)
|
||||
|
||||
@@ -36,7 +36,7 @@ See **[CONTRIBUTING.md — "Proposing an ADR or PRD"](../../CONTRIBUTING.md#prop
|
||||
| [0004-worktree-workstream-seam-module.md](0004-worktree-workstream-seam-module.md) | Planning Workspace Module as single seam for worktree and workstream state | Accepted |
|
||||
| [0005-sdk-architecture-seam-map.md](0005-sdk-architecture-seam-map.md) | SDK Architecture seam map for query/runtime surfaces | Accepted |
|
||||
| [0006-planning-path-projection-module.md](0006-planning-path-projection-module.md) | Planning Path Projection Module for SDK query handlers | Accepted |
|
||||
| [0007-sdk-package-seam-module.md](0007-sdk-package-seam-module.md) | SDK Package Seam Module owns SDK-to-get-shit-done-cc compatibility | Accepted |
|
||||
| [0007-sdk-package-seam-module.md](0007-sdk-package-seam-module.md) | SDK Package Seam Module owns SDK-to-get-shit-done-redux compatibility | Accepted |
|
||||
| [0008-installer-migration-module.md](0008-installer-migration-module.md) | Installer Migration Module owns install-time upgrade safety | Accepted |
|
||||
| [0009-shell-command-projection-module.md](0009-shell-command-projection-module.md) | Shell Command Projection Module owns runtime-aware OS command rendering | Accepted |
|
||||
| [0010-file-operation-engine-module.md](0010-file-operation-engine-module.md) | File Operation Engine Module owns safe runtime/config file mutations | Proposed |
|
||||
|
||||
@@ -9,13 +9,13 @@ The CJS↔SDK hard-seam migration (#3524) eliminates a class of config-schema dr
|
||||
|
||||
| Phase | PR | Summary |
|
||||
|-------|----|---------|
|
||||
| Phase 1 | [#3531](https://github.com/gsd-build/get-shit-done/pull/3531) | `state-document` Shared Module — source-of-truth at `sdk/src/state-document/`, generator, freshness check, CJS Adapter (`state-document.generated.cjs`). Worked example for the pattern. |
|
||||
| Phase 2 | [#3540](https://github.com/gsd-build/get-shit-done/pull/3540) | `configuration` Shared Module — `sdk/shared/config-schema.manifest.json` + `sdk/shared/config-defaults.manifest.json` as data manifests; generator + freshness check + CJS Adapter. |
|
||||
| Phase 3 | [#3548](https://github.com/gsd-build/get-shit-done/pull/3548) | `workstream-inventory` Shared Module — source-of-truth at `sdk/src/workstream-inventory/`, builder, generator, freshness check, CJS Adapter. |
|
||||
| Phase 4 | [#3554](https://github.com/gsd-build/get-shit-done/pull/3554) | `project-root` Shared Module — source-of-truth at `sdk/src/project-root/`, generator, freshness check, CJS Adapter. |
|
||||
| Phase 5.0 | [#3558](https://github.com/gsd-build/get-shit-done/pull/3558) | `runtime-bridge-sync` worker — enables CJS-side execution of SDK native handlers; state.* family initial router delegation via `executeForCjs`. |
|
||||
| Phase 5.1 | [#3574](https://github.com/gsd-build/get-shit-done/pull/3574) | `state.*` router delegation complete — all known state subcommands delegated via `executeForCjs`; Phase 5.0 worker bug fix. |
|
||||
| Phase 6 | [#3577](https://github.com/gsd-build/get-shit-done/pull/3577) (closes [#3575](https://github.com/gsd-build/get-shit-done/issues/3575)) | Enforcement hardening + Final completion — hand-sync drift lint, CODEOWNERS, 6 family-router migrations, 5 Shared Module migrations (plan-scan, secrets, schema-detect, decisions, workstream-name-policy), workstream native support, parity fixes. Migration feature-complete: 22 cooperating siblings, 0 backlog pairs. |
|
||||
| Phase 1 | [#3531](https://github.com/GSD-redux/get-shit-done-redux/pull/3531) | `state-document` Shared Module — source-of-truth at `sdk/src/state-document/`, generator, freshness check, CJS Adapter (`state-document.generated.cjs`). Worked example for the pattern. |
|
||||
| Phase 2 | [#3540](https://github.com/GSD-redux/get-shit-done-redux/pull/3540) | `configuration` Shared Module — `sdk/shared/config-schema.manifest.json` + `sdk/shared/config-defaults.manifest.json` as data manifests; generator + freshness check + CJS Adapter. |
|
||||
| Phase 3 | [#3548](https://github.com/GSD-redux/get-shit-done-redux/pull/3548) | `workstream-inventory` Shared Module — source-of-truth at `sdk/src/workstream-inventory/`, builder, generator, freshness check, CJS Adapter. |
|
||||
| Phase 4 | [#3554](https://github.com/GSD-redux/get-shit-done-redux/pull/3554) | `project-root` Shared Module — source-of-truth at `sdk/src/project-root/`, generator, freshness check, CJS Adapter. |
|
||||
| Phase 5.0 | [#3558](https://github.com/GSD-redux/get-shit-done-redux/pull/3558) | `runtime-bridge-sync` worker — enables CJS-side execution of SDK native handlers; state.* family initial router delegation via `executeForCjs`. |
|
||||
| Phase 5.1 | [#3574](https://github.com/GSD-redux/get-shit-done-redux/pull/3574) | `state.*` router delegation complete — all known state subcommands delegated via `executeForCjs`; Phase 5.0 worker bug fix. |
|
||||
| Phase 6 | [#3577](https://github.com/GSD-redux/get-shit-done-redux/pull/3577) (closes [#3575](https://github.com/GSD-redux/get-shit-done-redux/issues/3575)) | Enforcement hardening + Final completion — hand-sync drift lint, CODEOWNERS, 6 family-router migrations, 5 Shared Module migrations (plan-scan, secrets, schema-detect, decisions, workstream-name-policy), workstream native support, parity fixes. Migration feature-complete: 22 cooperating siblings, 0 backlog pairs. |
|
||||
|
||||
---
|
||||
|
||||
@@ -203,13 +203,13 @@ If the module affects `CONTEXT.md`'s module inventory, update that section. Also
|
||||
|
||||
Add the new source-of-truth path to `.github/CODEOWNERS` under the Phase 6 block to make the architectural ownership explicit.
|
||||
|
||||
**Reference:** Phase 1 PR [#3531](https://github.com/gsd-build/get-shit-done/pull/3531) — `state-document` migration.
|
||||
**Reference:** Phase 1 PR [#3531](https://github.com/GSD-redux/get-shit-done-redux/pull/3531) — `state-document` migration.
|
||||
|
||||
---
|
||||
|
||||
## Guide: Adding a new canonical command
|
||||
|
||||
Use this when adding a new `gsd-sdk query <family>.<subcommand>` that should be handled natively in the SDK (not delegated to CJS). Phase 5.1's `state.update` migration (PR [#3574](https://github.com/gsd-build/get-shit-done/pull/3574)) is the worked example.
|
||||
Use this when adding a new `gsd-sdk query <family>.<subcommand>` that should be handled natively in the SDK (not delegated to CJS). Phase 5.1's `state.update` migration (PR [#3574](https://github.com/GSD-redux/get-shit-done-redux/pull/3574)) is the worked example.
|
||||
|
||||
**Step 1 — Declare in the command manifest**
|
||||
|
||||
@@ -232,7 +232,7 @@ Add a test in `tests/<family>-command-router.test.cjs` (or a new file if the fam
|
||||
|
||||
This test enforces that the delegate and the native handler stay aligned.
|
||||
|
||||
**Reference:** Phase 5.1 PR [#3574](https://github.com/gsd-build/get-shit-done/pull/3574) — `state.update` delegation.
|
||||
**Reference:** Phase 5.1 PR [#3574](https://github.com/GSD-redux/get-shit-done-redux/pull/3574) — `state.update` delegation.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Issue tracker: GitHub
|
||||
|
||||
Issues for this repo live in **GitHub Issues** at `gsd-build/get-shit-done`.
|
||||
Issues for this repo live in **GitHub Issues** at `GSD-redux/get-shit-done-redux`.
|
||||
|
||||
## Auth
|
||||
|
||||
@@ -9,19 +9,19 @@ repo-local `.envrc` before running `gh`.
|
||||
|
||||
## Conventions
|
||||
|
||||
- **Create**: `gh issue create --repo gsd-build/get-shit-done --title "..." --body "..."`
|
||||
- **Read**: `gh issue view <number> --repo gsd-build/get-shit-done --comments`
|
||||
- **List**: `gh issue list --repo gsd-build/get-shit-done --state open --json number,title,labels --jq '...'`
|
||||
- **Comment**: `gh issue comment <number> --repo gsd-build/get-shit-done --body "..."`
|
||||
- **Label**: `gh issue edit <number> --repo gsd-build/get-shit-done --add-label "..." --remove-label "..."`
|
||||
- **Close**: `gh issue close <number> --repo gsd-build/get-shit-done --comment "..."`
|
||||
- **Create**: `gh issue create --repo GSD-redux/get-shit-done-redux --title "..." --body "..."`
|
||||
- **Read**: `gh issue view <number> --repo GSD-redux/get-shit-done-redux --comments`
|
||||
- **List**: `gh issue list --repo GSD-redux/get-shit-done-redux --state open --json number,title,labels --jq '...'`
|
||||
- **Comment**: `gh issue comment <number> --repo GSD-redux/get-shit-done-redux --body "..."`
|
||||
- **Label**: `gh issue edit <number> --repo GSD-redux/get-shit-done-redux --add-label "..." --remove-label "..."`
|
||||
- **Close**: `gh issue close <number> --repo GSD-redux/get-shit-done-redux --comment "..."`
|
||||
|
||||
Always pass `--repo gsd-build/get-shit-done` explicitly — the local clone has multiple remotes and `gh` may resolve to the wrong one.
|
||||
Always pass `--repo GSD-redux/get-shit-done-redux` explicitly — the local clone has multiple remotes and `gh` may resolve to the wrong one.
|
||||
|
||||
## When a skill says "publish to the issue tracker"
|
||||
|
||||
Create a GitHub issue at `gsd-build/get-shit-done`.
|
||||
Create a GitHub issue at `GSD-redux/get-shit-done-redux`.
|
||||
|
||||
## When a skill says "fetch the relevant ticket"
|
||||
|
||||
Run `gh issue view <number> --repo gsd-build/get-shit-done --comments`.
|
||||
Run `gh issue view <number> --repo GSD-redux/get-shit-done-redux --comments`.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Triage Labels
|
||||
|
||||
Maps the five canonical triage roles to the actual label strings in `gsd-build/get-shit-done`.
|
||||
Maps the five canonical triage roles to the actual label strings in `GSD-redux/get-shit-done-redux`.
|
||||
|
||||
| Canonical role | Label in this repo | Notes |
|
||||
|-------------------|--------------------------|----------------------------------------------------------------|
|
||||
|
||||
@@ -60,7 +60,7 @@ GSD's `/gsd-pause-work` command saves execution state. The WARNING message sugge
|
||||
|
||||
## Setup
|
||||
|
||||
Both hooks are automatically registered during `npx get-shit-done-cc` installation:
|
||||
Both hooks are automatically registered during `npx get-shit-done-redux` installation:
|
||||
|
||||
- **Statusline** (writes bridge file): Registered as `statusLine` in settings.json
|
||||
- **Context Monitor** (reads bridge file): Registered as `PostToolUse` hook in settings.json (`AfterTool` for Gemini)
|
||||
|
||||
@@ -72,7 +72,7 @@ Currently accepted ADRs:
|
||||
| `0004-worktree-workstream-seam-module.md` | Planning Workspace Module as single seam for worktree and workstream state |
|
||||
| `0005-sdk-architecture-seam-map.md` | SDK Architecture seam map for query/runtime surfaces |
|
||||
| `0006-planning-path-projection-module.md` | Planning Path Projection Module for SDK query handlers |
|
||||
| `0007-sdk-package-seam-module.md` | SDK Package Seam Module owns SDK-to-get-shit-done-cc compatibility |
|
||||
| `0007-sdk-package-seam-module.md` | SDK Package Seam Module owns SDK-to-get-shit-done-redux compatibility |
|
||||
|
||||
### When an ADR is required
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ Currently, Grok Build is only supported via its Claude compatibility layer. This
|
||||
## 2. Current Multi-Runtime Setup (as of May 2026)
|
||||
|
||||
### Development Source (Single Source of Truth)
|
||||
- **Path:** `/home/cristian/bum/get-shit-done` (this repo — your working fork of `gsd-build/get-shit-done`)
|
||||
- **Path:** `/home/cristian/bum/get-shit-done` (this repo — your working fork of `GSD-redux/get-shit-done-redux`)
|
||||
|
||||
### Installed Locations
|
||||
- `~/.agents/get-shit-done/` — Core workflows, references, templates, `gsd-tools.cjs`, `bin/`
|
||||
|
||||
@@ -4,7 +4,7 @@ Copy-paste friendly for Discord and GitHub comments.
|
||||
|
||||
---
|
||||
|
||||
**@gsd-build/sdk** replaces the untyped, monolithic `gsd-tools.cjs` subprocess with a typed, tested, registry-based query system and **`gsd-sdk query`**, giving GSD structured results, classified errors (`GSDError` with `ErrorClassification`), and golden-verified parity with the old CLI. That gives the framework one stable contract instead of a fragile, very large CLI that every workflow had to spawn and parse by hand.
|
||||
**@gsd-redux/sdk** replaces the untyped, monolithic `gsd-tools.cjs` subprocess with a typed, tested, registry-based query system and **`gsd-sdk query`**, giving GSD structured results, classified errors (`GSDError` with `ErrorClassification`), and golden-verified parity with the old CLI. That gives the framework one stable contract instead of a fragile, very large CLI that every workflow had to spawn and parse by hand.
|
||||
|
||||
**What users can expect**
|
||||
|
||||
|
||||
@@ -1308,7 +1308,7 @@ Claude が GSD ワークフローコンテキスト外でファイル編集を
|
||||
|
||||
### 55. マルチランタイムインストーラー選択
|
||||
|
||||
**対象:** `npx get-shit-done-cc`
|
||||
**対象:** `npx get-shit-done-redux`
|
||||
|
||||
**目的:** 1回のインタラクティブなインストールセッションで複数のランタイムを選択します。
|
||||
|
||||
@@ -1327,7 +1327,7 @@ Claude が GSD ワークフローコンテキスト外でファイル編集を
|
||||
|
||||
### 56. Windsurf ランタイムサポート
|
||||
|
||||
**対象:** `npx get-shit-done-cc`
|
||||
**対象:** `npx get-shit-done-redux`
|
||||
|
||||
**目的:** Windsurf AI IDE のサポートを追加します。
|
||||
|
||||
@@ -1568,7 +1568,7 @@ Claude が GSD ワークフローコンテキスト外でファイル編集を
|
||||
|
||||
### 68. Claude Code スキルマイグレーション
|
||||
|
||||
**対象:** `npx get-shit-done-cc`
|
||||
**対象:** `npx get-shit-done-redux`
|
||||
|
||||
**目的:** GSD コマンドを Claude Code 2.1.88+ のスキル形式に後方互換性を維持してマイグレーションします。
|
||||
|
||||
@@ -1831,7 +1831,7 @@ Claude が GSD ワークフローコンテキスト外でファイル編集を
|
||||
|
||||
### 85. 新規ランタイムサポート (Trae, Cline, Augment Code)
|
||||
|
||||
**対象:** `npx get-shit-done-cc`
|
||||
**対象:** `npx get-shit-done-redux`
|
||||
|
||||
**目的:** Trae IDE、Cline、Augment Code ランタイムへの GSD インストールを拡張します。
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ GSD の `/gsd-pause-work` コマンドは実行状態を保存します。WARNIN
|
||||
|
||||
## セットアップ
|
||||
|
||||
両フックは `npx get-shit-done-cc` のインストール時に自動的に登録されます:
|
||||
両フックは `npx get-shit-done-redux` のインストール時に自動的に登録されます:
|
||||
|
||||
- **ステータスライン**(ブリッジファイルの書き込み): settings.json の `statusLine` として登録
|
||||
- **コンテキストモニター**(ブリッジファイルの読み取り): settings.json の `PostToolUse` フックとして登録(Gemini では `AfterTool`)
|
||||
|
||||
@@ -1308,7 +1308,7 @@ Claude가 GSD 워크플로우 컨텍스트 밖에서 파일 편집을 시도하
|
||||
|
||||
### 55. Multi-Runtime Installer Selection
|
||||
|
||||
**일부:** `npx get-shit-done-cc`
|
||||
**일부:** `npx get-shit-done-redux`
|
||||
|
||||
**목적:** 단일 대화형 설치 세션에서 여러 런타임을 선택합니다.
|
||||
|
||||
@@ -1327,7 +1327,7 @@ Claude가 GSD 워크플로우 컨텍스트 밖에서 파일 편집을 시도하
|
||||
|
||||
### 56. Windsurf 런타임 지원
|
||||
|
||||
**대상:** `npx get-shit-done-cc`
|
||||
**대상:** `npx get-shit-done-redux`
|
||||
|
||||
**목적:** Windsurf AI IDE 지원을 추가합니다.
|
||||
|
||||
@@ -1568,7 +1568,7 @@ Claude가 GSD 워크플로우 컨텍스트 밖에서 파일 편집을 시도하
|
||||
|
||||
### 68. Claude Code 스킬 마이그레이션
|
||||
|
||||
**대상:** `npx get-shit-done-cc`
|
||||
**대상:** `npx get-shit-done-redux`
|
||||
|
||||
**목적:** GSD 명령어를 하위 호환성을 유지하면서 Claude Code 2.1.88+ 스킬 형식으로 마이그레이션합니다.
|
||||
|
||||
@@ -1831,7 +1831,7 @@ Claude가 GSD 워크플로우 컨텍스트 밖에서 파일 편집을 시도하
|
||||
|
||||
### 85. 신규 런타임 지원 (Trae, Cline, Augment Code)
|
||||
|
||||
**대상:** `npx get-shit-done-cc`
|
||||
**대상:** `npx get-shit-done-redux`
|
||||
|
||||
**목적:** Trae IDE, Cline, Augment Code 런타임으로 GSD 설치를 확장합니다.
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ GSD의 `/gsd-pause-work` 명령어는 실행 상태를 저장합니다. WARNING
|
||||
|
||||
## 설정
|
||||
|
||||
두 훅 모두 `npx get-shit-done-cc` 설치 중에 자동으로 등록됩니다.
|
||||
두 훅 모두 `npx get-shit-done-redux` 설치 중에 자동으로 등록됩니다.
|
||||
|
||||
- **Statusline** (브리지 파일 기록): settings.json에 `statusLine`으로 등록
|
||||
- **Context Monitor** (브리지 파일 읽기): settings.json에 `PostToolUse` 훅으로 등록 (Gemini의 경우 `AfterTool`)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Manual Update (Non-npm Install)
|
||||
|
||||
Use this procedure when `npx get-shit-done-cc@latest` is unavailable — e.g. during a publish outage or if you are working directly from the source repo.
|
||||
Use this procedure when `npx get-shit-done-redux@latest` is unavailable — e.g. during a publish outage or if you are working directly from the source repo.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Node.js installed
|
||||
- This repo cloned locally (`git clone https://github.com/gsd-build/get-shit-done`)
|
||||
- This repo cloned locally (`git clone https://github.com/GSD-redux/get-shit-done-redux`)
|
||||
|
||||
## Steps
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
- **Status:** Reference
|
||||
- **Date:** 2026-05-14
|
||||
- **Tracking issue:** [#3524](https://github.com/gsd-build/get-shit-done/issues/3524)
|
||||
- **Tracking issue:** [#3524](https://github.com/GSD-redux/get-shit-done-redux/issues/3524)
|
||||
- **Related ADR:** [`docs/adr/3524-cjs-sdk-hard-seam.md`](../adr/3524-cjs-sdk-hard-seam.md)
|
||||
|
||||
## Why this PRD exists
|
||||
@@ -11,7 +11,7 @@ The ADR defines the target architecture — one source of truth per Shared Modul
|
||||
|
||||
## Problem statement
|
||||
|
||||
The CJS↔SDK boundary in `gsd-build/get-shit-done` is structurally permeable. Multiple Shared Modules — STATE.md Document Module, Workstream Inventory Module, and several others — exist today as **hand-synced pairs** of `.cjs` and `.ts` files with character-identical implementations. Constants (`CONFIG_DEFAULTS`, `VALID_CONFIG_KEYS`) are likewise defined twice. The boundary is policed only by:
|
||||
The CJS↔SDK boundary in `GSD-redux/get-shit-done-redux` is structurally permeable. Multiple Shared Modules — STATE.md Document Module, Workstream Inventory Module, and several others — exist today as **hand-synced pairs** of `.cjs` and `.ts` files with character-identical implementations. Constants (`CONFIG_DEFAULTS`, `VALID_CONFIG_KEYS`) are likewise defined twice. The boundary is policed only by:
|
||||
|
||||
- A naming-parity test (`tests/config-schema-sdk-parity.test.cjs`)
|
||||
- Output-parity golden tests for read-only handlers (`sdk/src/golden/read-only-parity.integration.test.ts`)
|
||||
@@ -209,7 +209,7 @@ Phase 5 specifically preserves the in-process model: `QueryRuntimeBridge.execute
|
||||
### Build/install pipeline impact
|
||||
|
||||
- Each generator runs at build time on the developer machine (and in CI for the freshness check). No runtime generator execution.
|
||||
- The published `get-shit-done-cc` package already includes both `get-shit-done/bin/` and `sdk/dist/`. The generated `.cjs` files are committed to the repo (like `command-aliases.generated.cjs` today), so the install flow is unchanged — no on-install code generation.
|
||||
- The published `get-shit-done-redux` package already includes both `get-shit-done/bin/` and `sdk/dist/`. The generated `.cjs` files are committed to the repo (like `command-aliases.generated.cjs` today), so the install flow is unchanged — no on-install code generation.
|
||||
- `npm run build:sdk` continues to do what it does. Generators are invoked via `npm run gen:<module>` per the existing precedent.
|
||||
|
||||
### Risks
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Referência de Ferramentas CLI
|
||||
|
||||
Resumo em Português das ferramentas CLI do GSD.
|
||||
Para API completa (assinaturas, argumentos e comportamento detalhado), consulte [CLI-TOOLS.md em inglês](../CLI-TOOLS.md) — inclui a secção **SDK and programmatic access** (`gsd-sdk query`, `@gsd-build/sdk`).
|
||||
Para API completa (assinaturas, argumentos e comportamento detalhado), consulte [CLI-TOOLS.md em inglês](../CLI-TOOLS.md) — inclui a secção **SDK and programmatic access** (`gsd-sdk query`, `@gsd-redux/sdk`).
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Skill surface budget — research memo
|
||||
|
||||
**Date:** 2026-05-12
|
||||
**Author:** triage analysis for issue [#3408](https://github.com/gsd-build/get-shit-done/issues/3408)
|
||||
**Author:** triage analysis for issue [#3408](https://github.com/GSD-redux/get-shit-done-redux/issues/3408)
|
||||
**Status:** Research input for ADR-0010
|
||||
**Reading time:** ~15 min
|
||||
|
||||
@@ -186,11 +186,11 @@ Instead of one shared `skillListingBudgetFraction`, give each plugin a dedicated
|
||||
|
||||
### Option F — Sub-plugins / split distribution
|
||||
|
||||
Publish GSD as multiple npm packages: `get-shit-done-cc-core`, `get-shit-done-cc-milestones`, `get-shit-done-cc-research`, etc. Users install only what they need.
|
||||
Publish GSD as multiple npm packages: `get-shit-done-redux-core`, `get-shit-done-redux-milestones`, `get-shit-done-redux-research`, etc. Users install only what they need.
|
||||
|
||||
| Dimension | Assessment |
|
||||
|---|---|
|
||||
| User UX | Reasonable for advanced users; confusing for first-time installers. Needs a meta-package (`get-shit-done-cc`) that depends on the slim ones — analogous to VS Code extension packs. |
|
||||
| User UX | Reasonable for advanced users; confusing for first-time installers. Needs a meta-package (`get-shit-done-redux`) that depends on the slim ones — analogous to VS Code extension packs. |
|
||||
| Implementation cost | **High.** Multi-package build pipeline, version sync across packages, changelog routing, install-script forking. |
|
||||
| Dependency safety | npm semver carries the contract; cross-package refs become real `require()` calls. |
|
||||
| Token savings | Same as Option A in practice — token savings come from choosing not to install, not from the package boundary. |
|
||||
@@ -260,7 +260,7 @@ Phase 2 — runtime surface command (follow-up ADR or amendment):
|
||||
|
||||
## 10. References
|
||||
|
||||
- Issue: [#3408](https://github.com/gsd-build/get-shit-done/issues/3408)
|
||||
- Issue: [#3408](https://github.com/GSD-redux/get-shit-done-redux/issues/3408)
|
||||
- Existing seam: `get-shit-done/bin/lib/install-profiles.cjs`
|
||||
- Description lint: `scripts/lint-descriptions.cjs`
|
||||
- Install dispatcher: `bin/install.js:123` (mode parsing), `bin/install.js:8167-8207` (minimal staging)
|
||||
|
||||
@@ -6,19 +6,19 @@
|
||||
|
||||
**解决上下文衰减 —— 即 Claude 填充上下文窗口时发生的质量退化问题。**
|
||||
|
||||
[](https://www.npmjs.com/package/get-shit-done-cc)
|
||||
[](https://www.npmjs.com/package/get-shit-done-cc)
|
||||
[](https://github.com/gsd-build/get-shit-done/actions/workflows/test.yml)
|
||||
[](https://www.npmjs.com/package/get-shit-done-redux)
|
||||
[](https://www.npmjs.com/package/get-shit-done-redux)
|
||||
[](https://github.com/GSD-redux/get-shit-done-redux/actions/workflows/test.yml)
|
||||
[](https://discord.gg/mYgfVNfA2r)
|
||||
[](https://x.com/gsd_foundation)
|
||||
[](https://dexscreener.com/solana/dwudwjvan7bzkw9zwlbyv6kspdlvhwzrqy6ebk8xzxkv)
|
||||
[](https://github.com/gsd-build/get-shit-done)
|
||||
[](https://github.com/GSD-redux/get-shit-done-redux)
|
||||
[](LICENSE)
|
||||
|
||||
<br>
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
```
|
||||
|
||||
**支持 Mac、Windows 和 Linux。**
|
||||
@@ -78,7 +78,7 @@ GSD 解决了这个问题。它是让 Claude Code 变得可靠的上下文工程
|
||||
## 快速开始
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
```
|
||||
|
||||
安装程序会提示你选择:
|
||||
@@ -99,7 +99,7 @@ npx get-shit-done-cc@latest
|
||||
GSD 快速迭代。定期更新:
|
||||
|
||||
```bash
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
```
|
||||
|
||||
<details>
|
||||
@@ -107,25 +107,25 @@ npx get-shit-done-cc@latest
|
||||
|
||||
```bash
|
||||
# Claude Code
|
||||
npx get-shit-done-cc --claude --global # 安装到 ~/.claude/
|
||||
npx get-shit-done-cc --claude --local # 安装到 ./.claude/
|
||||
npx get-shit-done-redux --claude --global # 安装到 ~/.claude/
|
||||
npx get-shit-done-redux --claude --local # 安装到 ./.claude/
|
||||
|
||||
# OpenCode
|
||||
npx get-shit-done-cc --opencode --global # 安装到 ~/.config/opencode/
|
||||
npx get-shit-done-redux --opencode --global # 安装到 ~/.config/opencode/
|
||||
|
||||
# Gemini CLI
|
||||
npx get-shit-done-cc --gemini --global # 安装到 ~/.gemini/
|
||||
npx get-shit-done-redux --gemini --global # 安装到 ~/.gemini/
|
||||
|
||||
# Kilo
|
||||
npx get-shit-done-cc --kilo --global # 安装到 ~/.config/kilo/
|
||||
npx get-shit-done-cc --kilo --local # 安装到 ./.kilo/
|
||||
npx get-shit-done-redux --kilo --global # 安装到 ~/.config/kilo/
|
||||
npx get-shit-done-redux --kilo --local # 安装到 ./.kilo/
|
||||
|
||||
# Codex
|
||||
npx get-shit-done-cc --codex --global # 安装到 ~/.codex/
|
||||
npx get-shit-done-cc --codex --local # 安装到 ./.codex/
|
||||
npx get-shit-done-redux --codex --global # 安装到 ~/.codex/
|
||||
npx get-shit-done-redux --codex --local # 安装到 ./.codex/
|
||||
|
||||
# 所有运行时
|
||||
npx get-shit-done-cc --all --global # 安装到所有目录
|
||||
npx get-shit-done-redux --all --global # 安装到所有目录
|
||||
```
|
||||
|
||||
使用 `--global`(`-g`)或 `--local`(`-l`)跳过位置提示。
|
||||
@@ -139,7 +139,7 @@ npx get-shit-done-cc --all --global # 安装到所有目录
|
||||
克隆仓库并本地运行安装程序:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/gsd-build/get-shit-done.git
|
||||
git clone https://github.com/GSD-redux/get-shit-done-redux.git
|
||||
cd get-shit-done
|
||||
node bin/install.js --claude --local
|
||||
```
|
||||
@@ -652,18 +652,18 @@ GSD 的代码库映射和分析命令读取文件以了解你的项目。**保
|
||||
|
||||
**命令没有按预期工作?**
|
||||
- 运行 `/gsd-help` 验证安装
|
||||
- 重新运行 `npx get-shit-done-cc` 重新安装
|
||||
- 重新运行 `npx get-shit-done-redux` 重新安装
|
||||
|
||||
**更新到最新版本?**
|
||||
```bash
|
||||
npx get-shit-done-cc@latest
|
||||
npx get-shit-done-redux@latest
|
||||
```
|
||||
|
||||
**使用 Docker 或容器化环境?**
|
||||
|
||||
如果用波浪号路径(`~/.claude/...`)读取文件失败,在安装前设置 `CLAUDE_CONFIG_DIR`:
|
||||
```bash
|
||||
CLAUDE_CONFIG_DIR=/home/youruser/.claude npx get-shit-done-cc --global
|
||||
CLAUDE_CONFIG_DIR=/home/youruser/.claude npx get-shit-done-redux --global
|
||||
```
|
||||
这确保使用绝对路径而不是 `~`,后者在容器中可能无法正确展开。
|
||||
|
||||
@@ -673,16 +673,16 @@ CLAUDE_CONFIG_DIR=/home/youruser/.claude npx get-shit-done-cc --global
|
||||
|
||||
```bash
|
||||
# 全局安装
|
||||
npx get-shit-done-cc --claude --global --uninstall
|
||||
npx get-shit-done-cc --opencode --global --uninstall
|
||||
npx get-shit-done-cc --kilo --global --uninstall
|
||||
npx get-shit-done-cc --codex --global --uninstall
|
||||
npx get-shit-done-redux --claude --global --uninstall
|
||||
npx get-shit-done-redux --opencode --global --uninstall
|
||||
npx get-shit-done-redux --kilo --global --uninstall
|
||||
npx get-shit-done-redux --codex --global --uninstall
|
||||
|
||||
# 本地安装(当前项目)
|
||||
npx get-shit-done-cc --claude --local --uninstall
|
||||
npx get-shit-done-cc --opencode --local --uninstall
|
||||
npx get-shit-done-cc --kilo --local --uninstall
|
||||
npx get-shit-done-cc --codex --local --uninstall
|
||||
npx get-shit-done-redux --claude --local --uninstall
|
||||
npx get-shit-done-redux --opencode --local --uninstall
|
||||
npx get-shit-done-redux --kilo --local --uninstall
|
||||
npx get-shit-done-redux --codex --local --uninstall
|
||||
```
|
||||
|
||||
这删除所有 GSD 命令、代理、钩子和设置,同时保留你的其他配置。
|
||||
@@ -691,7 +691,7 @@ npx get-shit-done-cc --codex --local --uninstall
|
||||
|
||||
## 社区移植
|
||||
|
||||
OpenCode、Gemini CLI、Kilo 和 Codex 现在通过 `npx get-shit-done-cc` 原生支持。
|
||||
OpenCode、Gemini CLI、Kilo 和 Codex 现在通过 `npx get-shit-done-redux` 原生支持。
|
||||
|
||||
这些社区移植开创了多运行时支持:
|
||||
|
||||
@@ -704,11 +704,11 @@ OpenCode、Gemini CLI、Kilo 和 Codex 现在通过 `npx get-shit-done-cc` 原
|
||||
|
||||
## Star 历史
|
||||
|
||||
<a href="https://star-history.com/#gsd-build/get-shit-done&Date">
|
||||
<a href="https://star-history.com/#GSD-redux/get-shit-done-redux&Date">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=gsd-build/get-shit-done&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=gsd-build/get-shit-done&type=Date" />
|
||||
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=gsd-build/get-shit-done&type=Date" />
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=GSD-redux/get-shit-done-redux&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=GSD-redux/get-shit-done-redux&type=Date" />
|
||||
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=GSD-redux/get-shit-done-redux&type=Date" />
|
||||
</picture>
|
||||
</a>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user