Walk through the release process incrementally, with decision points at each stage. Designed for weekly invocation but doesn't assume a release will happen.
-
Find the latest git tag:
git describe --tags --abbrev=0
-
List commits since that tag:
git log <latest_tag>..HEAD --oneline
-
List PRs merged since that tag:
module load anaconda3/2025.6 && conda activate cruijff && gh pr list --repo niznik-dev/cruijff_kit --state merged --search "merged:>=$(git log -1 --format=%ai <latest_tag> | cut -d' ' -f1)" --json number,title,mergedAt --limit 50
-
List open PRs and present them for review — each should be merged, deferred, or closed before release:
module load anaconda3/2025.6 && conda activate cruijff && gh pr list --repo niznik-dev/cruijff_kit --state open --json number,title
-
Check for anything already in [Unreleased] in CHANGELOG.md.
-
Check KNOWN_ISSUES.md for stale entries (closed issues, resolved problems).
-
Present a summary to the user:
- Number of commits and PRs since last release
- Brief description of changes (group by: features, fixes, docs, cleanup)
- Any breaking changes (flag explicitly)
- Open PR disposition (merge/defer/close)
- Any stale KNOWN_ISSUES entries to clean up
-
Decision point: Ask the user whether to proceed with a release or stop here.