From jerry
Prepares Python project release: validates prereqs/tests/Work Items, updates version in pyproject.toml/src/manifest, generates CHANGELOG, creates git commit/tag, and CI/CD handoff doc. [--dry-run]
How this command is triggered — by the user, by Claude, or both
Slash command
/jerry:releaseThe summary Claude sees in its command listing — used to decide when to auto-load this command
# /release Command Automates the release preparation and CI/CD handoff process. --- ## Usage ### Arguments - `version`: Semantic version (e.g., `0.2.0`, `1.0.0-beta.1`) - `--dry-run`: Preview changes without committing --- ## Behavior When invoked, this command: 1. **Validates** preconditions for release 2. **Updates** version numbers in relevant files 3. **Generates** changelog from Work Items 4. **Creates** release commit and tag 5. **Prepares** CI/CD handoff documentation --- ## Precondition Checks Before proceeding, verify: - [ ] All Work Items in current milestone are CO...
Automates the release preparation and CI/CD handoff process.
/release <version> [--dry-run]
version: Semantic version (e.g., 0.2.0, 1.0.0-beta.1)--dry-run: Preview changes without committingWhen invoked, this command:
Before proceeding, verify:
python -m pytest)If any check fails, report the issue and stop.
Update version in these files:
pyproject.toml: version = "{new_version}"src/__init__.py: __version__ = "{new_version}".claude-plugin/manifest.json: "version": "{new_version}"Generate CHANGELOG.md entry from Work Items:
## [{version}] - {YYYY-MM-DD}
### Added
- {WORK-xxx}: {title} (features with type=feature)
### Changed
- {WORK-xxx}: {title} (items with type=enhancement)
### Fixed
- {WORK-xxx}: {title} (items with type=bug)
### Security
- {WORK-xxx}: {title} (items with type=security)
### Deprecated
- {WORK-xxx}: {title} (items with type=deprecation)
Create commit with message:
release: v{version}
Changes in this release:
- {summary of major changes}
Work Items: WORK-xxx, WORK-yyy, WORK-zzz
Create annotated tag:
git tag -a v{version} -m "Release v{version}"
Create docs/plans/RELEASE_{version}.md:
# Release: v{version}
**Date**: {YYYY-MM-DD}
**Status**: READY_FOR_CI
## Pre-Release Checklist
- [x] Version updated in pyproject.toml
- [x] Version updated in src/__init__.py
- [x] Version updated in manifest.json
- [x] CHANGELOG.md updated
- [x] All tests passing
- [x] Release commit created
- [x] Tag created
## CI/CD Actions Required
1. [ ] Run full test suite on CI
2. [ ] Build distribution packages
3. [ ] Run security scan
4. [ ] Publish to package registry (if applicable)
5. [ ] Create GitHub release with changelog
## Rollback Plan
If issues discovered post-release:
1. Revert release commit: `git revert {commit_sha}`
2. Delete tag: `git tag -d v{version}`
3. Investigate and fix issues
4. Re-run /release with patch version
## Release Notes (for GitHub/announcement)
{Copy from CHANGELOG entry}
When --dry-run is specified:
=== Release Dry Run: v{version} ===
Precondition Checks:
[PASS] All Work Items completed
[PASS] Tests passing
[PASS] No uncommitted changes
[PASS] On main branch
[PASS] Valid semver
Files to Update:
- pyproject.toml: 0.1.0 -> {version}
- src/__init__.py: 0.1.0 -> {version}
- manifest.json: 0.1.0 -> {version}
Changelog Preview:
## [{version}] - {date}
### Added
- WORK-001: Add Work Tracker skill
...
Git Operations:
- Commit: release: v{version}
- Tag: v{version}
Run without --dry-run to execute.
User: /release 0.2.0
Claude: Running release preparation for v0.2.0...
Precondition Checks:
[PASS] All Work Items in milestone completed
[PASS] Tests passing (42 passed, 0 failed)
[PASS] Working directory clean
[PASS] On branch: main
[PASS] Version 0.2.0 is valid semver
Updating versions...
- pyproject.toml: 0.1.0 -> 0.2.0
- src/__init__.py: 0.1.0 -> 0.2.0
- manifest.json: 0.1.0 -> 0.2.0
Generating changelog...
Added 3 entries to CHANGELOG.md
Creating release commit and tag...
Commit: abc1234 - release: v0.2.0
Tag: v0.2.0
Release v0.2.0 is ready!
CI/CD handoff document: docs/plans/RELEASE_0.2.0.md
Next steps:
1. Push to remote: git push origin main --tags
2. Monitor CI/CD pipeline
3. Verify deployment
npx claudepluginhub geekatron/jerry --plugin jerry/releaseAutomates semantic version releases: analyzes CHANGELOG changes, suggests bump type per conventions, updates version files, creates annotated git tag after confirmation.
/releaseReleases the project using adaptive learned configuration — discovers the release pipeline on first run and caches it. Also supports version bump types and --dry-run preview.
/prepare-releasePrepares and validates release packages by determining semantic version, running pre-release checklists, bumping versions with git/npm, generating changelog, and updating docs.
/releaseAutomates complete release workflow: analyzes git changes for semantic version bump, updates files/docs/changelog, commits/tags/pushes to remote, creates release on GitHub/GitLab/Bitbucket.
/releaseCreates full release: verifies CI/CD, generates changelog, creates GitHub release with v<semver> tag, publishes packages, updates docs, notifies stakeholders.