SuperAPI AI 工具集

github-release

部署与运维

查看项目

更新于 10-15 23:31

技能介绍

用途:把项目安全地发布到 GitHub,采用两阶段流程——先做安全检查,再打标签并发布。

前置条件:已安装并认证 gh CLI(gh auth status);已安装 gitleaks 用于密钥扫描(brew install gitleaks 或从 GitHub 下载);Git 仓库已配置远程。

第一阶段:清理。1) 扫描密钥(阻断项):gitleaks detect --no-git --source=. --verbose;若发现密钥须停止,移除并改用环境变量,并用 git log -S "secret_value" 检查历史,若历史中存在则用 BFG Repo-Cleaner。未安装 gitleaks 时可手动检查 .env 文件及 wrangler.toml、wrangler.jsonc、.dev.vars 中的硬编码密钥。2) 移除个人产物:SESSION.md、planning/、screenshots/、test-.ts、test-.js,删除或加入 .gitignore。3) 校验 LICENSE:检查 LICENSE/LICENSE.md/LICENSE.txt,缺失则创建;用 gh repo view --json visibility -q '.visibility' 查看可见性,公开仓库用 MIT,私有仓库可考虑专有许可。4) 校验 README:确认存在且含 Install、Usage、License 等基本章节。5) 检查 .gitignore 是否含 node_modules、.env、dist/、.dev.vars 等模式。6) 构建测试(非阻断):npm run build。7) 依赖审计(非阻断):npm audit --audit-level=high。8) 若清理中有改动,提交:git add -A 与 git commit -m "chore: prepare for release"。

第二阶段:发布。1) 确定版本号(查看 package.json 或询问用户),确保以 v 前缀开头。2) 检查标签是否已存在:git tag -l "v[version]",若存在则询问删除重建或换版本。3) 展示将发布的内容:用 git describe --tags --abbrev=0 取上一标签,无标签则 git log --oneline --no-merges HEAD | head -20,否则 git log --oneline --no-merges ${LAST_TAG}..HEAD。4) 创建并推送标签:git tag -a v[version] -m "Release v[version]"、git push origin $(git branch --show-current)、git push origin --tags。5) 创建 Release:gh release create v[version] --title "Release v[version]" --notes "[auto-generated from commits]",预发布加 --prerelease,草稿加 --draft。6) 报告:展示 Release URL 与后续步骤(如适用则 npm publish、公告)。

参考文件:详细安全检查见 references/safety-checklist.md,发布机制见 references/release-workflow.md。

限制:依赖 gh CLI 与 gitleaks;密钥扫描与 LICENSE 缺失为阻断项,构建与依赖审计为非阻断;具体版本号、发布说明内容需用户确认,资料未提供自动生成说明的细节。