feat(12-03): create whats-new.md command

- Reads installed version from VERSION file
- Fetches remote changelog from GitHub
- Displays version comparison and missed changes
- Provides update instructions when behind
This commit is contained in:
Lex Christopherson
2026-01-14 14:06:06 -06:00
parent 35cf2511c1
commit 1a55ac8539
3 changed files with 133 additions and 8 deletions

View File

@@ -200,7 +200,7 @@ This enables execute-phase to produce more Wave 1 plans (true independence) inst
**Plans:** 3 plans
Plans:
- [ ] 12-01: CHANGELOG.md foundation - Create changelog file, update installer to copy it
- [x] 12-01: CHANGELOG.md foundation - Create changelog file, update installer to copy it
- [ ] 12-02: Publish command update - Add changelog generation to gsd-publish-version.md
- [ ] 12-03: whats-new command - Create /gsd:whats-new with remote fetch and version comparison

View File

@@ -19,12 +19,12 @@
## Current Position
Phase: 99 of 99 (Test Parallel - THROWAWAY)
Plan: 3 of 3 in current phase
Status: Phase complete (via parallel execution)
Last activity: 2026-01-12 - Completed Phase 99 via /gsd:execute-phase
Phase: 12 of 12 (Changelog & Update Awareness)
Plan: 1 of 3 in current phase
Status: In progress
Last activity: 2026-01-14 - Completed 12-01-PLAN.md
Progress: Test phase complete (throwaway - not counted in main milestone)
Progress: ████████████████████░░░░ 24/27 plans (~89%)
## Performance Metrics
@@ -95,6 +95,7 @@ None yet.
- Phase 9 added: Integrate verify-work (community contribution from OracleGreyBeard)
- Phase 10 added: Parallel phase execution (rename workflow, create /gsd:execute-phase with parallelization)
- Phase 11 added: Parallel-aware planning (update plan-phase.md to create parallelizable plans when enabled)
- Phase 12 added: Changelog & update awareness (remote changelog fetch, /gsd:whats-new, publish workflow integration)
## Project Alignment
@@ -105,6 +106,6 @@ Drift notes: None
## Session Continuity
Last session: 2026-01-12
Stopped at: Completed Phase 99 via /gsd:execute-phase (parallel test)
Last session: 2026-01-14
Stopped at: Completed 12-01-PLAN.md
Resume file: None

124
commands/gsd/whats-new.md Normal file
View File

@@ -0,0 +1,124 @@
---
name: gsd:whats-new
description: See what's new in GSD since your installed version
---
<objective>
Display changes between installed version and latest available version.
Shows version comparison, changelog entries for missed versions, and update instructions.
</objective>
<process>
<step name="get_installed_version">
Read installed version from VERSION file:
```bash
cat ~/.claude/get-shit-done/VERSION 2>/dev/null
```
**If VERSION file missing:**
```
## GSD What's New
**Installed version:** Unknown
Your installation doesn't include version tracking.
**To fix:** `npx get-shit-done-cc --global`
This will reinstall with version tracking enabled.
```
STOP here if no VERSION file.
</step>
<step name="fetch_remote_changelog">
Fetch latest CHANGELOG.md 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 in Keep-a-Changelog format."
**If fetch fails:**
Fall back to local changelog:
```bash
cat ~/.claude/get-shit-done/CHANGELOG.md 2>/dev/null
```
Note to user: "Couldn't check for updates (offline or GitHub unavailable). Showing local changelog."
</step>
<step name="parse_versions">
From the remote (or local) changelog:
1. **Extract latest version** - First `## [X.Y.Z]` line after `## [Unreleased]`
2. **Compare with installed** - From VERSION file
3. **Extract entries between** - All version sections from latest down to (but not including) installed
**Version comparison:**
- If installed == latest: "You're on the latest version"
- If installed < latest: Show changes since installed version
- If installed > latest: "You're ahead of latest release (development version?)"
</step>
<step name="display_output">
Format output clearly:
**If up to date:**
```
## GSD What's New
**Installed:** 1.4.26
**Latest:** 1.4.26
You're on the latest version.
[View full changelog](https://github.com/glittercowboy/get-shit-done/blob/main/CHANGELOG.md)
```
**If updates available:**
```
## GSD What's New
**Installed:** 1.4.23
**Latest:** 1.4.26
---
### Changes since your version:
## [1.4.26] - 2026-01-20
### Added
- Feature X
- Feature Y
### Changed
- **BREAKING:** Changed Z behavior
## [1.4.25] - 2026-01-18
### Fixed
- Bug in feature A
---
[View full changelog](https://github.com/glittercowboy/get-shit-done/blob/main/CHANGELOG.md)
**To update:** `npx get-shit-done-cc --global`
```
**Breaking changes:** Surface prominently with **BREAKING:** prefix in the output.
</step>
</process>
<success_criteria>
- [ ] Installed version read from VERSION file
- [ ] Remote changelog fetched (or graceful fallback to local)
- [ ] Version comparison displayed clearly
- [ ] Changes since installed version shown (if any)
- [ ] Update instructions provided when behind
</success_criteria>