bump
Analyze changes since last release and bump crate versions
- License 许可
- MIT
- 所属仓库
- t4t5/caldir
- 最近更新
- 2026-11-12
- Stars
- ★ 88
- Forks
- 16
01 前言 Front Matter
- name
- bump
- description
- Analyze changes since last release and bump crate versions
- user_invocable
- true
02 资源文件 3
- 脚本examples/reward_functions_library.py11.3 KB
- 参考文档README.md3.4 KB
- 脚本templates/basic_grpo_training.py6.0 KB
03 SKILL.md 正文
/bump — Semver version bumping
Analyze git history since the last release and recommend semver bumps for each crate, then apply them.
Crates
There are 7 crates to consider:
| Crate | Cargo.toml path |
|---|---|
caldir-core |
caldir-core/Cargo.toml |
caldir-cli |
caldir-cli/Cargo.toml |
caldir-provider-google |
caldir-provider-google/Cargo.toml |
caldir-provider-icloud |
caldir-provider-icloud/Cargo.toml |
caldir-provider-caldav |
caldir-provider-caldav/Cargo.toml |
caldir-provider-outlook |
caldir-provider-outlook/Cargo.toml |
caldir-provider-webcal |
caldir-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
versionfield - Update
caldir-coredependency 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.
04 同仓库更多 Skills
caldir
Read, create, edit, and sync calendar events as plaintext .ics files using the caldir CLI. Use whenever the user wants to query, add, modify, or sync calendar events — e.g. "what's on my calendar this week", "add a meeting tomorrow at 3", "cancel my Friday standup", "sync my Google calendar". Requires the `caldir` CLI.
provider-rpc
Talk to a caldir provider binary directly via its JSON protocol to debug sync issues. Use when investigating "Provider error" messages, suspected wrong/missing event data from a provider, or when you need to see exactly what a provider returns before it goes through caldir-core. Triggers: "what does the provider return for X", "why is X showing up in status", "is this a parsing bug or a Google/iCloud/Outlook bug", investigating any provider-emitted error.