From 6c2795598a81770f5bcf2cdec476f291514c8144 Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Fri, 10 Apr 2026 22:29:06 -0400 Subject: [PATCH] docs: release notes and documentation updates for v1.35.0 (#2079) Closes #2080 --- CHANGELOG.md | 26 +++++++++++ docs/COMMANDS.md | 56 +++++++++++++++++++++++ docs/CONFIGURATION.md | 30 ++++++++++++ docs/FEATURES.md | 104 +++++++++++++++++++++++++++++++++++++++--- docs/USER-GUIDE.md | 34 ++++++++++++++ 5 files changed, 243 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2ab31d44..38d24836c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,35 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [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. `--cline` flag. (#1605 follow-up) +- **CodeBuddy runtime support** — Skills-based install to `~/.codebuddy/skills/gsd-*/SKILL.md`. `--codebuddy` flag. +- **Qwen Code runtime support** — Skills-based install to `~/.qwen/skills/gsd-*/SKILL.md`, same open standard as Claude Code 2.1.88+. `QWEN_CONFIG_DIR` env var for custom paths. `--qwen` flag. +- **`/gsd-from-gsd2` command** (`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 ` (specify GSD-2 root). Produces `PROJECT.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-phase` command** (`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. Produces `AI-SPEC.md` with framework recommendation, implementation guidance, and evaluation strategy. Runs 3 parallel specialist agents: domain-researcher, framework-selector, ai-researcher, eval-planner. +- **`/gsd-eval-review` command** (`gsd:eval-review`) — Retroactive audit of an implemented AI phase's evaluation coverage. Checks implementation against `AI-SPEC.md` evaluation plan. Scores each eval dimension as COVERED/PARTIAL/MISSING. Produces `EVAL-REVIEW.md` with findings, gaps, and remediation guidance. - **Review model configuration** — Per-CLI model selection for /gsd-review via `review.models.` config keys. Falls back to CLI defaults when not set. (#1849) - **Statusline now surfaces GSD milestone/phase/status** — when no `in_progress` todo is active, `gsd-statusline.js` reads `.planning/STATE.md` (walking up from the workspace dir) and fills the middle slot with ` · · (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-review` with `--qwen` and `--cursor` flags. (#1966) + +### Changed +- **Worktree safety — `git clean` prohibition** — `gsd-executor` now prohibits `git clean` in 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** — `--hard` flag in `worktree_branch_check` now correctly resets the file tree, not just HEAD. (#2073) + +### Fixed +- **Context7 MCP CLI fallback** — Handles `tools: []` response that previously broke Context7 availability detection. (#1885) +- **`Agent` tool in gsd-autonomous** — Added `Agent` to `allowed-tools` to unblock subagent spawning. (#2043) +- **`intel.enabled` in config-set whitelist** — Config key now accepted by `config-set` without validation error. (#2021) +- **`writeSettings` null guard** — Guards against null `settingsPath` for Cline runtime to prevent crash on install. (#2046) +- **Shell hook absolute paths** — `.sh` hooks now receive absolute quoted paths in `buildHookCommand`, fixing path resolution in non-standard working directories. (#2045) +- **`processAttribution` runtime-aware** — Was hardcoded to `'claude'`; now reads actual runtime from environment. +- **`AskUserQuestion` plain-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_criteria` hard gate** — Enforced as a hard gate in executor — plans missing acceptance criteria are rejected before execution begins. (#1958) +- **`normalizePhaseName` preserves letter suffix case** — Phase names with letter suffixes (e.g., `1a`, `2B`) now preserve original case. (#1963) ## [1.34.2] - 2026-04-06 diff --git a/docs/COMMANDS.md b/docs/COMMANDS.md index 9eb08f822..ad7f19f49 100644 --- a/docs/COMMANDS.md +++ b/docs/COMMANDS.md @@ -593,6 +593,31 @@ Ingest an external plan file into the GSD planning system with conflict detectio --- +### `/gsd-from-gsd2` + +Reverse migration from GSD-2 format (`.gsd/` with Milestone→Slice→Task hierarchy) back to v1 `.planning/` format. + +| Flag | Required | Description | +|------|----------|-------------| +| `--dry-run` | No | Preview what would be migrated without writing anything | +| `--force` | No | Overwrite existing `.planning/` directory | +| `--path ` | No | Specify GSD-2 root directory (defaults to current directory) | + +**Flattening:** Milestone→Slice hierarchy is flattened to sequential phase numbers (M001/S01→phase 01, M001/S02→phase 02, M002/S01→phase 03, etc.). + +**Produces:** `PROJECT.md`, `REQUIREMENTS.md`, `ROADMAP.md`, `STATE.md`, and sequential phase directories in `.planning/`. + +**Safety:** Guards against overwriting an existing `.planning/` directory without `--force`. + +```bash +/gsd-from-gsd2 # Migrate .gsd/ in current directory +/gsd-from-gsd2 --dry-run # Preview migration without writing +/gsd-from-gsd2 --force # Overwrite existing .planning/ +/gsd-from-gsd2 --path /path/to/gsd2-project # Specify GSD-2 root +``` + +--- + ### `/gsd-quick` Execute ad-hoc task with GSD guarantees. @@ -900,6 +925,37 @@ Query, inspect, or refresh queryable codebase intelligence files stored in `.pla --- +## AI Integration Commands + +### `/gsd-ai-integration-phase` + +AI framework selection wizard for integrating AI/LLM capabilities into a project phase. Presents an interactive decision matrix, surfaces domain-specific failure modes and eval criteria, and produces `AI-SPEC.md` with a framework recommendation, implementation guidance, and evaluation strategy. + +**Produces:** `{phase}-AI-SPEC.md` in the phase directory + +**Spawns:** 3 parallel specialist agents: domain-researcher, framework-selector, ai-researcher, and eval-planner + +```bash +/gsd-ai-integration-phase # Wizard for the current phase +/gsd-ai-integration-phase 3 # Wizard for a specific phase +``` + +--- + +### `/gsd-eval-review` + +Retroactive audit of an implemented AI phase's evaluation coverage. Checks implementation against the `AI-SPEC.md` evaluation plan produced by `/gsd-ai-integration-phase`. Scores each eval dimension as COVERED/PARTIAL/MISSING. + +**Prerequisites:** Phase has been executed and has an `AI-SPEC.md` +**Produces:** `{phase}-EVAL-REVIEW.md` with findings, gaps, and remediation guidance + +```bash +/gsd-eval-review # Audit current phase +/gsd-eval-review 3 # Audit a specific phase +``` + +--- + ## Update Commands ### `/gsd-update` diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md index b965e1314..eaae862c6 100644 --- a/docs/CONFIGURATION.md +++ b/docs/CONFIGURATION.md @@ -360,6 +360,36 @@ Settings for the security enforcement feature (v1.31). All follow the **absent = --- +## Review Settings + +Configure per-CLI model selection for `/gsd-review`. When set, overrides the CLI's default model for that reviewer. + +| Setting | Type | Default | Description | +|---------|------|---------|-------------| +| `review.models.gemini` | string | (CLI default) | Model used when `--gemini` reviewer is invoked | +| `review.models.claude` | string | (CLI default) | Model used when `--claude` reviewer is invoked | +| `review.models.codex` | string | (CLI default) | Model used when `--codex` reviewer is invoked | +| `review.models.opencode` | string | (CLI default) | Model used when `--opencode` reviewer is invoked | +| `review.models.qwen` | string | (CLI default) | Model used when `--qwen` reviewer is invoked | +| `review.models.cursor` | string | (CLI default) | Model used when `--cursor` reviewer is invoked | + +### Example + +```json +{ + "review": { + "models": { + "gemini": "gemini-2.5-pro", + "qwen": "qwen-max" + } + } +} +``` + +Falls back to each CLI's configured default when a key is absent. Added in v1.35.0 (#1849). + +--- + ## Manager Passthrough Flags Configure per-step flags that `/gsd-manager` appends to each dispatched command. This allows customizing how the manager runs discuss, plan, and execute steps without manual flag entry. diff --git a/docs/FEATURES.md b/docs/FEATURES.md index 4a938465f..48ba6fc99 100644 --- a/docs/FEATURES.md +++ b/docs/FEATURES.md @@ -102,6 +102,11 @@ - [Hard Stop Safety Gates in /gsd-next](#101-hard-stop-safety-gates-in-gsd-next) - [Adaptive Model Preset](#102-adaptive-model-preset) - [Post-Merge Hunk Verification](#103-post-merge-hunk-verification) +- [v1.35.0 Features](#v1350-features) + - [New Runtime Support (Cline, CodeBuddy, Qwen Code)](#104-new-runtime-support-cline-codebuddy-qwen-code) + - [GSD-2 Reverse Migration](#105-gsd-2-reverse-migration) + - [AI Integration Phase Wizard](#106-ai-integration-phase-wizard) + - [AI Eval Review](#107-ai-eval-review) - [v1.32 Features](#v132-features) - [STATE.md Consistency Gates](#69-statemd-consistency-gates) - [Autonomous `--to N` Flag](#70-autonomous---to-n-flag) @@ -917,7 +922,7 @@ fix(03-01): correct auth token expiry **Purpose:** Run GSD across multiple AI coding agent runtimes. **Requirements:** -- REQ-RUNTIME-01: System MUST support Claude Code, OpenCode, Gemini CLI, Kilo, Codex, Copilot, Antigravity, Trae, Cline, Augment Code +- REQ-RUNTIME-01: System MUST support Claude Code, OpenCode, Gemini CLI, Kilo, Codex, Copilot, Antigravity, Trae, Cline, Augment Code, CodeBuddy, Qwen Code - REQ-RUNTIME-02: Installer MUST transform content per runtime (tool names, paths, frontmatter) - REQ-RUNTIME-03: Installer MUST support interactive and non-interactive (`--claude --global`) modes - REQ-RUNTIME-04: Installer MUST support both global and local installation @@ -926,12 +931,12 @@ fix(03-01): correct auth token expiry **Runtime Transformations:** -| Aspect | Claude Code | OpenCode | Gemini | Kilo | Codex | Copilot | Antigravity | Trae | Cline | Augment | -|--------|------------|----------|--------|-------|-------|---------|-------------|------|-------|---------| -| Commands | Slash commands | Slash commands | Slash commands | Slash commands | Skills (TOML) | Slash commands | Skills | Skills | Rules | Skills | -| Agent format | Claude native | `mode: subagent` | Claude native | `mode: subagent` | Skills | Tool mapping | Skills | Skills | Rules | Skills | -| Hook events | `PostToolUse` | N/A | `AfterTool` | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| Config | `settings.json` | `opencode.json(c)` | `settings.json` | `kilo.json(c)` | TOML | Instructions | Config | Config | Config | Config | +| Aspect | Claude Code | OpenCode | Gemini | Kilo | Codex | Copilot | Antigravity | Trae | Cline | Augment | CodeBuddy | Qwen Code | +|--------|------------|----------|--------|-------|-------|---------|-------------|------|-------|---------|-----------|-----------| +| Commands | Slash commands | Slash commands | Slash commands | Slash commands | Skills (TOML) | Slash commands | Skills | Skills | Rules | Skills | Skills | Skills | +| Agent format | Claude native | `mode: subagent` | Claude native | `mode: subagent` | Skills | Tool mapping | Skills | Skills | Rules | Skills | Skills | Skills | +| Hook events | `PostToolUse` | N/A | `AfterTool` | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| Config | `settings.json` | `opencode.json(c)` | `settings.json` | `kilo.json(c)` | TOML | Instructions | Config | Config | `.clinerules` | Config | Config | Config | --- @@ -2179,3 +2184,88 @@ Test suite that scans all agent, workflow, and command files for embedded inject - REQ-PATCH-VERIFY-01: Reapply-patches MUST verify each hunk was applied after the merge - REQ-PATCH-VERIFY-02: Dropped or partial hunks MUST be reported to the user with file and line context - REQ-PATCH-VERIFY-03: Verification MUST run after all patches are applied, not per-patch + +--- + +## v1.35.0 Features + +- [New Runtime Support (Cline, CodeBuddy, Qwen Code)](#104-new-runtime-support-cline-codebuddy-qwen-code) +- [GSD-2 Reverse Migration](#105-gsd-2-reverse-migration) +- [AI Integration Phase Wizard](#106-ai-integration-phase-wizard) +- [AI Eval Review](#107-ai-eval-review) + +--- + +### 104. New Runtime Support (Cline, CodeBuddy, Qwen Code) + +**Part of:** `npx get-shit-done-cc` + +**Purpose:** Extend GSD installation to Cline, CodeBuddy, and Qwen Code runtimes. + +**Requirements:** +- REQ-CLINE-02: Cline install MUST write `.clinerules` to `~/.cline/` (global) or `./.cline/` (local). No custom slash commands — rules-based integration only. Flag: `--cline`. +- REQ-CODEBUDDY-01: CodeBuddy install MUST deploy skills to `~/.codebuddy/skills/gsd-*/SKILL.md`. Flag: `--codebuddy`. +- REQ-QWEN-01: Qwen Code install MUST deploy skills to `~/.qwen/skills/gsd-*/SKILL.md`, following the open standard used by Claude Code 2.1.88+. `QWEN_CONFIG_DIR` env var overrides the default path. Flag: `--qwen`. + +**Runtime summary:** + +| Runtime | Install Format | Config Path | Flag | +|---------|---------------|-------------|------| +| Cline | `.clinerules` | `~/.cline/` or `./.cline/` | `--cline` | +| CodeBuddy | Skills (`SKILL.md`) | `~/.codebuddy/skills/` | `--codebuddy` | +| Qwen Code | Skills (`SKILL.md`) | `~/.qwen/skills/` | `--qwen` | + +--- + +### 105. GSD-2 Reverse Migration + +**Command:** `/gsd-from-gsd2 [--dry-run] [--force] [--path ]` + +**Purpose:** Migrate a project from GSD-2 format (`.gsd/` directory with Milestone→Slice→Task hierarchy) back to the v1 `.planning/` format, restoring full compatibility with all GSD v1 commands. + +**Requirements:** +- REQ-FROM-GSD2-01: Importer MUST read `.gsd/` from the specified or current directory +- REQ-FROM-GSD2-02: Milestone→Slice hierarchy MUST be flattened to sequential phase numbers (M001/S01→phase 01, M001/S02→phase 02, M002/S01→phase 03, etc.) +- REQ-FROM-GSD2-03: System MUST guard against overwriting an existing `.planning/` directory without `--force` +- REQ-FROM-GSD2-04: `--dry-run` MUST preview all changes without writing any files +- REQ-FROM-GSD2-05: Migration MUST produce `PROJECT.md`, `REQUIREMENTS.md`, `ROADMAP.md`, `STATE.md`, and sequential phase directories + +**Flags:** + +| Flag | Description | +|------|-------------| +| `--dry-run` | Preview migration output without writing files | +| `--force` | Overwrite an existing `.planning/` directory | +| `--path ` | Specify the GSD-2 root directory | + +--- + +### 106. AI Integration Phase Wizard + +**Command:** `/gsd-ai-integration-phase [N]` + +**Purpose:** Guide developers through selecting, integrating, and planning evaluation for AI/LLM capabilities in a project phase. Produces a structured `AI-SPEC.md` that feeds into planning and verification. + +**Requirements:** +- REQ-AISPEC-01: Wizard MUST present an interactive decision matrix covering framework selection, model choice, and integration approach +- REQ-AISPEC-02: System MUST surface domain-specific failure modes and eval criteria relevant to the project type +- REQ-AISPEC-03: System MUST spawn 3 parallel specialist agents: domain-researcher, framework-selector, and eval-planner +- REQ-AISPEC-04: Output MUST produce `{phase}-AI-SPEC.md` with framework recommendation, implementation guidance, and evaluation strategy + +**Produces:** `{phase}-AI-SPEC.md` in the phase directory + +--- + +### 107. AI Eval Review + +**Command:** `/gsd-eval-review [N]` + +**Purpose:** Retroactively audit an executed AI phase's evaluation coverage against the `AI-SPEC.md` plan. Identifies gaps between planned and implemented evaluation before the phase is closed. + +**Requirements:** +- REQ-EVALREVIEW-01: Review MUST read `AI-SPEC.md` from the specified phase +- REQ-EVALREVIEW-02: Each eval dimension MUST be scored as COVERED, PARTIAL, or MISSING +- REQ-EVALREVIEW-03: Output MUST include findings, gap descriptions, and remediation guidance +- REQ-EVALREVIEW-04: `EVAL-REVIEW.md` MUST be written to the phase directory + +**Produces:** `{phase}-EVAL-REVIEW.md` with scored eval dimensions, gap analysis, and remediation steps diff --git a/docs/USER-GUIDE.md b/docs/USER-GUIDE.md index 7e98ae047..47ecd4dbb 100644 --- a/docs/USER-GUIDE.md +++ b/docs/USER-GUIDE.md @@ -868,6 +868,40 @@ The installer auto-configures `resolve_model_ids: "omit"` for Gemini CLI, OpenCo See the [Configuration Reference](CONFIGURATION.md#non-claude-runtimes-codex-opencode-gemini-cli-kilo) for the full explanation. +### Installing for Cline + +Cline uses a rules-based integration — GSD installs as `.clinerules` rather than slash commands. + +```bash +# Global install (applies to all projects) +npx get-shit-done-cc --cline --global + +# Local install (this project only) +npx get-shit-done-cc --cline --local +``` + +Global installs write to `~/.cline/`. Local installs write to `./.cline/`. No custom slash commands are registered — GSD rules are loaded automatically by Cline from the rules file. + +### Installing for CodeBuddy + +CodeBuddy uses a skills-based integration. + +```bash +npx get-shit-done-cc --codebuddy --global +``` + +Skills are installed to `~/.codebuddy/skills/gsd-*/SKILL.md`. + +### Installing for Qwen Code + +Qwen Code uses the same open skills standard as Claude Code 2.1.88+. + +```bash +npx get-shit-done-cc --qwen --global +``` + +Skills are installed to `~/.qwen/skills/gsd-*/SKILL.md`. Use the `QWEN_CONFIG_DIR` environment variable to override the default install path. + ### Using Claude Code with Non-Anthropic Providers (OpenRouter, Local) If GSD subagents call Anthropic models and you're paying through OpenRouter or a local provider, switch to the `inherit` profile: `/gsd-set-profile inherit`. This makes all agents use your current session model instead of specific Anthropic models. See also `/gsd-settings` → Model Profile → Inherit.