Blog

#zerv

zervzerv

Rust CLI for dynamic versioning from git: every commit gets its version. semantic-release stays on main; zerv prereleases every other branch.

It exists because every build deserves a real version, computed once from git, and it unlocks trunk-based development where every branch is still e2e-testable. The versions it computes run the #bakefile pipelines end to end.

recent posts
Stupidly simple branching: trunk-based, but e2e-testable

zerv-flow, trunk-based with one gap filled: a PR borrows an environment with a label and a lock, so every branch is e2e-testable before merge.

Jun 2026
Version every build: semantic-release on main, zerv everywhere else

semantic-release versions main beautifully. Every other branch builds unversioned. zerv gives every commit a SemVer, PEP 440 included, without touching tags.

May 2026