一键导入
release
Use when publishing a new version of bit-framework to npm. Handles version bump, build, git commit, npm publish, and git tag in sequence.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when publishing a new version of bit-framework to npm. Handles version bump, build, git commit, npm publish, and git tag in sequence.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | release |
| description | Use when publishing a new version of bit-framework to npm. Handles version bump, build, git commit, npm publish, and git tag in sequence. |
执行 bit-framework 完整发版流程:升级版本号 → 生成 CHANGELOG → 构建 → 提交 → 发布 npm → 打 tag。
/release [patch|minor|major]
patch(默认)— bug 修复,0.0.x → 0.0.x+1minor — 新功能,0.x.0 → 0.x+1.0major — 破坏性变更,x.0.0 → x+1.0.0收到 /release 命令后,按以下步骤执行:
如果用户没有指定类型,询问:
发版类型是 patch(bug修复)、minor(新功能)还是 major(破坏性变更)?
git status
git log --oneline -5
确认工作区干净(无未提交的修改)。如果有未提交内容,提示用户先提交。
读取根目录 package.json 的 version 字段,告知用户当前版本和即将升级到的版本,请求确认。
使用 pnpm workspace 命令升级所有子模块版本号:
pnpm version:{type}
例如 pnpm version:patch。该命令会升级所有子模块(排除 bit-creator)的版本号。
然后必须同步升级根 package.json 的版本号,使其与子模块版本一致。直接编辑根 package.json 中的 "version" 字段为新版本号。
调用 changelog 技能生成本次发版的 CHANGELOG 条目。
注意:changelog 技能会从 package.json 读取版本号,此时版本号已在第四步更新,所以 CHANGELOG 条目会使用新版本号。
pnpm build:all
如果构建失败,停止流程并报告错误。
版本号和 CHANGELOG 都已修改完成,现在统一提交:
git add .
git commit -m "chore: release v{NEW_VERSION}"
git push
{NEW_VERSION} 替换为实际的新版本号。
禁止使用
npm publish! 必须通过pnpm publish:xxx脚本发布。 原因:pnpm publish会自动将workspace:*替换为实际版本号,而npm publish会将workspace:*原样写入,导致安装方无法解析依赖。 任何情况下(包括需要传递 OTP 等参数时)都不得绕过 pnpm 直接调用 npm publish。
确认已登录 npm:
npm whoami
按依赖顺序发布:
pnpm publish:core
pnpm publish:event
pnpm publish:net
pnpm publish:ecs
pnpm publish:assets
pnpm publish:quadtree
pnpm publish:behaviortree
pnpm publish:ui
pnpm publish:condition
pnpm publish:ec
pnpm publish:minigame
pnpm publish:hotupdate
如果发布时遇到 OTP(2FA 验证码)错误:
~/.npmrc,彻底绕过 OTPpnpm publish:all,由 npm 交互式完成 OTP 验证--otp 参数而改用 npm publishgit tag v{NEW_VERSION}
git push --tags
{NEW_VERSION} 替换为实际的新版本号。
汇报发版结果:版本号、发布的模块列表、tag。