Files
Claude-config/commands/bump-version.md
Matthieu ea27f27f7f chore : initial claude-config repo
- global CLAUDE.md (time tracking via MCP lesstime)
- workspace CLAUDE.md (dev_malio inventory)
- commands : ticket-writer, push-tickets-lesstime, full-project-review, bump-version
- MCP install guide (Code + Desktop) + .mcp.json.example
- scripts/install.sh + sync.sh
2026-05-13 17:03:07 +02:00

1.9 KiB

name, description, arguments
name description arguments
bump-version Bump the app version, commit, tag, and push
name description required
version Version number (e.g. 0.3.7). If omitted, auto-increments the patch version. false

Bump Version

Steps

  1. Fetch remote: Run git fetch origin to get latest state.

  2. Check if local is behind: If local branch is behind remote, rebase first (git rebase origin/{branch}). Stash unstaged changes if needed.

  3. Determine version: If $ARGUMENTS is provided, use it (strip leading v if present). Otherwise, read config/version.yaml, parse the current app.version, and increment the patch number (e.g. 0.3.60.3.7).

  4. Check remote tags: Run git ls-remote --tags origin and verify tag v{version} does NOT already exist. If it does, keep incrementing patch until a free version is found, or ERROR if a specific version was requested.

  5. Update version file: Edit config/version.yaml to set app.version: '{version}'.

  6. Stage version file: git add config/version.yaml — ALWAYS stage this file explicitly.

  7. Also stage any other pending changes: Check git status for other staged files. If there are unstaged changes to tracked files, ask the user if they should be included.

  8. Commit: Commit with message chore : bump version to v{version}.

  9. Tag: Create git tag v{version}.

  10. Push: Run git push origin {current_branch} --tags.

  11. Confirm: Display the new version, tag, and push result.

Critical Rules

  • The version in config/version.yaml MUST always match the git tag.
  • ALWAYS check remote tags BEFORE committing to avoid conflicts.
  • ALWAYS git add config/version.yaml explicitly — never assume it's staged.
  • ALWAYS fetch and sync with remote BEFORE starting.
  • Format: v{version} for tags (e.g. v0.3.7), without v in yaml (e.g. 0.3.7).