Vercel Deploy
Deploy any project to the user's authenticated Vercel account. Handles the non-interactive CLI quirks automatically (scope resolution, project creation, project linking).
Prerequisites
vercelCLI installed (npm i -g vercel)- Authenticated (
vercel logindone previously)
Quick Deploy
Run the deploy script:
bash ~/.claude/skills/vercel-deploy/scripts/deploy.sh <source-dir> <project-name> [--preview]
source-dir: Directory containing the project (must haveindex.htmlorpackage.json)project-name: Vercel project name (lowercase, hyphens, e.g.my-cool-app)--preview: Optional flag to deploy as preview instead of production
The script automatically:
- Resolves the Vercel org ID from existing config
- Creates the project if it doesn't exist
- Writes
.vercel/project.jsonto bypass the non-interactive linking bug - Deploys to production (or preview)
Static Sites
For deploying a single HTML file or a folder with index.html:
- Prepare a directory with the files (copy if needed to a temp folder)
- Ensure there's an
index.htmlat the root - Run the deploy script
Example:
mkdir -p /tmp/my-deploy
cp path/to/page.html /tmp/my-deploy/index.html
bash ~/.claude/skills/vercel-deploy/scripts/deploy.sh /tmp/my-deploy my-project-name
Framework Projects (Next.js, Node, etc.)
For projects with package.json, deploy directly from the project directory:
bash ~/.claude/skills/vercel-deploy/scripts/deploy.sh ./my-nextjs-app my-project-name
Vercel auto-detects the framework and configures the build.
Naming
Project names must be lowercase with hyphens. Production URL: https://<project-name>.vercel.app.
Updating Existing Deployments
Re-run the same command with the same project name. The script detects the existing project and deploys over it.
Troubleshooting
If the script fails on org ID resolution, ensure at least one project exists in the Vercel account.
If no projects exist, create one manually first with vercel project add <name>.