Vercel CLI — SKILL.md

Raw skill file that agents receive when using this skill

Download
---
name: "Vercel CLI"
description: "Skill for Vercel CLI — auto-generated from documentation"
version: "1.0.0"
author: "skynet"
category: "infrastructure"
agents: ["claude-code", "codex", "gemini"]
tags: ["vercel-cli", "infrastructure", "auto-generated"]
---

# Vercel CLI

---
name: vercel-cli
description: Use this skill when deploying applications to Vercel, managing projects, domains, and serverless functions through the command line interface
metadata:
  author: skynet
  version: 1.0.0
  category: infrastructure
---

# Vercel CLI

## Installation & Authentication

```bash
# Install globally
npm i -g vercel

# Login to your account
vercel login

# Check current user
vercel whoami
```

## Project Deployment

### Basic Deployment
```bash
# Deploy current directory
vercel

# Deploy with production domain
vercel --prod

# Deploy specific directory
vercel ./dist

# Deploy with custom name
vercel --name my-project

# Skip build step (deploy pre-built files)
vercel --prebuilt
```

### Deployment with Environment Variables
```bash
# Deploy with environment variables
vercel --env NODE_ENV=production

# Deploy using specific env file
vercel --env-file .env.production
```

## Project Management

### Project Operations
```bash
# List all projects
vercel list

# Remove a project
vercel remove my-project

# Link local directory to existing project
vercel link

# Unlink current directory
vercel link --confirm
```

### Environment Variables
```bash
# Add environment variable
vercel env add

# List environment variables
vercel env ls

# Remove environment variable
vercel env rm VARIABLE_NAME

# Pull environment variables to local .env file
vercel env pull
```

## Domain Management

```bash
# List domains
vercel domains ls

# Add domain to project
vercel domains add example.com

# Remove domain
vercel domains rm example.com

# Inspect domain configuration
vercel domains inspect example.com
```

## Serverless Functions

### Function Development
```bash
# Run development server with functions
vercel dev

# Run on specific port
vercel dev --listen 8080

# Debug functions
vercel dev --debug
```

### Function Logs
```bash
# View function logs
vercel logs

# Follow logs in real-time
vercel logs --follow

# Filter logs by function
vercel logs --since 1h
```

## Aliases & URLs

```bash
# Create alias
vercel alias https://my-app-hash.vercel.app my-app.com

# List aliases
vercel alias ls

# Remove alias
vercel alias rm my-app.com

# Get deployment URL
vercel inspect
```

## Teams & Collaboration

```bash
# List teams
vercel teams ls

# Switch to team context
vercel teams switch team-name

# Add team member
vercel teams invite user@example.com

# List team members
vercel teams ls team-name
```

## Configuration

### vercel.json Configuration
```json
{
  "version": 2,
  "builds": [
    {
      "src": "package.json",
      "use": "@vercel/node"
    }
  ],
  "routes": [
    {
      "src": "/api/(.*)",
      "dest": "/api/$1"
    }
  ],
  "env": {
    "NODE_ENV": "production"
  },
  "regions": ["iad1", "sfo1"]
}
```

### Project Settings
```bash
# Set project settings
vercel project add

# Update project settings
vercel project rm

# View project info
vercel inspect
```

## Decision Trees

### When to use different deployment commands:
```
Are you deploying to production?
├─ Yes → vercel --prod
└─ No → vercel

Do you have a build process?
├─ Yes → vercel (runs build automatically)
└─ No → vercel --prebuilt

Need custom domain immediately?
├─ Yes → vercel --prod then vercel alias
└─ No → vercel (use preview URL)
```

### Environment variable management:
```
Where are environment variables needed?
├─ All environments → vercel env add (select all)
├─ Production only → vercel env add (select production)
├─ Development only → vercel env add (select development)
└─ Local development → vercel env pull
```

## Troubleshooting

### Common Errors & Fixes

**Error: "No existing credentials found"**
```bash
# Solution: Login first
vercel login
```

**Error: "Build failed"**
```bash
# Check build logs
vercel inspect --logs

# Deploy with verbose output
vercel --debug

# Skip build if pre-built
vercel --prebuilt
```

**Error: "Function timeout"**
```bash
# Check function configuration in vercel.json
{
  "functions": {
    "pages/api/*.js": {
      "maxDuration": 30
    }
  }
}
```

**Error: "Domain verification failed"**
```bash
# Check domain configuration
vercel domains inspect example.com

# Re-verify domain
vercel domains verify example.com
```

**Error: "Environment variable not found"**
```bash
# List current environment variables
vercel env ls

# Add missing variable
vercel env add VARIABLE_NAME

# Pull latest environment variables
vercel env pull
```

### Performance Issues
```bash
# Check deployment size
vercel inspect --meta

# Optimize with regions
# Add to vercel.json:
{
  "regions": ["iad1", "sfo1", "lhr1"]
}

# Enable compression
{
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "Cache-Control",
          "value": "public, max-age=31536000, immutable"
        }
      ]
    }
  ]
}
```

### Debug Mode
```bash
# Enable debug output
vercel --debug

# Development with debug
vercel dev --debug

# Check specific deployment
vercel logs deployment-url --debug
```

curl -s https://skills.skynet.ceo/api/skills/vercel-cli/skill.md