mcpField
P
paw-tools-release

paw-tools-release

github.com/pawbytes开发115138 次安装4 周前更新
代码仓库

关于 paw-tools-release

面向使用 Git 和 GitHub 的项目的发布自动化技能。它处理版本更新、变更日志生成、打标签和创建 GitHub 草稿发布,并支持交互与无交互模式。

主要功能

  1. 01选择版本升级幅度
  2. 02生成变更日志
  3. 03创建并推送 Git 标签
  4. 04创建 GitHub 草稿发布
  5. 05支持无交互执行
  6. 06输出发布报告

适用场景

  1. 01根据 Conventional Commits 准备发布
  2. 02无交互执行发布流程
  3. 03创建待审核的草稿发布

安装

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

$npx skills add https://github.com/pawbytes/skill-suites --skill paw-tools-release

安装后在 Claude Code 中输入/paw-tools-release确认已加载。

包含的文件

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

references/
01-validate.md
02-version.md
03-changelog.md
04-release.md
scripts/
detect_version_files.py
parse_commits.py
scripts/tests/
test_detect_version_files.py
test_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,并在无需用户交互的情况下完成发布。

前提条件

开始前,请确认:

  1. Git 仓库 — 必须位于至少包含一次提交的 Git 仓库中
  2. GitHub CLI — 必须已安装 gh,并完成身份验证,才能创建 GitHub 发布
  3. 干净的工作树 — 如果存在未提交的更改,则中止(无头模式下发出警告,交互模式下询问用户)

如果任何前提条件未满足,请说明所需条件,并提出协助解决。

工作流

依次加载并执行以下阶段:

  1. 验证 → ./references/01-validate.md
  2. 版本 → ./references/02-version.md
  3. 变更日志 → ./references/03-changelog.md
  4. 发布 → ./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