上线闸门
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/ship-gate。
技能介绍
要解决的问题
当你在终端敲下 deploy,或者对同事说"上线吧"的时候,真正的风险往往不在那一行命令,而在代码库里埋藏已久的隐患:硬编码的密钥、缺少认证的路由、没有 HTTPS 的部署、可被注入的 SQL 查询。等到生产环境出问题再回溯,成本远超一次上线前的全面体检。
Ship Gate 解决的正是这个问题:它是一个预生产审计技能,在你真正部署之前,扫描整个代码库,按 8 个类别逐项检查,并给出清晰的判定——通过、失败、还是需要人工确认。
工作方式
当检测到部署意图(比如 "push to production"、"ship it"、"go live"),Ship Gate 不会直接放行,而是先确认:"你跑过 ship gate 了吗?"如果没跑过,它会立即启动完整审计;如果跑过,也会追问时间——超过 24 小时或代码有变动,就建议重新扫描。
审计分为四个步骤:
- 检测技术栈——先识别项目使用的技术栈,决定哪些检查项适用,哪些应跳过。
- 运行自动化检查——按固定顺序执行:
SEC(安全)、DB(数据库)、CODE(代码质量)、DEP(依赖)、AI(AI/LLM 安全)、DEPLOY(部署)、FE(前端质量)、OBS(可观测性)。安全和数据库排在最前,因为这两类的发现最致命。每个检查项的结果报告为PASS、FAIL(附文件路径和行号)或SKIP。 - 人工确认——对于无法自动验证的项目(比如备份恢复是否测试过、回滚方案是否就绪),它会生成一个清单让你逐项确认。
- 给出判定——所有发现按严重程度分为三档:
CRITICAL(必须修复才能上线)、HIGH(应当修复但可以带风险上线)、ADVISORY(建议改进但不阻塞)。如果没有遗留的 critical 项,判定就是CLEAR TO SHIP;如果只有 high 项,判定为SHIP WITH CAUTION。
适用边界
Ship Gate 只做审计,不做修复。它发现问题后,会报告文件位置和修复建议,但实际修复需要你或其他技能来完成。
它也不负责:
- 搭建 CI/CD 管道
- 配置基础设施
- 部署监控工具
- 部署后的运行审计(仅支持部署前检查)
这意味着它更适合作为上线流程中的一道闸门,而不是替代品。
使用场景
- 代码改完准备部署到生产环境前,需要跑一遍完整审计确认没有致命问题
- 团队习惯说"上线吧"就直接部署,需要一个机制在部署前拦截并强制检查
- 项目使用了 Supabase,需要检查数据库表是否配置了行级安全(RLS)
- 依赖库更新后准备发布,需要扫描安全漏洞和依赖风险再上线
适合人员
- 独立开发者:代码全在自己手里,上线前需要一个快速全面的自检清单,避免把密钥或未认证接口推到生产环境
- 中小团队后端工程师:负责服务上线,需要在部署前确认安全、数据库和依赖项没有遗漏
- DevOps 工程师:维护发布流程,需要在 CI 中接入部署前的自动化审计闸门
- 全栈工程师:同时管前后端,需要统一检查安全、前端质量和可观测性后再上线