SuperAPI AI 工具集

swain-release

通用与其它

查看项目

更新于 10-15 20:29

技能介绍

用途:自动化一次发行流程,从 git 历史与项目结构中推断版本规范,生成人类可读的 changelog、更新版本号、打标签,并在存在 release 分支时把 trunk 压缩合并过去。

主要能力:读取 .agents/release.override.skill.md 覆盖文件(其冲突时优先);检查会话状态脚本 swain-session-check.sh;用 git tag --sort=-v:refname 与 git log 推断标签格式、版本方案与当前版本;扫描常见版本载体文件;按约定式提交前缀建议 bump 级别(feat→minor、fix 等→patch、BREAKING CHANGE→major);生成 changelog(features、in_progress、roadmap、research、supporting 分桶);执行安全扫描 security-scan.sh(有严重问题即停止,用户可选择继续);执行 README 门禁(先比对 README 声明与活动工件,再检查可测试声明是否有测试);提交并打注释标签;如存在 release 分支则压缩合并。

使用方式:先确保有活动会话,否则用 /swain-init 启动;无覆盖文件则仅靠上下文检测。全部变更前会先向用户展示发布计划并等待确认。步骤含 git add、git commit -m "release: ..."、git tag -a <tag> -m "Release <tag>" 等命令,推送到远端前会先 fetch 并整合上游。

限制:若仓库无任何标签,视为首次发布并询问所需格式;提交不符合约定式提交时需询问 bump 级别;版本文件中存在多个可疑版本字符串时须询问;README 门禁在无 README.md 时跳过;安全扫描器缺失时记录缺口后继续;用户可显式覆盖门禁并记录理由。