Update GSD to latest version with changelog display
Provides a better update experience than raw npx get-shit-done-cc by showing version diff and changelog entries.
</objective>
cat .github/get-shit-done/VERSION 2>/dev/null
If VERSION file missing:
## GSD Update
**Installed version:** Unknown
Your installation doesn't include version tracking.
Running fresh install...
Proceed to install step (treat as version 0.0.0 for comparison). </step>
<step name="check_latest_version"> Check npm for latest version:npm view get-shit-done-cc version 2>/dev/null
If npm check fails:
<step name="compare_versions"> Compare installed vs latest: <step name="show_changes_and_confirm"> **If update available**, fetch and show what's new BEFORE updating: <step name="run_update"> Run the update: </step> <step name="display_result"> Format completion message (changelog was already shown in confirmation step): </step> </process>Couldn't check for updates (offline or npm unavailable).
To update manually: `npx get-shit-done-cc --global`
STOP here if npm unavailable. </step>
If installed == latest:
## GSD Update
**Installed:** X.Y.Z
**Latest:** X.Y.Z
You're already on the latest version.
STOP here if already up to date.
If installed > latest:
## GSD Update
**Installed:** X.Y.Z
**Latest:** A.B.C
You're ahead of the latest release (development version?).
STOP here if ahead. </step>
## GSD Update Available
**Installed:** 1.5.10
**Latest:** 1.5.15
### What's New
────────────────────────────────────────────────────────────
## [1.5.15] - 2026-01-20
### Added
- Feature X
## [1.5.14] - 2026-01-18
### Fixed
- Bug fix Y
────────────────────────────────────────────────────────────
⚠️ **Note:** The installer performs a clean install of GSD folders:
- `~/.claude/commands/gsd/` will be wiped and replaced
- `.github/get-shit-done/` will be wiped and replaced
- `~/.claude/agents/gsd-*` files will be replaced
Your custom files in other locations are preserved:
- Custom commands in `~/.claude/commands/your-stuff/` ✓
- Custom agents not prefixed with `gsd-` ✓
- Custom hooks ✓
- Your CLAUDE.md files ✓
If you've modified any GSD files directly, back them up first.
Use AskUserQuestion:
If user cancels: STOP here. </step>
npx get-shit-done-cc --global
Capture output. If install fails, show error and STOP.
Clear the update cache so statusline indicator disappears:
rm -f ~/.claude/cache/gsd-update-check.json
╔═══════════════════════════════════════════════════════════╗
║ GSD Updated: v1.5.10 → v1.5.15 ║
╚═══════════════════════════════════════════════════════════╝
⚠️ Restart Claude Code to pick up the new commands.
[View full changelog](https://github.com/glittercowboy/get-shit-done/blob/main/CHANGELOG.md)
<success_criteria>