SemVer Sherpa
SemVer Sherpa - Part of the Flutter Sherpa Suite
SemVer Sherpa is a Dart CLI that manages SemVer versions for Flutter/Dart projects and keeps your CHANGELOG.md in a Keep a Changelog-compatible format.
Features
- bump versions (major/minor/patch) with build metadata
- set an explicit version
- generate or update an Unreleased changelog section from git history
- validate a clean git working tree before releases
Requirements
- Dart SDK 3.11+
- git
- a
pubspec.yamlwith aversion:field
Install
Install from pub.dev:
dart pub global activate semver_sherpa
The executable name is semver_sherpa:
semver_sherpa --help
Alternatively, run directly from the repo:
dart run bin/semver_sherpa.dart --help
For local development installs:
dart pub global activate --source path .
Usage
Bump a version
semver_sherpa bump patch
Options:
--dry-runsimulate without changing files--no-commitupdate files without committing--no-tagskip git tag creation--no-changelogskip changelog generation--pushpush commits and tags after a successful release
Set a version
semver_sherpa set 1.2.3+4
Options:
--dry-runsimulate without changing files--no-commitupdate files without committing--no-tagskip git tag creation--pushpush changes after setting a version
Generate changelog entries
semver_sherpa changelog
This command updates the ## [Unreleased] section using commits since the last
Git tag. Use --dry-run to print the section without writing.
Validate repository state
semver_sherpa validate
Fails if there are uncommitted changes.
Changelog format
Entries are grouped into the Keep a Changelog categories (Added, Fixed, Changed, Removed, Deprecated, Security). Commits are inferred by prefix:
feat:-> Addedfix:-> Fixeddocs:,refactor:,perf:,style:-> Changedremove:-> Removed
Flutter Sherpa Suite
SemVer Sherpa is part of the Flutter Sherpa Suite alongside
~/develop/arch_sherpa. Use arch_sherpa for architecture scaffolding
and semver_sherpa for disciplined release/version workflows.
Licensing
SemVer Sherpa is licensed under the MIT License. See LICENSE for details.
Support
- Buy Me a Coffee: https://buymeacoffee.com/carlosfdev
- Patreon: https://patreon.com/CarlosF_dev