GitHub发布
将以下提示词粘贴到你的 AI 对话框中:
请根据官方安装指南 https://skillhub.cn/install/skillhub.md,将 @kunlungrowth/github-release 安装到 AI 助手中。
技能介绍
你要解决什么问题
把私有项目推到 GitHub 开源前,仓库里往往藏着三类雷:
- 硬编码密钥:
.env里的 token、wrangler.toml中的 API key,甚至 git 历史里已入库的 secret,一旦公开就是安全事故 - 个人产物泄露:
SESSION.md、planning/、screenshots/、test-*.ts这类不该见光的文件还在仓库里 - 发布件不完整:缺
LICENSE、README缺关键章节、.gitignore没忽略node_modules和dist/
本技能把发布动作拆成两段,先净化再发布,遇到阻断项立即停止,避免带着问题上线。
技能如何工作
阶段一:净化(有阻断项)
- 密钥扫描:运行
gitleaks detect --no-git --source=. --verbose,发现密钥立即停止。若密钥已进 git 历史,用git log -S定位再用 BFG Repo-Cleaner 清理 - 移除个人产物:删除或加入
.gitignore的SESSION.md、planning/、screenshots/、test-*.ts等 - 校验发布件:确认根目录有
LICENSE(公开仓库用 MIT)、README含Install/Usage/License章节、.gitignore含node_modules/.env/dist//.dev.vars - 非阻断检查:执行
npm run build和npm audit --audit-level=high,发现问题提示但不阻断 - 净化提交:所有改动提交为
chore: prepare for release
阶段二:发布
- 确定版本:读取
package.json的version或询问用户,标签以v前缀 - 检查标签:
git tag -l "v{version}",已存在则询问覆盖或换版本 - 展示内容:列出自上一个标签以来的提交,让用户确认
- 创建并推送:创建带注释标签,先推分支再推标签
- 创建 Release:
gh release create v{version} --title "Release v{version}" --notes "...",支持--prerelease和--draft - 汇报:输出 Release URL 和后续步骤(如
npm publish、公告)
适用边界
- 只适用于发布到 GitHub 的项目;内部部署或其它平台不适用
- 只做发布准备与执行,不替代 CI 流水线设计
- 密钥清理只能处理仓库层面,若 secret 已泄露到第三方(如公开日志、issue 评论),需要额外按安全事件流程轮换凭证
使用场景
- 准备把私有项目推到公开仓库,需要先扫描硬编码密钥并清理 git 历史中的 secret。
- 开源前需要确认 LICENSE 文件、README 章节和 .gitignore 是否齐全合规。
- 要发布 v1.2.0 正式版,需要打带注释的 tag、推送分支并创建 GitHub Release。
- 团队想用预发布渠道收集反馈,需要把 Release 标记为 prerelease 并写清楚变更说明。
适合人员
- 把内部工具转为开源项目的技术负责人,担心密钥和内部文档随发布泄露。
- 独立开发者,准备第一次公开自己的开源作品,不熟悉 GitHub Release 的完整流程。
- 维护多个版本发布节奏的后端工程师,需要统一规范地打标签和写发布说明。
- 负责开源合规的维护者,需要在发布前检查许可证与依赖安全。