T Release

Bump project version, create git tag, and push release commit to remote.

timzaak 4b9510e 1.6 KB Updated

File contents

版本发布

发布项目版本,更新版本文件,验证后创建 release commit 和 git tag,并推送到远程。

版本号使用语义化版本,如 0.2.01.0.0。版本文件写入纯版本号 X.Y.Z,最终 git tag 必须使用 vX.Y.Z 格式。用户输入 0.2.0v0.2.0 时,都按版本号 0.2.0 发布,并创建 tag v0.2.0

执行流程

使用发布脚本,不要手工拼接 release 命令。优先用项目自带的脚本,仓库没有才用插件的:

  1. 仓库根目录存在 scripts/release.py → 用项目脚本:
    python scripts/release.py [版本号]
    
  2. 没有项目脚本 → 用插件脚本:
    uv run ${CLAUDE_PLUGIN_ROOT}/scripts/release.py [版本号]
    

如果用户未提供版本号,先不带参数运行脚本获取推荐版本(在报错输出里),用户确认后再带版本号执行。

两个脚本接口一致,都负责:

  • 检查 main 分支、干净工作区、远程可访问、tag 不冲突。
  • 更新各自清单内的版本文件(项目脚本以仓库实际为准)。
  • 运行验证,创建 commit chore: bump version to <版本号>,创建并推送 tag v<版本号>

失败处理

  • 按脚本错误输出处理。
  • 验证失败时终止,不创建 commit/tag。
  • 推送失败时提示用户本地 commit/tag 状态和手动推送命令。

Forbidden

  • 绕过上述发布脚本手工执行发布。
  • 创建或推送不带 v 前缀的 release tag。
  • 使用 --force 推送。

timzaak/web-dev-skills/tree/main/skills/t-release commit 4b9510efef

Frequently asked questions

npx skillmds@latest add timzaak/t-release