SuperAPI AI 工具集

release

部署与运维

查看项目

更新于 10-15 21:36

技能介绍

用途:在 zentao-cli 仓库根目录执行发布准备流程,并遵守 AGENTS.md;尊重用户指定的执行范围,不擅自丢弃改动、推送远端或发布 npm 包。

主要能力与用法:

  1. 检查发布前状态:运行 git rev-parse --show-toplevel 确认仓库根目录,git status --short --branch 记录分支与工作区;有未提交或未跟踪文件时列出并暂停,由用户决定是否纳入。读取 package.json 当前版本并核对对应 tag。
  2. 收集变更范围:用 git describe --tags --abbrev=0 获取最近 tag,无 tag 则以全部历史为范围;用 git log <最近-tag>..HEAD --oneline 或 git log --oneline 查看提交,并结合提交正文、git diff --stat、git diff --name-status 与源码差异判断影响,不只看提交标题。无实际变更则停止。读取 CHANGES.md 顶部沿用既有结构,收集 skills/ 下变更文件并归并到顶层技能目录;.agents/skills/ 不随包发布,不同步版本。
  3. 确认版本号:用户指定时校验为合法、递增且未使用的 SemVer;未指定时按实际影响推荐 major/minor/patch,展示“当前版本 → 推荐版本”及理由并等待确认。package.json 用裸版本号,tag 用 v<版本号>。
  4. 更新文件:仅精确修改 package.json 的 version,不改 bun.lock;对发布范围内实际变动的 skills/<技能名>/SKILL.md 精确更新 frontmatter 中 metadata.version,逐个编辑不批量替换;更新 CHANGES.md,将 ## Unreleased 改为 ## <版本号> 或插入新条目,按既有分类组织,技能更新单独列出。
  5. 验证:依次运行 bun run typecheck、bun test、bun run build、node bin/zentao.js -V、npm pack --dry-run --ignore-scripts,全部成功且 CLI 输出版本号;再运行 git diff --check 并检查状态与 diff,确认无意外文件。
  6. 提交与 tag:仅暂存确认过的文件,git diff --cached --check 后使用 git commit -m "* release v<版本号>",再 git tag v<版本号>;不自动推送,提示可执行 git push && git push --tags。
  7. 可选发布 npm:仅在用户明确要求后,运行 npm whoami 检查登录,未登录先 npm login,再运行 bun publish;失败时保留本地提交与 tag,不重复发布或改写历史。

适用场景:zentao-cli 的版本发布准备与可选 npm 发布。限制:需在仓库根目录操作,依赖 Bun 与 npm 环境;未提供具体版本号、发布历史或平台细节时以实际仓库状态为准。