Run this skill with: /release $ARGUMENTS
$ARGUMENTS should be the new version number (e.g., 0.4.0). If not provided, ask the user.
Steps
-
Validate version: Confirm
$ARGUMENTSis a valid semver (MAJOR.MINOR.PATCH). Read current version fromCargo.toml. -
Bump Cargo.toml: Update
version = "..."in[package]section. -
Bump plugin.json: Update
"version": "..."in.claude-plugin/plugin.json. -
Update README.md: Replace any occurrences of the old version string with the new version (e.g., in install commands, badges, or header).
-
Build release binary: Run
cargo build --releaseand confirm it compiles cleanly. -
Run clippy: Run
cargo clippy -- -D warningsto ensure no lint issues.
-
Show diff: Run
git diffand present the changes for review. -
Commit: Create a single commit:
Release v{VERSION}with the version-bumped files. -
Tag: Create an annotated git tag:
git tag -a v{VERSION} -m "Release v{VERSION}". -
Report: Print the new version, tagged commit hash, and cached binary path (
~/.cache/shaon/{VERSION}/shaon). Remind the user togit push --follow-tagswhen ready.