vercel-cli

Deploy and manage Vercel projects via CLI. Org: skillrecordings .

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "vercel-cli" with this command: npx skills add skillrecordings/support/skillrecordings-support-vercel-cli

Vercel CLI Skill

Deploy and manage Vercel projects via CLI. Org: skillrecordings .

⚠️ CRITICAL: Environment Variable Newlines

NEVER use heredocs (<<< ) or plain echo to pipe values to vercel env add .

These add trailing newlines that WILL break secrets silently:

❌ BAD - adds newline

echo "secret" | vercel env add MY_VAR production vercel env add MY_VAR production <<< "secret"

✅ GOOD - no newline

echo -n 'secret' | vercel env add MY_VAR production

Always use echo -n (no newline flag) when piping values.

Prerequisites

bun add -g vercel vercel login

Project Setup (Monorepo)

This is a Turborepo. Each app deploys as a separate Vercel project.

Link all projects at once (preferred)

vercel link --repo

This links all apps to their Vercel projects using Git integration.

Link individual app

cd apps/web vercel link --project support-web

First-time project creation

cd apps/web vercel --yes

Creates project, prompts for settings

Deployments

Preview deployment (PR/branch)

vercel

or from root:

vercel --cwd apps/web

Production deployment

vercel --prod

or from root:

vercel --cwd apps/web --prod

Deploy without waiting

vercel --no-wait

Force rebuild (skip cache)

vercel --force

Deploy with build logs

vercel --logs

Environment Variables

List env vars

vercel env ls vercel env ls production vercel env ls preview feature-branch

Add env var

Interactive (prompts for value)

vercel env add MY_VAR

With value piped (MUST use echo -n to avoid newline!)

echo -n 'secret-value' | vercel env add MY_VAR production

Sensitive (hidden in dashboard)

vercel env add API_KEY --sensitive

Push from local .env to Vercel

To push all vars from a local .env file:

Parse .env and push each var (excludes comments and empty lines)

while IFS='=' read -r key value; do [[ -z "$key" || "$key" =~ ^# ]] && continue echo -n "$value" | vercel env add "$key" production done < .env.local

Or push specific vars:

Read from .env.local and push to production

source .env.local echo -n "$FRONT_API_TOKEN" | vercel env add FRONT_API_TOKEN production echo -n "$INNGEST_SIGNING_KEY" | vercel env add INNGEST_SIGNING_KEY production

Pull env vars to local file

vercel env pull .env.local vercel env pull --environment=preview .env.preview

Run command with env vars (no file)

vercel env run -- bun run dev vercel env run -e production -- bun run build

Remove env var

vercel env rm MY_VAR production

Update existing env var

Remove then add (no update command exists)

vercel env rm MY_VAR production -y echo -n 'new-value' | vercel env add MY_VAR production

Project Management

List projects

vercel project ls vercel project ls --json

Inspect project

vercel project inspect vercel project inspect support-web

Remove project

vercel project rm support-web

Domains

List domains

vercel domains ls

Webhook URLs (no wildcards)

Use the exact Vercel app domain for webhooks. Wildcards are not supported by most providers.

Find the exact production domain for the current project

vercel project inspect | rg -n "Domains|domain"

Or list deployments and pick the latest

vercel ls

Add domain

vercel domains add example.com

Alias deployment to domain

vercel alias <deployment-url> my-custom-domain.com

Logs

View deployment logs

vercel logs <deployment-url> vercel logs <deployment-url> --follow

CI/CD Usage

Use VERCEL_TOKEN env var or --token flag:

vercel --token $VERCEL_TOKEN --prod

Monorepo vercel.json

Each app should have its own vercel.json :

{ "$schema": "https://openapi.vercel.sh/vercel.json", "framework": "nextjs" }

Root vercel.json for shared settings (optional):

{ "$schema": "https://openapi.vercel.sh/vercel.json", "ignoreCommand": "npx turbo-ignore" }

Common Patterns

Deploy only if app changed (turbo-ignore)

bun add -D turbo-ignore

In app's vercel.json :

{ "ignoreCommand": "npx turbo-ignore" }

Capture deployment URL in CI

DEPLOY_URL=$(vercel --prod 2>&1) echo "Deployed to: $DEPLOY_URL"

Promote preview to production

vercel promote <deployment-url>

Scope

Always deploy to skillrecordings org:

vercel --scope skillrecordings

Or set globally:

vercel switch skillrecordings

Troubleshooting

Clear local Vercel cache

rm -rf .vercel vercel link

Check current link status

cat .vercel/project.json

Redeploy with fresh build

vercel --force --logs

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

certificate-request

No summary provided by upstream source.

Repository SourceNeeds Review
General

product-onboarding

No summary provided by upstream source.

Repository SourceNeeds Review
General

continuing-education-credits

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

Therapy Mode

Comprehensive AI-assisted therapeutic support framework with CBT, ACT, DBT, MI, session notes CLI, and crisis protocols.

Registry SourceRecently Updated
2.5K10Profile unavailable