核心用法
wip-release 是一款面向 Node.js 生态的自动化发布工具,旨在通过单一命令完成完整的软件发布流程。其核心工作流包括:语义化版本号自动递增(patch/minor/major)、CHANGELOG 自动生成、SKILL.md 元数据版本同步、npm 注册表发布、GitHub Release 创建,以及可选的技能文档自动部署至网站。
CLI 典型调用模式:
wip-release patch --notes="fix X"— 执行完整发布管道wip-release minor --dry-run— 仅预览变更,不实际执行wip-release major --no-publish— 本地版本递增与标签创建,跳过远程发布
产品文档门禁(Product Docs Gate): 针对包含 ai/ 目录的仓库,工具会强制检查产品文档(dev-updates、roadmap、readme-first)是否在最近一次发布后更新。Patch 级别仅警告,Minor/Major 级别则阻塞发布,可通过 --skip-product-check 绕过。
SKILL.md 网站同步: 配置 .publish-skill.json 后,发布成功会自动将 SKILL.md 以纯文本形式复制到指定网站仓库,并触发部署脚本,实现技能文档的实时同步。
显著优点
1. 全链路自动化:将分散的版本管理、文档维护、多平台发布整合为原子化操作,显著降低人为疏漏风险。
2. 语义化版本智能处理:内置 SemVer 规范支持,自动解析并递增版本号。
3. 产品文档质量门禁:强制要求重大版本更新伴随文档同步,维护技术债务可控。
4. 灵活的运行模式:Dry-run 预览、No-publish 本地标签、可选门禁跳过,适应 CI/CD 与本地开发多场景。
5. 模块化与 MCP 支持:既可作为 Node.js 模块程序化调用,也提供 MCP Server 接口供 AI 代理集成。
潜在缺点与局限性
1. 生态锁定:深度依赖 Node.js/npm 生态,无 package.json 的仓库无法使用;不支持预发布版本(alpha/beta)的语义化管理。
2. 外部工具链依赖:要求预装 git、npm、gh(GitHub CLI)、op(1Password CLI),安装配置成本较高。
3. 机密管理集中化:强制使用 1Password 作为 npm token 的存储后端,对不使用该服务的团队构成准入障碍。
4. 分支保护冲突:若仓库启用强制 PR 流程,直接 push 可能失败,需确保在合并后于 main 分支执行。
5. 网站部署非阻塞:SKILL.md 同步失败不影响发布状态,可能导致文档与版本实际状态不一致。
适合人群
- 维护
@wipcomputer命名空间下多个包的开源开发者 - 追求"单命令发布"体验的小型至中型技术团队
- 已采用 1Password 作为机密管理基础设施的组织
- 需要 MCP 工具集成以支持 AI 辅助发布的开发工作流
常规风险
- 凭证泄露风险:
~/.openclaw/secrets/op-sa-token文件权限配置不当可能导致 1Password 服务账户令牌暴露。 - 权限过大:GitHub CLI
gh与 npm token 通常具备写权限,若运行环境被入侵,可导致恶意代码注入与供应链攻击。 - 门禁绕过:
--skip-product-check标志可能被滥用,导致重大版本发布缺乏配套文档更新,加剧技术知识债务。 - 状态不一致:网站部署阶段的非阻塞设计,可能导致公开文档与实际发布版本信息错位,引发用户混淆。