Skip to content

chore(release): add /release slash command for weekly ritual#62

Merged
paulocastellano merged 2 commits into
mainfrom
chore/add-release-command
May 22, 2026
Merged

chore(release): add /release slash command for weekly ritual#62
paulocastellano merged 2 commits into
mainfrom
chore/add-release-command

Conversation

@paulocastellano
Copy link
Copy Markdown
Contributor

@paulocastellano paulocastellano commented May 22, 2026

Summary

Adds a Claude Code slash command at .claude/commands/release.md that runs the Friday release ritual end-to-end:

  • Pre-flight checks (on main, clean tree, in sync with origin, commits since last tag exist)
  • Sequential versioning with rollover at 9 — every release is the next number in sequence (v1.0.0 → v1.0.1 → ... → v1.0.9 → v1.1.0 → ... → v1.9.9 → v2.0.0). No semver-by-commit, no manual override.
  • Previews the GitHub release notes using the native releases/generate-notes API (flat by @author in #PR format)
  • Drafts a customer-facing email in Cal.com style with 2-3 user-impact themes, "New features" / "Fixes" bullet lists in user voice, and a Cheers, Paulo Castellano from TryPost.it signature
  • Runs the humanizer skill on the email prose only (not on the technical changelog)
  • After confirmation, creates the tag, pushes it, creates the GitHub release, and mirrors both artifacts to releases/<version>/changelog.md + releases/<version>/email.md

Test plan

  • After merge, run /release on main to cut the first tag v1.0.0
  • Verify the GitHub release at https://github.com/trypostit/trypost/releases/tag/v1.0.0 matches the native auto-generated format
  • Verify releases/v1.0.0/changelog.md mirrors the GitHub release notes
  • Verify releases/v1.0.0/email.md has subject in frontmatter, themed sections without commit/PR references, and the personal signature
  • Confirm the email prose reads naturally (humanizer applied)

Adds a Claude Code slash command that runs the Friday release flow:
auto-detects semver bump, generates the GitHub release via the native
generate-notes API, drafts a customer-facing email in Cal.com style
(themed prose, no internal references), runs the humanizer skill on the
email prose, and saves mirrors to releases/<version>/.
Replaces semver-by-commit-type detection with sequential numbering.
Patch increments on every release; rolls over to minor at patch=10;
rolls over to major at minor=10. No manual override — every release
is the next number in sequence.
@paulocastellano paulocastellano merged commit 2cbf1d5 into main May 22, 2026
2 checks passed
@paulocastellano paulocastellano deleted the chore/add-release-command branch May 22, 2026 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant