version-management_skill

This skill helps you manage versions across technologies by using Git tags as truth and updating language-specific adapters.
  • Shell

1

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill hitoshura25/claude-devtools --skill version-management

  • SKILL.md9.4 KB

Overview

This skill provides a technology-agnostic version management system that treats Git tags as the source of truth and keeps a committed version file as a fast build cache. It includes a core shell script for semver parsing and bumping plus platform adapters (example: Gradle) to update project-specific version files. The design supports semantic versioning and is easy to integrate into local workflows and CI/CD pipelines.

How this skill works

A core Bash script reads Git tags, calculates the next semantic version (major.minor.patch), and can output or bump versions. Platform adapters consume the core output to update files like version.properties or package.json and to produce platform-specific artifacts such as Android versionCode. Release workflows create Git tags and commit the updated version files so builds can read versions quickly without running Git queries.

When to use it

  • You need a single source of truth for release versions across tools and CI
  • You want fast builds that avoid running Git during every build by reading a cached file
  • You need consistent semantic version bumps (patch/minor/major) driven by automation
  • You want to generate platform-specific metadata (e.g., Android versionCode) automatically
  • You are preparing release automation or GitHub Actions workflows that require a version output

Best practices

  • Keep Git tags as the canonical source of truth and ensure release workflows update tags and version files together
  • Commit the generated version file so CI and local builds can read versionName/versionCode without running Git
  • Make adapter scripts executable and place them under scripts/ to keep project layout consistent
  • Use the generate command in CI to produce the next version, then create a tag and commit the version file
  • Start with a BASE_VERSION to control initial version behavior and ensure predictable first releases

Example use cases

  • Local development: inspect current version or generate the next patch/minor/major
  • Gradle/Android: generate a semver, update version.properties, and compute versionCode for Play Store uploads
  • CI/CD: run generate in a GitHub Action and expose version/tag via GITHUB_OUTPUT for downstream steps
  • Migration: switch projects from ad-hoc version settings to a single cached version file read by build scripts
  • Tooling: add npm or python adapters to update package.json or __init__.py from the same core version logic

FAQ

The system falls back to BASE_VERSION (default 1.0) and produces an initial version like 1.0.0.

How do I make scripts executable?

Run chmod +x scripts/version-manager.sh scripts/gradle-version.sh (or use a glob for all scripts).

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational