Preview a Release (Dry Run)
Preview what a release would look like without making any changes. This is a read-only operation useful for:
- •Verifying the changelog is complete before cutting a release
- •Reviewing the generated release notes
- •Confirming the version number is correct
- •Checking that all prerequisites are met
Context
- •Current branch: !
git branch --show-current - •Latest tags: !
git tag --sort=-v:refname | head -5 - •Git status: !
git status --short
Arguments
The user may provide: "$ARGUMENTS"
Valid arguments:
- •
major- Preview major version bump (X.0.0) - •
minor- Preview minor version bump (x.Y.0) - •
patch- Preview patch version bump (x.y.Z) - •Explicit version like
v1.2.3or1.2.3 - •Empty/none - Auto-detect from CHANGELOG.md content
Preview Workflow
Step 1: Check Release Readiness
Evaluate current state and report status:
Branch Status:
- •Current branch name
- •Is it
main? (yellow warning if not)
Working Directory:
- •Clean or dirty?
- •If dirty, list affected files
Remote Sync:
- •Is local up-to-date with
origin/main? - •How many commits ahead/behind?
GitHub CLI:
- •Is
ghauthenticated?
Report in a clear status block:
code
╔════════════════════════════════════════════════════════════════════╗ ║ RELEASE READINESS CHECK ║ ╚════════════════════════════════════════════════════════════════════╝ Branch: main ✓ Ready Working Directory: clean ✓ Ready Remote Sync: up-to-date ✓ Ready GitHub CLI: authenticated ✓ Ready Overall Status: READY TO RELEASE
Or with issues:
code
Branch: feature/fix-bug ⚠ Warning (not main) Working Directory: 2 uncommitted files ✗ Blocking
Step 2: Analyze Unreleased Changes
Read CHANGELOG.md and extract the ## [Unreleased] section.
Count and categorize changes:
code
╔════════════════════════════════════════════════════════════════════╗ ║ UNRELEASED CHANGES SUMMARY ║ ╚════════════════════════════════════════════════════════════════════╝ │ Category │ Count │ Entries │ ├───────────────┼───────┼────────────────────────────────────────────┤ │ Added │ 3 │ • Color Themes │ │ │ │ • Adversarial Review Mode │ │ │ │ • Background Cleanup Jobs │ ├───────────────┼───────┼────────────────────────────────────────────┤ │ Changed │ 1 │ • Instance Manager Callbacks │ ├───────────────┼───────┼────────────────────────────────────────────┤ │ Fixed │ 4 │ • Stale RUNNING status │ │ │ │ • Input mode exit on plan open │ │ │ │ • Theme persistence │ │ │ │ • Adversarial sub-group ID │ ├───────────────┼───────┼────────────────────────────────────────────┤ │ Removed │ 0 │ │ ├───────────────┼───────┼────────────────────────────────────────────┤ │ Security │ 0 │ │ ├───────────────┼───────┼────────────────────────────────────────────┤ │ Performance │ 0 │ │ └───────────────┴───────┴────────────────────────────────────────────┘ Total: 8 entries ready to release
If the Unreleased section is empty:
code
⚠ UNRELEASED SECTION IS EMPTY No changes to release. Add entries to the [Unreleased] section before cutting a release. Preview cannot continue.
Step 3: Determine Version Number
Based on changes (or user argument), calculate the next version:
code
╔════════════════════════════════════════════════════════════════════╗ ║ VERSION DETERMINATION ║ ╚════════════════════════════════════════════════════════════════════╝ Current Version: v0.13.0 (released 2026-01-29) Last 3 Releases: • v0.13.0 - 2026-01-29 (7 days ago) • v0.12.7 - 2026-01-23 (13 days ago) • v0.12.6 - 2026-01-22 (14 days ago) Change Analysis: └─ Added section contains 3 new features └─ No breaking changes detected in Changed/Removed Recommendation: MINOR bump (new features, backwards compatible) ╭─────────────────────────────────────╮ │ Next Version: v0.14.0 │ ╰─────────────────────────────────────╯
Step 4: Generate Release Notes Preview
Create the full release notes exactly as they would appear:
code
╔════════════════════════════════════════════════════════════════════╗ ║ RELEASE NOTES PREVIEW ║ ╚════════════════════════════════════════════════════════════════════╝ Title: "Color Themes and Adversarial Review Mode" ──────────────────────────────────────────────────────────────────── This release introduces user-selectable color themes and an adversarial review mode for tripleshot that pairs each implementer with a critical reviewer. ## Highlights ### Color Themes Choose from 14 carefully designed color themes to personalize your terminal experience. Themes include Monokai, Dracula, Nord, and more. - Configure via `tui.theme` in config or select interactively - Create custom themes in `~/.config/claudio/themes/` - Theme changes apply immediately with live preview ### Adversarial Review Mode Each tripleshot implementer is now paired with a reviewer who must approve the work (score >= 8/10) before it's considered complete. - Enable with `--adversarial` flag or `tripleshot.adversarial` config - Automatic retry on reviewer rejection - Clear stuck detection and recovery ## Other Improvements - Background cleanup jobs run async for better performance - Enhanced sidebar status with elapsed time, cost, and file counts ## Bug Fixes - Fixed stale RUNNING status after tmux server death - Fixed input mode not exiting when plan editor opens - Fixed theme persistence across restarts ────────────────────────────────────────────────────────────────────
Step 5: Show CHANGELOG.md Changes
Display the exact edits that would be made:
code
╔════════════════════════════════════════════════════════════════════╗ ║ CHANGELOG.MD CHANGES PREVIEW ║ ╚════════════════════════════════════════════════════════════════════╝ The following changes would be made to CHANGELOG.md: 1. REPLACE: "## [Unreleased]" WITH: "## [0.14.0] - 2026-01-30" 2. INSERT after header (line ~7): ──────────────────────────────────────────────────────── ## [Unreleased] ──────────────────────────────────────────────────────── 3. APPEND to version links at EOF: ──────────────────────────────────────────────────────── [0.14.0]: https://github.com/Iron-Ham/claudio/releases/tag/v0.14.0 ────────────────────────────────────────────────────────
Step 6: Summary
Provide the final preview summary:
code
╔════════════════════════════════════════════════════════════════════╗ ║ RELEASE PREVIEW SUMMARY ║ ╠════════════════════════════════════════════════════════════════════╣ ║ ║ ║ Version: v0.14.0 ║ ║ Title: "Color Themes and Adversarial Review Mode" ║ ║ Date: 2026-01-30 ║ ║ Changes: 3 Added, 1 Changed, 4 Fixed ║ ║ ║ ╠════════════════════════════════════════════════════════════════════╣ ║ ║ ║ Actions that would be performed: ║ ║ ║ ║ 1. ✎ Edit CHANGELOG.md ║ ║ • Change [Unreleased] to [0.14.0] - 2026-01-30 ║ ║ • Add new empty [Unreleased] section ║ ║ • Add version link at end of file ║ ║ ║ ║ 2. ⊕ Create commit ║ ║ • Message: "chore: release v0.14.0" ║ ║ ║ ║ 3. ⊗ Create git tag ║ ║ • Tag: v0.14.0 (annotated) ║ ║ ║ ║ 4. ↑ Push to origin ║ ║ • Push commit to main ║ ║ • Push tag v0.14.0 ║ ║ ║ ║ 5. ◉ Create GitHub Release ║ ║ • Title: "Color Themes and Adversarial Review Mode" ║ ║ • Body: [release notes shown above] ║ ║ ║ ╠════════════════════════════════════════════════════════════════════╣ ║ ║ ║ To proceed with the actual release, run: ║ ║ ║ ║ /release minor ║ ║ ║ ║ Or to specify version explicitly: ║ ║ ║ ║ /release v0.14.0 ║ ║ ║ ╚════════════════════════════════════════════════════════════════════╝
Key Points
- •Read-only - This command makes no changes
- •Use before /release - Verify everything looks correct first
- •Review blocking issues - Resolve any items before releasing