用途:该技能用于项目的发布版本更新,统一修改项目版本、插件版本并补充变更日志(changelog)。适用场景是用户需要提升版本号并同步更新相关文件时。
用法:命令为 /release [version-type-or-number] [description],简写 /version 与之等价。版本类型支持 patch(如 0.2.12 → 0.2.13)、minor(如 0.2.12 → 0.3.0)、major(如 0.2.12 → 1.0.0),也可直接指定 X.Y.Z 形式的版本号。版本类型可省略,此时依据 Conventional Commits 自动判定:含 BREAKING CHANGE: 或主语中 ! 则为 major;否则存在 feat: 提交则为 minor;其余为 patch。自动判定先执行 git describe --tags --abbrev=0 获取最新标签,若无标签则回退为 git log HEAD --pretty=%H%x00%s%x00%b 并视全部提交为未发布;否则用 git log <tag>..HEAD --pretty=%H%x00%s%x00%b 分类提交。若范围为空则中止并提示 No commits since <tag>; nothing to release。显式参数优先,跳过自动判定;描述可选,未提供则分析近期提交生成日志。
流程概要:读取 pyproject.toml 当前版本并计算新版本(校验新版本应大于当前,除非强制);更新 pyproject.toml 版本;更新 plugins/synapse-a2a/.claude-plugin/plugin.json 的 "version" 使其与项目版本保持一致;同步 site-docs/getting-started/installation.md、site-docs/concepts/a2a-protocol.md 中的硬编码版本,如需在 site-docs/changelog.md 顶部加入新版本条目,以及 mkdocs.yml 中的 repo_name 版本;使用 git-cliff 生成日志,示例命令:python scripts/generate_changelog.py --unreleased --tag vNEW_VERSION --dry-run(预览)与 python scripts/generate_changelog.py --unreleased --tag vNEW_VERSION(写入 CHANGELOG.md);随后人工审阅调整,采用 Keep a Changelog 格式并确保日期为 ## [NEW_VERSION] - YYYY-MM-DD;最后报告旧版本→新版本、日志预览与修改文件。若无 git-cliff 可手动按 Keep a Changelog 格式写入。
文件位置:版本在 pyproject.toml;插件版本在 plugin.json;站点文档版本在 installation.md 与 a2a-protocol.md;站点头部版本在 mkdocs.yml 的 repo_name;变更日志在 CHANGELOG.md 与 site-docs/changelog.md。
限制:仅处理上述版本与日志相关文件,其他功能、收费或价格信息暂未提供。