All workflow, command, reference, template, and tool-output files that surfaced /gsd:<cmd> as a user-typed slash command have been updated to use /gsd-<cmd>, matching the Claude Code skill directory name. Closes #2697 Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
145 KiB
Changelog
All notable changes to GSD will be documented in this file.
Format follows Keep a Changelog.
Unreleased
SDK query layer — Phase 3 (what you get)
If you use GSD as a workflow—milestones, phases, .planning/ artifacts, bundled workflows, and **/gsd:** commands—Phase 3 is about behavior matching what the docs and steps promise, and a bit less overhead when the framework advances a phase or bootstraps a new project for you.
- Your workflow shouldn’t silently drift from the docs — The actions that touch STATE, ROADMAP, git commits, config, and init/bootstrap are continuously compared to the legacy
gsd-tools.cjsbehavior in automated tests. The point for you: fewer “the workflow said X but the tooling did Y” moments as GSD ships updates (#2302). - Snappier phase and new-project flows (typical path) — When you’re not on a workstream override, the frequent “where is this phase?”, “what’s left to run?”, “mark phase complete”, and similar steps avoid spawning a whole extra Node process every time. Same outcomes you expect from the workflow; it should just feel lighter when things run headless or in tight loops (#2302).
- You can see what to run next — Documentation now states clearly when to use
gsd-sdk queryand when a step still needs the legacy script (only a few tools). The legacy script is marked deprecated in source but not removed—existing hooks and scripts keep working while you align with current examples (#2302).
Added
gsd-sdk query check auto-mode— Decision-routing audit Tier 2: one JSON blob forworkflow.auto_advance+workflow._auto_chain_activewithactive,source, and per-flag fields; workflows use--pick activeor--pick auto_chain_activeinstead of pairedconfig-getcalls (#2302).- SDK Phase 3 — parity and regression guardrails — Behind the scenes, exhaustive tests ensure the workflow-facing query commands stay aligned with the legacy CLI (including write paths and multi-step init). Contributors: policy coverage, read-only JSON parity, mutation sandboxes,
init.*composition tests;verifyGoldenPolicyComplete(),read-only-golden-rows,mutation-subprocess.integration.test.ts(#2302).
Changed
- SDK Phase 3 — runner hot path uses the registry directly — When you run phase lifecycle or new-project init through the SDK, the common STATE/roadmap/plan-index/complete/commit/config calls skip extra subprocess overhead on the default path (workstreams and test overrides unchanged). Contributors:
GSDTools→initPhaseOp,phasePlanIndex,phaseComplete,initNewProject,configSet,commit(#2302). - Docs —
docs/CLI-TOOLS.md— New SDK and programmatic access section (registry-first guidance, CJS→gsd-sdk queryexamples,GSDTools/workstream behavior,state loadvs registry state handlers, CLI-only commands); See also links toQUERY-HANDLERS.md, Architecture, and COMMANDS (#2302). - Docs —
docs/USER-GUIDE.md— Programmatic CLI subsection: corrected CLI-only vs registry commands; anchor link to CLI-TOOLS SDK section;state loadcaveat cross-reference (#2302). - CJS deprecation —
get-shit-done/bin/gsd-tools.cjsdocuments@deprecatedin favor ofgsd-sdk queryand@gsd-build/sdk(#2302).
Fixed
-
End-of-phase routing suggestions now use
/gsd-<cmd>(not the retired/gsd:<cmd>) — All user-visible command suggestions in workflows (execute-phase.md,transition.md), tool output (profile-output.cjs,init.cjs), references, and templates have been updated from/gsd:<cmd>to/gsd-<cmd>, matching the Claude Code skill directory name and the user-typed slash-command format. InternalSkill(skill="gsd:<cmd>")calls (no leading slash) are preserved unchanged — those resolve by frontmattername:not directory name. The namespace test (bug-2543-gsd-slash-namespace.test.cjs) has been updated to enforce the current invariant. Closes #2697. -
gsd-sdk querynow resolves parent.planning/root in multi-repo (sub_repos) workspaces — when invoked from inside asub_repos-listed child repo (e.g.workspace/app/), the SDK now walks up to the parent workspace that owns.planning/, matching the legacygsd-tools.cjsfindProjectRootbehavior. Previouslygsd-sdk query init.new-milestonereportedproject_exists: falsefrom the sub-repo, whilegsd-tools.cjsresolved the parent root correctly. Resolution happens once incli.tsbefore dispatch; ifprojectDiralready owns.planning/(including explicit--project-dir), the walk is a no-op. Ported asfindProjectRootinsdk/src/query/helpers.tswith the same detection order (own.planning/wins, then parentsub_reposmatch, then legacymultiRepo: true, then.githeuristic), capped at 10 parent levels and never crossing$HOME. Closes #2623. -
Shell hooks falsely flagged as stale on every session —
gsd-phase-boundary.sh,gsd-session-state.sh, andgsd-validate-commit.shnow ship with a# gsd-hook-version: {{GSD_VERSION}}header; the installer substitutes{{GSD_VERSION}}in.shhooks the same way it does for.jshooks; and the stale-hook detector ingsd-check-update.jsnow matches bash#comment syntax in addition to JS//syntax. All three changes are required together — neither the regex fix alone nor the install fix alone is sufficient to resolve the false positive (#2136, #2206, #2209, #2210, #2212)
1.38.2 - 2026-04-19
Fixed
- SDK decoupled from build-from-source install — replaces the fragile
tsc+npm install -g ./sdkdance on user machines with a prebuiltsdk/dist/shipped inside the parentget-shit-done-cctarball. Thegsd-sdkCLI is now abin/gsd-sdk.jsshim in the parent package that resolvessdk/dist/cli.jsand invokes it vianode, so npm chmods the bin entry from the tarball (not from a secondary local install) and PATH/exec-bit issues cannot occur. RepurposesinstallSdkIfNeeded()inbin/install.jsto only verifysdk/dist/cli.jsexists and fix its execute bit (non-fatal); deletesresolveGsdSdk(),detectShellRc(),emitSdkFatal()and the source-build/global-install logic (162 lines removed).release.ymlnow runsnpm run build:sdkbefore publish in both rc and finalize jobs, so every published tarball contains fresh SDK dist.sdk/package.jsonprepublishOnlyis the final safety net (rm -rf dist && tsc && chmod +x dist/cli.js).install-smoke.ymladds ansmoke-unpackedvariant that installs from the unpacked dir with the exec bit stripped, so this class of regression cannot ship again. Closes #2441 and #2453. --sdkflag semantics changed — previously forced a rebuild of the SDK from source; now verifies the bundledsdk/dist/is resolvable. Users who were invokingget-shit-done-cc --sdkas a "force rebuild" no longer need it — the SDK ships prebuilt.
Added
/gsd-ingest-docscommand — Scan a repo containing mixed ADRs, PRDs, SPECs, and DOCs and bootstrap or merge the full.planning/setup from them in a single pass. Parallel classification (gsd-doc-classifier), synthesis with precedence rules and cycle detection (gsd-doc-synthesizer), three-bucket conflicts report (INGEST-CONFLICTS.md: auto-resolved, competing-variants, unresolved-blockers), and hard-block on LOCKED-vs-LOCKED ADR contradictions in both new and merge modes. Supports directory-convention discovery and--manifest <file>YAML override with per-doc precedence. v1 caps at 50 docs per invocation;--resolve interactiveis reserved. Extracts shared conflict-detection contract intoreferences/doc-conflict-engine.mdwhich/gsd-importnow also consumes (#2387)/gsd-plan-review-convergencecommand — Cross-AI plan convergence loop that automatesplan-phase → review → replan → re-reviewcycles. Spawns isolated agents forgsd-plan-phaseandgsd-review; orchestrator only does loop control, HIGH concern counting, stall detection, and escalation. Supports--codex,--gemini,--claude,--opencode,--allreviewers and--max-cycles N(default 3). Loop exits when no HIGH concerns remain; stall detection warns when count isn't decreasing; escalation gate asks user to proceed or review manually when max cycles reached (#2306)
Fixed
gsd-read-injection-scannerhook now ships to users — the scanner was added in 1.37.0 (#2201) but was never added toscripts/build-hooks.js'HOOKS_TO_COPYallowlist, so it never landed inhooks/dist/andinstall.jsskipped it with "Skipped read injection scanner hook — gsd-read-injection-scanner.js not found at target". Effectively disabled the read-time prompt-injection scanner for every user on 1.37.0/1.37.1. Added to the build allowlist and regression test. Also dropped a redundant non-absolute.claude/hooks/path check that was bypassing the installer's runtime-path templating and leaking.claude/references into non-Claude installs (#2406)- SDK
checkAgentsInstalledis now runtime-aware —sdk/src/query/init.ts::checkAgentsInstalledonly knew where Claude Code put agents (~/.claude/agents). Users running GSD on Codex, OpenCode, Gemini, Kilo, Copilot, Antigravity, Cursor, Windsurf, Augment, Trae, Qwen, CodeBuddy, or Cline gotagents_installed: falseeven with a complete install, which hard-blocked any workflow that gates subagent spawning on that flag.sdk/src/query/helpers.tsnow resolves the right directory via three-tier detection (GSD_RUNTIMEenv →config.runtime→claudefallback) and mirrorsbin/install.js::getGlobalDir()for all 14 runtimes.GSD_AGENTS_DIRstill short-circuits the chain.init-runner.tsstays Claude-only by design (#2402) initquery agents-installed check looks at the correct directory —checkAgentsInstalledinsdk/src/query/init.tsdefaulted to~/.claude/get-shit-done/agents/, but the installer writes GSD agents to~/.claude/agents/. Every init query therefore reportedagents_installed: falseon clean installs, which made workflows refuse to spawngsd-executorand other parallel subagents. The default now matchessdk/src/init-runner.tsand the installer (#2400)- Installer now installs
@gsd-build/sdkautomatically sogsd-sdklands on PATH. Resolvescommand not found: gsd-sdkerrors that affected every/gsd-*command after a fresh install or/gsd-updateto 1.36+. Adds--no-sdkto opt out and--sdkto force reinstall. Implements the--sdkflag that was previously documented in README but never wired up (#2385)
1.37.1 - 2026-04-17
Fixed
- UI-phase researcher now loads sketch findings skills, preventing re-asking questions already answered during
/gsd-sketch
1.37.0 - 2026-04-17
Added
/gsd-spikeand/gsd-sketchcommands — First-class GSD commands for rapid feasibility spiking and UI design sketching. Each produces throwaway experiments (spikes) or HTML mockups with multi-variant exploration (sketches), saved to.planning/spikes/and.planning/sketches/with full GSD integration: banners, checkpoint boxes,gsd-sdk querycommits, and--quickflag to skip intake. Neither requires/gsd-new-project— auto-creates.planning/subdirs on demand/gsd-spike-wrap-upand/gsd-sketch-wrap-upcommands — Package spike/sketch findings into project-local skills at./.claude/skills/with a planning summary at.planning/. Curates each spike/sketch one-at-a-time, groups by feature/design area, and adds auto-load routing to project CLAUDE.md- Spike/sketch pipeline integration —
new-projectdetects prior spike/sketch work on init,discuss-phaseloads findings into prior context,plan-phaseincludes findings in planner<files_to_read>,exploreoffers spike/sketch as output routes,nextsurfaces pending spike/sketch work as notices,pause-workdetects active sketch context for handoff,doroutes spike/sketch intent to new commands /gsd-spec-phasecommand — Socratic spec refinement with ambiguity scoring to clarify WHAT a phase delivers before discuss-phase. Produces a SPEC.md with falsifiable requirements locked before implementation decisions begin (#2213)/gsd-progress --forensicflag — Appends a 6-check integrity audit after the standard progress report (#2231)/gsd-discuss-phase --allflag — Skip area selection and discuss all gray areas interactively (#2230)- Parallel discuss across independent phases — Multiple phases without dependencies can be discussed concurrently (#2268)
gsd-read-injection-scannerhook — PostToolUse hook that scans for prompt injection attempts in read file contents (#2201)- SDK Phase 2 caller migration — Workflows, agents, and commands now use
gsd-sdk queryinstead of rawgsd-tools.cjscalls (#2179) - Project identity in Next Up blocks — All Next Up blocks include workspace context for multi-project clarity (#1948)
- Agent size-budget enforcement — New
tests/agent-size-budget.test.cjsenforces tiered line-count limits on everygsd-*.mdagent (XL=1600, LARGE=1000, DEFAULT=500). Unbounded agent growth is paid in context on every subagent dispatch; the test prevents regressions and requires a deliberate PR rationale to raise a budget (#2361) - Shared
references/mandatory-initial-read.md— Extracts the<required_reading>enforcement block that was duplicated across 5 top agents. Agents now include it via a single@~/.claude/get-shit-done/references/mandatory-initial-read.mdline, using Claude Code's progressive-disclosure@filereference mechanism (#2361) - Shared
references/project-skills-discovery.md— Extracts the 5-step project skills discovery checklist that was copy-pasted across 5 top agents with slight divergence. Single source of truth with a per-agent "Application" paragraph documenting how planners, executors, researchers, verifiers, and debuggers each apply the rules (#2361)
Changed
gsd-debuggerphilosophy extracted to shared reference — The 76-line<philosophy>block containing evergreen debugging disciplines (user-as-reporter framing, meta-debugging, foundation principles, cognitive-bias table, systematic investigation, when-to-restart protocol) is now inget-shit-done/references/debugger-philosophy.mdand pulled into the agent via a single@fileinclude. Same content, lighter per-dispatch context footprint (#2363)gsd-planner,gsd-executor,gsd-debugger,gsd-verifier,gsd-phase-researcher— Migrated to@fileincludes for the mandatory-initial-read and project-skills-discovery boilerplate. Reduces per-dispatch context load without changing behavior (#2361)- Consolidated emphasis-marker density in top 4 agent files —
gsd-planner.md(23 → 15),gsd-phase-researcher.md(14 → 9),gsd-doc-writer.md(11 → 6), andgsd-executor.md(10 → 7). RemovedCRITICAL:prefixes from H2/H3 headings and dropped redundantCRITICAL:+MUST/ALWAYS:+NEVER:stacking. RFC-2119MUST/NEVERverbs inside normative sentences are preserved. Behavior-preserving; no content removed (#2368)
Fixed
- Broken
@planner-source-audit.mdrelative references ingsd-planner.md— Two locations referenced@planner-source-audit.md(resolves relative to working directory, almost always missing) instead of the correct absolute@~/.claude/get-shit-done/references/planner-source-audit.md. The planner's source audit discipline was silently unenforced (#2361) - Shell hooks falsely flagged as stale —
.shhooks now ship with version headers; installer stamps them; stale-hook detector matches bash comment syntax (#2136) - Worktree cleanup — Orphaned worktrees pruned in code, not prose; pre-merge deletion guard in quick.md (#2367, #2275)
/gsd-quickcrashes — gsd-sdk pre-flight check with install hint (#2334); rescue uncommitted SUMMARY.md before worktree removal (#2296)- Pattern mapper redundant reads — Early-stop rule prevents re-reading files (#2312)
- Context meter scaling — Respects
CLAUDE_CODE_AUTO_COMPACT_WINDOWfor accurate context bar (#2219) - Codex install paths — Replace all
~/.claude/paths in Codex.tomlfiles (#2320) - Graphify edge fallback — Falls back to
graph.linkswhengraph.edgesis absent (#2323) - New-project saved defaults — Display saved defaults before prompting to use them (#2333)
- UAT parser — Accept bracketed result values and fix decimal phase renumber padding (#2283)
- Stats duplicate rows — Normalize phase numbers in Map to prevent duplicates (#2220)
- Review prompt shell expansion — Pipe prompts via stdin (#2222)
- Intel scope resolution — Detect .kilo runtime layout (#2351)
- Read-guard CLAUDECODE env — Check env var in skip condition (#2344)
- Add-backlog directory ordering — Write ROADMAP entry before directory creation (#2286)
- Settings workstream routing — Route reads/writes through workstream-aware config path (#2285)
- Quick normalize flags —
--discuss --research --validatecombo normalizes to FULL_MODE (#2274) - Windows path normalization — Normalize in update scope detection (#2278)
- Codex/OpenCode model overrides — Embed model_overrides in agent files (#2279)
- Installer custom files — Restore detect-custom-files and backup_custom_files (#1997)
- Agent re-read loops — Add no-re-read critical rules to ui-checker and planner (#2346)
1.36.0 - 2026-04-14
SDK query layer — Phases 1 & 2 (what you get)
Day to day, GSD still revolves around your planning tree (ROADMAP, STATE, phase folders, config) and following the workflow (discuss → plan → execute → verify, milestone closes, etc.). Phases 1 and 2 introduce **gsd-sdk query** so those “plumbing” steps have a supported, first-class CLI—and so what workflows and /gsd: docs tell you to paste is closer to what actually runs.
- Phase 1 — Unblock faster when a step fails (#2118) — The same kinds of checks and updates your workflows, hooks, and agents rely on—reading phase context, roadmap, STATE, init payloads, config, validation—can go through
**gsd-sdk query**. When something is wrong (bad path, missing file, invalid args), you get errors you can act on, not an opaque script dump—so a stuck phase or a bad copy-paste is easier to fix, and your own terminal or CI glue beside GSD is easier to keep stable. - Phase 2 — Trust the examples in workflows (#2122, #2008) — The
**gsd-sdk query** CLI only runs commands that exist—no accidental fallback to something else. Workflow and agent examples were updated to match. A few special-case tools (e.g. graphify, from-gsd2) still call the legacy binary until they’re brought onto the same path;**docs/CLI-TOOLS.md** and**sdk/src/query/QUERY-HANDLERS.md**list what’s in scope. Hardening (commits, locks, paths, argument parsing) mostly shows up as fewer odd failures mid-milestone when STATE, roadmap, and git steps run.
Technical implementation details for Phase 2 appear in the Changed section below.
Added
**/gsd-graphifyintegration** — Knowledge graph for planning agents, enabling richer context connections between project artifacts (#2164)**gsd-pattern-mapperagent** — Codebase pattern analysis agent for identifying recurring patterns and conventions (#1861)**@gsd-build/sdk— Phase 1 typed query foundation (#2118)** — Introduces**gsd-sdk query** and registry-backed handlers; see SDK query layer — Phases 1 & 2 above for how that fits the workflow.- Opt-in TDD pipeline mode —
tdd_modeexposed in init JSON with--tddflag override for test-driven development workflows (#2119, #2124) - Stale/orphan worktree detection (W017) —
validate-healthnow detects stale and orphan worktrees (#2175) - Seed scanning in new-milestone — Planted seeds are scanned during milestone step 2.5 for automatic surfacing (#2177)
- Artifact audit gate — Open artifact auditing for milestone close and phase verify (#2157, #2158, #2160)
**/gsd-quickand/gsd-threadsubcommands** — Added list/status/resume/close subcommands (#2159)- Debug skill dispatch and session manager — Sub-orchestrator for
/gsd-debugsessions (#2154) - Project skills awareness — 9 GSD agents now discover and use project-scoped skills (#2152)
**/gsd-debugsession management** — TDD gate, reasoning checkpoint, and security hardening (#2146)- Context-window-aware prompt thinning — Automatic prompt size reduction for sub-200K models (#1978)
- SDK
--wsflag — Workstream-aware execution support (#1884) **/gsd-extract-learningscommand** — Phase knowledge capture workflow (#1873)- Cross-AI execution hook — Step 2.5 in execute-phase for external AI integration (#1875)
- Ship workflow external review hook — External code review command hook in ship workflow
- Plan bounce hook — Optional external refinement step (12.5) in plan-phase workflow
- Cursor CLI self-detection — Cursor detection and REVIEWS.md template for
/gsd-review(#1960) - Architectural Responsibility Mapping — Added to phase-researcher pipeline (#1988, #2103)
- Configurable
claude_md_path— Custom CLAUDE.md path setting (#2010, #2102) **/gsd-skill-manifestcommand** — Pre-compute skill discovery for faster session starts (#2101)**--dry-runmode and resolved blocker pruning** — State management improvements (#1970)- State prune command — Prune unbounded section growth in STATE.md (#1970)
- Global skills support — Support
~/.claude/skills/inagent_skillsconfig (#1992) - Context exhaustion auto-recording — Hooks auto-record session state on context exhaustion (#1974)
- Metrics table pruning — Auto-prune on phase complete for STATE.md metrics (#2087, #2120)
- Flow diagram directive for phase researcher — Data-flow architecture diagrams enforced (#2139, #2147)
Changed
- Planner context-cost sizing — Replaced time-based reasoning with context-cost sizing and multi-source coverage audit (#2091, #2092, #2114)
**/gsd-nextprior-phase completeness scan** — Replaced consecutive-call counter with completeness scan (#2097)- Inline execution for small plans — Default to inline execution, skip subagent overhead for small plans (#1979)
- Prior-phase context optimization — Limited to 3 most recent phases and includes
Depends onphases (#1969) - Non-technical owner adaptation —
discuss-phaseadapts gray area language for non-technical owners via USER-PROFILE.md (#2125, #2173) - Agent specs standardization — Standardized
required_readingpatterns across agent specs (#2176) - CI upgrades — GitHub Actions upgraded to Node 22+ runtimes; release pipeline fixes (#2128, #1956)
- Branch cleanup workflow — Auto-delete on merge + weekly sweep (#2051)
- PR #2179 maintainer review (Trek-e) — Scoped SDK to Phase 2 (#2122): removed
gsd-sdk querypassthrough togsd-tools.cjsandGSD_TOOLS_PATHoverride; argv routing consolidated inresolveQueryArgv().GSDToolsJSON parsing now reports@file:indirection read failures instead of failing opaquely.execute-plan.mddefers Task Commit Protocol toagents/gsd-executor.md(single source of truth). Stale/gsd:scan (#1748) skips.planning/and rootCLAUDE.mdso local gitignored overlays do not fail CI. - SDK query registry (PR #2179 review) — Register
summary-extractas an alias ofsummary.extractso workflows/agents match CJS naming. Correctaudit-fix.mdto callaudit-uatinstead of nonexistentinit.audit-uat. **gsd-tools audit-open** — Usecore.output()(was undefinedoutput()), and pass the artifact object for--jsonso stdout is JSON (not double-stringified).- SDK query layer (PR review hardening) —
commit-to-subrepouses realpath-aware path containment and sanitized commit messages;state.planned-phaseuses the STATE.md lockfile;verifyKeyLinksmitigates ReDoS on frontmatter patterns; frontmatter handlers resolve paths under the real project root; phase directory names reject..and separators;gsd-sdkrestores strict CLI parsing by stripping--pickbeforeparseArgs;QueryRegistry.commands()for enumeration;todoCompleteuses static error imports. **gsd-sdk queryrouting (Phase 2 scope)** —resolveQueryArgv()maps argv to registered handlers (longest-prefix match on dotted and spaced command keys; optional single-token dotted split). Unregistered commands are rejected at the CLI; usenode …/gsd-tools.cjsfor CJS-only subcommands.resolveGsdToolsPath()probes the SDK-bundled copy, then project and user~/.claude/get-shit-done/installs (noGSD_TOOLS_PATHoverride). Broader “CLI parity” passthrough is explicitly out of scope for #2122 and tracked separately for a future approved issue.- SDK query follow-up (tests, docs, registry) — Expanded
QUERY_MUTATION_COMMANDSfor event emission; stale lock cleanup uses PID liveness (process.kill(pid, 0)) when a lock file exists;searchJsonEntriesis depth-bounded (MAX_JSON_SEARCH_DEPTH); removed unnecessaryreaddirSync/Direntcasts across query handlers; addedsdk/src/query/QUERY-HANDLERS.md(error vs{ data.error }, mutations, locks, intel limits); unit tests for intel, profile, uat, skills, summary, websearch, workstream, registry vsQUERY_MUTATION_COMMANDS, and frontmatter extract/splice round-trip. - Phase 2 caller migration (#2122) — Workflows, agents, and commands prefer
gsd-sdk queryfor registered handlers; extended migration to additional orchestration call sites (review, plan-phase, execute-plan, ship, extract_learnings, ai-integration-phase, eval-review, next, profile-user, autonomous, thread command) and researcher agents; dual-path and CJS-only exceptions documented indocs/CLI-TOOLS.mdanddocs/ARCHITECTURE.md; relaxedtests/gsd-tools-path-refs.test.cjssocommands/gsd/workstreams.mdmay documentgsd-sdk querywithoutnode+gsd-tools.cjs. CJSgsd-tools.cjsremains on disk; graphify and other non-registry commands stay on CJS until registered. (#2008) - Phase 2 docs and call sites (follow-up) —
docs/USER-GUIDE.mdnow explainsgsd-sdk queryvs legacy CJS and lists CJS-only commands (state validate/sync,audit-open,graphify,from-gsd2). Updatedcommands/gsd(debug,quick,intel),agents/gsd-debug-session-manager.md, and workflows (milestone-summary,forensics,next,complete-milestone,verify-work,discuss-phase,progress,verify-phase,add-phase/insert-phase/remove-phase,transition,manager,quick) forgsd-sdk queryor explicit CJS exceptions (audit-open). - Phase 2 orchestration doc pass (#2122) — Aligned
commands/gsd(execute-phase,code-review,code-review-fix,from-gsd2,graphify) and agents (gsd-verifier,gsd-plan-checker,gsd-code-fixer,gsd-executor,gsd-planner, researchers, debugger) so examples useinit.*query names, correctfrontmatter.getpositional field,state.*positional args, andcommitwith positional file paths (not--files, exceptcommit-to-subrepowhich keeps--files). - Phase 2
commitexample sweep (#2122) — Normalizedgsd-sdk query commitusage acrossget-shit-done/workflows/**/*.md,get-shit-done/references/**/*.md, andcommands/gsd/**/*.mdso file paths follow the message positionally (SDKcommithandler);gsd-sdk query commit-to-subrepo … --files …unchanged. Updatedget-shit-done/references/git-planning-commit.mdprose; adjusted workflow contract tests (claude-md, forensics, milestone-summary, gates taxonomy CRLF-saferequired_reading, verifierroadmap.analyze) for the new examples.
Fixed
- Init ignores archived phases — Archived phases from prior milestones sharing a phase number no longer interfere (#2186)
- UAT file listing — Removed
head -5truncation from verify-work (#2172) - Intel status relative time — Display relative time correctly (#2132)
- Codex hook install — Copy hook files to Codex install target (#2153, #2166)
- Phase add-batch duplicate prevention — Prevents duplicate phase numbers on parallel invocations (#2165, #2170)
- Stale hooks warning — Show contextual warning for dev installs with stale hooks (#2162)
- Worktree submodule skip — Skip worktree isolation when
.gitmodulesdetected (#2144) - Worktree STATE.md backup — Use
cpinstead ofgit-show(#2143) - Bash hooks staleness check — Add missing bash hooks to
MANAGED_HOOKS(#2141) - Code-review parser fix — Fix SUMMARY.md parser section-reset for top-level keys (#2142)
- Backlog phase exclusion — Exclude 999.x backlog phases from next-phase and all_complete (#2135)
- Frontmatter regex anchor — Anchor
extractFrontmatterregex to file start (#2133) - Qwen Code install paths — Eliminate Claude reference leaks (#2112)
- Plan bounce default — Correct
plan_bounce_passesdefault from 1 to 2 - GSD temp directory — Use dedicated temp subdirectory for GSD temp files (#1975, #2100)
- Workspace path quoting — Quote path variables in workspace next-step examples (#2096)
- Answer validation loop — Carve out Other+empty exception from retry loop (#2093)
- Test race condition — Add
before()hook to bug-1736 test (#2099) - Qwen Code path replacement — Dedicated path replacement branches and finishInstall labels (#2082)
- Global skill symlink guard — Tests and empty-name handling for config (#1992)
- Context exhaustion hook defects — Three blocking defects fixed (#1974)
- State disk scan cache — Invalidate disk scan cache in writeStateMd (#1967)
- State frontmatter caching — Cache buildStateFrontmatter disk scan per process (#1967)
- Grep anchor and threshold guard — Correct grep anchor and add threshold=0 guard (#1979)
- Atomic write coverage — Extend atomicWriteFileSync to milestone, phase, and frontmatter (#1972)
- Health check optimization — Merge four readdirSync passes into one (#1973)
- SDK query layer hardening — Realpath-aware path containment, ReDoS mitigation, strict CLI parsing, phase directory sanitization (#2118)
- Prompt injection scan — Allowlist plan-phase.md
1.35.0 - 2026-04-10
Added
- Cline runtime support — First-class Cline runtime via rules-based integration. Installs to
~/.cline/or./.cline/as.clinerules. No custom slash commands — uses rules.--clineflag. (#1605 follow-up) - CodeBuddy runtime support — Skills-based install to
~/.codebuddy/skills/gsd-*/SKILL.md.--codebuddyflag. - Qwen Code runtime support — Skills-based install to
~/.qwen/skills/gsd-*/SKILL.md, same open standard as Claude Code 2.1.88+.QWEN_CONFIG_DIRenv var for custom paths.--qwenflag. **/gsd-from-gsd2command** (gsd:from-gsd2) — Reverse migration from GSD-2 format (.gsd/with Milestone→Slice→Task hierarchy) back to v1.planning/format. Flags:--dry-run(preview only),--force(overwrite existing.planning/),--path <dir>(specify GSD-2 root). ProducesPROJECT.md,REQUIREMENTS.md,ROADMAP.md,STATE.md, and sequential phase dirs. Flattens Milestone→Slice hierarchy to sequential phase numbers (M001/S01→phase 01, M001/S02→phase 02, M002/S01→phase 03, etc.).**/gsd-ai-integration-phasecommand** (gsd:ai-integration-phase) — AI framework selection wizard for integrating AI/LLM capabilities into a project phase. Interactive decision matrix with domain-specific failure modes and eval criteria. ProducesAI-SPEC.mdwith framework recommendation, implementation guidance, and evaluation strategy. Runs 3 parallel specialist agents: domain-researcher, framework-selector, ai-researcher, eval-planner.**/gsd-eval-reviewcommand** (gsd:eval-review) — Retroactive audit of an implemented AI phase's evaluation coverage. Checks implementation againstAI-SPEC.mdevaluation plan. Scores each eval dimension as COVERED/PARTIAL/MISSING. ProducesEVAL-REVIEW.mdwith findings, gaps, and remediation guidance.- Review model configuration — Per-CLI model selection for /gsd-review via
review.models.<cli>config keys. Falls back to CLI defaults when not set. (#1849) - Statusline now surfaces GSD milestone/phase/status — when no
in_progresstodo is active,gsd-statusline.jsreads.planning/STATE.md(walking up from the workspace dir) and fills the middle slot with<milestone> · <status> · <phase> (N/total). Gracefully degrades when fields are missing; identical to previous behavior when there is no STATE.md or an active todo wins the slot. Uses the YAML frontmatter added for #628. - Qwen Code and Cursor CLI peer reviewers — Added as reviewers in
/gsd-reviewwith--qwenand--cursorflags. (#1966)
Changed
- Worktree safety —
git cleanprohibition —gsd-executornow prohibitsgit cleanin worktree context to prevent deletion of prior wave output. (#2075) - Executor deletion verification — Pre-merge deletion checks added to catch missing artifacts before executor commit. (#2070)
- Hard reset in worktree branch check —
--hardflag inworktree_branch_checknow correctly resets the file tree, not just HEAD. (#2073)
Fixed
- Context7 MCP CLI fallback — Handles
tools: []response that previously broke Context7 availability detection. (#1885) **Agenttool in gsd-autonomous** — AddedAgenttoallowed-toolsto unblock subagent spawning. (#2043)**intel.enabledin config-set whitelist** — Config key now accepted byconfig-setwithout validation error. (#2021)**writeSettingsnull guard** — Guards against nullsettingsPathfor Cline runtime to prevent crash on install. (#2046)- Shell hook absolute paths —
.shhooks now receive absolute quoted paths inbuildHookCommand, fixing path resolution in non-standard working directories. (#2045) **processAttributionruntime-aware** — Was hardcoded to'claude'; now reads actual runtime from environment.**AskUserQuestionplain-text fallback** — Non-Claude runtimes now receive plain-text numbered lists instead of broken TUI menus.- iOS app scaffold uses XcodeGen — Prevents SPM execution errors in generated iOS scaffolds. (#2023)
**acceptance_criteriahard gate** — Enforced as a hard gate in executor — plans missing acceptance criteria are rejected before execution begins. (#1958)**normalizePhaseNamepreserves letter suffix case** — Phase names with letter suffixes (e.g.,1a,2B) now preserve original case. (#1963)
1.34.2 - 2026-04-06
Changed
- Node.js minimum lowered to 22 —
engines.nodewas raised to>=24.0.0based on a CI matrix change, but Node 22 is still in Active LTS until October 2026. Restoring Node 22 support eliminates theEBADENGINEwarning for users on the previous LTS line. CI matrix now tests against both Node 22 and Node 24.
1.34.1 - 2026-04-06
Fixed
- npm publish catchup — v1.33.0 and v1.34.0 were tagged but never published to npm; this release makes all changes available via
npx get-shit-done-cc@latest - Removed npm v1.32.0 stuck notice from README
1.34.0 - 2026-04-06
Added
- Gates taxonomy reference — 4 canonical gate types (pre-flight, revision, escalation, abort) with phase matrix wired into plan-checker and verifier agents (#1781)
- Post-merge hunk verification —
reapply-patchesnow detects silently dropped hunks after three-way merge (#1775) - Execution context profiles — Three context profiles (
dev,research,review) for mode-specific agent output guidance (#1807)
Fixed
- Shell hooks missing from npm package —
hooks/*.shfiles excluded from tarball due tohooks/distallowlist; changed tohooks(#1852 #1862) - detectConfigDir priority —
.claudenow searched first so Claude Code users don't see false update warnings when multiple runtimes are installed (#1860) - Milestone backlog preservation —
phases clearno longer wipes 999.x backlog phases (#1858)
1.33.0 - 2026-04-05
Added
- Queryable codebase intelligence system -- Persistent
.planning/intel/store with structured JSON files (files, exports, symbols, patterns, dependencies). Query viagsd-tools intelsubcommands. Incremental updates viagsd-intel-updateragent. Opt-in; projects without intel store are unaffected. (#1688) - Shared behavioral references — Add questioning, domain-probes, and UI-brand reference docs wired into workflows (#1658)
- Chore / Maintenance issue template — Structured template for internal maintenance tasks (#1689)
- Typed contribution templates — Separate Bug, Enhancement, and Feature issue/PR templates with approval gates (#1673)
- MODEL_ALIAS_MAP regression test — Ensures model aliases stay current (#1698)
Changed
- CONFIG_DEFAULTS constant — Deduplicate config defaults into single source of truth in core.cjs (#1708)
- Test standardization — All tests migrated to
node:assert/strictandt.after()cleanup per CONTRIBUTING.md (#1675) - CI matrix — Drop Windows runner, add static hardcoded-path detection (#1676)
Fixed
- Kilo path replacement —
copyFlattenedCommandsnow applies path replacement for Kilo runtime (#1710) - Prompt guard injection pattern — Add missing 'act as' pattern to hook (#1697)
- Frontmatter inline array parser — Respect quoted commas in array values (REG-04) (#1695)
- Cross-platform planning lock — Replace shell
sleepwithAtomics.waitfor Windows compatibility (#1693) - MODEL_ALIAS_MAP — Update to current Claude model IDs: opus→claude-opus-4-6, sonnet→claude-sonnet-4-6, haiku→claude-haiku-4-5 (#1691)
- Skill path replacement —
copyCommandsAsClaudeSkillsnow applies path replacement correctly (#1677) - Runtime detection for /gsd-review — Environment-based detection instead of hardcoded paths (#1463)
- Marketing text in runtime prompt — Remove marketing taglines from runtime selection (#1672, #1655)
- Discord invite link — Update from vanity URL to permanent invite link (#1648)
Documentation
- COMMANDS.md — Add /gsd-secure-phase and /gsd-docs-update (#1706)
- AGENTS.md — Add 3 missing agents, fix stale counts (#1703)
- ARCHITECTURE.md — Update component counts and missing entries (#1701)
- Localized documentation — Full v1.32.0 audit for all language READMEs
[1.32.0] - 2026-04-04
Added
- Trae runtime support — Install GSD for Trae IDE via
--traeflag (#1566) - Kilo CLI runtime support — Full Kilo runtime integration with skill conversion and config management
- Augment Code runtime support — Full Augment runtime with skill conversion
- Cline runtime support — Install GSD for Cline via
.clinerules(#1605) **state validatecommand** — Detects drift between STATE.md and filesystem reality (#1627)**state synccommand** — Reconstructs STATE.md from actual project state with--verifydry-run (#1627)**state planned-phasecommand** — Records state transition after plan-phase completes (#1627)**--to Nflag for autonomous mode** — Stop execution after completing a specific phase (#1644)**--powerflag for discuss-phase** — File-based bulk question answering (#1513)**--interactiveflag for autonomous** — Lean context with user input**--diagnoseflag for debug** — Diagnosis-only mode without fix attempts (#1396)**/gsd-analyze-dependenciescommand** — Detect phase dependencies (#1607)- Anti-pattern severity levels — Mandatory understanding checks at resume (#1491)
- Methodology artifact type — Consumption mechanisms for methodology documents (#1488)
- Planner reachability check — Validates plan steps are achievable (#1606)
- Playwright-MCP automated UI verification — Optional visual verification in verify-phase (#1604)
- Pause-work expansion — Supports non-phase contexts with richer handoffs (#1608)
- Research gate — Blocks planning when RESEARCH.md has unresolved open questions (#1618)
- Context reduction — Markdown truncation and cache-friendly prompt ordering for SDK (#1615)
- Verifier milestone scope filtering — Gaps addressed in later phases marked as deferred, not gaps (#1624)
- Read-before-edit guard hook — Advisory PreToolUse hook prevents infinite retry loops in non-Claude runtimes (#1628)
- Response language config —
response_languagesetting for cross-phase language consistency (#1412) - Manual update procedure —
docs/manual-update.mdfor non-npm installs - Commit-docs hook — Guard for
commit_docsenforcement (#1395) - Community hooks opt-in — Optional hooks for GSD projects
- OpenCode reviewer — Added as peer reviewer in
/gsd-review - Multi-project workspace —
GSD_PROJECTenv var support - Manager passthrough flags — Per-step flag configuration via config (#1410)
- Adaptive context enrichment — For 1M-token models
- Test quality audit step — Added to verify-phase workflow
Changed
- Modular planner decomposition —
gsd-planner.mdsplit into reference files to stay under 50K char limit (#1612) - Sequential worktree dispatch — Replaced timing-based stagger with sequential
Task()+run_in_background(#1541) - Skill format migration — All user-facing suggestions updated from
/gsd:xxxto/gsd-xxx(#1579)
Fixed
- Phase resolution prefix collision —
find-phasenow uses exact token matching;1009no longer matches1009A(#1635) - Roadmap backlog phase lookup —
roadmap get-phasefalls back to full ROADMAP.md for phases outside current milestone (#1634) - Performance Metrics in
phase complete— Now updates Velocity and By Phase table on phase completion (#1627) - Ghost
state update-positioncommand — Removed dead reference from execute-phase.md (#1627) - Semver comparison for update check — Proper
isNewer()comparison replaces!==; no longer flags newer-than-npm as update available (#1617) - Next Up block ordering —
/clearshown before command (#1631) - Chain flag preservation — Preserved across discuss → plan → execute (#1633)
- Config key validation — Unrecognized keys in config.json now warn instead of silent drop (#1542)
- Parallel worktree STATE.md overwrites — Orchestrator owns STATE.md/ROADMAP.md writes (#1599)
- Dependent plan wave ordering — Detects
files_modifiedoverlap and enforces wave ordering (#1587) - Windows session path hash — Uses
realpathSync.native(#1593) - STATE.md progress counters — Corrected during plan execution (#1597)
- Workspace agent path resolution — Correct in worktree context (#1512)
- Milestone phase cleanup — Clears phases directory on new milestone (#1588)
- Workstreams allowed-tools — Removed unnecessary Write permission (#1637)
- Executor/planner MCP tools — Instructed to use available MCP tools (#1603)
- Bold plan checkboxes — Fixed in ROADMAP.md
- Backlog recommendations — Fixed BACKLOG phase handling
- Session ID path traversal — Validated
planningDir - Copilot executor Task descriptions — Added required
descriptionparam - OpenCode permission string guard — Fixed string-valued permission config
- Concurrency safety — Atomic state writes
- Health validation — STATE/ROADMAP cross-validation
- Workstream session routing — Isolated per session with fallback
[1.31.0] - 2026-04-01
Added
- Claude Code 2.1.88+ skills migration — Commands now install as
skills/gsd-*/SKILL.mdinstead of deprecatedcommands/gsd/. Auto-cleans legacy directory on install **/gsd:docs-updatecommand** — Verified documentation generation with doc-writer and doc-verifier agents**--chainflag for discuss-phase** — Interactive discuss that auto-chains into plan+execute**--only Nflag for autonomous** — Execute a single phase instead of all remaining- Schema drift detection — Prevents false-positive verification when ORM schema files change without migration
**/gsd:secure-phasecommand** — Security enforcement layer with threat-model-anchored verification- Claim provenance tagging — Researcher marks claims with source evidence
- Scope reduction detection — Planner blocked from silently dropping requirements
**workflow.use_worktreesconfig** — Toggle to disable worktree isolation**project_codeconfig** — Prefix phase directories with project code- Project skills discovery — CLAUDE.md generation now includes project-specific skills section
- CodeRabbit integration — Added to cross-AI review workflow
- GSD SDK enhancements — Auto
--initflag, headless prompts, prompt sanitizer
Changed
**/gsd:quick --fullflag** — Now enables all phases (discussion + research + plan-checking + verification). New--validateflag covers previous--fullbehavior (plan-checking + verification only)
Fixed
- Gemini CLI agent loading — Removed
permissionModethat broke agent frontmatter parsing - Phase count display — Clarified misleading N/T banner in autonomous mode
- Workstream
setcommand — Now requires name arg, added--clearflag - Infinite self-discuss loop — Fixed in auto/headless mode with
max_discuss_passesconfig - Orphan worktree cleanup — Post-execution cleanup added
- JSONC settings.json — Comments no longer cause data loss
- Incremental checkpoint saves — Discuss answers preserved on interrupt
- Stats accuracy — Verification required for Complete status, added Executed state
- Three-way merge for reapply-patches — Never-skip invariant for backed-up files
- SDK verify gates advance — Skip advance when verification finds gaps
- Manager delegates to Skill pipeline — Instead of raw Task prompts
- ROADMAP.md Plans column — cmdPhaseComplete now updates correctly
- Decimal phase numbers — Commit regex captures decimal phases
- Codex path replacement — Added .claude path replacement
- Verifier loads all ROADMAP SCs — Regardless of PLAN must_haves
- Verifier human_needed status — Enforced when human verification items exist
- Hooks shared cache dir — Correct stale hooks path
- Plan file naming — Convention enforced in gsd-planner agent
- Copilot path replacement — Fixed ~/.claude to ~/.github
- Windsurf trailing slash — Removed from .windsurf/rules path
- Slug sanitization — Added --raw flag, capped length to 60 chars
1.30.0 - 2026-03-26
Added
- GSD SDK — Headless TypeScript SDK (
@gsd-build/sdk) withgsd-sdk initandgsd-sdk autoCLI commands for autonomous project execution **--sdkinstaller flag** — Optionally install the GSD SDK during setup (interactive prompt or--sdkflag)
1.29.0 - 2026-03-25
Added
- Windsurf runtime support — Full installation and command conversion for Windsurf
- Agent skill injection — Inject project-specific skills into subagents via
agent_skillsconfig section - UI-phase and UI-review steps in autonomous workflow
- Security scanning CI — Prompt injection, base64, and secret scanning workflows
- Portuguese (pt-BR) documentation
- Korean (ko-KR) documentation
- Japanese (ja-JP) documentation
Changed
- Repository references updated from
glittercowboytogsd-build - Korean translations refined from formal -십시오 to natural -세요 style
Fixed
- Frontmatter
must_havesparser handles any YAML indentation width findProjectRootreturns startDir when it already contains.planning/- Agent workflows include
<available_agent_types>for named agent spawning - Begin-phase preserves Status/LastActivity/Progress in Current Position
- Missing GSD agents detected with warning when
subagent_typefalls back to general-purpose - Codex re-install repairs trapped non-boolean keys under
[features] - Invalid
\Zregex anchor replaced and redundant pattern removed - Hook field validation prevents silent
settings.jsonrejection - Codex preserves top-level config keys and uses absolute agent paths (≥0.116)
- Windows shell robustness,
project_rootdetection, and hook stdin safety - Brownfield project detection expanded to Android, Kotlin, Gradle, and 15+ ecosystems
- Verify-work checkpoint rendering hardened
- Worktree agents get
permissionMode: acceptEdits - Security scan self-detection and Windows test compatibility
1.28.0 - 2026-03-22
Added
- Workstream namespacing — Parallel milestone work via
/gsd:workstreams - Multi-project workspace commands — Manage multiple GSD projects from a single root
**/gsd:forensicscommand** — Post-mortem workflow investigation**/gsd:milestone-summarycommand** — Post-build onboarding for completed milestones**workflow.skip_discusssetting** — Bypass discuss-phase in autonomous mode**workflow.discuss_modeassumptions config** — Control discuss-phase behavior- UI-phase recommendation — Automatically surfaced for UI-heavy phases
- CLAUDE.md compliance — Added as plan-checker Dimension 10
- Data-flow tracing, environment audit, and behavioral spot-checks in verification
- Multi-runtime selection in interactive installer
- Text mode support for plan-phase workflow
- "Follow the Indirection" debugging technique in gsd-debugger
**--reviewsflag** forgsd:plan-phase- Temp file reaper — Prevents unbounded /tmp accumulation
Changed
- Test matrix optimized from 9 containers down to 4
- Copilot skill/agent counts computed dynamically from source dirs
- Wave-specific execution support in execute-phase
Fixed
- Windows 8.3 short path failures in worktree tests
- Worktree isolation enforced for code-writing agents
- Linked worktrees respect
.planning/before resolving to main repo - Path traversal prevention via workstream name sanitization
- Strategy branch created before first commit (not at execute-phase)
ProviderModelNotFoundErroron non-Claude runtimes$HOMEused instead of~in installed shell command paths- Subdirectory CWD preserved in monorepo worktrees
- Stale hook detection checking wrong directory path
- STATE.md frontmatter status preserved when body Status field missing
- Pipe truncation fix using
fs.writeSyncfor stdout - Verification gate before writing PROJECT.md in new-milestone
- Removed
jqas undocumented hard dependency - Discuss-phase no longer ignores workflow instructions
- Gemini CLI uses
BeforeToolhook event instead ofPreToolUse
1.27.0 - 2026-03-20
Added
- Advisor mode — Research-backed discussion with parallel agents evaluating gray areas before you decide
- Multi-repo workspace support — Auto-detection and project root resolution for monorepos and multi-repo setups
- Cursor CLI runtime support — Full installation and command conversion for Cursor
**/gsd:fastcommand** — Trivial inline tasks that skip planning entirely**/gsd:reviewcommand** — Cross-AI peer review of current phase or branch**/gsd:plant-seedcommand** — Backlog parking lot for ideas and persistent context threads**/gsd:pr-branchcommand** — Clean PR branches filtering.planning/commits**/gsd:audit-uatcommand** — Verification debt tracking across phases**--analyzeflag for discuss-phase** — Trade-off analysis during discussion**research_before_questionsconfig option** — Run research before discussion questions instead of after- Ticket-based phase identifiers — Support for team workflows using ticket IDs
- Worktree-aware
.planning/resolution — File locking for safe parallel access - Discussion audit trail — Auto-generated
DISCUSSION-LOG.mdduring discuss-phase - Context window size awareness — Optimized behavior for 1M+ context models
- Exa and Firecrawl MCP support — Additional research tools for research agents
- Runtime State Inventory — Researcher capability for rename/refactor phases
- Quick-task branch support — Isolated branches for quick-mode tasks
- Decision IDs — Discuss-to-plan traceability via decision identifiers
- Stub detection — Verifier and executor detect incomplete implementations
- Security hardening — Centralized
security.cjsmodule with path traversal prevention, prompt injection detection/sanitization, safe JSON parsing, field name validation, and shell argument validation. PreToolUsegsd-prompt-guardhook scans writes to.planning/for injection patterns
Changed
- CI matrix updated to Node 20, 22, 24 — dropped EOL Node 18
- GitHub Actions upgraded for Node 24 compatibility
- Consolidated
planningPaths()helper across 4 modules — eliminated 34 inline path constructions - Deduplicated code, annotated empty catches, consolidated STATE.md field helpers
- Materialize full config on new-project initialization
- Workflow enforcement guidance embedded in generated CLAUDE.md
Fixed
- Path traversal in
readTextArgOrFile— arguments validate paths resolve within project directory - Codex config.toml corruption from non-boolean
[features]keys - Stale hooks check filtered to gsd-prefixed files only
- Universal agent name replacement for non-Claude runtimes
--no-verifysupport for parallel executor commits- ROADMAP fallback for plan-phase, execute-phase, and verify-work
- Copilot sequential fallback and spot-check completion detection
text_modeconfig for Claude Code remote session compatibility- Cursor: preserve slash-prefixed commands and unquoted skill names
- Semver 3+ segment parsing and CRLF frontmatter corruption recovery
- STATE.md parsing fixes (compound Plan field, progress tables, lifecycle extraction)
- Windows HOME sandboxing for tests
- Hook manifest tracking for local patch detection
- Cross-platform code detection and STATE.md file locking
- Auto-detect
commit_docsfrom gitignore inloadConfig - Context monitor hook matcher and timeout
- Codex EOL preservation when enabling hooks
- macOS
/varsymlink resolution in path validation
1.26.0 - 2026-03-18
Added
- Developer profiling pipeline —
/gsd:profile-useranalyzes Claude Code session history to build behavioral profiles across 8 dimensions (communication, decisions, debugging, UX, vendor choices, frustrations, learning style, explanation depth). GeneratesUSER-PROFILE.md,/gsd:dev-preferences, andCLAUDE.mdprofile section. Includes--questionnairefallback and--refreshfor re-analysis (#1084) **/gsd:shipcommand** — PR creation from verified phase work. Auto-generates rich PR body from planning artifacts, pushes branch, creates PR viagh, and updates STATE.md (#829)**/gsd:nextcommand** — Automatic workflow advancement to the next logical step (#927)- Cross-phase regression gate — Execute-phase runs prior phases' test suites after execution, catching regressions before they compound (#945)
- Requirements coverage gate — Plan-phase verifies all phase requirements are covered by at least one plan before proceeding (#984)
- Structured session handoff artifact —
/gsd:pause-workwrites.planning/HANDOFF.jsonfor machine-readable cross-session continuity (#940) - WAITING.json signal file — Machine-readable signal for decision points requiring user input (#1034)
- Interactive executor mode — Pair-programming style execution with step-by-step user involvement (#963)
- MCP tool awareness — GSD subagents can discover and use MCP server tools (#973)
- Codex hooks support — SessionStart hook support for Codex runtime (#1020)
- Model alias-to-full-ID resolution — Task API compatibility for model alias strings (#991)
- Execution hardening — Pre-wave dependency checks, cross-plan data contracts, and export-level spot checks (#1082)
- Markdown normalization — Generated markdown conforms to markdownlint standards (#1112)
**/gsd:audit-uatcommand** — Cross-phase audit of all outstanding UAT and verification items. Scans every phase for pending, skipped, blocked, and human_needed items. Cross-references against codebase to detect stale documentation. Produces prioritized human test plan grouped by testability- Verification debt tracking — Five structural improvements to prevent silent loss of UAT/verification items when projects advance:
- Cross-phase health check in
/gsd:progress(Step 1.6) surfaces outstanding items from ALL prior phases status: partialin UAT files distinguishes incomplete testing from completed sessionsresult: blockedwithblocked_bytag for tests blocked by external dependencies (server, device, build, third-party)human_neededverification items now persist as HUMAN-UAT.md files (trackable across sessions)- Phase completion and transition warnings surface verification debt non-blockingly
- Cross-phase health check in
- Advisor mode for discuss-phase — Spawns parallel research agents during
/gsd:discuss-phaseto evaluate gray areas before user decides. Returns structured comparison tables calibrated to user's vendor philosophy. Activates only whenUSER-PROFILE.mdexists (#1211)
Changed
- Test suite consolidated: runtime converters deduplicated, helpers standardized (#1169)
- Added test coverage for model-profiles, templates, profile-pipeline, profile-output (#1170)
- Documented
inheritprofile for non-Anthropic providers (#1036)
Fixed
- Agent suggests non-existent
/gsd:transition— replaced with real commands (#1081, #1100) - PROJECT.md drift and phase completion counter accuracy (#956)
- Copilot executor stuck issue — runtime compatibility fallback added (#1128)
- Explicit agent type listings prevent fallback after
/clear(#949) - Nested Skill calls breaking AskUserQuestion (#1009)
- Negative-heuristic
stripShippedMilestonesreplaced with positive milestone lookup (#1145) - Hook version tracking, stale hook detection, stdin timeout, session-report command (#1153, #1157, #1161, #1162)
- Hook build script syntax validation (#1165)
- Verification examples use
fetch()instead ofcurlfor Windows compatibility (#899) - Sequential fallback for
map-codebaseon runtimes without Task tool (#1174) - Zsh word-splitting fix for RUNTIME_DIRS arrays (#1173)
- CRLF frontmatter parsing, duplicate cwd crash, STATE.md phase transitions (#1105)
- Requirements
mark-completemade idempotent (#948) - Profile template paths, field names, and evidence key corrections (#1095)
- Duplicate variable declaration removed (#1101)
1.25.0 - 2026-03-16
Added
- Antigravity runtime support — Full installation support for the Antigravity AI agent runtime (
--antigravity), alongside Claude Code, OpenCode, Gemini, Codex, and Copilot **/gsd:docommand** — Freeform text router that dispatches natural language to the right GSD command**/gsd:notecommand** — Zero-friction idea capture with append, list, and promote-to-todo subcommands- Context window warning toggle — Config option to disable context monitor warnings (
hooks.context_monitor: false) - Comprehensive documentation — New
docs/directory with feature, architecture, agent, command, CLI, and configuration guides
Changed
/gsd:discuss-phaseshows remaining discussion areas when asking to continue or move on/gsd:plan-phaseasks user about research instead of silently deciding- Improved GitHub issue and PR templates with industry best practices
- Settings clarify balanced profile uses Sonnet for research
Fixed
- Executor checks for untracked files after task commits
- Researcher verifies package versions against npm registry before recommending
- Health check adds CWD guard and strips archived milestones
core.cjsreturnsopusdirectly instead of mapping toinherit- Stats command corrects git and roadmap reporting
- Init prefers current milestone phase-op targets
- Antigravity skills —
processAttributionwas missing fromcopyCommandsAsAntigravitySkills, causing SKILL.md files to be written without commit attribution metadata - Copilot install tests updated for UI agent count changes
1.24.0 - 2026-03-15
Added
**/gsd:quick --researchflag** — Spawns focused research agent before planning, composable with--discussand--full(#317)**inheritmodel profile** for OpenCode — agents inherit the user's selected runtime model via/model- Persistent debug knowledge base — resolved debug sessions append to
.planning/debug/knowledge-base.md, eliminating cold-start investigation on recurring issues - Programmatic
/gsd:set-profile— runs as a script instead of LLM-driven workflow, executes in seconds instead of 30-40s
Fixed
- ROADMAP.md searches scoped to current milestone — multi-milestone projects no longer match phases from archived milestones
- OpenCode agent frontmatter conversion — agents get correct
name:,model: inherit,mode: subagent opencode.jsoncconfig files respected during install (previously only.jsonwas detected) (#1053)- Windows installer crash on EPERM/EACCES when scanning protected directories (#964)
gsd-tools.cjsuses absolute paths in all install types (#820)- Invalid
skills:frontmatter removed from UI agent files
1.23.0 - 2026-03-15
Added
/gsd:ui-phase+/gsd:ui-review— UI design contract generation and retroactive 6-pillar visual audit for frontend phases (closes #986)/gsd:stats— project statistics dashboard: phases, plans, requirements, git metrics, and timeline- Copilot CLI runtime support — install with
--copilot, maps Claude Code tools to GitHub Copilot tools **gsd-autonomousskill** for Codex runtime — enables autonomous GSD execution- Node repair operator — autonomous recovery when task verification fails: RETRY, DECOMPOSE, or PRUNE before escalating to user. Configurable via
workflow.node_repair_budget(default: 2 attempts). Disable withworkflow.node_repair: false - Mandatory
read_firstandacceptance_criteriasections in plans to prevent shallow execution - Mandatory
canonical_refssection in CONTEXT.md for traceable decisions - Quick mode uses
YYMMDD-xxxtimestamp IDs instead of auto-increment numbers
Changed
/gsd:discuss-phasesupports explicit--batchmode for grouped question intake
Fixed
/gsd:new-milestoneno longer resetsworkflow.researchconfig during milestone transitions/gsd:updateis runtime-aware and targets the correct runtime directory- Phase-complete properly updates REQUIREMENTS.md traceability (closes #848)
- Auto-advance no longer triggers without
--autoflag (closes #1026, #932) --autoflag correctly skips interactive discussion questions (closes #1025)- Decimal phase numbers correctly padded in init.cjs (closes #915)
- Empty-answer validation guards added to discuss-phase (closes #912)
- Tilde paths in templates prevent PII leak in
.planning/files (closes #987) - Invalid
commit-docscommand replaced withcommitin workflows (closes #968) - Uninstall mode indicator shown in banner output (closes #1024)
- WSL + Windows Node.js mismatch detected with user warning (closes #1021)
- Deprecated Codex config keys removed to fix UI instability
- Unsupported Gemini agent
skillsfrontmatter stripped for compatibility - Roadmap
completecheckbox overridesdisk_statusfor phase detection - Plan-phase Nyquist validation works when research is disabled (closes #1002)
- Valid Codex agent TOML emitted by installer
- Escape characters corrected in grep commands
1.22.4 - 2026-03-03
Added
--discussflag for/gsd:quick— lightweight pre-planning discussion to gather context before quick tasks
Fixed
- Windows:
@file:protocol resolution for large init payloads (>50KB) — all 32 workflow/agent files now resolve temp file paths instead of letting agents hallucinate/tmppaths (#841) - Missing
skillsfrontmatter on gsd-nyquist-auditor agent
1.22.3 - 2026-03-03
Added
- Verify-work auto-injects a cold-start smoke test for phases that modify server, database, seed, or startup files — catches warm-state blind spots
Changed
- Renamed
depthsetting togranularitywith valuescoarse/standard/fineto accurately reflect what it controls (phase count, not investigation depth). Backward-compatible migration auto-renames existing config.
Fixed
- Installer now replaces
$HOME/.claude/paths (not just~/.claude/) for non-Claude runtimes — fixes broken commands on local installs and Gemini/OpenCode/Codex installs (#905, #909)
1.22.2 - 2026-03-03
Fixed
- Codex installer no longer creates duplicate
[features]and[agents]sections on re-install (#902, #882) - Context monitor hook is advisory instead of blocking non-GSD workflows
- Hooks respect
CLAUDE_CONFIG_DIRfor custom config directories - Hooks include stdin timeout guard to prevent hanging on pipe errors
- Statusline context scaling matches autocompact buffer thresholds
- Gap closure plans compute wave numbers instead of hardcoding wave 1
auto_advanceconfig flag no longer persists across sessions- Phase-complete scans ROADMAP.md as fallback for next-phase detection
getMilestoneInfo()prefers in-progress milestone marker instead of always returning first- State parsing supports both bold and plain field formats
- Phase counting scoped to current milestone
- Total phases derived from ROADMAP when phase directories don't exist yet
- OpenCode detects runtime config directory instead of hardcoding
.claude - Gemini hooks use
AfterToolevent instead ofPostToolUse - Multi-word commit messages preserved in CLI router
- Regex patterns in milestone/state helpers properly escaped
isGitIgnoreduses--no-indexfor tracked file detection- AskUserQuestion freeform answer loop properly breaks on valid input
- Agent spawn types standardized across all workflows
Changed
- Anti-heredoc instruction extended to all file-writing agents
- Agent definitions include skills frontmatter and hooks examples
Chores
- Removed leftover
new-project.md.bakfile - Deduplicated
extractFieldand phase filter helpers into shared modules - Added 47 agent frontmatter and spawn consistency tests
1.22.1 - 2026-03-02
Added
- Discuss phase now loads prior context (PROJECT.md, REQUIREMENTS.md, STATE.md, and all prior CONTEXT.md files) before identifying gray areas — prevents re-asking questions you've already answered in earlier phases
Fixed
- Shell snippets in workflows use
printfinstead ofechoto prevent jq parse errors with special characters
1.22.0 - 2026-02-27
Added
- Codex multi-agent support:
request_user_inputmapping, multi-agent config, and agent role generation for Codex runtime - Analysis paralysis guard in agents to prevent over-deliberation during planning
- Exhaustive cross-check and task-level TDD patterns in agent workflows
- Code-aware discuss phase with codebase scouting —
/gsd:discuss-phasenow analyzes relevant source files before asking questions
Fixed
- Update checker clears both cache paths to prevent stale version notifications
- Statusline migration regex no longer clobbers third-party statuslines
- Subagent paths use
$HOMEinstead of~to preventMODULE_NOT_FOUNDerrors - Skill discovery supports both
.claude/skills/and.agents/skills/paths resolve-modelvariable names aligned with template placeholders- Regex metacharacters properly escaped in
stateExtractField model_overridesandnyquist_validationcorrectly loaded from configphase-plan-indexno longer returns null/empty forfiles_modified,objective, andtask_count
1.21.1 - 2026-02-27
Added
- Comprehensive test suite: 428 tests across 13 test files covering core, commands, config, dispatcher, frontmatter, init, milestone, phase, roadmap, state, and verify modules
- CI pipeline with GitHub Actions: 9-matrix (3 OS × 3 Node versions), c8 coverage enforcement at 70% line threshold
- Cross-platform test runner (
scripts/run-tests.cjs) for Windows compatibility
Fixed
getMilestoneInfo()returns wrong version when shipped milestones are collapsed in<details>blocks- Milestone completion stats and archive now scoped to current milestone phases only (previously counted all phases on disk including prior milestones)
- MILESTONES.md entries now insert in reverse chronological order (newest first)
- Cross-platform path separators: all user-facing file paths use forward slashes on Windows
- JSON quoting and dollar sign handling in CLI arguments on Windows
model_overridesloaded from config andresolveModelInternalused in CLI
1.21.0 - 2026-02-25
Added
- YAML frontmatter sync to STATE.md for machine-readable status tracking
/gsd:add-testscommand for post-phase test generation- Codex runtime support with skills-first installation
- Standard
project_contextblock in gsd-verifier output - Codex changelog and usage documentation
Changed
- Improved onboarding UX: installer now suggests
/gsd:new-projectinstead of/gsd:help - Updated Discord invite to vanity URL (discord.gg/gsd)
- Compressed Nyquist validation layer to align with GSD meta-prompt conventions
- Requirements propagation now includes
phase_req_idsfrom ROADMAP to workflow agents - Debug sessions require human verification before resolution
Fixed
- Multi-level decimal phase handling (e.g., 72.1.1) with proper regex escaping
/gsd:updatealways installs latest package version- STATE.md decision corruption and dollar sign handling
- STATE.md frontmatter mapping for requirements-completed status
- Progress bar percent clamping to prevent RangeError crashes
--cwdoverride support in state-snapshot command
1.20.6 - 2025-02-23
Added
- Context window monitor hook with WARNING/CRITICAL alerts when agent context usage exceeds thresholds
- Nyquist validation layer in plan-phase pipeline to catch quality issues before execution
- Option highlighting and gray area looping in discuss-phase for clearer preference capture
Changed
- Refactored installer tools into 11 domain modules for maintainability
Fixed
- Auto-advance chain no longer breaks when skills fail to resolve inside Task subagents
- Gemini CLI workflows and templates no longer incorrectly convert to TOML format
- Universal phase number parsing handles all formats consistently (decimal phases, plain numbers)
1.20.5 - 2026-02-19
Fixed
/gsd:health --repairnow creates timestamped backup before regenerating STATE.md (#657)
Changed
- Subagents now discover and load project CLAUDE.md and skills at spawn time for better project context (#671, #672)
- Improved context loading reliability in spawned agents
1.20.4 - 2026-02-17
Fixed
- Executor agents now update ROADMAP.md and REQUIREMENTS.md after each plan completes — previously both documents stayed unchecked throughout milestone execution
- New
requirements mark-completeCLI command enables per-plan requirement tracking instead of waiting for phase completion - Executor final commit includes ROADMAP.md and REQUIREMENTS.md
1.20.3 - 2026-02-16
Fixed
- Milestone audit now cross-references three independent sources (VERIFICATION.md + SUMMARY frontmatter + REQUIREMENTS.md traceability) instead of single-source phase status checks
- Orphaned requirements (in traceability table but absent from all phase VERIFICATIONs) detected and forced to
unsatisfied - Integration checker receives milestone requirement IDs and maps findings to affected requirements
complete-milestonegates on requirements completion before archival — surfaces unchecked requirements with proceed/audit/abort optionsplan-milestone-gapsupdates REQUIREMENTS.md traceability table (phase assignments, checkbox resets, coverage count) and includes it in commit- Gemini CLI: escape
${VAR}shell variables in agent bodies to prevent template validation failures
1.20.2 - 2026-02-16
Fixed
- Requirements tracking chain now strips bracket syntax (
[REQ-01, REQ-02]→REQ-01, REQ-02) across all agents - Verifier cross-references requirement IDs from PLAN frontmatter instead of only grepping REQUIREMENTS.md by phase number
- Orphaned requirements (mapped to phase in REQUIREMENTS.md but unclaimed by any plan) are detected and flagged
Changed
- All
requirementsreferences across planner, templates, and workflows enforce MUST/REQUIRED/CRITICAL language — no more passive suggestions - Plan checker now fails (blocking, not warning) when any roadmap requirement is absent from all plans
- Researcher receives phase-specific requirement IDs and must output a
<phase_requirements>mapping table - Phase requirement IDs extracted from ROADMAP and passed through full chain: researcher → planner → checker → executor → verifier
- Verification report requirements table expanded with Source Plan, Description, and Evidence columns
1.20.1 - 2026-02-16
Fixed
- Auto-mode (
--auto) now survives context compaction by persistingworkflow.auto_advanceto config.json on disk - Checkpoints no longer block auto-mode: human-verify auto-approves, decision auto-selects first option (human-action still stops for auth gates)
- Plan-phase now passes
--autoflag when spawning execute-phase - Auto-advance clears on milestone complete to prevent runaway chains
1.20.0 - 2026-02-15
Added
/gsd:healthcommand — validates.planning/directory integrity with--repairflag for auto-fixing config.json and STATE.md--fullflag for/gsd:quick— enables plan-checking (max 2 iterations) and post-execution verification on quick tasks--autoflag wired from/gsd:new-projectthrough the full phase chain (discuss → plan → execute)- Auto-advance chains phase execution across full milestones when
workflow.auto_advanceis enabled
Fixed
- Plans created without user context —
/gsd:plan-phasewarns when no CONTEXT.md exists,/gsd:discuss-phasewarns when plans already exist (#253) - OpenCode installer converts
general-purposesubagent type to OpenCode'sgeneral /gsd:complete-milestonerespectscommit_docssetting when merging branches- Phase directories tracked in git via
.gitkeepfiles
1.19.2 - 2026-02-15
Added
- User-level default settings via
~/.gsd/defaults.json— set GSD defaults across all projects - Per-agent model overrides — customize which Claude model each agent uses
Changed
- Completed milestone phase directories are now archived for cleaner project structure
- Wave execution diagram added to README for clearer parallelization visualization
Fixed
- OpenCode local installs now write config to
./.opencode/instead of overwriting global~/.config/opencode/ - Large JSON payloads write to temp files to prevent truncation in tool calls
- Phase heading matching now supports
####depth - Phase padding normalized in insert command
- ESM conflicts prevented by renaming gsd-tools.js to .cjs
- Config directory paths quoted in hook templates for local installs
- Settings file corruption prevented by using Write tool for file creation
- Plan-phase autocomplete fixed by removing "execution" from description
- Executor now has scope boundary and attempt limit to prevent runaway loops
1.19.1 - 2026-02-15
Added
- Auto-advance pipeline:
--autoflag ondiscuss-phaseandplan-phasechains discuss → plan → execute without stopping. Also available asworkflow.auto_advanceconfig setting
Fixed
- Phase transition routing now routes to
discuss-phase(notplan-phase) when no CONTEXT.md exists — consistent across all workflows (#530) - ROADMAP progress table plan counts are now computed from disk instead of LLM-edited — deterministic "X/Y Complete" values (#537)
- Verifier uses ROADMAP Success Criteria directly instead of deriving verification truths from the Goal field (#538)
- REQUIREMENTS.md traceability updates when a phase completes
- STATE.md updates after discuss-phase completes (#556)
- AskUserQuestion headers enforced to 12-char max to prevent UI truncation (#559)
- Agent model resolution returns
inheritinstead of hardcodedopus(#558)
1.19.0 - 2026-02-15
Added
- Brave Search integration for researchers (requires BRAVE_API_KEY environment variable)
- GitHub issue templates for bug reports and feature requests
- Security policy for responsible disclosure
- Auto-labeling workflow for new issues
Fixed
- UAT gaps and debug sessions now auto-resolve after gap-closure phase execution (#580)
- Fall back to ROADMAP.md when phase directory missing (#521)
- Template hook paths for OpenCode/Gemini runtimes (#585)
- Accept both
##and###phase headers, detect malformed ROADMAPs (#598, #599) - Use
{phase_num}instead of ambiguous{phase}for filenames (#601) - Add package.json to prevent ESM inheritance issues (#602)
1.18.0 - 2026-02-08
Added
--autoflag for/gsd:new-project— runs research → requirements → roadmap automatically after config questions. Expects idea document via @ reference (e.g.,/gsd:new-project --auto @prd.md)
Fixed
- Windows: SessionStart hook now spawns detached process correctly
- Windows: Replaced HEREDOC with literal newlines for git commit compatibility
- Research decision from
/gsd:new-milestonenow persists to config.json
1.17.0 - 2026-02-08
Added
- gsd-tools verification suite:
verify plan-structure,verify phase-completeness,verify references,verify commits,verify artifacts,verify key-links— deterministic structural checks - gsd-tools frontmatter CRUD:
frontmatter get/set/merge/validate— safe YAML frontmatter operations with schema validation - gsd-tools template fill:
template fill summary/plan/verification— pre-filled document skeletons - gsd-tools state progression:
state advance-plan,state update-progress,state record-metric,state add-decision,state add-blocker,state resolve-blocker,state record-session— automates STATE.md updates - Local patch preservation: Installer now detects locally modified GSD files, backs them up to
gsd-local-patches/, and creates a manifest for restoration /gsd:reapply-patchescommand to merge local modifications back after GSD updates
Changed
- Agents (executor, planner, plan-checker, verifier) now use gsd-tools for state updates and verification instead of manual markdown parsing
/gsd:updateworkflow now notifies about backed-up local patches and suggests/gsd:reapply-patches
Fixed
- Added workaround for Claude Code
classifyHandoffIfNeededbug that causes false agent failures — execute-phase and quick workflows now spot-check actual output before reporting failure
1.16.0 - 2026-02-08
Added
- 10 new gsd-tools CLI commands that replace manual AI orchestration of mechanical operations:
phase add <desc>— append phase to roadmap + create directoryphase insert <after> <desc>— insert decimal phasephase remove <N> [--force]— remove phase with full renumberingphase complete <N>— mark done, update state + roadmap, detect milestone endroadmap analyze— unified roadmap parser with disk statusmilestone complete <ver> [--name]— archive roadmap/requirements/auditvalidate consistency— check phase numbering and disk/roadmap syncprogress [json|table|bar]— render progress in various formatstodo complete <file>— move todo from pending to completedscaffold [context|uat|verification|phase-dir]— template generation
Changed
- Workflows now delegate deterministic operations to gsd-tools CLI, reducing token usage and errors:
remove-phase.md: 13 manual steps → 1 CLI call + confirm + commitadd-phase.md: 6 manual steps → 1 CLI call + state updateinsert-phase.md: 7 manual steps → 1 CLI call + state updatecomplete-milestone.md: archival delegated tomilestone completeprogress.md: roadmap parsing delegated toroadmap analyze
Fixed
- Execute-phase now correctly spawns
gsd-executorsubagents instead of generic task agents commit_docs=falsesetting now respected in all.planning/commit paths (execute-plan, debugger, reference docs all route through gsd-tools CLI)- Execute-phase orchestrator no longer bloats context by embedding file content — passes paths instead, letting subagents read in their fresh context
- Windows: Normalized backslash paths in gsd-tools invocations (contributed by @rmindel)
1.15.0 - 2026-02-08
Changed
- Optimized workflow context loading to eliminate redundant file reads, reducing token usage by ~5,000-10,000 tokens per workflow execution
1.14.0 - 2026-02-08
Added
- Context-optimizing parsing commands in gsd-tools (
phase-plan-index,state-snapshot,summary-extract) — reduces agent context usage by returning structured JSON instead of raw file content
Fixed
- Installer no longer deletes opencode.json on JSONC parse errors — now handles comments, trailing commas, and BOM correctly (#474)
1.13.0 - 2026-02-08
Added
gsd-tools history-digest— Compiles phase summaries into structured JSON for faster context loadinggsd-tools phases list— Lists phase directories with filtering (replaces fragilels | sort -Vpatterns)gsd-tools roadmap get-phase— Extracts phase sections from ROADMAP.mdgsd-tools phase next-decimal— Calculates next decimal phase number for insert operationsgsd-tools state get/patch— Atomic STATE.md field operationsgsd-tools template select— Chooses summary template based on plan complexity- Summary template variants: minimal (~~30 lines), standard (~~60 lines), complex (~100 lines)
- Test infrastructure with 22 tests covering new commands
Changed
- Planner uses two-step context assembly: digest for selection, full SUMMARY for understanding
- Agents migrated from bash patterns to structured gsd-tools commands
- Nested YAML frontmatter parsing now handles
dependency-graph.provides,tech-stack.addedcorrectly
1.12.1 - 2026-02-08
Changed
- Consolidated workflow initialization into compound
initcommands, reducing token usage and improving startup performance - Updated 24 workflow and agent files to use single-call context gathering instead of multiple atomic calls
1.12.0 - 2026-02-07
Changed
- Architecture: Thin orchestrator pattern — Commands now delegate to workflows, reducing command file size by ~75% and improving maintainability
- Centralized utilities — New
gsd-tools.cjs(11 functions) replaces repetitive bash patterns across 50+ files - Token reduction — ~22k characters removed from affected command/workflow/agent files
- Condensed agent prompts — Same behavior with fewer words (executor, planner, verifier, researcher agents)
Added
gsd-tools.cjsCLI utility with functions: state load/update, resolve-model, find-phase, commit, verify-summary, generate-slug, current-timestamp, list-todos, verify-path-exists, config-ensure-section
1.11.2 - 2026-02-05
Added
- Security section in README with Claude Code deny rules for sensitive files
Changed
- Install respects
attribution.commitsetting for OpenCode compatibility (#286)
Fixed
- CRITICAL: Prevent API keys from being committed via
/gsd:map-codebase(#429) - Enforce context fidelity in planning pipeline - agents now honor CONTEXT.md decisions (#326, #216, #206)
- Executor verifies task completion to prevent hallucinated success (#315)
- Auto-create
config.jsonwhen missing during/gsd:settings(#264) /gsd:updaterespects local vs global install location- Researcher writes RESEARCH.md regardless of
commit_docssetting - Statusline crash handling, color validation, git staging rules
- Statusline.js reference updated during install (#330)
- Parallelization config setting now respected (#379)
- ASCII box-drawing vs text content with diacritics (#289)
- Removed broken gsd-gemini link (404)
1.11.1 - 2026-01-31
Added
- Git branching strategy configuration with three options:
none(default): commit to current branchphase: create branch per phase (gsd/phase-{N}-{slug})milestone: create branch per milestone (gsd/{version}-{slug})
- Squash merge option at milestone completion (recommended) with merge-with-history alternative
- Context compliance verification dimension in plan checker — flags if plans contradict user decisions
Fixed
- CONTEXT.md from
/gsd:discuss-phasenow properly flows to all downstream agents (researcher, planner, checker, revision loop)
1.10.1 - 2025-01-30
Fixed
- Gemini CLI agent loading errors that prevented commands from executing
1.10.0 - 2026-01-29
Added
- Native Gemini CLI support — install with
--geminiflag or select from interactive menu - New
--allflag to install for Claude Code, OpenCode, and Gemini simultaneously
Fixed
- Context bar now shows 100% at actual 80% limit (was scaling incorrectly)
1.9.12 - 2025-01-23
Removed
/gsd:whats-newcommand — use/gsd:updateinstead (shows changelog with cancel option)
Fixed
- Restored auto-release GitHub Actions workflow
1.9.11 - 2026-01-23
Changed
- Switched to manual npm publish workflow (removed GitHub Actions CI/CD)
Fixed
- Discord badge now uses static format for reliable rendering
1.9.10 - 2026-01-23
Added
- Discord community link shown in installer completion message
1.9.9 - 2026-01-23
Added
/gsd:join-discordcommand to quickly access the GSD Discord community invite link
1.9.8 - 2025-01-22
Added
- Uninstall flag (
--uninstall) to cleanly remove GSD from global or local installations
Fixed
- Context file detection now matches filename variants (handles both
CONTEXT.mdand{phase}-CONTEXT.mdpatterns)
1.9.7 - 2026-01-22
Fixed
- OpenCode installer now uses correct XDG-compliant config path (
~/.config/opencode/) instead of~/.opencode/ - OpenCode commands use flat structure (
command/gsd-help.md) matching OpenCode's expected format - OpenCode permissions written to
~/.config/opencode/opencode.json
1.9.6 - 2026-01-22
Added
- Interactive runtime selection: installer now prompts to choose Claude Code, OpenCode, or both
- Native OpenCode support:
--opencodeflag converts GSD to OpenCode format automatically --bothflag to install for both Claude Code and OpenCode in one command- Auto-configures
~/.opencode.jsonpermissions for seamless GSD doc access
Changed
- Installation flow now asks for runtime first, then location
- Updated README with new installation options
1.9.5 - 2025-01-22
Fixed
- Subagents can now access MCP tools (Context7, etc.) - workaround for Claude Code bug #13898
- Installer: Escape/Ctrl+C now cancels instead of installing globally
- Installer: Fixed hook paths on Windows
- Removed stray backticks in
/gsd:new-projectoutput
Changed
- Condensed verbose documentation in templates and workflows (-170 lines)
- Added CI/CD automation for releases
1.9.4 - 2026-01-21
Changed
- Checkpoint automation now enforces automation-first principle: Claude starts servers, handles CLI installs, and fixes setup failures before presenting checkpoints to users
- Added server lifecycle protocol (port conflict handling, background process management)
- Added CLI auto-installation handling with safe-to-install matrix
- Added pre-checkpoint failure recovery (fix broken environment before asking user to verify)
- DRY refactor: checkpoints.md is now single source of truth for automation patterns
1.9.2 - 2025-01-21
Removed
- Codebase Intelligence System — Removed due to overengineering concerns
- Deleted
/gsd:analyze-codebasecommand - Deleted
/gsd:query-intelcommand - Removed SQLite graph database and sql.js dependency (21MB)
- Removed intel hooks (gsd-intel-index.js, gsd-intel-session.js, gsd-intel-prune.js)
- Removed entity file generation and templates
- Deleted
Fixed
- new-project now properly includes model_profile in config
1.9.0 - 2025-01-20
Added
- Model Profiles —
/gsd:set-profilefor quality/balanced/budget agent configurations - Workflow Settings —
/gsd:settingscommand for toggling workflow behaviors interactively
Fixed
- Orchestrators now inline file contents in Task prompts (fixes context issues with @ references)
- Tech debt from milestone audit addressed
- All hooks now use
gsd-prefix for consistency (statusline.js → gsd-statusline.js)
1.8.0 - 2026-01-19
Added
- Uncommitted planning mode: Keep
.planning/local-only (not committed to git) viaplanning.commit_docs: falsein config.json. Useful for OSS contributions, client work, or privacy preferences. /gsd:new-projectnow asks about git tracking during initial setup, letting you opt out of committing planning docs from the start
1.7.1 - 2026-01-19
Fixed
- Quick task PLAN and SUMMARY files now use numbered prefix (
001-PLAN.md,001-SUMMARY.md) matching regular phase naming convention
1.7.0 - 2026-01-19
Added
- Quick Mode (
/gsd:quick) — Execute small, ad-hoc tasks with GSD guarantees but skip optional agents (researcher, checker, verifier). Quick tasks live in.planning/quick/with their own tracking in STATE.md.
Changed
- Improved progress bar calculation to clamp values within 0-100 range
- Updated documentation with comprehensive Quick Mode sections in help.md, README.md, and GSD-STYLE.md
Fixed
- Console window flash on Windows when running hooks
- Empty
--config-dirvalue validation - Consistent
allowed-toolsYAML format across agents - Corrected agent name in research-phase heading
- Removed hardcoded 2025 year from search query examples
- Removed dead gsd-researcher agent references
- Integrated unused reference files into documentation
Housekeeping
- Added homepage and bugs fields to package.json
1.6.4 - 2026-01-17
Fixed
- Installation on WSL2/non-TTY terminals now works correctly - detects non-interactive stdin and falls back to global install automatically
- Installation now verifies files were actually copied before showing success checkmarks
- Orphaned
gsd-notify.shhook from previous versions is now automatically removed during install (both file and settings.json registration)
1.6.3 - 2025-01-17
Added
--gaps-onlyflag for/gsd:execute-phase— executes only gap closure plans after verify-work finds issues, eliminating redundant state discovery
1.6.2 - 2025-01-17
Changed
- README restructured with clearer 6-step workflow: init → discuss → plan → execute → verify → complete
- Discuss-phase and verify-work now emphasized as critical steps in core workflow documentation
- "Subagent Execution" section replaced with "Multi-Agent Orchestration" explaining thin orchestrator pattern and 30-40% context efficiency
- Brownfield instructions consolidated into callout at top of "How It Works" instead of separate section
- Phase directories now created at discuss/plan-phase instead of during roadmap creation
1.6.1 - 2025-01-17
Changed
- Installer performs clean install of GSD folders, removing orphaned files from previous versions
/gsd:updateshows changelog and asks for confirmation before updating, with clear warning about what gets replaced
1.6.0 - 2026-01-17
Changed
- BREAKING: Unified
/gsd:new-milestoneflow — now mirrors/gsd:new-projectwith questioning → research → requirements → roadmap in a single command - Roadmapper agent now references templates instead of inline structures for easier maintenance
Removed
- BREAKING:
/gsd:discuss-milestone— consolidated into/gsd:new-milestone - BREAKING:
/gsd:create-roadmap— integrated into project/milestone flows - BREAKING:
/gsd:define-requirements— integrated into project/milestone flows - BREAKING:
/gsd:research-project— integrated into project/milestone flows
Added
/gsd:verify-worknow includes next-step routing after verification completes
1.5.30 - 2026-01-17
Fixed
- Output templates in
plan-phase,execute-phase, andaudit-milestonenow render markdown correctly instead of showing literal backticks - Next-step suggestions now consistently recommend
/gsd:discuss-phasebefore/gsd:plan-phaseacross all routing paths
1.5.29 - 2025-01-16
Changed
- Discuss-phase now uses domain-aware questioning with deeper probing for gray areas
Fixed
- Windows hooks now work via Node.js conversion (statusline, update-check)
- Phase input normalization at command entry points
- Removed blocking notification popups (gsd-notify) on all platforms
1.5.28 - 2026-01-16
Changed
- Consolidated milestone workflow into single command
- Merged domain expertise skills into agent configurations
- BREAKING: Removed
/gsd:execute-plancommand (use/gsd:execute-phaseinstead)
Fixed
- Phase directory matching now handles both zero-padded (05-) and unpadded (5-) folder names
- Map-codebase agent output collection
1.5.27 - 2026-01-16
Fixed
- Orchestrator corrections between executor completions are now committed (previously left uncommitted when orchestrator made small fixes between waves)
1.5.26 - 2026-01-16
Fixed
- Revised plans now get committed after checker feedback (previously only initial plans were committed, leaving revisions uncommitted)
1.5.25 - 2026-01-16
Fixed
- Stop notification hook no longer shows stale project state (now uses session-scoped todos only)
- Researcher agent now reliably loads CONTEXT.md from discuss-phase
1.5.24 - 2026-01-16
Fixed
- Stop notification hook now correctly parses STATE.md fields (was always showing "Ready for input")
- Planner agent now reliably loads CONTEXT.md and RESEARCH.md files
1.5.23 - 2025-01-16
Added
- Cross-platform completion notification hook (Mac/Linux/Windows alerts when Claude stops)
- Phase researcher now loads CONTEXT.md from discuss-phase to focus research on user decisions
Fixed
- Consistent zero-padding for phase directories (01-name, not 1-name)
- Plan file naming:
{phase}-{plan}-PLAN.mdpattern restored across all agents - Double-path bug in researcher git add command
- Removed
/gsd:research-phasefrom next-step suggestions (use/gsd:plan-phaseinstead)
1.5.22 - 2025-01-16
Added
- Statusline update indicator — shows
⬆ /gsd:updatewhen a new version is available
Fixed
- Planner now updates ROADMAP.md placeholders after planning completes
1.5.21 - 2026-01-16
Added
- GSD brand system for consistent UI (checkpoint boxes, stage banners, status symbols)
- Research synthesizer agent that consolidates parallel research into SUMMARY.md
Changed
- Unified
/gsd:new-projectflow — Single command now handles questions → research → requirements → roadmap (~10 min) - Simplified README to reflect streamlined workflow: new-project → plan-phase → execute-phase
- Added optional
/gsd:discuss-phasedocumentation for UI/UX/behavior decisions before planning
Fixed
- verify-work now shows clear checkpoint box with action prompt ("Type 'pass' or describe what's wrong")
- Planner uses correct
{phase}-{plan}-PLAN.mdnaming convention - Planner no longer surfaces internal
user_setupin output - Research synthesizer commits all research files together (not individually)
- Project researcher agent can no longer commit (orchestrator handles commits)
- Roadmap requires explicit user approval before committing
1.5.20 - 2026-01-16
Fixed
- Research no longer skipped based on premature "Research: Unlikely" predictions made during roadmap creation. The
--skip-researchflag provides explicit control when needed.
Removed
Research: Likely/Unlikelyfields from roadmap phase templatedetect_research_needsstep from roadmap creation workflow- Roadmap-based research skip logic from planner agent
1.5.19 - 2026-01-16
Changed
/gsd:discuss-phaseredesigned with intelligent gray area analysis — analyzes phase to identify discussable areas (UI, UX, Behavior, etc.), presents multi-select for user control, deep-dives each area with focused questioning- Explicit scope guardrail prevents scope creep during discussion — captures deferred ideas without acting on them
- CONTEXT.md template restructured for decisions (domain boundary, decisions by category, Claude's discretion, deferred ideas)
- Downstream awareness: discuss-phase now explicitly documents that CONTEXT.md feeds researcher and planner agents
/gsd:plan-phasenow integrates research — spawnsgsd-phase-researcherbefore planning unless research exists or--skip-researchflag used
1.5.18 - 2026-01-16
Added
- Plan verification loop — Plans are now verified before execution with a planner → checker → revise cycle
- New
gsd-plan-checkeragent (744 lines) validates plans will achieve phase goals - Six verification dimensions: requirement coverage, task completeness, dependency correctness, key links, scope sanity, must_haves derivation
- Max 3 revision iterations before user escalation
--skip-verifyflag for experienced users who want to bypass verification
- New
- Dedicated planner agent —
gsd-planner(1,319 lines) consolidates all planning expertise- Complete methodology: discovery levels, task breakdown, dependency graphs, scope estimation, goal-backward analysis
- Revision mode for handling checker feedback
- TDD integration and checkpoint patterns
- Statusline integration — Context usage, model, and current task display
Changed
/gsd:plan-phaserefactored to thin orchestrator pattern (310 lines)- Spawns
gsd-plannerfor planning,gsd-plan-checkerfor verification - User sees status between agent spawns (not a black box)
- Spawns
- Planning references deprecated with redirects to
gsd-planneragent sectionsplan-format.md,scope-estimation.md,goal-backward.md,principles.mdworkflows/plan-phase.md
Fixed
- Removed zombie
gsd-milestone-auditoragent (was accidentally re-added after correct deletion)
Removed
- Phase 99 throwaway test files
1.5.17 - 2026-01-15
Added
- New
/gsd:updatecommand — check for updates, install, and display changelog of what changed (better UX than rawnpx get-shit-done-cc)
1.5.16 - 2026-01-15
Added
- New
gsd-researcheragent (915 lines) with comprehensive research methodology, 4 research modes (ecosystem, feasibility, implementation, comparison), source hierarchy, and verification protocols - New
gsd-debuggeragent (990 lines) with scientific debugging methodology, hypothesis testing, and 7+ investigation techniques - New
gsd-codebase-mapperagent for brownfield codebase analysis - Research subagent prompt template for context-only spawning
Changed
/gsd:research-phaserefactored to thin orchestrator — now injects rich context (key insight framing, downstream consumer info, quality gates) to gsd-researcher agent/gsd:research-projectrefactored to spawn 4 parallel gsd-researcher agents with milestone-aware context (greenfield vs v1.1+) and roadmap implications guidance/gsd:debugrefactored to thin orchestrator (149 lines) — spawns gsd-debugger agent with full debugging expertise/gsd:new-milestonenow explicitly references MILESTONE-CONTEXT.md
Deprecated
workflows/research-phase.md— consolidated into gsd-researcher agentworkflows/research-project.md— consolidated into gsd-researcher agentworkflows/debug.md— consolidated into gsd-debugger agentreferences/research-pitfalls.md— consolidated into gsd-researcher agentreferences/debugging.md— consolidated into gsd-debugger agentreferences/debug-investigation.md— consolidated into gsd-debugger agent
1.5.15 - 2025-01-15
Fixed
- Agents now install correctly — The
agents/folder (gsd-executor, gsd-verifier, gsd-integration-checker, gsd-milestone-auditor) was missing from npm package, now included
Changed
- Consolidated
/gsd:plan-fixinto/gsd:plan-phase --gapsfor simpler workflow - UAT file writes now batched instead of per-response for better performance
1.5.14 - 2025-01-15
Fixed
- Plan-phase now always routes to
/gsd:execute-phaseafter planning, even for single-plan phases
1.5.13 - 2026-01-15
Fixed
/gsd:new-milestonenow presents research and requirements paths as equal options, matching/gsd:new-projectformat
1.5.12 - 2025-01-15
Changed
- Milestone cycle reworked for proper requirements flow:
complete-milestonenow archives AND deletes ROADMAP.md and REQUIREMENTS.md (fresh for next milestone)new-milestoneis now a "brownfield new-project" — updates PROJECT.md with new goals, routes to define-requirementsdiscuss-milestoneis now required beforenew-milestone(creates context file)research-projectis milestone-aware — focuses on new features, ignores already-validated requirementscreate-roadmapcontinues phase numbering from previous milestone- Flow: complete → discuss → new-milestone → research → requirements → roadmap
Fixed
MILESTONE-AUDIT.mdnow versioned asv{version}-MILESTONE-AUDIT.mdand archived on completionprogressnow correctly routes to/gsd:discuss-milestonewhen between milestones (Route F)
1.5.11 - 2025-01-15
Changed
- Verifier reuses previous must-haves on re-verification instead of re-deriving, focuses deep verification on failed items with quick regression checks on passed items
1.5.10 - 2025-01-15
Changed
- Milestone audit now reads existing phase VERIFICATION.md files instead of re-verifying each phase, aggregates tech debt and deferred gaps, adds
tech_debtstatus for non-blocking accumulated debt
Fixed
- VERIFICATION.md now included in phase completion commit alongside ROADMAP.md, STATE.md, and REQUIREMENTS.md
1.5.9 - 2025-01-15
Added
- Milestone audit system (
/gsd:audit-milestone) for verifying milestone completion with parallel verification agents
Changed
- Checkpoint display format improved with box headers and unmissable "→ YOUR ACTION:" prompts
- Subagent colors updated (executor: yellow, integration-checker: blue)
- Execute-phase now recommends
/gsd:audit-milestonewhen milestone completes
Fixed
- Research-phase no longer gatekeeps by domain type
Removed
- Domain expertise feature (
~/.claude/skills/expertise/) - was personal tooling not available to other users
1.5.8 - 2025-01-15
Added
- Verification loop: When gaps are found, verifier generates fix plans that execute automatically before re-verifying
Changed
gsd-executorsubagent color changed from red to blue
1.5.7 - 2025-01-15
Added
gsd-executorsubagent: Dedicated agent for plan execution with full workflow logic built-ingsd-verifiersubagent: Goal-backward verification that checks if phase goals are actually achieved (not just tasks completed)- Phase verification: Automatic verification runs when a phase completes to catch stubs and incomplete implementations
- Goal-backward planning reference: Documentation for deriving must-haves from goals
Changed
- execute-plan and execute-phase now spawn
gsd-executorsubagent instead of using inline workflow - Roadmap and planning workflows enhanced with goal-backward analysis
Removed
- Obsolete templates (
checkpoint-resume.md,subagent-task-prompt.md) — logic now lives in subagents
Fixed
- Updated remaining
general-purposesubagent references to usegsd-executor
1.5.6 - 2025-01-15
Changed
- README: Separated flow into distinct steps (1 → 1.5 → 2 → 3 → 4 → 5) making
research-projectclearly optional anddefine-requirementsrequired - README: Research recommended for quality; skip only for speed
Fixed
- execute-phase: Phase metadata (timing, wave info) now bundled into single commit instead of separate commits
1.5.5 - 2025-01-15
Changed
- README now documents the
research-project→define-requirementsflow (optional but recommended beforecreate-roadmap) - Commands section reorganized into 7 grouped tables (Setup, Execution, Verification, Milestones, Phase Management, Session, Utilities) for easier scanning
- Context Engineering table now includes
research/andREQUIREMENTS.md
1.5.4 - 2025-01-15
Changed
- Research phase now loads REQUIREMENTS.md to focus research on concrete requirements (e.g., "email verification") rather than just high-level roadmap descriptions
1.5.3 - 2025-01-15
Changed
- execute-phase narration: Orchestrator now describes what each wave builds before spawning agents, and summarizes what was built after completion. No more staring at opaque status updates.
- new-project flow: Now offers two paths — research first (recommended) or define requirements directly (fast path for familiar domains)
- define-requirements: Works without prior research. Gathers requirements through conversation when FEATURES.md doesn't exist.
Removed
- Dead
/gsd:statuscommand (referenced abandoned background agent model) - Unused
agent-history.mdtemplate _archive/directory with old execute-phase version
1.5.2 - 2026-01-15
Added
- Requirements traceability: roadmap phases now include
Requirements:field listing which REQ-IDs they cover - plan-phase loads REQUIREMENTS.md and shows phase-specific requirements before planning
- Requirements automatically marked Complete when phase finishes
Changed
- Workflow preferences (mode, depth, parallelization) now asked in single prompt instead of 3 separate questions
- define-requirements shows full requirements list inline before commit (not just counts)
- Research-project and workflow aligned to both point to define-requirements as next step
Fixed
- Requirements status now updated by orchestrator (commands) instead of subagent workflow, which couldn't determine phase completion
1.5.1 - 2026-01-14
Changed
- Research agents write their own files directly (STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md) instead of returning results to orchestrator
- Slimmed principles.md and load it dynamically in core commands
1.5.0 - 2026-01-14
Added
- New
/gsd:research-projectcommand for pre-roadmap ecosystem research — spawns parallel agents to investigate stack, features, architecture, and pitfalls before you commit to a roadmap - New
/gsd:define-requirementscommand for scoping v1 requirements from research findings — transforms "what exists in this domain" into "what we're building" - Requirements traceability: phases now map to specific requirement IDs with 100% coverage validation
Changed
- BREAKING: New project flow is now:
new-project → research-project → define-requirements → create-roadmap - Roadmap creation now requires REQUIREMENTS.md and validates all v1 requirements are mapped to phases
- Simplified questioning in new-project to four essentials (vision, core priority, boundaries, constraints)
1.4.29 - 2026-01-14
Removed
- Deleted obsolete
_archive/execute-phase.mdandstatus.mdcommands
1.4.28 - 2026-01-14
Fixed
- Restored comprehensive checkpoint documentation with full examples for verification, decisions, and auth gates
- Fixed execute-plan command to use fresh continuation agents instead of broken resume pattern
- Rich checkpoint presentation formats now documented for all three checkpoint types
Changed
- Slimmed execute-phase command to properly delegate checkpoint handling to workflow
1.4.27 - 2025-01-14
Fixed
- Restored "what to do next" commands after plan/phase execution completes — orchestrator pattern conversion had inadvertently removed the copy/paste-ready next-step routing
1.4.26 - 2026-01-14
Added
- Full changelog history backfilled from git (66 historical versions from 1.0.0 to 1.4.23)
1.4.25 - 2026-01-14
Added
- New
/gsd:whats-newcommand shows changes since your installed version - VERSION file written during installation for version tracking
- CHANGELOG.md now included in package installation
1.4.24 - 2026-01-14
Added
- USER-SETUP.md template for external service configuration
Removed
- BREAKING: ISSUES.md system (replaced by phase-scoped UAT issues and TODOs)
1.4.23 - 2026-01-14
Changed
- Removed dead ISSUES.md system code
1.4.22 - 2026-01-14
Added
- Subagent isolation for debug investigations with checkpoint support
Fixed
- DEBUG_DIR path constant to prevent typos in debug workflow
1.4.21 - 2026-01-14
Fixed
- SlashCommand tool added to plan-fix allowed-tools
1.4.20 - 2026-01-14
Fixed
- Standardized debug file naming convention
- Debug workflow now invokes execute-plan correctly
1.4.19 - 2026-01-14
Fixed
- Auto-diagnose issues instead of offering choice in plan-fix
1.4.18 - 2026-01-14
Added
- Parallel diagnosis before plan-fix execution
1.4.17 - 2026-01-14
Changed
- Redesigned verify-work as conversational UAT with persistent state
1.4.16 - 2026-01-13
Added
- Pre-execution summary for interactive mode in execute-plan
- Pre-computed wave numbers at plan time
1.4.15 - 2026-01-13
Added
- Context rot explanation to README header
1.4.14 - 2026-01-13
Changed
- YOLO mode is now recommended default in new-project
1.4.13 - 2026-01-13
Fixed
- Brownfield flow documentation
- Removed deprecated resume-task references
1.4.12 - 2026-01-13
Changed
- execute-phase is now recommended as primary execution command
1.4.11 - 2026-01-13
Fixed
- Checkpoints now use fresh continuation agents instead of resume
1.4.10 - 2026-01-13
Changed
- execute-plan converted to orchestrator pattern for performance
1.4.9 - 2026-01-13
Changed
- Removed subagent-only context from execute-phase orchestrator
Fixed
- Removed "what's out of scope" question from discuss-phase
1.4.8 - 2026-01-13
Added
- TDD reasoning explanation restored to plan-phase docs
1.4.7 - 2026-01-13
Added
- Project state loading before execution in execute-phase
Fixed
- Parallel execution marked as recommended, not experimental
1.4.6 - 2026-01-13
Added
- Checkpoint pause/resume for spawned agents
- Deviation rules, commit rules, and workflow references to execute-phase
1.4.5 - 2026-01-13
Added
- Parallel-first planning with dependency graphs
- Checkpoint-resume capability for long-running phases
.claude/rules/directory for auto-loaded contribution rules
Changed
- execute-phase uses wave-based blocking execution
1.4.4 - 2026-01-13
Fixed
- Inline listing for multiple active debug sessions
1.4.3 - 2026-01-13
Added
/gsd:debugcommand for systematic debugging with persistent state
1.4.2 - 2026-01-13
Fixed
- Installation verification step clarification
1.4.1 - 2026-01-13
Added
- Parallel phase execution via
/gsd:execute-phase - Parallel-aware planning in
/gsd:plan-phase /gsd:statuscommand for parallel agent monitoring- Parallelization configuration in config.json
- Wave-based parallel execution with dependency graphs
Changed
- Renamed
execute-phase.mdworkflow toexecute-plan.mdfor clarity - Plan frontmatter now includes
wave,depends_on,files_modified,autonomous
1.4.0 - 2026-01-12
Added
- Full parallel phase execution system
- Parallelization frontmatter in plan templates
- Dependency analysis for parallel task scheduling
- Agent history schema v1.2 with parallel execution support
Changed
- Plans can now specify wave numbers and dependencies
- execute-phase orchestrates multiple subagents in waves
1.3.34 - 2026-01-11
Added
/gsd:add-todoand/gsd:check-todosfor mid-session idea capture
1.3.33 - 2026-01-11
Fixed
- Consistent zero-padding for decimal phase numbers (e.g., 01.1)
Changed
- Removed obsolete .claude-plugin directory
1.3.32 - 2026-01-10
Added
/gsd:resume-taskfor resuming interrupted subagent executions
1.3.31 - 2026-01-08
Added
- Planning principles for security, performance, and observability
- Pro patterns section in README
1.3.30 - 2026-01-08
Added
- verify-work option surfaces after plan execution
1.3.29 - 2026-01-08
Added
/gsd:verify-workfor conversational UAT validation/gsd:plan-fixfor fixing UAT issues- UAT issues template
1.3.28 - 2026-01-07
Added
--config-dirCLI argument for multi-account setups/gsd:remove-phasecommand
Fixed
- Validation for --config-dir edge cases
1.3.27 - 2026-01-07
Added
- Recommended permissions mode documentation
Fixed
- Mandatory verification enforced before phase/milestone completion routing
1.3.26 - 2026-01-06
Added
- Claude Code marketplace plugin support
Fixed
- Phase artifacts now committed when created
1.3.25 - 2026-01-06
Fixed
- Milestone discussion context persists across /clear
1.3.24 - 2026-01-06
Added
CLAUDE_CONFIG_DIRenvironment variable support
1.3.23 - 2026-01-06
Added
- Non-interactive install flags (
--global,--local) for Docker/CI
1.3.22 - 2026-01-05
Changed
- Removed unused auto.md command
1.3.21 - 2026-01-05
Changed
- TDD features use dedicated plans for full context quality
1.3.20 - 2026-01-05
Added
- Per-task atomic commits for better AI observability
1.3.19 - 2026-01-05
Fixed
- Clarified create-milestone.md file locations with explicit instructions
1.3.18 - 2026-01-05
Added
- YAML frontmatter schema with dependency graph metadata
- Intelligent context assembly via frontmatter dependency graph
1.3.17 - 2026-01-04
Fixed
- Clarified depth controls compression, not inflation in planning
1.3.16 - 2026-01-04
Added
- Depth parameter for planning thoroughness (
--depth=1-5)
1.3.15 - 2026-01-01
Fixed
- TDD reference loaded directly in commands
1.3.14 - 2025-12-31
Added
- TDD integration with detection, annotation, and execution flow
1.3.13 - 2025-12-29
Fixed
- Restored deterministic bash commands
- Removed redundant decision_gate
1.3.12 - 2025-12-29
Fixed
- Restored plan-format.md as output template
1.3.11 - 2025-12-29
Changed
- 70% context reduction for plan-phase workflow
- Merged CLI automation into checkpoints
- Compressed scope-estimation (74% reduction) and plan-phase.md (66% reduction)
1.3.10 - 2025-12-29
Fixed
- Explicit plan count check in offer_next step
1.3.9 - 2025-12-27
Added
- Evolutionary PROJECT.md system with incremental updates
1.3.8 - 2025-12-18
Added
- Brownfield/existing projects section in README
1.3.7 - 2025-12-18
Fixed
- Improved incremental codebase map updates
1.3.6 - 2025-12-18
Added
- File paths included in codebase mapping output
1.3.5 - 2025-12-17
Fixed
- Removed arbitrary 100-line limit from codebase mapping
1.3.4 - 2025-12-17
Fixed
- Inline code for Next Up commands (avoids nesting ambiguity)
1.3.3 - 2025-12-17
Fixed
- Check PROJECT.md not .planning/ directory for existing project detection
1.3.2 - 2025-12-17
Added
- Git commit step to map-codebase workflow
1.3.1 - 2025-12-17
Added
/gsd:map-codebasedocumentation in help and README
1.3.0 - 2025-12-17
Added
/gsd:map-codebasecommand for brownfield project analysis- Codebase map templates (stack, architecture, structure, conventions, testing, integrations, concerns)
- Parallel Explore agent orchestration for codebase analysis
- Brownfield integration into GSD workflows
Changed
- Improved continuation UI with context and visual hierarchy
Fixed
- Permission errors for non-DSP users (removed shell context)
- First question is now freeform, not AskUserQuestion
1.2.13 - 2025-12-17
Added
- Improved continuation UI with context and visual hierarchy
1.2.12 - 2025-12-17
Fixed
- First question should be freeform, not AskUserQuestion
1.2.11 - 2025-12-17
Fixed
- Permission errors for non-DSP users (removed shell context)
1.2.10 - 2025-12-16
Fixed
- Inline command invocation replaced with clear-then-paste pattern
1.2.9 - 2025-12-16
Fixed
- Git init runs in current directory
1.2.8 - 2025-12-16
Changed
- Phase count derived from work scope, not arbitrary limits
1.2.7 - 2025-12-16
Fixed
- AskUserQuestion mandated for all exploration questions
1.2.6 - 2025-12-16
Changed
- Internal refactoring
1.2.5 - 2025-12-16
Changed
<if mode>tags for yolo/interactive branching
1.2.4 - 2025-12-16
Fixed
- Stale CONTEXT.md references updated to new vision structure
1.2.3 - 2025-12-16
Fixed
- Enterprise language removed from help and discuss-milestone
1.2.2 - 2025-12-16
Fixed
- new-project completion presented inline instead of as question
1.2.1 - 2025-12-16
Fixed
- AskUserQuestion restored for decision gate in questioning flow
1.2.0 - 2025-12-15
Changed
- Research workflow implemented as Claude Code context injection
1.1.2 - 2025-12-15
Fixed
- YOLO mode now skips confirmation gates in plan-phase
1.1.1 - 2025-12-15
Added
- README documentation for new research workflow
1.1.0 - 2025-12-15
Added
- Pre-roadmap research workflow
/gsd:research-phasefor niche domain ecosystem discovery/gsd:research-projectcommand with workflow and templates/gsd:create-roadmapcommand with research-aware workflow- Research subagent prompt templates
Changed
- new-project split to only create PROJECT.md + config.json
- Questioning rewritten as thinking partner, not interviewer
1.0.11 - 2025-12-15
Added
/gsd:research-phasefor niche domain ecosystem discovery
1.0.10 - 2025-12-15
Fixed
- Scope creep prevention in discuss-phase command
1.0.9 - 2025-12-15
Added
- Phase CONTEXT.md loaded in plan-phase command
1.0.8 - 2025-12-15
Changed
- PLAN.md included in phase completion commits
1.0.7 - 2025-12-15
Added
- Path replacement for local installs
1.0.6 - 2025-12-15
Changed
- Internal improvements
1.0.5 - 2025-12-15
Added
- Global/local install prompt during setup
Fixed
- Bin path fixed (removed ./)
- .DS_Store ignored
1.0.4 - 2025-12-15
Fixed
- Bin name and circular dependency removed
1.0.3 - 2025-12-15
Added
- TDD guidance in planning workflow
1.0.2 - 2025-12-15
Added
- Issue triage system to prevent deferred issue pile-up
1.0.1 - 2025-12-15
Added
- Initial npm package release
1.0.0 - 2025-12-14
Added
- Initial release of GSD (Get Shit Done) meta-prompting system
- Core slash commands:
/gsd:new-project,/gsd:discuss-phase,/gsd:plan-phase,/gsd:execute-phase - PROJECT.md and STATE.md templates
- Phase-based development workflow
- YOLO mode for autonomous execution
- Interactive mode with checkpoints