Predictive Semantic Versioning
CCCP guarantees deterministic Semantic Versioning (SemVer 2.0.0) calculated directly from your commit signals, generating instant release predictions and tracking unreleased development progress.
1. The Two Version States
A. Clean Release SemVer
When the working tree commit exactly corresponds to an annotated Git release tag:
MAJOR.MINOR.PATCH
Example: 2.1.0
B. Predictive Development SemVer
When working on unreleased commits between tags, CCCP continuously projects the prospective release target and attaches build telemetry into the VERSION file:
<TARGET_SEMVER>-dev.<COMMITS_AHEAD>+<DATE>.<SHORT_HASH>
Example: 2.2.0-dev.14+20260921.233189a
2. Version Bump Rules & Directives
| Commit Signal | SemVer Impact | Meaning & Party Directive |
|---|---|---|
! breaking marker or BREAKING CHANGE: |
MAJOR (X.0.0) |
Revolutionary paradigm shift; breaking API contracts |
feat: or feat(scope): |
MINOR (x.Y.0) |
Industrial advancement; backwards-compatible features |
fix:, perf:, refactor:, chore: |
PATCH (x.y.Z) |
Routine maintenance; repairing defects in the machinery |
3. Tagging Releases (`cccp tag`)
When you are ready to conclude a milestone, promote your development branch into an official release:
# Promote to automatically calculated next version:
cccp tag
# Promote to explicit version:
cccp tag 2.3.0
# Provide custom title and annotation message:
cccp tag --title "The Vostok Release" -m "Automated compliance established"