Skip to content

CLI 命令总览

versions CLI 基于 cobra 构建,提供 44 个子命令,覆盖版本号的解析、比较、排序、分组、过滤、约束、范围查询、不可变变更、文件 IO 与可视化

📦 安装

前置条件

需要 Go ≥ 1.21。

bash
# 从源码构建
go install github.com/scagogogo/versions-skills/cmd/versions@latest

# 或在仓库内
go build -o versions ./cmd/versions

🗂 命令分组

🔍 解析与信息

命令说明
parse解析版本字符串,显示各组成部分
info显示版本号的完整信息
validate验证版本字符串是否有效
segments获取数字段列表
sub-version获取后缀中的子版本号
suffix-weight获取后缀语义权重
pure-prefix获取纯净前缀
group-id获取分组 ID
core获取核心版本号(去后缀)
clone克隆版本号

⚖️ 比较与检查

命令说明
compare比较两个版本号
check检查版本号属性(布尔,exit code 0=真/1=假)

📊 排序与极值

命令说明
sort对版本号排序
sort-strings对原始字符串排序
min查找最小版本
max查找最大版本
latest-stable最新稳定版本
latest-prerelease最新预发布版本

🗃 分组与过滤

命令说明
group按数字部分分组
group-ids列出分组 ID
group-latest分组最新版本
group-oldest分组最旧版本
group-stable分组稳定版本
group-prerelease分组预发布版本
group-latest-stable分组最新稳定版本
group-latest-prerelease分组最新预发布版本
group-contains检查分组是否包含某版本
filter按条件过滤
partition分为两组
count统计满足条件的数量

🎯 约束与范围

命令说明
constraint检查是否满足约束表达式
satisfies以版本为中心检查约束
range查询范围内的版本

🛠 变更与构造

命令说明
build构建版本号字符串
bump递增版本号
set-prefix修改前缀
set-suffix修改后缀
set-major修改 Major
set-minor修改 Minor
set-patch修改 Patch
set-numbers修改数字部分

📁 文件与可视化

命令说明
read从文件读取版本号
write写入版本号到文件(自动排序)
read-strings读取原始字符串(不解析)
visualize可视化层级树

🧰 通用 flag

多数接受 [version-strings...] 的命令支持:

Flag说明
--from-file <path>从文件读取版本号列表(每行一个)
--help / -h查看命令帮助

📚 延伸

基于 MIT 协议发布