用途:在真实用户到来前对仓库做一次上线前检查,适用于 Vercel + Supabase 技术栈、由 AI 工具(Lovable、Bolt、v0、Cursor、Claude Code 等)生成的应用,即将上线或交付客户时使用。它是建议而非强制门禁,是否发布由用户决定。
主要能力:读取本机项目文件(迁移、客户端代码、env 文件、Webhook 路由),列出上线缺口,并标注导致问题的文件与修复方式。检查项包括:迁移中未启用 RLS 的 Supabase 表、允许所有人读写的策略、Data API 授权问题、持有 anon key 即可调用的 security definer 函数、客户端代码或 NEXT_PUBLIC_ / VITE_ 下暴露的 service role 或密钥、本地/预览/生产不一致的环境变量、跳过签名校验的 Stripe Webhook 路由。
使用方式:在项目根目录运行 npx -y viberaven@1.6.1 check;若已连接 VibeRaven MCP 服务器,则调用 viberaven_check_readiness。发现阻塞项时命令退出码为 1,这是结果而非崩溃。可从终端和 .viberaven/agent-tasklist.md 读取结果。修复时一次处理一个缺口,优先采用打印出的修复,或用 npx -y viberaven@1.6.1 fix --gap <id> --dry-run 预览安全配方后再应用,并向用户展示 diff。每批修复后重新检查一次,而非每次编辑后都查。需要 Vercel 与 Supabase 证据时运行 npx -y viberaven@1.6.1 audit --vercel-supabase;CI 中可用 --strict 将结论转为退出码。
与线上项目对比:仅在用户已自行连接官方 Supabase MCP 服务器时进行,不要索取凭据或代为配置,使用只读工具并优先 read_only=true 连接。可用 get_advisors(type security)查看 Supabase 自身标记的问题,list_tables 查看线上表是否启用 RLS,以及仅执行以下查询列出对所有人放行的策略:select tablename, policyname, cmd, qual, with_check from pg_policies where schemaname = 'public' and (qual = 'true' or with_check = 'true'); 然后指出仓库与线上不一致之处。应读取 qual 而非策略名称。
限制:仅适用于 Vercel + Supabase 技术栈,不用于单个本地构建错误。仅在 Supabase 或 Vercel 控制台修改的策略或设置对仓库检查不可见。不要声称应用安全,检查通过只代表仓库检查未发现问题;不要运行破坏性 SQL、删除策略或关闭 RLS;不要粘贴、打印或上传密钥,只以变量名和文件指代;不要自行连接线上数据库或索取数据库凭据。更多信息见 https://viberaven.dev/guides 与 https://viberaven.dev/llms.txt。