diff --git a/README.md b/README.md index bffdea21e..730290dd8 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,12 @@ One command. Walk away. Come back to a built project with clean git history. - **Reliability hardening** — atomic file writes, OAuth fetch timeouts, RPC exit detection, blob GC, LSP init retry with backoff - **RPC utilities** now part of the public API for headless/scripted integrations - **npm** established as the canonical package manager +- **CI/CD Pipeline** — three-stage promotion (Dev → Test → Prod) with automated versioning +- **Docker support** — containerized builds with multi-stage Dockerfile +- **`/gsd keys`** — full API key lifecycle management (list, add, remove, test, rotate, doctor) +- **Milestone parking** — park in-progress milestones to work on something else, unpark to resume +- **Studio** — experimental Electron desktop app (early preview) +- **Per-project MCP config** — `.gsd/mcp.json` for project-scoped MCP server definitions See the full [Changelog](./CHANGELOG.md) for details. @@ -53,6 +59,7 @@ Full documentation is available in the [`docs/`](./docs/) directory: - **[Commands Reference](./docs/commands.md)** — all commands and keyboard shortcuts - **[Architecture](./docs/architecture.md)** — system design and dispatch pipeline - **[Troubleshooting](./docs/troubleshooting.md)** — common issues, doctor, forensics, recovery +- **[CI/CD Pipeline](./docs/ci-cd-pipeline.md)** — three-stage promotion pipeline (Dev → Test → Prod) - **[VS Code Extension](./vscode-extension/README.md)** — chat participant, sidebar dashboard, RPC integration - **[Visualizer](./docs/visualizer.md)** — workflow visualizer with stats and discussion status - **[Migration from v1](./docs/migration.md)** — `.planning` → `.gsd` migration @@ -299,6 +306,7 @@ On first run, GSD launches a branded setup wizard that walks you through LLM pro | `/gsd forensics` | Post-mortem investigation of auto-mode failures | | `/gsd cleanup` | Archive phase directories from completed milestones | | `/gsd doctor` | Runtime health checks with auto-fix for common issues | +| `/gsd keys` | API key manager — list, add, remove, test, rotate, doctor | | `/gsd export --html` | Generate HTML report for current or completed milestone | | `/worktree` (`/wt`) | Git worktree lifecycle — create, switch, merge, remove | | `/voice` | Toggle real-time speech-to-text (macOS, Linux) | diff --git a/docs/commands.md b/docs/commands.md index 09d8f7c23..7a1932ac3 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -30,6 +30,8 @@ |---------|-------------| | `/gsd prefs` | Model selection, timeouts, budget ceiling | | `/gsd mode` | Switch workflow mode (solo/team) with coordinated defaults for milestone IDs, git commit behavior, and documentation | +| `/gsd config` | Re-run the provider setup wizard (LLM provider + tool keys) | +| `/gsd keys` | API key manager — list, add, remove, test, rotate, doctor | | `/gsd doctor` | Runtime health checks (7 checks) with auto-fix for common state corruption issues | | `/gsd skill-health` | Skill lifecycle dashboard — usage stats, success rates, token trends, staleness warnings | | `/gsd skill-health ` | Detailed view for a single skill | @@ -39,6 +41,17 @@ | `/gsd run-hook` | Manually trigger a specific hook | | `/gsd migrate` | Migrate a v1 `.planning` directory to `.gsd` format | +## Milestone Management + +| Command | Description | +|---------|-------------| +| `/gsd new-milestone` | Create a new milestone | +| `/gsd skip` | Prevent a unit from auto-mode dispatch | +| `/gsd undo` | Revert last completed unit | +| Park milestone | Available via `/gsd` wizard → "Milestone actions" → "Park" | +| Unpark milestone | Available via `/gsd` wizard → "Milestone actions" → "Unpark" | +| Discard milestone | Available via `/gsd` wizard → "Milestone actions" → "Discard" | + ## Parallel Orchestration | Command | Description | diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 452ca8ccb..57e89ee8f 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -124,6 +124,44 @@ Doctor rebuilds `STATE.md` from plan and roadmap files on disk and fixes detecte - **Forensics:** `/gsd forensics` for structured post-mortem analysis of auto-mode failures - **Session logs:** `.gsd/activity/` contains JSONL session dumps for crash forensics +## Windows-Specific Issues + +### LSP returns ENOENT on Windows (MSYS2/Git Bash) + +**Symptoms:** LSP initialization fails with `ENOENT` or resolves POSIX-style paths like `/c/Users/...` instead of `C:\Users\...`. + +**Cause:** The `which` command in MSYS2/Git Bash returns POSIX paths that Node.js `spawn()` can't resolve. + +**Fix:** Updated in v2.29+ to use `where.exe` on Windows. Upgrade to the latest version. + +### EBUSY errors during WXT/extension builds + +**Symptoms:** `EBUSY: resource busy or locked, rmdir .output/chrome-mv3` when building browser extensions. + +**Cause:** A Chromium browser has the extension loaded from the build output directory, preventing deletion. + +**Fix:** Close the browser extension, or set a different `outDirTemplate` in your WXT config to avoid the locked directory. + +## Database Issues + +### "GSD database is not available" + +**Symptoms:** `gsd_save_decision`, `gsd_update_requirement`, or `gsd_save_summary` fail with this error. + +**Cause:** The SQLite database wasn't initialized. This happens in manual `/gsd` sessions (non-auto mode) on versions before v2.29. + +**Fix:** Updated in v2.29+ to auto-initialize the database on first tool call. Upgrade to the latest version. + +## Verification Issues + +### Verification gate fails with shell syntax error + +**Symptoms:** `stderr: /bin/sh: 1: Syntax error: "(" unexpected` during verification checks. + +**Cause:** A description-like string (e.g., `All 10 checks pass (build, lint)`) was treated as a shell command. This can happen when task plans have `verify:` fields with prose instead of actual commands. + +**Fix:** Updated in v2.29+ to filter preference commands through `isLikelyCommand()`. Ensure `verification_commands` in preferences contains only valid shell commands, not descriptions. + ## LSP (Language Server Protocol) ### "LSP isn't available in this workspace"