versioning-standards

Resolves and interprets SemVer, CalVer, PEP 440 across ecosystems for comparison and range evaluation.

4|Updated Jan 22, 2026
One-click install
npx skills add https://github.com/cc01cc/cmtx-project --skill versioning-standards
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: versioning-standards
Source: https://github.com/cc01cc/cmtx-project/tree/main/.kilo/skills-repo/develop/versioning-standards
Command: npx skills add https://github.com/cc01cc/cmtx-project --skill versioning-standards

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Consolidates and clarifies semantic versioning across ecosystems to prevent misinterpretation and incorrect upgrades.

Core Features & Use Cases

  • Supports SemVer, CalVer, and PEP 440 rule sets for parsing and comparison.
  • Provides guidance on dependency ranges (e.g., ^, ~, >=, <, ~=, ==) and mapping rules between ecosystems (SemVer to Maven, Debian, RPM, etc.).
  • Delivers a decision framework for breaking changes and bump strategies (major/minor/patch) with concrete examples.

Quick Start

Explain the applicable versioning rules for a given ecosystem and determine the correct bump type with examples.

Frequently Asked Questions about versioning-standards

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I compare semantic versions across different package ecosystems like Maven and RPM?▼

Semantic versioning comparison across ecosystems requires mapping rules that translate differing metadata and pre-release formats into a normalized structure. This enables accurate version evaluation and prevents incorrect upgrades when comparing Debian, RPM, or Maven packages.

What is the difference between SemVer, CalVer, and PEP 440 versioning schemes?▼

SemVer uses major.minor.patch numbers for API stability, CalVer uses calendar dates for release tracking, and PEP 440 handles Python-specific pre-release and epoch rules. Each scheme has distinct parsing and comparison logic for its ecosystem.

How do I interpret dependency range operators like ^, ~, and ~= in version specifications?▼

Dependency range operators like ^, ~, and ~= define acceptable version bounds. Caret allows updates that do not modify the left-most non-zero digit, tilde restricts patch-level updates, and ~= provides compatible release bounds based on specific ecosystem rules.

When do I need to bump the major, minor, or patch version for a breaking change?▼

You bump the major version for incompatible API changes, the minor version for backward-compatible new features, and the patch version for backward-compatible bug fixes. A decision framework evaluates the change impact to determine the correct bump type.

Does PEP 440 support epoch and post-release versioning for Python packages?▼

Yes, PEP 440 supports epoch numbering to override standard version ordering and post-release segments to indicate updates following a release. Explicit handling of these fields is required for accurate parsing and comparison within the Python ecosystem.

Why do version comparison results differ between Debian and SemVer rules?▼

Version comparison differs between Debian and SemVer because Debian uses a specific precedence rule for revision and epoch fields, while SemVer relies on strict major.minor.patch ordering. Cross-ecosystem mapping translates these distinct rules for accurate evaluation.