mcpField
V
version-update

version-update

github.com/alpoxdev开发588 次安装今天更新
代码仓库

关于 version-update

version-update 是用于同步更新 Node、Rust 和 Python 项目语义版本的技能。它会查找包含版本号的文件、应用目标版本并检查差异;只有收到请求时才执行 Git 操作。

主要功能

  1. 01检测 Node、Rust 和 Python 技术栈
  2. 02查找版本文件及代码中的版本标记
  3. 03递增或设置语义版本
  4. 04同步更新已发现的版本文件
  5. 05通过脚本支持按请求提交和推送

适用场景

  1. 01跨支持的技术栈递增项目版本
  2. 02在多个清单中设置相同版本
  3. 03提交前检查版本变更
  4. 04在明确请求提交后推送

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alpoxdev/hypercore --skill version-update

安装后在 Claude Code 中输入/version-update确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

SKILL.ko.md
assets/evals/
version-update-cases.jsonl
scripts/
git-commit.sh
git-push.sh
stack-detect.sh
version-apply.sh
version-bump.sh
version-current.sh
version-find.sh

详细介绍

版本更新技能

面向 node、rust 和 python 的跨技术栈语义化版本更新,支持直接执行可选的 git 操作。

<output_language>

默认使用韩语撰写所有面向用户的交付内容、已保存的产物、报告、计划、生成的文档、摘要、协调说明、提交/消息草稿和验证说明,即使此规范技能文件是用英文编写的。

保留源代码标识符、CLI 命令、文件路径、架构键、JSON/YAML 字段名、API 名称、软件包名称、专有名词以及引用的源文摘录,并使用其规定语言或原始语言。

仅在用户明确要求、现有目标产物为保持一致性必须使用其他语言,或机器可读契约要求使用精确的英文词元时,才使用其他语言。如果存在本地化模板或参考资料(例如 *.ko.md 或 *.ko.json),则优先用于面向用户的产物。

</output_language>

  • 更新 node、rust 和 python 中承载版本号的文件,使其使用同一个语义化版本。
  • 确保发现的清单文件和内联版本标记保持同步。
  • 用户要求执行提交和推送操作时,使用此技能提供的直接 git 辅助脚本。

<instruction_contract>

字段契约
意图更新受支持项目文件中的同步语义化版本。
触发条件在用户要求提升/设置版本时激活,尤其是用户要求更新版本并可选提交时。
范围负责技术栈检测、版本文件发现、目标版本计算、版本应用、差异审查,以及用户要求的 git 操作。
权限用户和项目指令优先于此技能;发现的版本文件、语义化版本规则、脚本输出和差异均为依据。
依据使用 bash 辅助脚本、目标参数解析和 git diff,然后再执行 git 写入操作。
工具使用 bash scripts/*.sh 辅助脚本和本地文件编辑;仅在用户要求时使用此技能的直接 git 辅助脚本。
循环无。每个请求只执行一轮:检测技术栈、发现版本文件、读取当前版本、计算目标版本、应用更改、审查差异,然后停止。仅在用户要求再次更改版本时重新调用。
输出使用韩语报告当前版本、目标版本、已更改的文件、提交/推送状态和注意事项。
验证确认所有预期版本文件均已统一更改,审查差异,并且仅在用户要求时执行可选的 git 步骤。
停止条件版本文件更新并完成审查后停止;或在用户要求的 git 步骤完成或有依据表明受阻后停止。

</instruction_contract>

<trigger_conditions>

用户意图激活
“将此软件包升级到 1.4.0”是
“更新版本并提交”是
“提升此 crate 的修订版本号”是
“只创建一个 git 提交”否
“重写此发布操作手册”否

</trigger_conditions>

<supported_targets>

  • package.json
  • Cargo.toml
  • pyproject.toml
  • setup.py
  • python __version__ 声明
  • 内联 .version('x.y.z') 代码模式

</supported_targets>

## 可用脚本
脚本用途
bash scripts/stack-detect.sh检测技术栈(node、rust、python)
bash scripts/version-find.sh [--plain]查找包含版本号的文件
bash scripts/version-current.sh [file]提取当前 semver(`file
bash scripts/version-bump.sh <current> <type>计算下一个 semver
bash scripts/version-apply.sh <new> [files...]将版本号应用到查找到的/选定的文件
bash scripts/git-commit.sh "msg" [files]直接提交指定的版本更新文件
bash scripts/git-push.sh在用户明确请求后直接推送

<git_integration>

  • 如果用户只要求处理版本号,则在检查版本文件和审阅差异后停止。不要提交或推送。
  • 如果用户要求提交,则运行 bash scripts/git-commit.sh "chore: bump version to x.y.z" [files...],且只包含 version-update 更改的文件,除非用户要求使用其他提交消息。
  • 如果用户要求推送,则仅在提交成功且用户明确要求推送后运行 bash scripts/git-push.sh。
  • 按顺序执行 git 写入操作。

</git_integration>

<version_rules>

参数操作示例
+1 / +patch补丁版本 +10.1.13 -> 0.1.14
+minor次版本 +10.1.13 -> 0.2.0
+major主版本 +10.1.13 -> 1.0.0
x.y.z显式设置0.1.13 -> 2.0.0

</version_rules>

工作流

# 1) detect stack(s)
bash scripts/stack-detect.sh

# 2) find version-bearing files
bash scripts/version-find.sh

# 3) read current version
bash scripts/version-current.sh
# output: <file>|<version>

# 4) compute next version
bash scripts/version-bump.sh 1.2.3 +minor
# -> 1.3.0

# 5) apply to all discovered files (or selected files)
bash scripts/version-apply.sh 1.3.0

# 6) review the final diff and changed file list
git diff --stat
git diff

# 7) optional commit only when explicitly requested
bash scripts/git-commit.sh "chore: bump version to 1.3.0" package.json

# 8) optional push only when explicitly requested
bash scripts/git-push.sh

<stack_targets>

技术栈主要文件其他模式
Nodepackage.json代码中的 .version('x.y.z')
RustCargo.toml([package].version)代码中的 .version('x.y.z')
Pythonpyproject.toml、setup.py、.py 文件中的 __version__代码中的 .version('x.y.z')

</stack_targets>

类别要求
输入将 ARGUMENT 解析为版本升级规则或显式 semver
查找应用更新前运行 bash scripts/version-find.sh
当前状态计算目标版本前,使用 bash scripts/version-current.sh 读取当前版本
一致性确保所有查找到的版本文件保持同步
Git 范围仅提交版本更新文件集
安全除非用户另有要求,否则使用规范的提交消息(chore: bump version to x.y.z)
Git仅在用户要求进行 git 写入时使用 bash scripts/git-commit.sh 和 bash scripts/git-push.sh,并按顺序执行

<scope_boundaries>

  • version-update 负责版本查找、目标版本计算、文件更新、差异审阅以及用户要求的 git 操作。
  • 仅提交由 version-update 更改的文件。

</scope_boundaries>

正向触发示例

  • “将此仓库从 0.8.2 升级到 0.9.0 并提交”
  • “提高这个 Python 包的补丁版本”
  • “将 package.json 和 Cargo.toml 更新为 2.0.0”

负向触发示例

  • “为这些文档更改创建 git 提交”
  • “总结我们的发布流程”

边界触发示例

  • “只更新版本,不要提交”

触发条件检查:

  • 至少保留 3 个有效的正向触发示例
  • 至少有 2 个负向触发示例不在适用范围内
  • 至少有 1 个边界示例明确区分提交与不提交

执行清单:

  • 使用 bash scripts/version-current.sh 确认当前版本
  • 通过 bash scripts/version-bump.sh 计算目标版本(或验证显式指定的 semver)
  • 使用 bash scripts/version-apply.sh 更新所有目标文件
  • 检查 git diff
  • 按要求提交时,使用 bash scripts/git-commit.sh,且只提交版本更新文件
  • 仅在成功提交后,按要求使用 bash scripts/git-push.sh 推送

禁止事项:

  • 未读取当前版本就开始更新
  • 存在多个版本文件时只更新一个文件
  • 提交版本更新文件集以外的文件
  • 对受保护分支执行强制推送

评论

支持 Markdown