| name | version-bump |
| description | Bump version in Cargo.toml using cargo-version-info bump command |
Version Bump Skill
Use this skill when bumping the version.
Important: Use cargo version-info bump
Always use cargo version-info bump for version management.
Never use cog bump - it creates local tags which conflict with
the CI workflow that creates tags after tests pass.
Bump Commands
cargo version-info bump --patch
cargo version-info bump --minor
cargo version-info bump --major
What the Bump Command Does
- Runs
pre_bump_hooks defined in Cargo.toml:
- Executes
./scripts/sync-npm-version.sh {{version}}
- Updates
[workspace.package] version in Cargo.toml
- Updates
npm/package.json version
- Updates
npm/dotenvage-napi/Cargo.toml dependency version
- Updates
package.json version
- Bumps the version in the main
[package] section
- Updates
Cargo.lock
- Commits all changed files listed in
additional_files
- Creates a git commit with message:
chore(version): bump X.Y.Z -> A.B.C
The bump command uses hunk-level selective staging, so it only commits
version-related changes. Any other uncommitted work remains unstaged.
Files Updated
Cargo.toml - workspace and package versions
Cargo.lock - lockfile
npm/package.json - npm package version
npm/dotenvage-napi/Cargo.toml - NAPI binding dependency
package.json - root workspace version
What the Bump Command Does NOT Do
- Does NOT create git tags (CI creates tags after merge)
- Does NOT push to remote (you must push manually)
Workflow
- Run
cargo version-info bump --patch (or --minor/--major)
- Push the branch or create a PR
- Merge to main
- CI detects version change, creates tag, publishes release
Checking Current Version
cargo version-info current
cargo version-info build-version
cargo version-info changed
Dry Run
To see what would change without making changes:
cargo version-info current
cargo version-info next
After Bumping
After running bump, verify the commit includes all version-related files:
git log -1 --oneline
git diff HEAD~1 --stat
git status
Important: Check that all files modified by pre-bump hooks are
included in the commit. If git status shows uncommitted version
changes (from hooks), amend the commit:
git add <missing-files>
git commit --amend --no-edit
Then add those files to additional_files in Cargo.toml to prevent
this in future bumps.
Then push when ready:
git push origin <branch>
Configuration
The version bump is configured in Cargo.toml:
[package.metadata.version-info]
pre_bump_hooks = [
"./scripts/sync-npm-version.sh {{version}}"
]
additional_files = [
"npm/package.json",
"npm/dotenvage-napi/Cargo.toml",
"package.json"
]
Troubleshooting
If the version bump fails or files are missing from the commit:
- Check that
additional_files in Cargo.toml includes all npm
files
- Verify pre_bump_hooks ran successfully (look for the sync
messages)
- If needed, manually stage files and amend the commit