Agent Skills
返回列表
💻

GitHub发布

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 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/

本技能把发布动作拆成两段,先净化再发布,遇到阻断项立即停止,避免带着问题上线。

技能如何工作

阶段一:净化(有阻断项)

  1. 密钥扫描:运行 gitleaks detect --no-git --source=. --verbose,发现密钥立即停止。若密钥已进 git 历史,用 git log -S 定位再用 BFG Repo-Cleaner 清理
  2. 移除个人产物:删除或加入 .gitignore 的 SESSION.md、planning/、screenshots/、test-*.ts 等
  3. 校验发布件:确认根目录有 LICENSE(公开仓库用 MIT)、README 含 Install / Usage / License 章节、.gitignore 含 node_modules / .env / dist/ / .dev.vars
  4. 非阻断检查:执行 npm run build 和 npm audit --audit-level=high,发现问题提示但不阻断
  5. 净化提交:所有改动提交为 chore: prepare for release

阶段二:发布

  1. 确定版本:读取 package.json 的 version 或询问用户,标签以 v 前缀
  2. 检查标签:git tag -l "v{version}",已存在则询问覆盖或换版本
  3. 展示内容:列出自上一个标签以来的提交,让用户确认
  4. 创建并推送:创建带注释标签,先推分支再推标签
  5. 创建 Release:gh release create v{version} --title "Release v{version}" --notes "...",支持 --prerelease 和 --draft
  6. 汇报:输出 Release URL 和后续步骤(如 npm publish、公告)

适用边界

  • 只适用于发布到 GitHub 的项目;内部部署或其它平台不适用
  • 只做发布准备与执行,不替代 CI 流水线设计
  • 密钥清理只能处理仓库层面,若 secret 已泄露到第三方(如公开日志、issue 评论),需要额外按安全事件流程轮换凭证

使用场景

  • 准备把私有项目推到公开仓库,需要先扫描硬编码密钥并清理 git 历史中的 secret。
  • 开源前需要确认 LICENSE 文件、README 章节和 .gitignore 是否齐全合规。
  • 要发布 v1.2.0 正式版,需要打带注释的 tag、推送分支并创建 GitHub Release。
  • 团队想用预发布渠道收集反馈,需要把 Release 标记为 prerelease 并写清楚变更说明。

适合人员

  • 把内部工具转为开源项目的技术负责人,担心密钥和内部文档随发布泄露。
  • 独立开发者,准备第一次公开自己的开源作品,不熟悉 GitHub Release 的完整流程。
  • 维护多个版本发布节奏的后端工程师,需要统一规范地打标签和写发布说明。
  • 负责开源合规的维护者,需要在发布前检查许可证与依赖安全。