Versioning
Workflow templates and the CLI are versioned together via the VERSION file at the repo root (semver). The version is embedded into the CLI at compile time.
Version strategy
Section titled “Version strategy”Each release creates an immutable semver tag (e.g. v1.2.3) that never moves.
Consuming repos pin reusable workflows to @main.
Releases
Section titled “Releases”To create a release:
- Edit
VERSION(e.g.,1.0.43→1.0.44or2.0.0) - Push to
main - The
release.ymlworkflow creates tags and a release with CLI binaries
CLI binaries
Section titled “CLI binaries”The release workflow cross-compiles for:
| Platform | Architecture | Binary name |
|---|---|---|
| macOS | ARM64 | bucky-aarch64-apple-darwin |
| macOS | x86_64 | bucky-x86_64-apple-darwin |
| Linux | ARM64 | bucky-aarch64-unknown-linux-gnu |
| Linux | x86_64 | bucky-x86_64-unknown-linux-gnu |
Binaries are uploaded as release assets.
Major version bumps
Section titled “Major version bumps”On a major version bump:
- Update
VERSIONto the new major version - Update docs and consumer references as needed
Plugin versioning
Section titled “Plugin versioning”Plugins with skills use the version field in .claude-plugin/plugin.json. Bump the patch version when modifying any file in a skill-based plugin. Do not bump for metadata-only changes to plugin.json itself.