Lex Christopherson
0fde35acf9
1.30.0
2026-03-26 22:08:47 -06:00
TÂCHES
596ce2d252
feat: GSD SDK — headless CLI with init + auto commands ( #1407 )
...
* test: Bootstrapped sdk/ as TypeScript ESM package with full GSD-1 PLAN.…
- "sdk/package.json"
- "sdk/tsconfig.json"
- "sdk/vitest.config.ts"
- "sdk/src/types.ts"
- "sdk/src/plan-parser.ts"
- "sdk/src/plan-parser.test.ts"
GSD-Task: S01/T01
* test: Implemented config reader and gsd-tools bridge with 25 unit tests…
- "sdk/src/config.ts"
- "sdk/src/config.test.ts"
- "sdk/src/gsd-tools.ts"
- "sdk/src/gsd-tools.test.ts"
GSD-Task: S01/T02
* test: Built prompt-builder, session-runner, and GSD class — 85 total un…
- "sdk/src/prompt-builder.ts"
- "sdk/src/prompt-builder.test.ts"
- "sdk/src/session-runner.ts"
- "sdk/src/index.ts"
- "sdk/src/types.ts"
GSD-Task: S01/T03
* test: Created E2E integration test with fixtures proving full SDK pipel…
- "sdk/src/e2e.integration.test.ts"
- "sdk/test-fixtures/sample-plan.md"
- "sdk/test-fixtures/.planning/config.json"
- "sdk/test-fixtures/.planning/STATE.md"
- "vitest.config.ts"
- "tsconfig.json"
GSD-Task: S01/T04
* test: Added PhaseType/GSDEventType enums, 16-variant GSDEvent union, GS…
- "sdk/src/types.ts"
- "sdk/src/event-stream.ts"
- "sdk/src/logger.ts"
- "sdk/src/event-stream.test.ts"
- "sdk/src/logger.test.ts"
GSD-Task: S02/T01
* test: Built ContextEngine for phase-aware context file resolution, getT…
- "sdk/src/context-engine.ts"
- "sdk/src/tool-scoping.ts"
- "sdk/src/phase-prompt.ts"
- "sdk/src/context-engine.test.ts"
- "sdk/src/tool-scoping.test.ts"
- "sdk/src/phase-prompt.test.ts"
GSD-Task: S02/T02
* test: Wired event stream into session runner, added onEvent()/addTransp…
- "sdk/src/session-runner.ts"
- "sdk/src/index.ts"
- "sdk/src/e2e.integration.test.ts"
GSD-Task: S02/T03
* feat: Added PhaseStepType enum, PhaseOpInfo interface, phase lifecycle…
- "sdk/src/types.ts"
- "sdk/src/gsd-tools.ts"
- "sdk/src/session-runner.ts"
- "sdk/src/index.ts"
- "sdk/src/phase-runner-types.test.ts"
GSD-Task: S03/T01
* test: Implemented PhaseRunner state machine with 39 unit tests covering…
- "sdk/src/phase-runner.ts"
- "sdk/src/phase-runner.test.ts"
GSD-Task: S03/T02
* test: Wired PhaseRunner into GSD.runPhase() public API with full re-exp…
- "sdk/src/index.ts"
- "sdk/src/phase-runner.integration.test.ts"
- "sdk/src/phase-runner.ts"
GSD-Task: S03/T03
* test: Expanded runVerifyStep with full gap closure cycle (plan → execut…
- "sdk/src/types.ts"
- "sdk/src/phase-runner.ts"
- "sdk/src/phase-runner.test.ts"
GSD-Task: S04/T02
* fix: Added 3 integration tests proving phasePlanIndex returns correct t…
- "sdk/src/phase-runner.integration.test.ts"
- "sdk/src/index.ts"
GSD-Task: S04/T03
* test: Add milestone-level types, typed roadmapAnalyze(), GSD.run() orch…
- "sdk/src/types.ts"
- "sdk/src/gsd-tools.ts"
- "sdk/src/index.ts"
- "sdk/src/milestone-runner.test.ts"
GSD-Task: S05/T01
* test: Added CLITransport (structured stdout log lines) and WSTransport…
- "sdk/src/cli-transport.ts"
- "sdk/src/cli-transport.test.ts"
- "sdk/src/ws-transport.ts"
- "sdk/src/ws-transport.test.ts"
- "sdk/src/index.ts"
- "sdk/package.json"
GSD-Task: S05/T02
* test: Added gsd-sdk CLI entry point with argument parsing, bin field, p…
- "sdk/src/cli.ts"
- "sdk/src/cli.test.ts"
- "sdk/package.json"
GSD-Task: S05/T03
* feat: Add InitNewProjectInfo type, initNewProject()/configSet() GSDTool…
- "sdk/src/types.ts"
- "sdk/src/gsd-tools.ts"
- "sdk/src/cli.ts"
- "sdk/src/cli.test.ts"
- "sdk/src/gsd-tools.test.ts"
GSD-Task: S01/T01
* chore: Created InitRunner orchestrator with setup → config → PROJECT.md…
- "sdk/src/init-runner.ts"
- "sdk/src/types.ts"
- "sdk/src/index.ts"
GSD-Task: S01/T02
* test: Wired InitRunner into CLI main() for full gsd-sdk init dispatch a…
- "sdk/src/cli.ts"
- "sdk/src/init-runner.test.ts"
- "sdk/src/cli.test.ts"
GSD-Task: S01/T03
* test: Add PlanCheck step, AI self-discuss, and retryOnce wrapper to Pha…
- "sdk/src/types.ts"
- "sdk/src/phase-runner.ts"
- "sdk/src/session-runner.ts"
- "sdk/src/phase-runner.test.ts"
- "sdk/src/phase-runner-types.test.ts"
GSD-Task: S02/T01
* feat: Rewrite CLITransport with ANSI colors, phase banners, spawn indic…
- "sdk/src/cli-transport.ts"
- "sdk/src/cli-transport.test.ts"
GSD-Task: S02/T02
* test: Add `gsd-sdk auto` command with autoMode config override, USAGE t…
- "sdk/src/cli.ts"
- "sdk/src/cli.test.ts"
- "sdk/src/index.ts"
- "sdk/src/types.ts"
GSD-Task: S02/T03
* fix: CLI shebang + gsd-tools non-JSON output handling
Three bugs found during first real gsd-sdk run:
1. cli.ts shebang was commented out — shell executed JS as bash,
triggering ImageMagick's import command instead of Node
2. configSet() called exec() which JSON.parse()d the output, but
gsd-tools config-set returns 'key=value' text, not JSON.
Added execRaw() method for commands that return plain text.
3. Same JSON parse bug affected commit() (returns git SHA),
stateLoad(), verifySummary(), initExecutePhase(), stateBeginPhase(),
and phaseComplete(). All switched to execRaw().
Tests updated to match real gsd-tools output format (plain text
instead of mocked JSON). 376/376 tests pass.
2026-03-26 20:27:51 -06:00
Lex Christopherson
604a78b30b
1.29.0
2026-03-25 17:25:31 -06:00
Noah Rasheta
41ee44ae92
docs: update repository references from glittercowboy to gsd-build
...
The repository was transferred from the glittercowboy org to gsd-build,
but several files still referenced the old org in URLs. This updates all
repository URL references across READMEs (all languages), package.json,
and the update workflow. Also removes a duplicate language selector in
the main README header.
Files intentionally unchanged:
- CHANGELOG.md (historical entries)
- CODEOWNERS, FUNDING.yml, SECURITY.md (reference @glittercowboy as a
GitHub username/handle, not a repo URL)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 16:57:15 -06:00
Lex Christopherson
277c446215
1.28.0
2026-03-22 09:44:44 -06:00
Lex Christopherson
47cb2b5c16
1.27.0
2026-03-20 10:08:45 -06:00
Tom Boucher
f656dcbd6f
chore: update CI matrix to Node 20, 22, 24 — drop EOL Node 18
...
Node 18 reached EOL April 2025. Node 24 is the current LTS target.
Changes:
- CI matrix: [18, 20, 22] → [20, 22, 24]
- package.json engines: >=16.7.0 → >=20.0.0
- Removed Node 18 conditional in CI (c8 coverage works on all 20+)
- Simplified CI to single test:coverage step for all versions
797/797 tests pass on Node 24.
2026-03-18 23:43:28 -04:00
Lex Christopherson
641a4fc15a
1.26.0
2026-03-18 10:08:52 -06:00
Lex Christopherson
f35fe0dbb9
1.25.1
2026-03-16 09:05:41 -06:00
Lex Christopherson
4ce0925851
1.25.0
2026-03-16 09:03:01 -06:00
Lex Christopherson
33dcb775db
1.24.0
2026-03-15 11:52:51 -06:00
Lex Christopherson
0b8e2d2ef2
1.23.0
2026-03-15 11:22:04 -06:00
Lex Christopherson
2eaed7a847
1.22.4
2026-03-03 12:42:05 -06:00
Lex Christopherson
39ab041540
1.22.3
2026-03-03 11:32:28 -06:00
Lex Christopherson
cdfa391cb8
1.22.2
2026-03-03 08:24:38 -06:00
Lex Christopherson
29beea437e
1.22.1
2026-03-02 14:38:58 -06:00
Lex Christopherson
1c58e84eb3
1.22.0
2026-02-27 21:31:15 -06:00
Lex Christopherson
b69a8de83b
1.21.1
2026-02-27 11:52:13 -06:00
Lex Christopherson
ccb8ae1d18
fix(ci): cross-platform test runner for Windows glob expansion
...
npm scripts pass `tests/*.test.cjs` to node/c8 as a literal string on
Windows (PowerShell/cmd don't expand globs). Adding `shell: bash` to CI
steps doesn't help because c8 spawns node as a child process using the
system shell. Use a Node script to enumerate test files cross-platform.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 10:00:26 -06:00
Ethan Hurst
896499120b
fix(ci): add Node 18 skip condition for c8 v11 coverage step
...
c8 v11 requires Node 20+ (engines: ^20.0.0 || >=22.0.0).
Node 18 now runs plain npm test on PRs to avoid engine mismatch.
Also removes redundant --exclude flag from test:coverage script.
Also: fix ROADMAP.md progress table alignment (rows 7-12), mark
Phase 7 complete, add requirements-completed to 09-01-SUMMARY.md.
2026-02-26 05:49:31 +10:00
Ethan Hurst
97d2136c5d
feat(12-01): add c8 coverage tooling with 70% line threshold
2026-02-26 05:49:31 +10:00
Lex Christopherson
7f5ae23fc2
1.21.0
2026-02-25 07:22:43 -06:00
Lex Christopherson
e9e11580a4
merge: resolve conflicts with main for Codex skills-first support
...
- bin/install.js: integrate isCommand parameter (Gemini TOML fix) with Codex branch
- package.json: keep v1.20.6 with Codex description
- CHANGELOG.md: merge Codex entries into Unreleased above existing releases
2026-02-23 09:46:48 -06:00
Lex Christopherson
8638ea87d0
1.20.6
2026-02-23 00:31:03 -06:00
Tyler Satre
c67ab759a7
refactor: split gsd-tools.cjs into 11 domain modules under bin/lib/
...
Break the 5324-line monolith into focused modules:
- core.cjs: shared utilities, constants, internal helpers
- frontmatter.cjs: YAML frontmatter parsing/serialization/CRUD
- state.cjs: STATE.md operations + progression engine
- phase.cjs: phase CRUD, query, and lifecycle
- roadmap.cjs: roadmap parsing and updates
- verify.cjs: verification suite + consistency/health validation
- config.cjs: config ensure/set/get
- template.cjs: template selection and fill
- milestone.cjs: milestone + requirements lifecycle
- commands.cjs: standalone utility commands
- init.cjs: compound init commands for workflow bootstrapping
gsd-tools.cjs is now a thin CLI router (~550 lines including
JSDoc) that imports from lib/ modules. All 81 tests pass.
Also updates package.json test script to point to tests/.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-20 10:40:45 -05:00
Lex Christopherson
3cf26d69ee
1.20.5
2026-02-19 15:03:59 -06:00
Paarth Tandon
12692ee7a1
docs: add codex usage guidance and update notebook
2026-02-18 13:30:27 -08:00
Lex Christopherson
b94a1cac2b
1.20.4
2026-02-17 13:58:36 -06:00
Lex Christopherson
c609f3d0de
1.20.3
2026-02-16 14:35:44 -06:00
Lex Christopherson
710795ca88
1.20.2
2026-02-16 13:05:45 -06:00
Lex Christopherson
915d026ef3
1.20.1
2026-02-16 11:23:23 -06:00
Lex Christopherson
e8eab147f9
1.20.0
2026-02-15 17:15:04 -06:00
Lex Christopherson
1e3194a233
1.19.2
2026-02-15 14:40:27 -06:00
Lex Christopherson
a4ad25dad0
1.19.1
2026-02-15 10:05:32 -06:00
Lex Christopherson
ca18c24474
1.19.0
2026-02-15 09:07:40 -06:00
Lex Christopherson
9d815d31db
Revert 12 PRs merged without authorization
...
Reverts:
- #413 fix(install): build hooks/dist on the fly for dev installs
- #396 refactor(statusline): display git branch in status line
- #543 Add in-progress state for todos
- #532 feat: add git_tag config option
- #171 Add OpenCode installer package
- #519 feat: Add Mistral Vibe CLI Support
- #389 docs: use @latest for uninstall commands
- #288 fix(install): auto-migrate renamed statusline.js reference
- #502 fix(#501 ): verify-work defers diagnosis/planning
- #497 fix: move resolved debug sessions to resolved/ folder
- #512 fix: create feature branch before first commit
- #545 fix: add Write tool to gsd-verifier
These were merged without owner approval.
2026-02-14 14:25:26 -06:00
nullius
fbd727e9fd
feat: Add Mistral Vibe CLI Support ( #519 )
...
feat: Add Mistral Vibe CLI support
2026-02-14 14:17:58 -06:00
Lex Christopherson
9adb09fd29
1.18.0
2026-02-08 10:08:32 -06:00
Lex Christopherson
06399ec4a6
1.17.0
2026-02-08 09:40:14 -06:00
Lex Christopherson
ea0204bfc7
1.16.0
2026-02-08 08:24:14 -06:00
Lex Christopherson
9ad7903895
1.15.0
2026-02-08 01:45:11 -06:00
Lex Christopherson
ecba990933
1.14.0
2026-02-08 01:17:11 -06:00
Lex Christopherson
64373a8f36
1.13.0
2026-02-08 00:50:53 -06:00
TÂCHES
1b317dec45
feat: extract repetitive bash patterns into gsd-tools commands ( #472 )
...
* feat(gsd-tools): add history-digest, atomic state operations, and summary variants
Adds new performance-focused commands to gsd-tools and introduces specialized
summary templates to reduce context tax:
- history-digest: Compiles phase summaries into structured JSON for JIT loading
- state get/patch: Enables atomic STATE.md operations instead of full rewrites
- template select: Automatically chooses optimal summary template based on plan complexity
- Adds minimal, standard, and complex summary templates
Part of the "Hydra" architecture for GSD context optimization.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* chore: add project config
* docs: define v1 requirements
* docs: create roadmap (6 phases)
* feat(history-digest): fix nested YAML parsing and add tests
- Fix extractFrontmatter() to handle nested YAML structures like
dependency-graph.provides, tech-stack.added using stack-based parsing
- Add test infrastructure with Node test runner (npm test)
- Update gsd-planner to use digest fields directly instead of reading
full SUMMARY.md files
- Add 6 schema validation tests covering nested fields, merging,
malformed files, and backward compatibility
Closes: HIST-01, HIST-02, HIST-03, HIST-04
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* fix(planner): use digest for selection, full SUMMARY for understanding
The previous commit went too far by eliminating full SUMMARY reads.
The digest is an index for smart selection, not a replacement for
understanding what actually happened.
Two-step approach:
1. Digest to score/select relevant phases (2-4 typically)
2. Full SUMMARY read for selected phases (implementation details)
3. Digest-level context retained for unselected phases
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* feat(gsd-tools): add phases, roadmap, and phase commands
TDD implementation of three new commands to replace repetitive bash:
phases list [--type plans|summaries] [--phase N]
- Lists phase directories sorted numerically (handles decimals)
- Filter by file type or specific phase
- Replaces: ls -d .planning/phases/*/ | sort -V (22 occurrences)
roadmap get-phase <N>
- Extracts phase section from ROADMAP.md
- Returns name, goal, full section content
- Replaces: grep -A20 "Phase X:" ROADMAP.md (19 occurrences)
phase next-decimal <N>
- Calculates next decimal phase (06 → 06.1, 06.2 → 06.3)
- Handles gaps, normalizes input
- Replaces: complex bash math in insert-phase (3 occurrences)
16 new tests, all passing.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* refactor: migrate agents/workflows to use gsd-tools commands
Replace inline bash patterns with centralized gsd-tools commands:
phases list:
- audit-milestone.md: ls -d .planning/phases/*/ | sort -V
- plan-milestone-gaps.md: ls -d ... | sort -V | tail -1
roadmap get-phase:
- plan-phase.md: grep -A5 "Phase X:" ROADMAP.md (2 occurrences)
- research-phase.md: grep patterns (2 occurrences)
- verify-phase.md: grep -A5 pattern
- gsd-verifier.md: grep -A5 pattern
- gsd-plan-checker.md: grep -A10 pattern
- commands/gsd/research-phase.md: grep patterns (2 occurrences)
phase next-decimal:
- insert-phase.md: complex bash decimal calculation
- decimal-phase-calculation.md: reference doc rewritten
phase-argument-parsing.md: updated to reference gsd-tools
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-08 00:44:49 -06:00
Lex Christopherson
e92e64ce48
1.12.1
2026-02-07 22:12:28 -06:00
Lex Christopherson
e02b37d5e8
1.12.0
2026-02-07 11:39:47 -06:00
Lex Christopherson
ddc736ecbb
v1.11.3 - revert memory system
2026-02-06 09:48:17 -06:00
Lex Christopherson
7c42763aae
1.11.2
2026-02-05 13:21:44 -06:00
Lex Christopherson
b5ca9a2b76
1.11.1
2026-01-31 15:28:26 -06:00
Lex Christopherson
d8840c45d0
1.11.0
2026-01-31 15:28:22 -06:00