cms.c2sgmbh/.claude/commands/gsd/update.md
Martin Porwoll 77f70876f4 chore: add Claude Code config, prompts, and tenant setup scripts
- Add .claude/ configuration (agents, commands, hooks, get-shit-done workflows)
- Add prompts/ directory with development planning documents
- Add scripts/setup-tenants/ with tenant configuration
- Add docs/screenshots/
- Remove obsolete phase2.2-corrections-report.md
- Update pnpm-lock.yaml
- Update detect-secrets.sh to ignore setup.sh (env var usage, not secrets)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 10:18:05 +00:00

4.2 KiB

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 /home/payload/payload-cms/.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.

**If update available**, fetch and show what's new BEFORE updating:
  1. Fetch changelog (same as fetch_changelog step)
  2. Extract entries between installed and latest versions
  3. Display preview and ask for confirmation:
## 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:
- `/home/payload/payload-cms/.claude/commands/gsd/` will be wiped and replaced
- `/home/payload/payload-cms/.claude/get-shit-done/` will be wiped and replaced
- `/home/payload/payload-cms/.claude/agents/gsd-*` files will be replaced

Your custom files in other locations are preserved:
- Custom commands in `/home/payload/payload-cms/.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:

  • Question: "Proceed with update?"
  • Options:
    • "Yes, update now"
    • "No, cancel"

If user cancels: STOP here.

Run the update:
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 /home/payload/payload-cms/.claude/cache/gsd-update-check.json
Format completion message (changelog was already shown in confirmation step):
╔═══════════════════════════════════════════════════════════╗
║  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>

  • Installed version read correctly
  • Latest version checked via npm
  • Update skipped if already current
  • Changelog fetched and displayed BEFORE update
  • Clean install warning shown
  • User confirmation obtained
  • Update executed successfully
  • Restart reminder shown </success_criteria>