Zero-config CLI tool that detects your project type and bumps the version in the right place.
vrs # show current version and detected ecosystem
vrs patch # 1.2.3 -> 1.2.4
vrs minor # 1.2.3 -> 1.3.0
vrs major # 1.2.3 -> 2.0.0
vrs 2.1.0 # set explicit version
vrs 2.1.0 --yes # skip all prompts (CI mode)
| Ecosystem | Manifest | Lock file handling | Version source |
|---|---|---|---|
| JS/TS | package.json |
npm/pnpm/yarn install | version field |
| PHP | composer.json |
composer update --lock |
version field |
| Rust | Cargo.toml |
cargo update |
[package].version |
| Go | go.mod |
N/A | Git tags |
Package manager is auto-detected (e.g., pnpm-lock.yaml present = pnpm).
- Zero config -- just run
vrsin any supported project directory - Safety warnings -- alerts on major version bumps, downgrades, and pre-release versions
- Lock file awareness -- offers to run the appropriate install command after bumping
- Git integration -- optional commit + tag (annotated or lightweight) after bumping; auto-detects existing tag prefix convention (
v1.2.3vs1.2.3) - Multi-ecosystem -- if multiple manifests are found, choose which to update or pick "All"
- CI-friendly --
--yesflag skips all prompts, bumps all detected ecosystems
go install github.com/likeajohny/versios@latestOr build from source:
git clone git@github.com:likeajohny/versios.git
cd versios
go build -o vrs .To include a version number in the binary:
go build -ldflags "-X github.com/likeajohny/versios/cmd.appVersion=0.1.0" -o vrs .$ vrs 2.0.0
Detected: nodejs project (pnpm)
Current version: 1.5.3
Target version: 2.0.0
This is a MAJOR version bump (1.x -> 2.x). Continue? Yes / No
Updated package.json
Lock file may be out of sync. How should we update it?
> Run `pnpm install` (recommended)
Skip
Running pnpm install... done
Create git commit and tag (v2.0.0)? Yes / No
Tag type?
> Annotated (recommended)
Lightweight
Tag message? v2.0.0
Created commit: "bump version to 2.0.0"
Created annotated tag: v2.0.0
Done! Version bumped from 1.5.3 -> 2.0.0
MIT