Skip to content

[Feature] dt semver — Semantic versioning tool #7

@yvng-jie

Description

@yvng-jie

Description

Add a new dt semver command for validating, comparing, and bumping semantic version strings (semver). Every developer works with version numbers — this makes it easy from the terminal.

Usage

dt semver "1.2.3"              # Validate & show info
dt semver "1.2.3" --bump major # → 2.0.0
dt semver "1.2.3" --bump minor # → 1.3.0
dt semver "1.2.3" --bump patch # → 1.2.4
dt semver "1.2.3" --bump premajor # → 2.0.0-0
dt semver "1.0.0-alpha" --bump prerelease # → 1.0.0-alpha.1
dt semver "2.0.0" "1.0.0"     # Compare (greater/less/equal)
dt semver "^1.2.3"             # Parse range
dt semver "1.2.3" --json       # → {"version":"1.2.3","major":1,"minor":2,"patch":3,"prerelease":null,"build":null}
echo "1.2.3" | dt semver       # Pipe support

Acceptance Criteria

  • Validate semver strings (strict semver spec)
  • CLI mode: dt semver <version>
  • --bump flag supporting: major, minor, patch, premajor, preminor, prepatch, prerelease
  • Compare two versions: dt semver <v1> <v2>
  • Help text: dt semver --help
  • JSON output: --json flag
  • Pipe support
  • Interactive mode handler
  • Unit tests
  • Error handling for invalid versions

Implementation Guide

See CONTRIBUTING.md for step-by-step instructions on adding a new command.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions