/gsd:update already shows changelog before updating, with cancel option.
Two commands for nearly the same purpose adds unnecessary cognitive load.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Standardize on *-CONTEXT.md glob pattern to match files like
03-CONTEXT.md across all workflows.
Files updated:
- commands/gsd/plan-phase.md
- commands/gsd/research-phase.md
- get-shit-done/workflows/discuss-phase.md
- get-shit-done/workflows/resume-project.md
Closes#219
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
OpenCode follows XDG Base Directory spec and expects config at
~/.config/opencode/, not ~/.opencode/. This fix:
- Add getOpencodeGlobalDir() to detect correct path via:
- OPENCODE_CONFIG_DIR env var
- OPENCODE_CONFIG env var (uses dirname)
- XDG_CONFIG_HOME/opencode
- ~/.config/opencode (default)
- Use 'command/' (singular) instead of 'commands/' (plural)
- Use flat file structure: command/gsd-help.md instead of
commands/gsd/help.md (invoked as /gsd-help)
- Write permissions to ~/.config/opencode/opencode.json
- Update content conversion to replace ~/.claude with
~/.config/opencode and /gsd: with /gsd-
Fixes OpenCode installation which was previously installing to
~/.opencode/ where OpenCode couldn't find the commands.
Users can now choose to install for Claude Code, OpenCode, or both
when running the installer interactively. New CLI flags:
- --claude: Install for Claude Code only
- --opencode: Install for OpenCode only
- --both: Install for both runtimes
The installer prompts for runtime first, then location. Backward
compatible - existing --global and --local flags still work.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When installing with --opencode, the installer now adds read and
external_directory permissions for ~/.opencode/get-shit-done/* to
~/.opencode.json. This prevents OpenCode from prompting for permission
every time GSD commands access reference docs.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove package-lock.json from .gitignore so CI can use npm caching.
This fixes the "Dependencies lock file is not found" error in GitHub Actions.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Trim redundant documentation while preserving actionable instructions.
-173 lines of prose that restated what templates already show.
Kept: size constraints, mandatory fields, security guidance.
Removed: "when to create/read/update" lifecycle prose, section
descriptions that duplicate template structure.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Custom subagents cannot access MCP tools due to Claude Code bug #13898.
This affects gsd-phase-researcher, gsd-project-researcher, and gsd-planner
which need Context7 for documentation lookups.
Fix: Switch to general-purpose agent (which has MCP access) and have it
read the agent instruction file as its first action. The specialized
behavior comes from the prompt, not the agent definition.
Closes#161
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add GitHub Actions CI for cross-platform testing (ubuntu/windows/macos × node 18/20/22)
- Add release workflow that auto-creates GitHub Releases and publishes to npm on tag push
- Add CONTRIBUTING.md with branching strategy (maintainers direct commit, contributors PR)
- Add MAINTAINERS.md with release workflows and recovery procedures
- Add PR template for contributors
Closes#221
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Previously, closing the readline (via Escape, Ctrl+C, or stdin closure)
would default to global install. Now it cancels the installation.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace $HOME with actual resolved path in hook command strings.
$HOME is a Unix shell variable that is not expanded by cmd.exe or
PowerShell on Windows, causing hooks to fail with MODULE_NOT_FOUND.
The fix uses a new buildHookCommand() helper that:
- Uses the actual claudeDir path instead of $HOME
- Normalizes backslashes to forward slashes for Node.js compatibility
* docs: enforce automation-first checkpoint verification
Checkpoints should never ask users to run CLI commands that Claude Code
can execute. This update reinforces the automation-first principle:
Key changes:
- Add golden rules: Claude runs CLI, users only visit URLs
- Add dev server automation patterns (start before checkpoint)
- Add environment variable CLI patterns (Convex, Vercel, etc.)
- Add anti-patterns: asking user to run npm, add dashboard env vars
- Update all examples to show Claude starting servers
- Add comprehensive "Never Ask Users To" and "Users Only Do" lists
- Update gsd-executor with pre-checkpoint automation requirements
The core principle: if Claude CAN automate it, Claude MUST automate it.
Users only do what requires human judgment (visual verification, UX).
* refactor: DRY checkpoint automation with server lifecycle and error handling
Changes:
- checkpoints.md is now single source of truth for automation-first patterns
- Added server lifecycle protocol (start, port conflicts, cleanup)
- Added CLI installation handling (auto-install matrix)
- Added pre-checkpoint failure handling (fix before checkpoint)
- Removed ~93 lines of duplication from verification-patterns.md
- Replaced inline examples in phase-prompt.md with references
- Slimmed gsd-executor.md checkpoint section to reference checkpoints.md
Net effect: -23 lines while adding 3 new capabilities (server lifecycle,
CLI install, error handling). Single place to update automation patterns.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>