关于 paw-tools-release
面向使用 Git 和 GitHub 的项目的发布自动化技能。它处理版本更新、变更日志生成、打标签和创建 GitHub 草稿发布,并支持交互与无交互模式。
主要功能
- 01选择版本升级幅度
- 02生成变更日志
- 03创建并推送 Git 标签
- 04创建 GitHub 草稿发布
- 05支持无交互执行
- 06输出发布报告
适用场景
- 01根据 Conventional Commits 准备发布
- 02无交互执行发布流程
- 03创建待审核的草稿发布
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pawbytes/ skill-suites --skill paw-tools-release安装后在 Claude Code 中输入/paw-tools-release确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/01-validate.md02-version.md03-changelog.md04-release.mdscripts/detect_version_files.pyparse_commits.pyscripts/tests/test_detect_version_files.pytest_parse_commits.py详细介绍
发布自动化
概述
此技能可自动完成整个发布工作流:提升版本号、生成变更日志、创建 Git 标签和 GitHub 发布。请以发布工程师的身份行事,确保发布干净、可追溯,并附有清晰的变更日志。
参数: 支持 --headless / -H 以非交互方式执行,支持 --version <semver> 以明确指定版本,支持 --branch <name> 以设置允许发布的分支。
输出: 完整的发布,包括已更新的版本文件、追加的变更日志、Git 标签和草稿 GitHub 发布。
激活时
如果存在,请从 {project-root}/.pawbytes/config/config.yaml 和 {project-root}/.pawbytes/config/config.user.yaml 加载可用配置。如果缺少配置,则使用合理的默认值继续。
提取相关配置项:
release_default_branch(默认值:main)communication_language(默认值:English)
检测 --headless / -H 标志。如果存在,则将所有阶段的 {headless_mode} 设为 true,并在无需用户交互的情况下完成发布。
前提条件
开始前,请确认:
- Git 仓库 — 必须位于至少包含一次提交的 Git 仓库中
- GitHub CLI — 必须已安装
gh,并完成身份验证,才能创建 GitHub 发布 - 干净的工作树 — 如果存在未提交的更改,则中止(无头模式下发出警告,交互模式下询问用户)
如果任何前提条件未满足,请说明所需条件,并提出协助解决。
工作流
依次加载并执行以下阶段:
- 验证 →
./references/01-validate.md - 版本 →
./references/02-version.md - 变更日志 →
./references/03-changelog.md - 发布 →
./references/04-release.md
每个阶段都会指定其推进条件。如果某个阶段失败,则停止并告知用户。
关键决策
以下内容用于指导执行 Agent 做出判断:
- 版本提升逻辑 — 如果用户未指定版本,则根据规范提交推断:
breaking:→ 主版本,feat:→ 次版本,fix:/ 其他 → 修订版本。如有疑问,请询问用户(或在无头模式下采用修订版本)。 - 分支限制 — 如果已配置,则仅允许从该分支发布。交互模式下,允许用户覆盖此限制。
- 首次发布处理 — 如果没有此前的标签,则纳入从仓库创建以来的所有提交。
- 预发布版本 — 支持使用
--pre-release beta/rc/alpha标志指定预发布版本。
输出产物
| 产物 | 位置 |
|---|---|
| 已更新的版本文件 | 项目根目录(package.json、Cargo.toml 等) |
| 变更日志条目 | {project-root}/CHANGELOG.md |
| Git 标签 | 已推送到 origin |
| GitHub 发布 | 草稿,等待发布 |
| 发布报告 | {project-root}/.pawbytes/tools-output/releases/ |
脚本
./scripts/detect_version_files.py— 查找并解析各种项目类型中的版本文件./scripts/parse_commits.py— 解析规范提交,以便对变更日志分组
运行 <script> --help 查看用法详情。
评论
支持 Markdown