update-version

star 127

Update project versions and release tag in one consistent flow (Cargo.toml, xtask, docs, and git tag).

Jxck By Jxck schedule Updated 2/25/2026

name: update-version description: Update project versions and release tag in one consistent flow (Cargo.toml, xtask, docs, and git tag).

update-version Skill

Use this skill when preparing a release version update so crate versions and git tags do not drift.

Goal

Keep release identifiers consistent across:

  1. Cargo.toml ([package].version)
  2. xtask/Cargo.toml ([package].version)
  3. docs/examples that embed a fixed release version
  4. git annotated tag (vX.Y.Z)

Required Inputs

  1. Optional bump kind argument:
    • default: patch (when no argument is given)
    • explicit: minor or major

Required Procedure

  1. Baseline checks
  • Ensure working tree is clean (or changes are intentionally scoped).
  • Read current version from Cargo.toml.
  • Decide target version by bump kind:
    • no argument -> patch bump
    • minor -> minor bump with patch reset to 0
    • major -> major bump with minor/patch reset to 0
  • Confirm target tag vX.Y.Z does not already exist.
  1. Update versioned files
  • Update /Users/jxck/develop/sptth/Cargo.toml to version = "X.Y.Z".
  • Update /Users/jxck/develop/sptth/xtask/Cargo.toml to version = "X.Y.Z".
  • Update fixed release examples in docs (for example README.md VERSION=vX.Y.Z).
  • Do not edit Cargo.lock manually.
  • Refresh lockfile metadata via Cargo commands after manifest updates (for example cargo check --workspace).
  1. Validate
  • Run:
    • cargo run -p xtask -- fmt-check
    • cargo test -q
    • cargo check --workspace
  1. Commit
  • Commit only files changed for version update.
  • Follow docs/commit-message.md.
  • Keep commit message in English.
  1. Tag
  • Create annotated tag vX.Y.Z on the update-version commit.
  • Verify tag points to expected commit.
  1. Push (if requested)
  • Push branch and tag:
    • git push origin main
    • git push origin vX.Y.Z

Command Examples

# bump examples
# /update-version          -> patch bump (default)
# /update-version minor    -> minor bump
# /update-version major    -> major bump

# example computed target: 0.0.4
git tag --list "v0.0.4"
cargo run -p xtask -- fmt-check
cargo test -q
cargo check --workspace
git tag -a v0.0.4 -m "v0.0.4"
git show --no-patch --oneline v0.0.4

Output Format

Provide:

  1. Updated files
  2. Validation results (fmt-check/test/check)
  3. Commit hash
  4. Tag name and tagged commit
  5. Push status (done or pending)

Guardrails

  • Never retag an existing version; bump instead.
  • Do not include unrelated refactors in the update-version commit.
  • If docs mention a fixed version string, keep it aligned with the new tag.
Install via CLI
npx skills add https://github.com/Jxck/sptth --skill update-version
Repository Details
star Stars 127
call_split Forks 8
navigation Branch main
article Path SKILL.md
More from Creator