用途:自动化完整软件发布流程,包括版本递增、变更日志生成、Git 打标签和创建 GitHub Release,充当发布工程师角色,确保发布干净可追溯。
主要能力:按顺序执行 Validate、Version、Changelog、Release 四个阶段;根据 conventional commits 推断版本号(breaking 为 major,feat 为 minor,fix 等为 patch);支持首次发布(无历史标签时包含仓库起始以来全部提交);支持预发布版本。
使用方式:接受参数 --headless / -H 用于非交互执行,--version <semver> 显式指定版本,--branch <name> 限定允许发布的分支,--pre-release beta/rc/alpha 指定预发布。启动时从 {project-root}/.pawbytes/config/config.yaml 和 config.user.yaml 加载配置,缺失则用默认值(release_default_branch 默认 main,communication_language 默认 English)。
前置条件:必须在含至少一次提交的 Git 仓库中;需安装并认证 GitHub CLI(gh);工作区必须干净,有未提交更改则中止(headless 警告,交互模式提示)。
输出产物:更新后的版本文件(如 package.json、Cargo.toml)、CHANGELOG.md 条目、推送到 origin 的 Git 标签、草稿状态的 GitHub Release,以及发布报告({project-root}/.pawbytes/tools-output/releases/)。
脚本:./scripts/detect_version_files.py 查找并解析各项目类型的版本文件;./scripts/parse_commits.py 解析 conventional commits 用于变更日志分组,可用 --help 查看用法。
限制:资料未提供具体收费、价格、平台支持范围或效果保证;若任一阶段失败会停止并告知用户。