用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/voidvec/fulla --skill release命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | release |
| description | 自动化 OAuth2 项目发布流程,包括版本号更新、标签创建和 changelog 生成 |
| disable-model-invocation | true |
自动化 OAuth2 项目的发布流程,确保版本号一致性、标签正确创建和变更日志生成。
当代码准备好发布时使用 /release。
版本号的唯一真相来源是 cmake/Version.cmake(FULLA_PROJECT_VERSION_MAJOR / _MINOR / _PATCH → FULLA_PROJECT_VERSION,当前 1.1.0)。apps/server/CMakeLists.txt 与 libs/drogon/CMakeLists.txt 均引用 ${FULLA_PROJECT_VERSION}(libs/drogon 在未传播时回退默认 1.0.0)。确认这些文件解析出的版本一致(语义化版本:MAJOR.MINOR.PATCH)。
更新所有相关文件中的版本号:
cmake/Version.cmake(唯一需要改的版本源)frontends/admin/package.json / frontends/user/package.json 的 version(如有前端变更)README.md、API 文档).version 文件(若存在)# 创建带注释的标签(本地)
git tag -a v[version] -m "Release version [version]"
⚠️ 项目策略:
git push被.claude/settings.json的 deny 规则禁止(需人工评审)。 因此不要自动推送标签或分支——创建本地标签后,交由人工 review 并推送, 或在获得用户明确授权后再执行git push origin v[version]。远程标签的删除同理。
项目使用 git-cliff(cliff.toml 已配置)生成 CHANGELOG.md。不要直接 git log > CHANGELOG.md——那会覆盖现有文件。
git cliff --output CHANGELOG.md # 重新生成完整 CHANGELOG
# 或仅追加本次发布区间:
git cliff --latest --output CHANGELOG.md
# 使用 GitHub CLI 创建 release
gh release create v[version] \
--title "OAuth2 Server v[version]" \
--notes "Release notes for version [version]" \
--target [commit-hash]
遵循语义化版本规范(Semantic Versioning):
示例:
1.0.0 → 1.1.0 (新增功能,向后兼容)1.1.0 → 2.0.0 (破坏性变更)1.1.0 → 1.1.1 (bug 修复)对于预发布版本,使用以下后缀:
1.0.0-alpha.1 (Alpha 版本)1.0.0-beta.1 (Beta 版本)1.0.0-rc.1 (Release Candidate)在发布前验证:
如果发布后发现问题:
# 删除远程标签(⚠️ 同样受 git push 禁止策略约束,需人工授权)
git push origin :refs/tags/v[version]
# 删除本地标签
git tag -d v[version]
# 创建 hotfix 分支
git checkout -b hotfix/[issue-description]
# 修复后发布新版本
发布后通知相关方:
需要更新版本号的文件:
apps/server/CMakeLists.txtlibs/drogon/CMakeLists.txtfrontends/admin/package.json(如果有前端变更)README.md(版本引用)CHANGELOG.md(变更日志)