Files
msd-core/commands/gsd/update.md
Lex Christopherson 7865f123ea feat(gsd): add update command with changelog display
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 18:21:02 -06:00

3.8 KiB

name, description
name description
gsd:update Update GSD to latest version with changelog display
Check for GSD updates, install if available, and display what changed.

Provides a better update experience than raw npx get-shit-done-cc by showing version diff and changelog entries.

Read installed version:
cat ~/.claude/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).

Check npm for latest version:
npm view get-shit-done-cc version 2>/dev/null

If npm check fails:

Couldn't check for updates (offline or npm unavailable).

To update manually: `npx get-shit-done-cc --global`

STOP here if npm unavailable.

Compare installed vs latest:

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.

Run the update:
npx get-shit-done-cc --global

Capture output. If install fails, show error and STOP.

Fetch changelog from GitHub:

Use WebFetch tool with:

  • URL: https://raw.githubusercontent.com/glittercowboy/get-shit-done/main/CHANGELOG.md
  • Prompt: "Extract all version entries with their dates and changes. Return the raw markdown for each version section."

If fetch fails: Fall back to local:

cat ~/.claude/get-shit-done/CHANGELOG.md 2>/dev/null
From the changelog, extract entries between: - **From:** installed version (exclusive) - **To:** latest version (inclusive)

Parse each ## [X.Y.Z] section and collect all versions in the range.

Format beautiful output:
╔═══════════════════════════════════════════════════════════╗
║  GSD Updated: v1.5.10 → v1.5.15                           ║
╚═══════════════════════════════════════════════════════════╝

✨ What's New
────────────────────────────────────────────────────────────

## [1.5.15] - 2026-01-20

### Added
- Feature X
- Feature Y

## [1.5.14] - 2026-01-18

### Fixed
- Bug in feature A

────────────────────────────────────────────────────────────

⚠️  Restart Claude Code to pick up the new commands.

[View full changelog](https://github.com/glittercowboy/get-shit-done/blob/main/CHANGELOG.md)

Key elements:

  • Box header with version transition
  • All changelog entries in the range
  • BREAKING: changes surfaced prominently
  • Restart reminder (critical for picking up new commands)
  • Link to full changelog

<success_criteria>

  • Installed version read correctly
  • Latest version checked via npm
  • Update skipped if already current
  • Update executed successfully
  • Changelog fetched (remote or local fallback)
  • Changes between versions displayed
  • Restart reminder shown </success_criteria>