/bump — Semver version bumping

SkillDev tools

Analyze changes since last release and bump crate versions

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /bump — Semver version bumping skill

What this skill tells your AI

The instructions your AI receives, as published by t4t5/caldir in .agents/skills/bump/SKILL.md and read by ahel’s review.

Analyze git history since the last release and recommend semver bumps for each crate, then apply them.

Crates

There are 7 crates to consider:

CrateCargo.toml path
caldir-corecaldir-core/Cargo.toml
caldir-clicaldir-cli/Cargo.toml
caldir-provider-googlecaldir-provider-google/Cargo.toml
caldir-provider-icloudcaldir-provider-icloud/Cargo.toml
caldir-provider-caldavcaldir-provider-caldav/Cargo.toml
caldir-provider-outlookcaldir-provider-outlook/Cargo.toml
caldir-provider-webcalcaldir-provider-webcal/Cargo.toml

caldir-cli and all caldir-provider-* crates depend on caldir-core — their caldir-core dependency version pin must always match core's version.

Steps

1. Find the last release anchor

Find the latest v* git tag:

git tag -l "v*" --sort=-v:refname | head -1

Show the user which anchor you're using and how many commits are since it. If no tag exists, or the tag looks stale/wrong, ask the user which commit to use as the anchor.

2. List commits since the anchor

git log <anchor>..HEAD --oneline

If there are no commits since the anchor, inform the user there's nothing to bump and stop.

3. Map changes to crates

For each commit, check which crate directories were modified:

git diff --name-only <anchor>..HEAD

Map changed files to crates by directory prefix (caldir-core/, caldir-cli/, caldir-provider-google/, caldir-provider-icloud/, caldir-provider-caldav/, caldir-provider-outlook/, caldir-provider-webcal/). Ignore changes outside these directories (root Cargo.toml, .agents/, etc.).

4. Classify changes and recommend bumps

All crates are pre-1.0, so use these conventions:

  • Breaking changes (public API changes, removed/renamed exports) → minor bump (0.x.0, reset patch to 0)
  • New features (new commands, new fields, new functionality) → minor bump (0.x.0, reset patch to 0)
  • Bug fixes / patches (fixes, refactors, docs, tests) → patch bump (0.0.x)

If a crate had no changes but caldir-core was bumped, it still needs its caldir-core dependency pin updated — but its own version only bumps (patch) if the core changes affect it. Use your judgment.

5. Present recommendations

Show a table like:

Crate                      Current → Proposed   Reason
caldir-core                0.3.0   → 0.4.0      New sync field added (minor)
caldir-cli                 0.3.0   → 0.4.0      New command + core bump (minor)
caldir-provider-google     0.2.1   → 0.2.2      Bug fix (patch)
caldir-provider-icloud     0.1.2   → (no change) Core dep pin updated only

Ask the user to confirm or adjust before applying.

6. Apply on confirmation

Edit all relevant Cargo.toml files:

  • Update each crate's version field
  • Update caldir-core dependency pins in cli/provider crates to match core's new version

Then run cargo check to validate and update Cargo.lock.

Do NOT create a git commit or git tag — a GitHub Action automatically creates the tag on push.

Signals

GitHub stars
68
Forks
10
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
bump-t4t5
Source
github.com/t4t5/caldir