mcpField
V
vercel-deploy

vercel-deploy

github.com/vercel-labs云与 DevOps572 次安装39 周前更新
代码仓库

关于 vercel-deploy

vercel-deploy 是用于将项目打包并部署到 Vercel 的技能,会返回预览和认领链接。开发者可从目录或现有压缩包部署,且无需预先登录。

主要功能

  1. 01部署目录或 .tgz 文件
  2. 02排除 node_modules 和 .git
  3. 03从 package.json 检测框架
  4. 04处理单文件静态 HTML
  5. 05返回链接和 JSON 输出

适用场景

  1. 01为项目创建 Vercel 预览
  2. 02部署现有项目压缩包
  3. 03发布静态 HTML 页面

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vercel-labs/vercel-deploy-codex-skill --skill vercel-deploy

安装后在 Claude Code 中输入/vercel-deploy确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

openai.yaml
assets/
vercel.svg
scripts/
deploy.sh

详细介绍

Vercel 部署

立即将任何项目部署到 Vercel。无需身份验证。

工作原理

  1. 将项目打包为 .tar.gz(排除 node_modules 和 .git)
  2. 根据 package.json 自动检测框架
  3. 上传到部署服务
  4. 返回 预览 URL(已上线的网站)和 认领 URL(转移到你的 Vercel 账户)

用法

bash scripts/deploy.sh [path]

参数:

  • path - 要部署的目录或 .tgz 文件(默认为当前目录)

如果传入目录,脚本会在上传前创建 .tar.gz 文件。

示例:

# Deploy current directory
bash scripts/deploy.sh

# Deploy specific project
bash scripts/deploy.sh /path/to/project

# Deploy existing tarball
bash scripts/deploy.sh /path/to/project.tgz

打包规则

  • 排除 node_modules 和 .git
  • 如果没有 package.json,则将 framework 保留为 null
  • 对于只有一个 .html 文件的静态 HTML 项目,打包前将其重命名为 index.html

输出

Preparing deployment...
Creating deployment package...
Deploying...
✓ Deployment successful!

Preview URL: https://skill-deploy-abc123.vercel.app
Claim URL:   https://vercel.com/claim-deployment?code=...

脚本还会将 JSON 输出到 stdout,供程序使用。

{
  "previewUrl": "https://skill-deploy-abc123.vercel.app",
  "claimUrl": "https://vercel.com/claim-deployment?code=...",
  "deploymentId": "dpl_...",
  "projectId": "prj_..."
}

框架检测

脚本会根据 package.json 自动检测框架。支持的框架包括:

  • React:Next.js、Gatsby、Create React App、Remix、React Router
  • Vue:Nuxt、Vitepress、Vuepress、Gridsome
  • Svelte:SvelteKit、Svelte、Sapper
  • 其他前端框架:Astro、Solid Start、Angular、Ember、Preact、Docusaurus
  • 后端框架:Express、Hono、Fastify、NestJS、Elysia、h3、Nitro
  • 构建工具:Vite、Parcel
  • 以及更多:Blitz、Hydrogen、RedwoodJS、Storybook、Sanity 等

对于静态 HTML 项目(没有 package.json),framework 会设为 null。

静态 HTML 项目

对于没有 package.json 的项目:

  • 如果只有一个名称不是 index.html 的 .html 文件,系统会自动将其重命名
  • 这样可以确保页面通过根 URL(/)提供服务

向用户展示结果

始终显示两个 URL:

✓ Deployment successful!

Preview URL: https://skill-deploy-abc123.vercel.app
Claim URL:   https://vercel.com/claim-deployment?code=...

View your site at the Preview URL.
To transfer this deployment to your Vercel account, visit the Claim URL.

故障排除

网络出口错误

如果部署因网络限制而失败,请告知用户:

Deployment failed due to network restrictions. To fix this:

1. Allow outbound access to *.vercel.com
2. Try deploying again

评论

支持 Markdown