원클릭으로
version-bump-tag
Expert guide for bumping versions, creating git tags, and managing releases for Tauri and Node.js projects.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Expert guide for bumping versions, creating git tags, and managing releases for Tauri and Node.js projects.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Expert guide for building AI-powered applications with the Glove framework. Use when working with glove-core, glove-react, glove-next, tools, display stack, model adapters, stores, or any Glove example project.
Expert guide for integrating Oasis update server with Tauri apps for auto-updates, crash reporting, and feedback collection.
Expert guide for integrating Oasis into Tauri applications. Use when working with oasis-sdk, auto-updates, crash reporting, user feedback, release workflows, or any Oasis-powered Tauri project.
Expert guide for setting up Tauri deployment pipelines with GitHub Actions, code signing, and Oasis update server integration.
| name | version-bump-tag |
| description | Expert guide for bumping versions, creating git tags, and managing releases for Tauri and Node.js projects. |
You are an expert on semantic versioning and release management. Use this knowledge when bumping versions, creating tags, or troubleshooting release pipelines.
A systematic approach to version management that keeps all project files in sync, creates proper git tags, and triggers CI/CD release pipelines.
This project's scripts:
./app/scripts/bump-version.sh — Version bumping./app/scripts/redeploy.sh — Re-trigger failed releases# Bump and release
./app/scripts/bump-version.sh patch # 0.1.0 → 0.1.1
./app/scripts/bump-version.sh minor # 0.1.0 → 0.2.0
./app/scripts/bump-version.sh major # 0.1.0 → 1.0.0
git push && git push --tags
# Other options
./app/scripts/bump-version.sh --set 2.0.0 # Explicit version
./app/scripts/bump-version.sh patch --dry-run # Preview changes
./app/scripts/bump-version.sh patch --no-git # Skip commit/tag
# Re-deploy failed release
./app/scripts/redeploy.sh # Current version
./app/scripts/redeploy.sh v0.1.5 # Specific version
MAJOR.MINOR.PATCH
│ │ └── Bug fixes (backward compatible)
│ └──────── New features (backward compatible)
└────────────── Breaking changes (incompatible API)
| Bump | When | Example |
|---|---|---|
patch | Bug fixes, minor tweaks | 1.0.0 → 1.0.1 |
minor | New features, no breaking changes | 1.0.0 → 1.1.0 |
major | Breaking changes, major rewrites | 1.0.0 → 2.0.0 |
1.0.0-alpha.1 # Early development
1.0.0-beta.1 # Feature complete, testing
1.0.0-rc.1 # Release candidate
| File | Format |
|---|---|
package.json | "version": "X.Y.Z" |
src-tauri/tauri.conf.json | "version": "X.Y.Z" |
src-tauri/Cargo.toml | version = "X.Y.Z" |
src-tauri/Cargo.lock | Auto-updated |
| UI status bar | Display string |
| File | Format |
|---|---|
package.json | "version": "X.Y.Z" |
package-lock.json | Auto-updated |
| File | Format |
|---|---|
Cargo.toml | version = "X.Y.Z" |
Cargo.lock | Auto-updated |
Always validate before releasing:
# Quick check
git status --porcelain | grep -q . && echo "UNCOMMITTED CHANGES" && exit 1
git fetch origin
git log @{u}..HEAD --oneline | grep -q . && echo "UNPUSHED COMMITS" && exit 1
echo "Ready to release"
validate_ready_to_release() {
# Check for uncommitted changes
if [[ -n "$(git status --porcelain)" ]]; then
echo "ERROR: Uncommitted changes"
git status --short
return 1
fi
# Check for unpushed commits
git fetch origin --quiet
local AHEAD=$(git log @{u}..HEAD --oneline 2>/dev/null | wc -l | tr -d ' ')
if [[ "$AHEAD" -gt 0 ]]; then
echo "ERROR: $AHEAD unpushed commit(s)"
return 1
fi
echo "Ready to release"
return 0
}
# Annotated tag (recommended)
git tag -a v1.0.0 -m "Release v1.0.0"
# With release notes
git tag -a v1.0.0 -m "Release v1.0.0
- Feature: Added user auth
- Fix: Memory leak resolved
- Chore: Updated deps"
git push origin v1.0.0 # Single tag
git push --tags # All tags
git push && git push --tags # Commits + tags
git tag -l # All tags
git tag -l "v1.*" # Pattern match
git show v1.0.0 # Tag details
git describe --tags --abbrev=0 # Latest tag
git tag -d v1.0.0 # Local
git push origin :refs/tags/v1.0.0 # Remote
git tag -d v1.0.0
git push origin :refs/tags/v1.0.0
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
When a release fails mid-build, use redeployment to re-trigger without version change.
VERSION="v0.1.5"
# Validate first
git status --porcelain | grep -q . && echo "Uncommitted changes!" && exit 1
# Delete and recreate
git tag -d "$VERSION" 2>/dev/null || true
git push origin ":refs/tags/$VERSION" 2>/dev/null || true
git tag -a "$VERSION" -m "Release $VERSION"
git push origin "refs/tags/$VERSION"
# 1. Ensure clean state
git status # No uncommitted changes
# 2. Get current version
CURRENT=$(jq -r '.version' package.json)
# 3. Calculate new version
IFS='.' read -r major minor patch <<< "$CURRENT"
NEW="${major}.${minor}.$((patch + 1))"
# 4. Update all version files
# (Use bump script or edit manually)
# 5. Commit
git add -A
git commit -m "chore: bump version to v${NEW}"
# 6. Tag
git tag -a "v${NEW}" -m "Release v${NEW}"
# 7. Push
git push && git push --tags
./app/scripts/bump-version.sh patch
git push && git push --tags
The script handles steps 2-6 automatically.
VERSION="1.2.3"
IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION"
# Patch bump
PATCH=$((PATCH + 1))
NEW="${MAJOR}.${MINOR}.${PATCH}" # 1.2.4
# Minor bump
MINOR=$((MINOR + 1)); PATCH=0
NEW="${MAJOR}.${MINOR}.${PATCH}" # 1.3.0
# Major bump
MAJOR=$((MAJOR + 1)); MINOR=0; PATCH=0
NEW="${MAJOR}.${MINOR}.${PATCH}" # 2.0.0
| Action | Command |
|---|---|
| Current version | jq -r '.version' app/package.json |
| Latest tag | git describe --tags --abbrev=0 |
| All tags | git tag -l |
| Remote tags | git ls-remote --tags origin |
| Tag exists? | git rev-parse v1.0.0 >/dev/null 2>&1 && echo "exists" |
| Commits since tag | git log v1.0.0..HEAD --oneline |
v*, use v0.1.0 not 0.1.0.cargo update -p <pkg>.git tag v1.0.0) lack metadata. Use -a.1.0.0-alpha.1 < 1.0.0-beta.1 < 1.0.0-rc.1 < 1.0.0chore: bump version to vX.Y.Z or release: vX.Y.Z.