- Home
- Skills
- Hitoshura25
- Claude Devtools
- Version Management
version-management_skill
- 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).