Release a new version of the project with semver validation, Cargo.toml updates, and crates.io publishing
Installation
$skills install @s2-streamstore/release
Claude Code
Cursor
Copilot
Codex
Antigravity
Details
Repositorys2-streamstore/s2
Path.claude/skills/release/SKILL.md
Branchmain
Scoped Name@s2-streamstore/release
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: release description: Release a new version of the project with semver validation, Cargo.toml updates, and crates.io publishing
/release
Release a new version of the project.
Usage
/release [version]
If version is not provided, prompt the user for it.
Steps
-
Verify prerequisites
- Confirm on
mainbranch - Confirm working directory is clean (
git status) - Pull latest (
git pull)
- Confirm on
-
Validate version
- Version should follow semver (X.Y.Z)
- Confirm it's greater than current version in Cargo.toml
-
Update Cargo.toml
- Edit root
Cargo.tomlto update version in all 3 places:workspace.package.versionworkspace.dependencies.s2-apiworkspace.dependencies.s2-common
- Edit root
-
Update lockfile
cargo generate-lockfile -
Commit and push
git add Cargo.toml Cargo.lock git commit -m "release: X.Y.Z" git push -
Publish to crates.io
just publishWait for this to complete successfully before proceeding.
-
Tag and trigger release
just tag X.Y.Z
Notes
- If any step fails, stop and report the error
- The
just tagcommand triggers GitHub Actions to build Docker images and create the GitHub release
