use-vercel-deploy-in-monorepo
Installation
SKILL.md
Monorepo 与独立仓库的 Vercel 部署
适用范围与排除范围
用于 pnpm workspace 或独立仓库的 Nuxt、Nitro、Vite、UniApp H5 等部署。一个 Git 仓库可关联多个 Vercel Project,但每个 Project 都必须单独验收。
不处理 GitHub Actions、GitHub Workflow 或其他自建 CI 部署。未经用户授权,不提交、推送、修改真实云端配置、unlink 或删除团队资源。
不可跳过纪律
- 正式交付链是 Vercel Git Integration。 Git push 触发的目标 Project 部署才是正式验收;本地 CLI upload、MCP 触发和 Prebuilt 仅用于构建诊断、产物核验或已明确授权的应急辅助链。
- 本地 link 是单槽绑定。 每次切换目标 Project,或在任意目录执行交互式本地部署前,都先运行
vercel link --project <project-name> --yes,随后在同一执行目录读取.vercel/project.json,将projectId和orgId分别与目标 Project、目标团队的远端值精确比较。字段缺失或不一致立即停止;不能只按项目名或目录名判断。vercel link只绑定本地 CLI Project,绝不证明 Vercel Project 已连接 Git 仓库。 - 先决定 Node,后设计构建。 在编写 Build Command、Turbo 依赖和远端设置前,根据
engines.node、版本文件、包管理器、依赖兼容性、远端nodeVersion与当前官方支持范围,在 22.x 与 24.x 中做有证据的选择;两个均可用时沿用仓库基线,证据不足不升级。 - 所有远端写入均需读后校验。 Settings 固定 GET → 比较 → 最小 PATCH → GET → inspect;Shared Environment Variables 固定 GET → 精确识别 → 冲突检查 → 增量 PATCH → GET。权限、字段或回读失败时停止,不猜测成功。
- 不得泄露或替代团队资源。 不打印 token、secret value 或私有认证文件;普通项目变量不等于 Shared Environment Variable link。默认仅补齐明确声明的缺失链接,unlink 需明确授权,删除默认禁止。