[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-vercel-cli":3,"mdc--nbeeth-key":36,"related-repo-openai-vercel-cli":4343,"related-org-openai-vercel-cli":4465},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":31,"sourceUrl":34,"mdContent":35},"vercel-cli","manage Vercel projects via CLI","Vercel CLI expert guidance. Use when deploying, managing environment variables, linking projects, viewing logs, managing domains, or interacting with the Vercel platform from the command line.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"openai","OpenAI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fopenai.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Vercel","vercel","tag",{"name":17,"slug":18,"type":15},"CLI","cli",{"name":20,"slug":21,"type":15},"Deployment","deployment",{"name":23,"slug":24,"type":15},"Environment Variables","environment-variables",3992,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins","2026-04-06T18:40:43.099189",null,465,[],{"repoUrl":26,"stars":25,"forks":29,"topics":32,"description":33},[],"OpenAI Plugins","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-cli","---\nname: vercel-cli\ndescription: Vercel CLI expert guidance. Use when deploying, managing environment variables, linking projects, viewing logs, managing domains, or interacting with the Vercel platform from the command line.\nmetadata:\n  priority: 4\n  docs:\n    - \"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fcli\"\n  sitemap: \"https:\u002F\u002Fvercel.com\u002Fsitemap\u002Fdocs.xml\"\n  pathPatterns:\n    - 'vercel.json'\n    - 'vercel.ts'\n    - '.vercel\u002F**'\n    - '.vercelignore'\n    - 'now.json'\n  bashPatterns:\n    - '^\\s*vercel(?:\\s|$)'\n    - '^\\s*vc(?:\\s|$)'\n    - '\\bnpx\\s+vercel\\b'\n    - '\\bpnpm\\s+dlx\\s+vercel\\b'\n    - '\\bbunx\\s+vercel\\b'\n    - '\\byarn\\s+dlx\\s+vercel\\b'\n    - '\\bnpx\\s+@vercel\u002Fconfig\\b'\n  promptSignals:\n    phrases:\n      - \"check deployment\"\n      - \"check deploy\"\n      - \"deployment status\"\n      - \"deploy status\"\n      - \"vercel logs\"\n      - \"deployment logs\"\n      - \"deploy logs\"\n      - \"vercel inspect\"\n      - \"is it deployed\"\n      - \"deploy failing\"\n      - \"deploy failed\"\n      - \"deployment error\"\n      - \"check vercel\"\n      - \"vercel status\"\n    allOf:\n      - [check, deployment]\n      - [check, deploy]\n      - [vercel, status]\n      - [vercel, logs]\n      - [deploy, error]\n      - [deploy, failed]\n      - [deploy, stuck]\n    anyOf:\n      - \"deployment\"\n      - \"deploy\"\n      - \"vercel\"\n      - \"production\"\n    noneOf:\n      - \"terraform\"\n      - \"aws deploy\"\n      - \"heroku\"\n    minScore: 6\n---\n\n# Vercel CLI\n\nYou are an expert in the Vercel CLI v50.28.0 (`vercel` or `vc`). The CLI is the primary way to manage Vercel projects from the terminal.\n\n## Installation\n\n```bash\nnpm i -g vercel\n```\n\n## Login\n\nThe CLI uses an **OAuth 2.0 Device Flow** for authentication.\n\n```bash\nvercel login\n```\n\n> **Deprecation notice**: Email-based login (`vercel login your@email.com`) and the flags `--github`, `--gitlab`, `--bitbucket`, `--oob` were removed February 26, 2026. The `team` method (SAML-based login) remains supported until June 1, 2026, then will also be removed.\n\n## Core Commands\n\n### Deployment\n\n```bash\n# Preview deployment (from project root)\nvercel\n\n# Production deployment\nvercel --prod\n\n# Build locally, deploy build output only\nvercel build\nvercel deploy --prebuilt\n\n# Build for production (uses production env vars)\nvercel build --prod\nvercel deploy --prebuilt --prod\n\n# Force a new deployment (skip cache)\nvercel --force\n\n# Promote a preview deployment to production\nvercel promote \u003Cdeployment-url>\n\n# Rollback to previous production deployment\nvercel rollback\n```\n\n### Development\n\n```bash\n# Start local dev server with Vercel features\nvercel dev\n\n# Link current directory to a Vercel project\nvercel link\n\n# Deterministic non-interactive link (recommended for bootstrap\u002Fautomation)\nvercel link --yes --project \u003Cname-or-id> --scope \u003Cteam>\n\n# Pull environment variables and project settings\nvercel pull\n\n# Pull specific environment\nvercel pull --environment=production\n\n# Open linked project in the Vercel Dashboard\nvercel open\n```\n\n### Deterministic Project Linking (Recommended)\n\nPrefer explicit non-interactive linking for bootstrap and automation:\n\n```bash\nvercel link --yes --project \u003Cname-or-id> --scope \u003Cteam>\n```\n\nThis is more reliable than interactive prompt-driven linking, which can pick the wrong project or team in multi-account setups. If there is any ambiguity, run `vercel open` to confirm the dashboard project, then relink with explicit `--project` and `--scope`.\n\n### Environment Variables\n\n```bash\n# List all environment variables\nvercel env ls\n\n# Add an environment variable\nvercel env add MY_VAR\n\n# Add for specific environments\nvercel env add MY_VAR production\nvercel env add MY_VAR preview development\n\n# Add branch-scoped variable\nvercel env add MY_VAR preview --branch=feature-x\n\n# Add sensitive (write-only) variable\nvercel env add MY_SECRET --sensitive\n\n# Remove an environment variable\nvercel env rm MY_VAR\n\n# Pull all env vars to .env.local\nvercel env pull\nvercel env pull .env.production.local --environment=production\n```\n\n### Logs & Inspection\n\nThe `vercel logs` command (rebuilt February 2026) supports **historical log querying** and uses **git context by default** — it automatically scopes logs to your current repository when run from a project directory.\n\n```bash\n# View runtime\u002Ffunction logs (real-time)\nvercel logs \u003Cdeployment-url>\n\n# Follow logs in real-time (streaming mode)\nvercel logs \u003Cdeployment-url> --follow\n\n# Query historical logs (no longer limited to live-only)\nvercel logs --since 24h\nvercel logs --since 7d\n\n# Filter by time range\nvercel logs \u003Cdeployment-url> --since 1h\nvercel logs \u003Cdeployment-url> --since 30m\n\n# Filter by log level\nvercel logs \u003Cdeployment-url> --level error\nvercel logs \u003Cdeployment-url> --level warning\n\n# Filter by deployment ID, request ID, or arbitrary string\nvercel logs --deployment-id dpl_xxxxx\nvercel logs --request-id req_xxxxx\nvercel logs --query \"TypeError\"\n\n# Output as JSON (for piping to jq or other tools)\nvercel logs \u003Cdeployment-url> --json\n\n# Combine filters: stream errors from the last hour as JSON\nvercel logs \u003Cdeployment-url> --follow --since 1h --level error --json\n\n# Inspect a deployment (build details, metadata, function list)\nvercel inspect \u003Cdeployment-url>\n\n# List recent deployments\nvercel ls\n```\n\n> **Note:** `vercel logs` shows runtime request logs only. For build output, use\n> `vercel inspect \u003Cdeployment-url>` or view build logs at `https:\u002F\u002Fvercel.com\u002F{team}\u002F{project}\u002Fdeployments` → select deployment → **Build Logs**.\n>\n> **Drains and advanced observability:** Log drains, trace export, and analytics data forwarding are\n> configured via the Vercel Dashboard at `https:\u002F\u002Fvercel.com\u002Fdashboard\u002F{team}\u002F~\u002Fsettings\u002Flog-drains` or REST API (`\u002Fv1\u002Fdrains`), not the CLI. See `⤳ skill: observability`\n> for drain setup, payload schemas, and signature verification.\n\n### Domains\n\n```bash\n# List domains\nvercel domains ls\n\n# Add a domain to a project\nvercel domains add example.com\n\n# Remove a domain\nvercel domains rm example.com\n```\n\n### DNS\n\n```bash\n# List DNS records\nvercel dns ls example.com\n\n# Add a DNS record\nvercel dns add example.com @ A 1.2.3.4\n```\n\n### Teams\n\n```bash\n# List teams\nvercel teams ls\n\n# Switch to a team\nvercel teams switch my-team\n```\n\n### Cache Management\n\n```bash\n# Purge all cache (CDN + Data cache) for current project\nvercel cache purge\n\n# Purge only CDN cache\nvercel cache purge --type cdn\n\n# Purge only Data cache\nvercel cache purge --type data\n\n# Purge without confirmation prompt\nvercel cache purge --yes\n\n# Invalidate by tag (stale-while-revalidate)\nvercel cache invalidate --tag blog-posts\n\n# Invalidate multiple tags\nvercel cache invalidate --tag blog-posts,user-profiles,homepage\n\n# Hard delete by tag (blocks until revalidated — use with caution)\nvercel cache dangerously-delete --tag blog-posts\n\n# Hard delete with revalidation deadline (deletes only if not accessed within N seconds)\nvercel cache dangerously-delete --tag blog-posts --revalidation-deadline-seconds 3600\n\n# Invalidate cached image transformations by source path\nvercel cache invalidate --srcimg \u002Fapi\u002Favatar\u002F1\n\n# Hard delete cached image transformations\nvercel cache dangerously-delete --srcimg \u002Fapi\u002Favatar\u002F1\n```\n\n**Key distinction:** `invalidate` serves STALE and revalidates in the background. `dangerously-delete` serves MISS and blocks while revalidating. Prefer `invalidate` unless you need immediate freshness.\n\n**Note:** `--tag` and `--srcimg` cannot be used together.\n\n### MCP Server Integration\n\n```bash\n# Initialize global MCP client configuration for your Vercel account\nvercel mcp\n\n# Set up project-specific MCP access for the linked project\nvercel mcp --project\n```\n\nThe `vercel mcp` command links your local MCP client configuration to a Vercel Project. It generates connection details so AI agents and tools can call your MCP endpoints deployed on Vercel securely.\n\n### Programmatic Configuration (`@vercel\u002Fconfig`)\n\n```bash\n# Compile vercel.ts to JSON (stdout)\nnpx @vercel\u002Fconfig compile\n\n# Validate configuration and show summary\nnpx @vercel\u002Fconfig validate\n\n# Generate vercel.json locally for development\nnpx @vercel\u002Fconfig generate\n```\n\nUse `vercel.ts` (or `.js`, `.mjs`, `.cjs`, `.mts`) instead of `vercel.json` for type-safe, dynamic project configuration. Only one config file per project — `vercel.json` or `vercel.ts`, not both.\n\n> **Note:** Legacy `now.json` support will be removed on March 31, 2026. Rename to `vercel.json` (no content changes needed).\n\n### Marketplace Integrations\n\nAuto-provisioning is the default for `vercel integration add` — the CLI automatically creates resources and sets environment variables without extra prompts.\n\n```bash\n# List installed integrations\nvercel integration list\n\n# Add an integration (auto-provisions env vars by default)\nvercel integration add neon\n\n# Open an integration's dashboard\nvercel integration open neon\n\n# Remove an integration\nvercel integration remove neon\n```\n\n#### Agent-Optimized: `discover` and `guide`\n\nAI agents can autonomously discover, install, and retrieve setup instructions for Marketplace integrations (added March 2026):\n\n```bash\n# Search the integration catalog (returns JSON for automation)\nvercel integration discover --format=json\n\n# Search with a keyword filter\nvercel integration discover database --format=json\n\n# Get agent-friendly setup guide with code snippets\nvercel integration guide neon\n\n# Full workflow: discover → add → guide\nvercel integration discover storage --format=json\nvercel integration add neon\nvercel integration guide neon\n```\n\n- `discover` — Searches the Vercel Marketplace catalog. Use `--format=json` for non-interactive output suitable for scripting and agent pipelines.\n- `guide \u003Cname>` — Returns getting-started documentation in agent-friendly markdown: environment variables, SDK setup, and code snippets.\n- Human-in-the-loop safety: the CLI prompts for developer confirmation when accepting Terms of Service.\n\n> Full subcommands: `discover`, `guide`, `add`, `list` (alias `ls`), `balance`, `open`, `remove`.\n\n### Project-Level Routing (No Redeploy)\n\nCreate and update routing rules — headers, rewrites, redirects — without building a new deployment. Rules take effect instantly.\n\nAvailable via dashboard (CDN tab), API, CLI, and Vercel SDK. Project-level routes run after bulk redirects and before deployment config routes.\n\n### Feature Flags\n\n```bash\n# Create a feature flag\nvercel flags add redesigned-checkout --kind boolean --description \"New checkout flow\"\n\n# List SDK keys\nvercel flags sdk-keys ls\n\n# Enable\u002Fdisable, archive, and manage flags from CLI\nvercel flags --help\n```\n\nSee `⤳ skill: vercel-flags` for full flag configuration and adapter patterns.\n\n### Direct API Access\n\nThe `vercel api` command (added January 2026) gives direct access to the full Vercel REST API from the terminal. Designed for AI agents — call Vercel APIs with no additional configuration.\n\n```bash\n# Call any Vercel REST API endpoint\nvercel api GET \u002Fv9\u002Fprojects\nvercel api GET \u002Fv13\u002Fdeployments\nvercel api POST \u002Fv9\u002Fprojects\u002F:id\u002Fenv --body '{\"key\":\"MY_VAR\",\"value\":\"val\",\"target\":[\"production\"]}'\n\n# Pipe JSON output to jq\nvercel api GET \u002Fv9\u002Fprojects | jq '.[].name'\n```\n\n### Metrics\n\n```bash\n# Query project metrics (rich text output with sparklines)\nvercel metrics\n\n# Raw values for scripting\nvercel metrics --raw-values\n```\n\n## CI\u002FCD Integration\n\nRequired environment variables for CI:\n```bash\nVERCEL_TOKEN=\u003Cyour-token>\nVERCEL_ORG_ID=\u003Corg-id>\nVERCEL_PROJECT_ID=\u003Cproject-id>\n```\n\n### GitHub Actions Example\n\n```yaml\n- name: Deploy to Vercel\n  run: |\n    vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}\n    vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}\n    vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}\n```\n\n## Global Options\n\n| Flag | Purpose |\n|------|---------|\n| `--token` | Authentication token (for CI) |\n| `--cwd \u003Cdir>` | Working directory |\n| `--debug` \u002F `-d` | Verbose output |\n| `--yes` \u002F `-y` | Skip confirmation prompts |\n| `--scope \u003Cteam>` | Execute as a team |\n\n## Common Workflows\n\n### First-Time Setup\n```bash\nvercel link          # Connect to Vercel project\nvercel env pull      # Get environment variables\nvercel dev           # Start local dev\n```\n\n### Deploy from CI\n```bash\nvercel pull --yes --environment=production --token=$TOKEN\nvercel build --prod --token=$TOKEN\nvercel deploy --prebuilt --prod --token=$TOKEN\n```\n\n### Quick Preview\n```bash\nvercel               # Creates preview deployment, returns URL\n```\n\n## Official Documentation\n\n- [Vercel CLI](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fcli)\n- [Cache Management](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fcli\u002Fcache)\n- [MCP Integration](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fcli\u002Fmcp)\n- [Deployments](https:\u002F\u002Fvercel.com\u002Fdocs\u002Fdeployments)\n- [REST API](https:\u002F\u002Fvercel.com\u002Fdocs\u002Frest-api\u002Freference)\n- [GitHub: Vercel CLI](https:\u002F\u002Fgithub.com\u002Fvercel\u002Fvercel)\n",{"data":37,"body":95},{"name":4,"description":6,"metadata":38},{"priority":39,"docs":40,"sitemap":42,"pathPatterns":43,"bashPatterns":49,"promptSignals":57},4,[41],"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fcli","https:\u002F\u002Fvercel.com\u002Fsitemap\u002Fdocs.xml",[44,45,46,47,48],"vercel.json","vercel.ts",".vercel\u002F**",".vercelignore","now.json",[50,51,52,53,54,55,56],"^\\s*vercel(?:\\s|$)","^\\s*vc(?:\\s|$)","\\bnpx\\s+vercel\\b","\\bpnpm\\s+dlx\\s+vercel\\b","\\bbunx\\s+vercel\\b","\\byarn\\s+dlx\\s+vercel\\b","\\bnpx\\s+@vercel\u002Fconfig\\b",{"phrases":58,"allOf":73,"anyOf":88,"noneOf":90,"minScore":94},[59,60,61,62,63,64,65,66,67,68,69,70,71,72],"check deployment","check deploy","deployment status","deploy status","vercel logs","deployment logs","deploy logs","vercel inspect","is it deployed","deploy failing","deploy failed","deployment error","check vercel","vercel status",[74,76,78,80,82,84,86],[75,21],"check",[75,77],"deploy",[14,79],"status",[14,81],"logs",[77,83],"error",[77,85],"failed",[77,87],"stuck",[21,77,14,89],"production",[91,92,93],"terraform","aws deploy","heroku",6,{"type":96,"children":97},"root",[98,106,128,135,174,180,193,212,272,278,283,553,559,778,784,789,851,880,884,1193,1199,1225,1831,1907,1913,2013,2019,2106,2112,2179,2185,2578,2610,2633,2639,2698,2710,2724,2819,2880,2906,2912,2925,3062,3082,3087,3274,3313,3377,3383,3388,3393,3399,3529,3542,3548,3560,3716,3722,3781,3787,3792,3863,3869,3944,3950,4078,4084,4090,4150,4156,4244,4250,4269,4275,4337],{"type":99,"tag":100,"props":101,"children":102},"element","h1",{"id":4},[103],{"type":104,"value":105},"text","Vercel CLI",{"type":99,"tag":107,"props":108,"children":109},"p",{},[110,112,118,120,126],{"type":104,"value":111},"You are an expert in the Vercel CLI v50.28.0 (",{"type":99,"tag":113,"props":114,"children":116},"code",{"className":115},[],[117],{"type":104,"value":14},{"type":104,"value":119}," or ",{"type":99,"tag":113,"props":121,"children":123},{"className":122},[],[124],{"type":104,"value":125},"vc",{"type":104,"value":127},"). The CLI is the primary way to manage Vercel projects from the terminal.",{"type":99,"tag":129,"props":130,"children":132},"h2",{"id":131},"installation",[133],{"type":104,"value":134},"Installation",{"type":99,"tag":136,"props":137,"children":142},"pre",{"className":138,"code":139,"language":140,"meta":141,"style":141},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm i -g vercel\n","bash","",[143],{"type":99,"tag":113,"props":144,"children":145},{"__ignoreMap":141},[146],{"type":99,"tag":147,"props":148,"children":151},"span",{"class":149,"line":150},"line",1,[152,158,164,169],{"type":99,"tag":147,"props":153,"children":155},{"style":154},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[156],{"type":104,"value":157},"npm",{"type":99,"tag":147,"props":159,"children":161},{"style":160},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[162],{"type":104,"value":163}," i",{"type":99,"tag":147,"props":165,"children":166},{"style":160},[167],{"type":104,"value":168}," -g",{"type":99,"tag":147,"props":170,"children":171},{"style":160},[172],{"type":104,"value":173}," vercel\n",{"type":99,"tag":129,"props":175,"children":177},{"id":176},"login",[178],{"type":104,"value":179},"Login",{"type":99,"tag":107,"props":181,"children":182},{},[183,185,191],{"type":104,"value":184},"The CLI uses an ",{"type":99,"tag":186,"props":187,"children":188},"strong",{},[189],{"type":104,"value":190},"OAuth 2.0 Device Flow",{"type":104,"value":192}," for authentication.",{"type":99,"tag":136,"props":194,"children":196},{"className":138,"code":195,"language":140,"meta":141,"style":141},"vercel login\n",[197],{"type":99,"tag":113,"props":198,"children":199},{"__ignoreMap":141},[200],{"type":99,"tag":147,"props":201,"children":202},{"class":149,"line":150},[203,207],{"type":99,"tag":147,"props":204,"children":205},{"style":154},[206],{"type":104,"value":14},{"type":99,"tag":147,"props":208,"children":209},{"style":160},[210],{"type":104,"value":211}," login\n",{"type":99,"tag":213,"props":214,"children":215},"blockquote",{},[216],{"type":99,"tag":107,"props":217,"children":218},{},[219,224,226,232,234,240,242,248,249,255,256,262,264,270],{"type":99,"tag":186,"props":220,"children":221},{},[222],{"type":104,"value":223},"Deprecation notice",{"type":104,"value":225},": Email-based login (",{"type":99,"tag":113,"props":227,"children":229},{"className":228},[],[230],{"type":104,"value":231},"vercel login your@email.com",{"type":104,"value":233},") and the flags ",{"type":99,"tag":113,"props":235,"children":237},{"className":236},[],[238],{"type":104,"value":239},"--github",{"type":104,"value":241},", ",{"type":99,"tag":113,"props":243,"children":245},{"className":244},[],[246],{"type":104,"value":247},"--gitlab",{"type":104,"value":241},{"type":99,"tag":113,"props":250,"children":252},{"className":251},[],[253],{"type":104,"value":254},"--bitbucket",{"type":104,"value":241},{"type":99,"tag":113,"props":257,"children":259},{"className":258},[],[260],{"type":104,"value":261},"--oob",{"type":104,"value":263}," were removed February 26, 2026. The ",{"type":99,"tag":113,"props":265,"children":267},{"className":266},[],[268],{"type":104,"value":269},"team",{"type":104,"value":271}," method (SAML-based login) remains supported until June 1, 2026, then will also be removed.",{"type":99,"tag":129,"props":273,"children":275},{"id":274},"core-commands",[276],{"type":104,"value":277},"Core Commands",{"type":99,"tag":279,"props":280,"children":281},"h3",{"id":21},[282],{"type":104,"value":20},{"type":99,"tag":136,"props":284,"children":286},{"className":138,"code":285,"language":140,"meta":141,"style":141},"# Preview deployment (from project root)\nvercel\n\n# Production deployment\nvercel --prod\n\n# Build locally, deploy build output only\nvercel build\nvercel deploy --prebuilt\n\n# Build for production (uses production env vars)\nvercel build --prod\nvercel deploy --prebuilt --prod\n\n# Force a new deployment (skip cache)\nvercel --force\n\n# Promote a preview deployment to production\nvercel promote \u003Cdeployment-url>\n\n# Rollback to previous production deployment\nvercel rollback\n",[287],{"type":99,"tag":113,"props":288,"children":289},{"__ignoreMap":141},[290,299,308,318,326,339,346,355,368,386,394,403,420,441,449,458,471,479,488,523,531,540],{"type":99,"tag":147,"props":291,"children":292},{"class":149,"line":150},[293],{"type":99,"tag":147,"props":294,"children":296},{"style":295},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[297],{"type":104,"value":298},"# Preview deployment (from project root)\n",{"type":99,"tag":147,"props":300,"children":302},{"class":149,"line":301},2,[303],{"type":99,"tag":147,"props":304,"children":305},{"style":154},[306],{"type":104,"value":307},"vercel\n",{"type":99,"tag":147,"props":309,"children":311},{"class":149,"line":310},3,[312],{"type":99,"tag":147,"props":313,"children":315},{"emptyLinePlaceholder":314},true,[316],{"type":104,"value":317},"\n",{"type":99,"tag":147,"props":319,"children":320},{"class":149,"line":39},[321],{"type":99,"tag":147,"props":322,"children":323},{"style":295},[324],{"type":104,"value":325},"# Production deployment\n",{"type":99,"tag":147,"props":327,"children":329},{"class":149,"line":328},5,[330,334],{"type":99,"tag":147,"props":331,"children":332},{"style":154},[333],{"type":104,"value":14},{"type":99,"tag":147,"props":335,"children":336},{"style":160},[337],{"type":104,"value":338}," --prod\n",{"type":99,"tag":147,"props":340,"children":341},{"class":149,"line":94},[342],{"type":99,"tag":147,"props":343,"children":344},{"emptyLinePlaceholder":314},[345],{"type":104,"value":317},{"type":99,"tag":147,"props":347,"children":349},{"class":149,"line":348},7,[350],{"type":99,"tag":147,"props":351,"children":352},{"style":295},[353],{"type":104,"value":354},"# Build locally, deploy build output only\n",{"type":99,"tag":147,"props":356,"children":358},{"class":149,"line":357},8,[359,363],{"type":99,"tag":147,"props":360,"children":361},{"style":154},[362],{"type":104,"value":14},{"type":99,"tag":147,"props":364,"children":365},{"style":160},[366],{"type":104,"value":367}," build\n",{"type":99,"tag":147,"props":369,"children":371},{"class":149,"line":370},9,[372,376,381],{"type":99,"tag":147,"props":373,"children":374},{"style":154},[375],{"type":104,"value":14},{"type":99,"tag":147,"props":377,"children":378},{"style":160},[379],{"type":104,"value":380}," deploy",{"type":99,"tag":147,"props":382,"children":383},{"style":160},[384],{"type":104,"value":385}," --prebuilt\n",{"type":99,"tag":147,"props":387,"children":389},{"class":149,"line":388},10,[390],{"type":99,"tag":147,"props":391,"children":392},{"emptyLinePlaceholder":314},[393],{"type":104,"value":317},{"type":99,"tag":147,"props":395,"children":397},{"class":149,"line":396},11,[398],{"type":99,"tag":147,"props":399,"children":400},{"style":295},[401],{"type":104,"value":402},"# Build for production (uses production env vars)\n",{"type":99,"tag":147,"props":404,"children":406},{"class":149,"line":405},12,[407,411,416],{"type":99,"tag":147,"props":408,"children":409},{"style":154},[410],{"type":104,"value":14},{"type":99,"tag":147,"props":412,"children":413},{"style":160},[414],{"type":104,"value":415}," build",{"type":99,"tag":147,"props":417,"children":418},{"style":160},[419],{"type":104,"value":338},{"type":99,"tag":147,"props":421,"children":423},{"class":149,"line":422},13,[424,428,432,437],{"type":99,"tag":147,"props":425,"children":426},{"style":154},[427],{"type":104,"value":14},{"type":99,"tag":147,"props":429,"children":430},{"style":160},[431],{"type":104,"value":380},{"type":99,"tag":147,"props":433,"children":434},{"style":160},[435],{"type":104,"value":436}," --prebuilt",{"type":99,"tag":147,"props":438,"children":439},{"style":160},[440],{"type":104,"value":338},{"type":99,"tag":147,"props":442,"children":444},{"class":149,"line":443},14,[445],{"type":99,"tag":147,"props":446,"children":447},{"emptyLinePlaceholder":314},[448],{"type":104,"value":317},{"type":99,"tag":147,"props":450,"children":452},{"class":149,"line":451},15,[453],{"type":99,"tag":147,"props":454,"children":455},{"style":295},[456],{"type":104,"value":457},"# Force a new deployment (skip cache)\n",{"type":99,"tag":147,"props":459,"children":461},{"class":149,"line":460},16,[462,466],{"type":99,"tag":147,"props":463,"children":464},{"style":154},[465],{"type":104,"value":14},{"type":99,"tag":147,"props":467,"children":468},{"style":160},[469],{"type":104,"value":470}," --force\n",{"type":99,"tag":147,"props":472,"children":474},{"class":149,"line":473},17,[475],{"type":99,"tag":147,"props":476,"children":477},{"emptyLinePlaceholder":314},[478],{"type":104,"value":317},{"type":99,"tag":147,"props":480,"children":482},{"class":149,"line":481},18,[483],{"type":99,"tag":147,"props":484,"children":485},{"style":295},[486],{"type":104,"value":487},"# Promote a preview deployment to production\n",{"type":99,"tag":147,"props":489,"children":491},{"class":149,"line":490},19,[492,496,501,507,512,518],{"type":99,"tag":147,"props":493,"children":494},{"style":154},[495],{"type":104,"value":14},{"type":99,"tag":147,"props":497,"children":498},{"style":160},[499],{"type":104,"value":500}," promote",{"type":99,"tag":147,"props":502,"children":504},{"style":503},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[505],{"type":104,"value":506}," \u003C",{"type":99,"tag":147,"props":508,"children":509},{"style":160},[510],{"type":104,"value":511},"deployment-ur",{"type":99,"tag":147,"props":513,"children":515},{"style":514},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[516],{"type":104,"value":517},"l",{"type":99,"tag":147,"props":519,"children":520},{"style":503},[521],{"type":104,"value":522},">\n",{"type":99,"tag":147,"props":524,"children":526},{"class":149,"line":525},20,[527],{"type":99,"tag":147,"props":528,"children":529},{"emptyLinePlaceholder":314},[530],{"type":104,"value":317},{"type":99,"tag":147,"props":532,"children":534},{"class":149,"line":533},21,[535],{"type":99,"tag":147,"props":536,"children":537},{"style":295},[538],{"type":104,"value":539},"# Rollback to previous production deployment\n",{"type":99,"tag":147,"props":541,"children":543},{"class":149,"line":542},22,[544,548],{"type":99,"tag":147,"props":545,"children":546},{"style":154},[547],{"type":104,"value":14},{"type":99,"tag":147,"props":549,"children":550},{"style":160},[551],{"type":104,"value":552}," rollback\n",{"type":99,"tag":279,"props":554,"children":556},{"id":555},"development",[557],{"type":104,"value":558},"Development",{"type":99,"tag":136,"props":560,"children":562},{"className":138,"code":561,"language":140,"meta":141,"style":141},"# Start local dev server with Vercel features\nvercel dev\n\n# Link current directory to a Vercel project\nvercel link\n\n# Deterministic non-interactive link (recommended for bootstrap\u002Fautomation)\nvercel link --yes --project \u003Cname-or-id> --scope \u003Cteam>\n\n# Pull environment variables and project settings\nvercel pull\n\n# Pull specific environment\nvercel pull --environment=production\n\n# Open linked project in the Vercel Dashboard\nvercel open\n",[563],{"type":99,"tag":113,"props":564,"children":565},{"__ignoreMap":141},[566,574,586,593,601,613,620,628,692,699,707,719,726,734,751,758,766],{"type":99,"tag":147,"props":567,"children":568},{"class":149,"line":150},[569],{"type":99,"tag":147,"props":570,"children":571},{"style":295},[572],{"type":104,"value":573},"# Start local dev server with Vercel features\n",{"type":99,"tag":147,"props":575,"children":576},{"class":149,"line":301},[577,581],{"type":99,"tag":147,"props":578,"children":579},{"style":154},[580],{"type":104,"value":14},{"type":99,"tag":147,"props":582,"children":583},{"style":160},[584],{"type":104,"value":585}," dev\n",{"type":99,"tag":147,"props":587,"children":588},{"class":149,"line":310},[589],{"type":99,"tag":147,"props":590,"children":591},{"emptyLinePlaceholder":314},[592],{"type":104,"value":317},{"type":99,"tag":147,"props":594,"children":595},{"class":149,"line":39},[596],{"type":99,"tag":147,"props":597,"children":598},{"style":295},[599],{"type":104,"value":600},"# Link current directory to a Vercel project\n",{"type":99,"tag":147,"props":602,"children":603},{"class":149,"line":328},[604,608],{"type":99,"tag":147,"props":605,"children":606},{"style":154},[607],{"type":104,"value":14},{"type":99,"tag":147,"props":609,"children":610},{"style":160},[611],{"type":104,"value":612}," link\n",{"type":99,"tag":147,"props":614,"children":615},{"class":149,"line":94},[616],{"type":99,"tag":147,"props":617,"children":618},{"emptyLinePlaceholder":314},[619],{"type":104,"value":317},{"type":99,"tag":147,"props":621,"children":622},{"class":149,"line":348},[623],{"type":99,"tag":147,"props":624,"children":625},{"style":295},[626],{"type":104,"value":627},"# Deterministic non-interactive link (recommended for bootstrap\u002Fautomation)\n",{"type":99,"tag":147,"props":629,"children":630},{"class":149,"line":357},[631,635,640,645,650,654,659,664,669,674,678,683,688],{"type":99,"tag":147,"props":632,"children":633},{"style":154},[634],{"type":104,"value":14},{"type":99,"tag":147,"props":636,"children":637},{"style":160},[638],{"type":104,"value":639}," link",{"type":99,"tag":147,"props":641,"children":642},{"style":160},[643],{"type":104,"value":644}," --yes",{"type":99,"tag":147,"props":646,"children":647},{"style":160},[648],{"type":104,"value":649}," --project",{"type":99,"tag":147,"props":651,"children":652},{"style":503},[653],{"type":104,"value":506},{"type":99,"tag":147,"props":655,"children":656},{"style":160},[657],{"type":104,"value":658},"name-or-i",{"type":99,"tag":147,"props":660,"children":661},{"style":514},[662],{"type":104,"value":663},"d",{"type":99,"tag":147,"props":665,"children":666},{"style":503},[667],{"type":104,"value":668},">",{"type":99,"tag":147,"props":670,"children":671},{"style":160},[672],{"type":104,"value":673}," --scope",{"type":99,"tag":147,"props":675,"children":676},{"style":503},[677],{"type":104,"value":506},{"type":99,"tag":147,"props":679,"children":680},{"style":160},[681],{"type":104,"value":682},"tea",{"type":99,"tag":147,"props":684,"children":685},{"style":514},[686],{"type":104,"value":687},"m",{"type":99,"tag":147,"props":689,"children":690},{"style":503},[691],{"type":104,"value":522},{"type":99,"tag":147,"props":693,"children":694},{"class":149,"line":370},[695],{"type":99,"tag":147,"props":696,"children":697},{"emptyLinePlaceholder":314},[698],{"type":104,"value":317},{"type":99,"tag":147,"props":700,"children":701},{"class":149,"line":388},[702],{"type":99,"tag":147,"props":703,"children":704},{"style":295},[705],{"type":104,"value":706},"# Pull environment variables and project settings\n",{"type":99,"tag":147,"props":708,"children":709},{"class":149,"line":396},[710,714],{"type":99,"tag":147,"props":711,"children":712},{"style":154},[713],{"type":104,"value":14},{"type":99,"tag":147,"props":715,"children":716},{"style":160},[717],{"type":104,"value":718}," pull\n",{"type":99,"tag":147,"props":720,"children":721},{"class":149,"line":405},[722],{"type":99,"tag":147,"props":723,"children":724},{"emptyLinePlaceholder":314},[725],{"type":104,"value":317},{"type":99,"tag":147,"props":727,"children":728},{"class":149,"line":422},[729],{"type":99,"tag":147,"props":730,"children":731},{"style":295},[732],{"type":104,"value":733},"# Pull specific environment\n",{"type":99,"tag":147,"props":735,"children":736},{"class":149,"line":443},[737,741,746],{"type":99,"tag":147,"props":738,"children":739},{"style":154},[740],{"type":104,"value":14},{"type":99,"tag":147,"props":742,"children":743},{"style":160},[744],{"type":104,"value":745}," pull",{"type":99,"tag":147,"props":747,"children":748},{"style":160},[749],{"type":104,"value":750}," --environment=production\n",{"type":99,"tag":147,"props":752,"children":753},{"class":149,"line":451},[754],{"type":99,"tag":147,"props":755,"children":756},{"emptyLinePlaceholder":314},[757],{"type":104,"value":317},{"type":99,"tag":147,"props":759,"children":760},{"class":149,"line":460},[761],{"type":99,"tag":147,"props":762,"children":763},{"style":295},[764],{"type":104,"value":765},"# Open linked project in the Vercel Dashboard\n",{"type":99,"tag":147,"props":767,"children":768},{"class":149,"line":473},[769,773],{"type":99,"tag":147,"props":770,"children":771},{"style":154},[772],{"type":104,"value":14},{"type":99,"tag":147,"props":774,"children":775},{"style":160},[776],{"type":104,"value":777}," open\n",{"type":99,"tag":279,"props":779,"children":781},{"id":780},"deterministic-project-linking-recommended",[782],{"type":104,"value":783},"Deterministic Project Linking (Recommended)",{"type":99,"tag":107,"props":785,"children":786},{},[787],{"type":104,"value":788},"Prefer explicit non-interactive linking for bootstrap and automation:",{"type":99,"tag":136,"props":790,"children":792},{"className":138,"code":791,"language":140,"meta":141,"style":141},"vercel link --yes --project \u003Cname-or-id> --scope \u003Cteam>\n",[793],{"type":99,"tag":113,"props":794,"children":795},{"__ignoreMap":141},[796],{"type":99,"tag":147,"props":797,"children":798},{"class":149,"line":150},[799,803,807,811,815,819,823,827,831,835,839,843,847],{"type":99,"tag":147,"props":800,"children":801},{"style":154},[802],{"type":104,"value":14},{"type":99,"tag":147,"props":804,"children":805},{"style":160},[806],{"type":104,"value":639},{"type":99,"tag":147,"props":808,"children":809},{"style":160},[810],{"type":104,"value":644},{"type":99,"tag":147,"props":812,"children":813},{"style":160},[814],{"type":104,"value":649},{"type":99,"tag":147,"props":816,"children":817},{"style":503},[818],{"type":104,"value":506},{"type":99,"tag":147,"props":820,"children":821},{"style":160},[822],{"type":104,"value":658},{"type":99,"tag":147,"props":824,"children":825},{"style":514},[826],{"type":104,"value":663},{"type":99,"tag":147,"props":828,"children":829},{"style":503},[830],{"type":104,"value":668},{"type":99,"tag":147,"props":832,"children":833},{"style":160},[834],{"type":104,"value":673},{"type":99,"tag":147,"props":836,"children":837},{"style":503},[838],{"type":104,"value":506},{"type":99,"tag":147,"props":840,"children":841},{"style":160},[842],{"type":104,"value":682},{"type":99,"tag":147,"props":844,"children":845},{"style":514},[846],{"type":104,"value":687},{"type":99,"tag":147,"props":848,"children":849},{"style":503},[850],{"type":104,"value":522},{"type":99,"tag":107,"props":852,"children":853},{},[854,856,862,864,870,872,878],{"type":104,"value":855},"This is more reliable than interactive prompt-driven linking, which can pick the wrong project or team in multi-account setups. If there is any ambiguity, run ",{"type":99,"tag":113,"props":857,"children":859},{"className":858},[],[860],{"type":104,"value":861},"vercel open",{"type":104,"value":863}," to confirm the dashboard project, then relink with explicit ",{"type":99,"tag":113,"props":865,"children":867},{"className":866},[],[868],{"type":104,"value":869},"--project",{"type":104,"value":871}," and ",{"type":99,"tag":113,"props":873,"children":875},{"className":874},[],[876],{"type":104,"value":877},"--scope",{"type":104,"value":879},".",{"type":99,"tag":279,"props":881,"children":882},{"id":24},[883],{"type":104,"value":23},{"type":99,"tag":136,"props":885,"children":887},{"className":138,"code":886,"language":140,"meta":141,"style":141},"# List all environment variables\nvercel env ls\n\n# Add an environment variable\nvercel env add MY_VAR\n\n# Add for specific environments\nvercel env add MY_VAR production\nvercel env add MY_VAR preview development\n\n# Add branch-scoped variable\nvercel env add MY_VAR preview --branch=feature-x\n\n# Add sensitive (write-only) variable\nvercel env add MY_SECRET --sensitive\n\n# Remove an environment variable\nvercel env rm MY_VAR\n\n# Pull all env vars to .env.local\nvercel env pull\nvercel env pull .env.production.local --environment=production\n",[888],{"type":99,"tag":113,"props":889,"children":890},{"__ignoreMap":141},[891,899,916,923,931,952,959,967,992,1021,1028,1036,1064,1071,1079,1104,1111,1119,1139,1146,1154,1169],{"type":99,"tag":147,"props":892,"children":893},{"class":149,"line":150},[894],{"type":99,"tag":147,"props":895,"children":896},{"style":295},[897],{"type":104,"value":898},"# List all environment variables\n",{"type":99,"tag":147,"props":900,"children":901},{"class":149,"line":301},[902,906,911],{"type":99,"tag":147,"props":903,"children":904},{"style":154},[905],{"type":104,"value":14},{"type":99,"tag":147,"props":907,"children":908},{"style":160},[909],{"type":104,"value":910}," env",{"type":99,"tag":147,"props":912,"children":913},{"style":160},[914],{"type":104,"value":915}," ls\n",{"type":99,"tag":147,"props":917,"children":918},{"class":149,"line":310},[919],{"type":99,"tag":147,"props":920,"children":921},{"emptyLinePlaceholder":314},[922],{"type":104,"value":317},{"type":99,"tag":147,"props":924,"children":925},{"class":149,"line":39},[926],{"type":99,"tag":147,"props":927,"children":928},{"style":295},[929],{"type":104,"value":930},"# Add an environment variable\n",{"type":99,"tag":147,"props":932,"children":933},{"class":149,"line":328},[934,938,942,947],{"type":99,"tag":147,"props":935,"children":936},{"style":154},[937],{"type":104,"value":14},{"type":99,"tag":147,"props":939,"children":940},{"style":160},[941],{"type":104,"value":910},{"type":99,"tag":147,"props":943,"children":944},{"style":160},[945],{"type":104,"value":946}," add",{"type":99,"tag":147,"props":948,"children":949},{"style":160},[950],{"type":104,"value":951}," MY_VAR\n",{"type":99,"tag":147,"props":953,"children":954},{"class":149,"line":94},[955],{"type":99,"tag":147,"props":956,"children":957},{"emptyLinePlaceholder":314},[958],{"type":104,"value":317},{"type":99,"tag":147,"props":960,"children":961},{"class":149,"line":348},[962],{"type":99,"tag":147,"props":963,"children":964},{"style":295},[965],{"type":104,"value":966},"# Add for specific environments\n",{"type":99,"tag":147,"props":968,"children":969},{"class":149,"line":357},[970,974,978,982,987],{"type":99,"tag":147,"props":971,"children":972},{"style":154},[973],{"type":104,"value":14},{"type":99,"tag":147,"props":975,"children":976},{"style":160},[977],{"type":104,"value":910},{"type":99,"tag":147,"props":979,"children":980},{"style":160},[981],{"type":104,"value":946},{"type":99,"tag":147,"props":983,"children":984},{"style":160},[985],{"type":104,"value":986}," MY_VAR",{"type":99,"tag":147,"props":988,"children":989},{"style":160},[990],{"type":104,"value":991}," production\n",{"type":99,"tag":147,"props":993,"children":994},{"class":149,"line":370},[995,999,1003,1007,1011,1016],{"type":99,"tag":147,"props":996,"children":997},{"style":154},[998],{"type":104,"value":14},{"type":99,"tag":147,"props":1000,"children":1001},{"style":160},[1002],{"type":104,"value":910},{"type":99,"tag":147,"props":1004,"children":1005},{"style":160},[1006],{"type":104,"value":946},{"type":99,"tag":147,"props":1008,"children":1009},{"style":160},[1010],{"type":104,"value":986},{"type":99,"tag":147,"props":1012,"children":1013},{"style":160},[1014],{"type":104,"value":1015}," preview",{"type":99,"tag":147,"props":1017,"children":1018},{"style":160},[1019],{"type":104,"value":1020}," development\n",{"type":99,"tag":147,"props":1022,"children":1023},{"class":149,"line":388},[1024],{"type":99,"tag":147,"props":1025,"children":1026},{"emptyLinePlaceholder":314},[1027],{"type":104,"value":317},{"type":99,"tag":147,"props":1029,"children":1030},{"class":149,"line":396},[1031],{"type":99,"tag":147,"props":1032,"children":1033},{"style":295},[1034],{"type":104,"value":1035},"# Add branch-scoped variable\n",{"type":99,"tag":147,"props":1037,"children":1038},{"class":149,"line":405},[1039,1043,1047,1051,1055,1059],{"type":99,"tag":147,"props":1040,"children":1041},{"style":154},[1042],{"type":104,"value":14},{"type":99,"tag":147,"props":1044,"children":1045},{"style":160},[1046],{"type":104,"value":910},{"type":99,"tag":147,"props":1048,"children":1049},{"style":160},[1050],{"type":104,"value":946},{"type":99,"tag":147,"props":1052,"children":1053},{"style":160},[1054],{"type":104,"value":986},{"type":99,"tag":147,"props":1056,"children":1057},{"style":160},[1058],{"type":104,"value":1015},{"type":99,"tag":147,"props":1060,"children":1061},{"style":160},[1062],{"type":104,"value":1063}," --branch=feature-x\n",{"type":99,"tag":147,"props":1065,"children":1066},{"class":149,"line":422},[1067],{"type":99,"tag":147,"props":1068,"children":1069},{"emptyLinePlaceholder":314},[1070],{"type":104,"value":317},{"type":99,"tag":147,"props":1072,"children":1073},{"class":149,"line":443},[1074],{"type":99,"tag":147,"props":1075,"children":1076},{"style":295},[1077],{"type":104,"value":1078},"# Add sensitive (write-only) variable\n",{"type":99,"tag":147,"props":1080,"children":1081},{"class":149,"line":451},[1082,1086,1090,1094,1099],{"type":99,"tag":147,"props":1083,"children":1084},{"style":154},[1085],{"type":104,"value":14},{"type":99,"tag":147,"props":1087,"children":1088},{"style":160},[1089],{"type":104,"value":910},{"type":99,"tag":147,"props":1091,"children":1092},{"style":160},[1093],{"type":104,"value":946},{"type":99,"tag":147,"props":1095,"children":1096},{"style":160},[1097],{"type":104,"value":1098}," MY_SECRET",{"type":99,"tag":147,"props":1100,"children":1101},{"style":160},[1102],{"type":104,"value":1103}," --sensitive\n",{"type":99,"tag":147,"props":1105,"children":1106},{"class":149,"line":460},[1107],{"type":99,"tag":147,"props":1108,"children":1109},{"emptyLinePlaceholder":314},[1110],{"type":104,"value":317},{"type":99,"tag":147,"props":1112,"children":1113},{"class":149,"line":473},[1114],{"type":99,"tag":147,"props":1115,"children":1116},{"style":295},[1117],{"type":104,"value":1118},"# Remove an environment variable\n",{"type":99,"tag":147,"props":1120,"children":1121},{"class":149,"line":481},[1122,1126,1130,1135],{"type":99,"tag":147,"props":1123,"children":1124},{"style":154},[1125],{"type":104,"value":14},{"type":99,"tag":147,"props":1127,"children":1128},{"style":160},[1129],{"type":104,"value":910},{"type":99,"tag":147,"props":1131,"children":1132},{"style":160},[1133],{"type":104,"value":1134}," rm",{"type":99,"tag":147,"props":1136,"children":1137},{"style":160},[1138],{"type":104,"value":951},{"type":99,"tag":147,"props":1140,"children":1141},{"class":149,"line":490},[1142],{"type":99,"tag":147,"props":1143,"children":1144},{"emptyLinePlaceholder":314},[1145],{"type":104,"value":317},{"type":99,"tag":147,"props":1147,"children":1148},{"class":149,"line":525},[1149],{"type":99,"tag":147,"props":1150,"children":1151},{"style":295},[1152],{"type":104,"value":1153},"# Pull all env vars to .env.local\n",{"type":99,"tag":147,"props":1155,"children":1156},{"class":149,"line":533},[1157,1161,1165],{"type":99,"tag":147,"props":1158,"children":1159},{"style":154},[1160],{"type":104,"value":14},{"type":99,"tag":147,"props":1162,"children":1163},{"style":160},[1164],{"type":104,"value":910},{"type":99,"tag":147,"props":1166,"children":1167},{"style":160},[1168],{"type":104,"value":718},{"type":99,"tag":147,"props":1170,"children":1171},{"class":149,"line":542},[1172,1176,1180,1184,1189],{"type":99,"tag":147,"props":1173,"children":1174},{"style":154},[1175],{"type":104,"value":14},{"type":99,"tag":147,"props":1177,"children":1178},{"style":160},[1179],{"type":104,"value":910},{"type":99,"tag":147,"props":1181,"children":1182},{"style":160},[1183],{"type":104,"value":745},{"type":99,"tag":147,"props":1185,"children":1186},{"style":160},[1187],{"type":104,"value":1188}," .env.production.local",{"type":99,"tag":147,"props":1190,"children":1191},{"style":160},[1192],{"type":104,"value":750},{"type":99,"tag":279,"props":1194,"children":1196},{"id":1195},"logs-inspection",[1197],{"type":104,"value":1198},"Logs & Inspection",{"type":99,"tag":107,"props":1200,"children":1201},{},[1202,1204,1209,1211,1216,1218,1223],{"type":104,"value":1203},"The ",{"type":99,"tag":113,"props":1205,"children":1207},{"className":1206},[],[1208],{"type":104,"value":63},{"type":104,"value":1210}," command (rebuilt February 2026) supports ",{"type":99,"tag":186,"props":1212,"children":1213},{},[1214],{"type":104,"value":1215},"historical log querying",{"type":104,"value":1217}," and uses ",{"type":99,"tag":186,"props":1219,"children":1220},{},[1221],{"type":104,"value":1222},"git context by default",{"type":104,"value":1224}," — it automatically scopes logs to your current repository when run from a project directory.",{"type":99,"tag":136,"props":1226,"children":1228},{"className":138,"code":1227,"language":140,"meta":141,"style":141},"# View runtime\u002Ffunction logs (real-time)\nvercel logs \u003Cdeployment-url>\n\n# Follow logs in real-time (streaming mode)\nvercel logs \u003Cdeployment-url> --follow\n\n# Query historical logs (no longer limited to live-only)\nvercel logs --since 24h\nvercel logs --since 7d\n\n# Filter by time range\nvercel logs \u003Cdeployment-url> --since 1h\nvercel logs \u003Cdeployment-url> --since 30m\n\n# Filter by log level\nvercel logs \u003Cdeployment-url> --level error\nvercel logs \u003Cdeployment-url> --level warning\n\n# Filter by deployment ID, request ID, or arbitrary string\nvercel logs --deployment-id dpl_xxxxx\nvercel logs --request-id req_xxxxx\nvercel logs --query \"TypeError\"\n\n# Output as JSON (for piping to jq or other tools)\nvercel logs \u003Cdeployment-url> --json\n\n# Combine filters: stream errors from the last hour as JSON\nvercel logs \u003Cdeployment-url> --follow --since 1h --level error --json\n\n# Inspect a deployment (build details, metadata, function list)\nvercel inspect \u003Cdeployment-url>\n\n# List recent deployments\nvercel ls\n",[1229],{"type":99,"tag":113,"props":1230,"children":1231},{"__ignoreMap":141},[1232,1240,1268,1275,1283,1315,1322,1330,1351,1371,1378,1386,1422,1458,1465,1473,1510,1546,1553,1561,1582,1603,1634,1642,1651,1684,1692,1701,1756,1764,1773,1802,1810,1819],{"type":99,"tag":147,"props":1233,"children":1234},{"class":149,"line":150},[1235],{"type":99,"tag":147,"props":1236,"children":1237},{"style":295},[1238],{"type":104,"value":1239},"# View runtime\u002Ffunction logs (real-time)\n",{"type":99,"tag":147,"props":1241,"children":1242},{"class":149,"line":301},[1243,1247,1252,1256,1260,1264],{"type":99,"tag":147,"props":1244,"children":1245},{"style":154},[1246],{"type":104,"value":14},{"type":99,"tag":147,"props":1248,"children":1249},{"style":160},[1250],{"type":104,"value":1251}," logs",{"type":99,"tag":147,"props":1253,"children":1254},{"style":503},[1255],{"type":104,"value":506},{"type":99,"tag":147,"props":1257,"children":1258},{"style":160},[1259],{"type":104,"value":511},{"type":99,"tag":147,"props":1261,"children":1262},{"style":514},[1263],{"type":104,"value":517},{"type":99,"tag":147,"props":1265,"children":1266},{"style":503},[1267],{"type":104,"value":522},{"type":99,"tag":147,"props":1269,"children":1270},{"class":149,"line":310},[1271],{"type":99,"tag":147,"props":1272,"children":1273},{"emptyLinePlaceholder":314},[1274],{"type":104,"value":317},{"type":99,"tag":147,"props":1276,"children":1277},{"class":149,"line":39},[1278],{"type":99,"tag":147,"props":1279,"children":1280},{"style":295},[1281],{"type":104,"value":1282},"# Follow logs in real-time (streaming mode)\n",{"type":99,"tag":147,"props":1284,"children":1285},{"class":149,"line":328},[1286,1290,1294,1298,1302,1306,1310],{"type":99,"tag":147,"props":1287,"children":1288},{"style":154},[1289],{"type":104,"value":14},{"type":99,"tag":147,"props":1291,"children":1292},{"style":160},[1293],{"type":104,"value":1251},{"type":99,"tag":147,"props":1295,"children":1296},{"style":503},[1297],{"type":104,"value":506},{"type":99,"tag":147,"props":1299,"children":1300},{"style":160},[1301],{"type":104,"value":511},{"type":99,"tag":147,"props":1303,"children":1304},{"style":514},[1305],{"type":104,"value":517},{"type":99,"tag":147,"props":1307,"children":1308},{"style":503},[1309],{"type":104,"value":668},{"type":99,"tag":147,"props":1311,"children":1312},{"style":160},[1313],{"type":104,"value":1314}," --follow\n",{"type":99,"tag":147,"props":1316,"children":1317},{"class":149,"line":94},[1318],{"type":99,"tag":147,"props":1319,"children":1320},{"emptyLinePlaceholder":314},[1321],{"type":104,"value":317},{"type":99,"tag":147,"props":1323,"children":1324},{"class":149,"line":348},[1325],{"type":99,"tag":147,"props":1326,"children":1327},{"style":295},[1328],{"type":104,"value":1329},"# Query historical logs (no longer limited to live-only)\n",{"type":99,"tag":147,"props":1331,"children":1332},{"class":149,"line":357},[1333,1337,1341,1346],{"type":99,"tag":147,"props":1334,"children":1335},{"style":154},[1336],{"type":104,"value":14},{"type":99,"tag":147,"props":1338,"children":1339},{"style":160},[1340],{"type":104,"value":1251},{"type":99,"tag":147,"props":1342,"children":1343},{"style":160},[1344],{"type":104,"value":1345}," --since",{"type":99,"tag":147,"props":1347,"children":1348},{"style":160},[1349],{"type":104,"value":1350}," 24h\n",{"type":99,"tag":147,"props":1352,"children":1353},{"class":149,"line":370},[1354,1358,1362,1366],{"type":99,"tag":147,"props":1355,"children":1356},{"style":154},[1357],{"type":104,"value":14},{"type":99,"tag":147,"props":1359,"children":1360},{"style":160},[1361],{"type":104,"value":1251},{"type":99,"tag":147,"props":1363,"children":1364},{"style":160},[1365],{"type":104,"value":1345},{"type":99,"tag":147,"props":1367,"children":1368},{"style":160},[1369],{"type":104,"value":1370}," 7d\n",{"type":99,"tag":147,"props":1372,"children":1373},{"class":149,"line":388},[1374],{"type":99,"tag":147,"props":1375,"children":1376},{"emptyLinePlaceholder":314},[1377],{"type":104,"value":317},{"type":99,"tag":147,"props":1379,"children":1380},{"class":149,"line":396},[1381],{"type":99,"tag":147,"props":1382,"children":1383},{"style":295},[1384],{"type":104,"value":1385},"# Filter by time range\n",{"type":99,"tag":147,"props":1387,"children":1388},{"class":149,"line":405},[1389,1393,1397,1401,1405,1409,1413,1417],{"type":99,"tag":147,"props":1390,"children":1391},{"style":154},[1392],{"type":104,"value":14},{"type":99,"tag":147,"props":1394,"children":1395},{"style":160},[1396],{"type":104,"value":1251},{"type":99,"tag":147,"props":1398,"children":1399},{"style":503},[1400],{"type":104,"value":506},{"type":99,"tag":147,"props":1402,"children":1403},{"style":160},[1404],{"type":104,"value":511},{"type":99,"tag":147,"props":1406,"children":1407},{"style":514},[1408],{"type":104,"value":517},{"type":99,"tag":147,"props":1410,"children":1411},{"style":503},[1412],{"type":104,"value":668},{"type":99,"tag":147,"props":1414,"children":1415},{"style":160},[1416],{"type":104,"value":1345},{"type":99,"tag":147,"props":1418,"children":1419},{"style":160},[1420],{"type":104,"value":1421}," 1h\n",{"type":99,"tag":147,"props":1423,"children":1424},{"class":149,"line":422},[1425,1429,1433,1437,1441,1445,1449,1453],{"type":99,"tag":147,"props":1426,"children":1427},{"style":154},[1428],{"type":104,"value":14},{"type":99,"tag":147,"props":1430,"children":1431},{"style":160},[1432],{"type":104,"value":1251},{"type":99,"tag":147,"props":1434,"children":1435},{"style":503},[1436],{"type":104,"value":506},{"type":99,"tag":147,"props":1438,"children":1439},{"style":160},[1440],{"type":104,"value":511},{"type":99,"tag":147,"props":1442,"children":1443},{"style":514},[1444],{"type":104,"value":517},{"type":99,"tag":147,"props":1446,"children":1447},{"style":503},[1448],{"type":104,"value":668},{"type":99,"tag":147,"props":1450,"children":1451},{"style":160},[1452],{"type":104,"value":1345},{"type":99,"tag":147,"props":1454,"children":1455},{"style":160},[1456],{"type":104,"value":1457}," 30m\n",{"type":99,"tag":147,"props":1459,"children":1460},{"class":149,"line":443},[1461],{"type":99,"tag":147,"props":1462,"children":1463},{"emptyLinePlaceholder":314},[1464],{"type":104,"value":317},{"type":99,"tag":147,"props":1466,"children":1467},{"class":149,"line":451},[1468],{"type":99,"tag":147,"props":1469,"children":1470},{"style":295},[1471],{"type":104,"value":1472},"# Filter by log level\n",{"type":99,"tag":147,"props":1474,"children":1475},{"class":149,"line":460},[1476,1480,1484,1488,1492,1496,1500,1505],{"type":99,"tag":147,"props":1477,"children":1478},{"style":154},[1479],{"type":104,"value":14},{"type":99,"tag":147,"props":1481,"children":1482},{"style":160},[1483],{"type":104,"value":1251},{"type":99,"tag":147,"props":1485,"children":1486},{"style":503},[1487],{"type":104,"value":506},{"type":99,"tag":147,"props":1489,"children":1490},{"style":160},[1491],{"type":104,"value":511},{"type":99,"tag":147,"props":1493,"children":1494},{"style":514},[1495],{"type":104,"value":517},{"type":99,"tag":147,"props":1497,"children":1498},{"style":503},[1499],{"type":104,"value":668},{"type":99,"tag":147,"props":1501,"children":1502},{"style":160},[1503],{"type":104,"value":1504}," --level",{"type":99,"tag":147,"props":1506,"children":1507},{"style":160},[1508],{"type":104,"value":1509}," error\n",{"type":99,"tag":147,"props":1511,"children":1512},{"class":149,"line":473},[1513,1517,1521,1525,1529,1533,1537,1541],{"type":99,"tag":147,"props":1514,"children":1515},{"style":154},[1516],{"type":104,"value":14},{"type":99,"tag":147,"props":1518,"children":1519},{"style":160},[1520],{"type":104,"value":1251},{"type":99,"tag":147,"props":1522,"children":1523},{"style":503},[1524],{"type":104,"value":506},{"type":99,"tag":147,"props":1526,"children":1527},{"style":160},[1528],{"type":104,"value":511},{"type":99,"tag":147,"props":1530,"children":1531},{"style":514},[1532],{"type":104,"value":517},{"type":99,"tag":147,"props":1534,"children":1535},{"style":503},[1536],{"type":104,"value":668},{"type":99,"tag":147,"props":1538,"children":1539},{"style":160},[1540],{"type":104,"value":1504},{"type":99,"tag":147,"props":1542,"children":1543},{"style":160},[1544],{"type":104,"value":1545}," warning\n",{"type":99,"tag":147,"props":1547,"children":1548},{"class":149,"line":481},[1549],{"type":99,"tag":147,"props":1550,"children":1551},{"emptyLinePlaceholder":314},[1552],{"type":104,"value":317},{"type":99,"tag":147,"props":1554,"children":1555},{"class":149,"line":490},[1556],{"type":99,"tag":147,"props":1557,"children":1558},{"style":295},[1559],{"type":104,"value":1560},"# Filter by deployment ID, request ID, or arbitrary string\n",{"type":99,"tag":147,"props":1562,"children":1563},{"class":149,"line":525},[1564,1568,1572,1577],{"type":99,"tag":147,"props":1565,"children":1566},{"style":154},[1567],{"type":104,"value":14},{"type":99,"tag":147,"props":1569,"children":1570},{"style":160},[1571],{"type":104,"value":1251},{"type":99,"tag":147,"props":1573,"children":1574},{"style":160},[1575],{"type":104,"value":1576}," --deployment-id",{"type":99,"tag":147,"props":1578,"children":1579},{"style":160},[1580],{"type":104,"value":1581}," dpl_xxxxx\n",{"type":99,"tag":147,"props":1583,"children":1584},{"class":149,"line":533},[1585,1589,1593,1598],{"type":99,"tag":147,"props":1586,"children":1587},{"style":154},[1588],{"type":104,"value":14},{"type":99,"tag":147,"props":1590,"children":1591},{"style":160},[1592],{"type":104,"value":1251},{"type":99,"tag":147,"props":1594,"children":1595},{"style":160},[1596],{"type":104,"value":1597}," --request-id",{"type":99,"tag":147,"props":1599,"children":1600},{"style":160},[1601],{"type":104,"value":1602}," req_xxxxx\n",{"type":99,"tag":147,"props":1604,"children":1605},{"class":149,"line":542},[1606,1610,1614,1619,1624,1629],{"type":99,"tag":147,"props":1607,"children":1608},{"style":154},[1609],{"type":104,"value":14},{"type":99,"tag":147,"props":1611,"children":1612},{"style":160},[1613],{"type":104,"value":1251},{"type":99,"tag":147,"props":1615,"children":1616},{"style":160},[1617],{"type":104,"value":1618}," --query",{"type":99,"tag":147,"props":1620,"children":1621},{"style":503},[1622],{"type":104,"value":1623}," \"",{"type":99,"tag":147,"props":1625,"children":1626},{"style":160},[1627],{"type":104,"value":1628},"TypeError",{"type":99,"tag":147,"props":1630,"children":1631},{"style":503},[1632],{"type":104,"value":1633},"\"\n",{"type":99,"tag":147,"props":1635,"children":1637},{"class":149,"line":1636},23,[1638],{"type":99,"tag":147,"props":1639,"children":1640},{"emptyLinePlaceholder":314},[1641],{"type":104,"value":317},{"type":99,"tag":147,"props":1643,"children":1645},{"class":149,"line":1644},24,[1646],{"type":99,"tag":147,"props":1647,"children":1648},{"style":295},[1649],{"type":104,"value":1650},"# Output as JSON (for piping to jq or other tools)\n",{"type":99,"tag":147,"props":1652,"children":1654},{"class":149,"line":1653},25,[1655,1659,1663,1667,1671,1675,1679],{"type":99,"tag":147,"props":1656,"children":1657},{"style":154},[1658],{"type":104,"value":14},{"type":99,"tag":147,"props":1660,"children":1661},{"style":160},[1662],{"type":104,"value":1251},{"type":99,"tag":147,"props":1664,"children":1665},{"style":503},[1666],{"type":104,"value":506},{"type":99,"tag":147,"props":1668,"children":1669},{"style":160},[1670],{"type":104,"value":511},{"type":99,"tag":147,"props":1672,"children":1673},{"style":514},[1674],{"type":104,"value":517},{"type":99,"tag":147,"props":1676,"children":1677},{"style":503},[1678],{"type":104,"value":668},{"type":99,"tag":147,"props":1680,"children":1681},{"style":160},[1682],{"type":104,"value":1683}," --json\n",{"type":99,"tag":147,"props":1685,"children":1687},{"class":149,"line":1686},26,[1688],{"type":99,"tag":147,"props":1689,"children":1690},{"emptyLinePlaceholder":314},[1691],{"type":104,"value":317},{"type":99,"tag":147,"props":1693,"children":1695},{"class":149,"line":1694},27,[1696],{"type":99,"tag":147,"props":1697,"children":1698},{"style":295},[1699],{"type":104,"value":1700},"# Combine filters: stream errors from the last hour as JSON\n",{"type":99,"tag":147,"props":1702,"children":1704},{"class":149,"line":1703},28,[1705,1709,1713,1717,1721,1725,1729,1734,1738,1743,1747,1752],{"type":99,"tag":147,"props":1706,"children":1707},{"style":154},[1708],{"type":104,"value":14},{"type":99,"tag":147,"props":1710,"children":1711},{"style":160},[1712],{"type":104,"value":1251},{"type":99,"tag":147,"props":1714,"children":1715},{"style":503},[1716],{"type":104,"value":506},{"type":99,"tag":147,"props":1718,"children":1719},{"style":160},[1720],{"type":104,"value":511},{"type":99,"tag":147,"props":1722,"children":1723},{"style":514},[1724],{"type":104,"value":517},{"type":99,"tag":147,"props":1726,"children":1727},{"style":503},[1728],{"type":104,"value":668},{"type":99,"tag":147,"props":1730,"children":1731},{"style":160},[1732],{"type":104,"value":1733}," --follow",{"type":99,"tag":147,"props":1735,"children":1736},{"style":160},[1737],{"type":104,"value":1345},{"type":99,"tag":147,"props":1739,"children":1740},{"style":160},[1741],{"type":104,"value":1742}," 1h",{"type":99,"tag":147,"props":1744,"children":1745},{"style":160},[1746],{"type":104,"value":1504},{"type":99,"tag":147,"props":1748,"children":1749},{"style":160},[1750],{"type":104,"value":1751}," error",{"type":99,"tag":147,"props":1753,"children":1754},{"style":160},[1755],{"type":104,"value":1683},{"type":99,"tag":147,"props":1757,"children":1759},{"class":149,"line":1758},29,[1760],{"type":99,"tag":147,"props":1761,"children":1762},{"emptyLinePlaceholder":314},[1763],{"type":104,"value":317},{"type":99,"tag":147,"props":1765,"children":1767},{"class":149,"line":1766},30,[1768],{"type":99,"tag":147,"props":1769,"children":1770},{"style":295},[1771],{"type":104,"value":1772},"# Inspect a deployment (build details, metadata, function list)\n",{"type":99,"tag":147,"props":1774,"children":1776},{"class":149,"line":1775},31,[1777,1781,1786,1790,1794,1798],{"type":99,"tag":147,"props":1778,"children":1779},{"style":154},[1780],{"type":104,"value":14},{"type":99,"tag":147,"props":1782,"children":1783},{"style":160},[1784],{"type":104,"value":1785}," inspect",{"type":99,"tag":147,"props":1787,"children":1788},{"style":503},[1789],{"type":104,"value":506},{"type":99,"tag":147,"props":1791,"children":1792},{"style":160},[1793],{"type":104,"value":511},{"type":99,"tag":147,"props":1795,"children":1796},{"style":514},[1797],{"type":104,"value":517},{"type":99,"tag":147,"props":1799,"children":1800},{"style":503},[1801],{"type":104,"value":522},{"type":99,"tag":147,"props":1803,"children":1805},{"class":149,"line":1804},32,[1806],{"type":99,"tag":147,"props":1807,"children":1808},{"emptyLinePlaceholder":314},[1809],{"type":104,"value":317},{"type":99,"tag":147,"props":1811,"children":1813},{"class":149,"line":1812},33,[1814],{"type":99,"tag":147,"props":1815,"children":1816},{"style":295},[1817],{"type":104,"value":1818},"# List recent deployments\n",{"type":99,"tag":147,"props":1820,"children":1822},{"class":149,"line":1821},34,[1823,1827],{"type":99,"tag":147,"props":1824,"children":1825},{"style":154},[1826],{"type":104,"value":14},{"type":99,"tag":147,"props":1828,"children":1829},{"style":160},[1830],{"type":104,"value":915},{"type":99,"tag":213,"props":1832,"children":1833},{},[1834,1873],{"type":99,"tag":107,"props":1835,"children":1836},{},[1837,1842,1844,1849,1851,1857,1859,1865,1867,1872],{"type":99,"tag":186,"props":1838,"children":1839},{},[1840],{"type":104,"value":1841},"Note:",{"type":104,"value":1843}," ",{"type":99,"tag":113,"props":1845,"children":1847},{"className":1846},[],[1848],{"type":104,"value":63},{"type":104,"value":1850}," shows runtime request logs only. For build output, use\n",{"type":99,"tag":113,"props":1852,"children":1854},{"className":1853},[],[1855],{"type":104,"value":1856},"vercel inspect \u003Cdeployment-url>",{"type":104,"value":1858}," or view build logs at ",{"type":99,"tag":113,"props":1860,"children":1862},{"className":1861},[],[1863],{"type":104,"value":1864},"https:\u002F\u002Fvercel.com\u002F{team}\u002F{project}\u002Fdeployments",{"type":104,"value":1866}," → select deployment → ",{"type":99,"tag":186,"props":1868,"children":1869},{},[1870],{"type":104,"value":1871},"Build Logs",{"type":104,"value":879},{"type":99,"tag":107,"props":1874,"children":1875},{},[1876,1881,1883,1889,1891,1897,1899,1905],{"type":99,"tag":186,"props":1877,"children":1878},{},[1879],{"type":104,"value":1880},"Drains and advanced observability:",{"type":104,"value":1882}," Log drains, trace export, and analytics data forwarding are\nconfigured via the Vercel Dashboard at ",{"type":99,"tag":113,"props":1884,"children":1886},{"className":1885},[],[1887],{"type":104,"value":1888},"https:\u002F\u002Fvercel.com\u002Fdashboard\u002F{team}\u002F~\u002Fsettings\u002Flog-drains",{"type":104,"value":1890}," or REST API (",{"type":99,"tag":113,"props":1892,"children":1894},{"className":1893},[],[1895],{"type":104,"value":1896},"\u002Fv1\u002Fdrains",{"type":104,"value":1898},"), not the CLI. See ",{"type":99,"tag":113,"props":1900,"children":1902},{"className":1901},[],[1903],{"type":104,"value":1904},"⤳ skill: observability",{"type":104,"value":1906},"\nfor drain setup, payload schemas, and signature verification.",{"type":99,"tag":279,"props":1908,"children":1910},{"id":1909},"domains",[1911],{"type":104,"value":1912},"Domains",{"type":99,"tag":136,"props":1914,"children":1916},{"className":138,"code":1915,"language":140,"meta":141,"style":141},"# List domains\nvercel domains ls\n\n# Add a domain to a project\nvercel domains add example.com\n\n# Remove a domain\nvercel domains rm example.com\n",[1917],{"type":99,"tag":113,"props":1918,"children":1919},{"__ignoreMap":141},[1920,1928,1944,1951,1959,1979,1986,1994],{"type":99,"tag":147,"props":1921,"children":1922},{"class":149,"line":150},[1923],{"type":99,"tag":147,"props":1924,"children":1925},{"style":295},[1926],{"type":104,"value":1927},"# List domains\n",{"type":99,"tag":147,"props":1929,"children":1930},{"class":149,"line":301},[1931,1935,1940],{"type":99,"tag":147,"props":1932,"children":1933},{"style":154},[1934],{"type":104,"value":14},{"type":99,"tag":147,"props":1936,"children":1937},{"style":160},[1938],{"type":104,"value":1939}," domains",{"type":99,"tag":147,"props":1941,"children":1942},{"style":160},[1943],{"type":104,"value":915},{"type":99,"tag":147,"props":1945,"children":1946},{"class":149,"line":310},[1947],{"type":99,"tag":147,"props":1948,"children":1949},{"emptyLinePlaceholder":314},[1950],{"type":104,"value":317},{"type":99,"tag":147,"props":1952,"children":1953},{"class":149,"line":39},[1954],{"type":99,"tag":147,"props":1955,"children":1956},{"style":295},[1957],{"type":104,"value":1958},"# Add a domain to a project\n",{"type":99,"tag":147,"props":1960,"children":1961},{"class":149,"line":328},[1962,1966,1970,1974],{"type":99,"tag":147,"props":1963,"children":1964},{"style":154},[1965],{"type":104,"value":14},{"type":99,"tag":147,"props":1967,"children":1968},{"style":160},[1969],{"type":104,"value":1939},{"type":99,"tag":147,"props":1971,"children":1972},{"style":160},[1973],{"type":104,"value":946},{"type":99,"tag":147,"props":1975,"children":1976},{"style":160},[1977],{"type":104,"value":1978}," example.com\n",{"type":99,"tag":147,"props":1980,"children":1981},{"class":149,"line":94},[1982],{"type":99,"tag":147,"props":1983,"children":1984},{"emptyLinePlaceholder":314},[1985],{"type":104,"value":317},{"type":99,"tag":147,"props":1987,"children":1988},{"class":149,"line":348},[1989],{"type":99,"tag":147,"props":1990,"children":1991},{"style":295},[1992],{"type":104,"value":1993},"# Remove a domain\n",{"type":99,"tag":147,"props":1995,"children":1996},{"class":149,"line":357},[1997,2001,2005,2009],{"type":99,"tag":147,"props":1998,"children":1999},{"style":154},[2000],{"type":104,"value":14},{"type":99,"tag":147,"props":2002,"children":2003},{"style":160},[2004],{"type":104,"value":1939},{"type":99,"tag":147,"props":2006,"children":2007},{"style":160},[2008],{"type":104,"value":1134},{"type":99,"tag":147,"props":2010,"children":2011},{"style":160},[2012],{"type":104,"value":1978},{"type":99,"tag":279,"props":2014,"children":2016},{"id":2015},"dns",[2017],{"type":104,"value":2018},"DNS",{"type":99,"tag":136,"props":2020,"children":2022},{"className":138,"code":2021,"language":140,"meta":141,"style":141},"# List DNS records\nvercel dns ls example.com\n\n# Add a DNS record\nvercel dns add example.com @ A 1.2.3.4\n",[2023],{"type":99,"tag":113,"props":2024,"children":2025},{"__ignoreMap":141},[2026,2034,2055,2062,2070],{"type":99,"tag":147,"props":2027,"children":2028},{"class":149,"line":150},[2029],{"type":99,"tag":147,"props":2030,"children":2031},{"style":295},[2032],{"type":104,"value":2033},"# List DNS records\n",{"type":99,"tag":147,"props":2035,"children":2036},{"class":149,"line":301},[2037,2041,2046,2051],{"type":99,"tag":147,"props":2038,"children":2039},{"style":154},[2040],{"type":104,"value":14},{"type":99,"tag":147,"props":2042,"children":2043},{"style":160},[2044],{"type":104,"value":2045}," dns",{"type":99,"tag":147,"props":2047,"children":2048},{"style":160},[2049],{"type":104,"value":2050}," ls",{"type":99,"tag":147,"props":2052,"children":2053},{"style":160},[2054],{"type":104,"value":1978},{"type":99,"tag":147,"props":2056,"children":2057},{"class":149,"line":310},[2058],{"type":99,"tag":147,"props":2059,"children":2060},{"emptyLinePlaceholder":314},[2061],{"type":104,"value":317},{"type":99,"tag":147,"props":2063,"children":2064},{"class":149,"line":39},[2065],{"type":99,"tag":147,"props":2066,"children":2067},{"style":295},[2068],{"type":104,"value":2069},"# Add a DNS record\n",{"type":99,"tag":147,"props":2071,"children":2072},{"class":149,"line":328},[2073,2077,2081,2085,2090,2095,2100],{"type":99,"tag":147,"props":2074,"children":2075},{"style":154},[2076],{"type":104,"value":14},{"type":99,"tag":147,"props":2078,"children":2079},{"style":160},[2080],{"type":104,"value":2045},{"type":99,"tag":147,"props":2082,"children":2083},{"style":160},[2084],{"type":104,"value":946},{"type":99,"tag":147,"props":2086,"children":2087},{"style":160},[2088],{"type":104,"value":2089}," example.com",{"type":99,"tag":147,"props":2091,"children":2092},{"style":160},[2093],{"type":104,"value":2094}," @",{"type":99,"tag":147,"props":2096,"children":2097},{"style":160},[2098],{"type":104,"value":2099}," A",{"type":99,"tag":147,"props":2101,"children":2103},{"style":2102},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[2104],{"type":104,"value":2105}," 1.2.3.4\n",{"type":99,"tag":279,"props":2107,"children":2109},{"id":2108},"teams",[2110],{"type":104,"value":2111},"Teams",{"type":99,"tag":136,"props":2113,"children":2115},{"className":138,"code":2114,"language":140,"meta":141,"style":141},"# List teams\nvercel teams ls\n\n# Switch to a team\nvercel teams switch my-team\n",[2116],{"type":99,"tag":113,"props":2117,"children":2118},{"__ignoreMap":141},[2119,2127,2143,2150,2158],{"type":99,"tag":147,"props":2120,"children":2121},{"class":149,"line":150},[2122],{"type":99,"tag":147,"props":2123,"children":2124},{"style":295},[2125],{"type":104,"value":2126},"# List teams\n",{"type":99,"tag":147,"props":2128,"children":2129},{"class":149,"line":301},[2130,2134,2139],{"type":99,"tag":147,"props":2131,"children":2132},{"style":154},[2133],{"type":104,"value":14},{"type":99,"tag":147,"props":2135,"children":2136},{"style":160},[2137],{"type":104,"value":2138}," teams",{"type":99,"tag":147,"props":2140,"children":2141},{"style":160},[2142],{"type":104,"value":915},{"type":99,"tag":147,"props":2144,"children":2145},{"class":149,"line":310},[2146],{"type":99,"tag":147,"props":2147,"children":2148},{"emptyLinePlaceholder":314},[2149],{"type":104,"value":317},{"type":99,"tag":147,"props":2151,"children":2152},{"class":149,"line":39},[2153],{"type":99,"tag":147,"props":2154,"children":2155},{"style":295},[2156],{"type":104,"value":2157},"# Switch to a team\n",{"type":99,"tag":147,"props":2159,"children":2160},{"class":149,"line":328},[2161,2165,2169,2174],{"type":99,"tag":147,"props":2162,"children":2163},{"style":154},[2164],{"type":104,"value":14},{"type":99,"tag":147,"props":2166,"children":2167},{"style":160},[2168],{"type":104,"value":2138},{"type":99,"tag":147,"props":2170,"children":2171},{"style":160},[2172],{"type":104,"value":2173}," switch",{"type":99,"tag":147,"props":2175,"children":2176},{"style":160},[2177],{"type":104,"value":2178}," my-team\n",{"type":99,"tag":279,"props":2180,"children":2182},{"id":2181},"cache-management",[2183],{"type":104,"value":2184},"Cache Management",{"type":99,"tag":136,"props":2186,"children":2188},{"className":138,"code":2187,"language":140,"meta":141,"style":141},"# Purge all cache (CDN + Data cache) for current project\nvercel cache purge\n\n# Purge only CDN cache\nvercel cache purge --type cdn\n\n# Purge only Data cache\nvercel cache purge --type data\n\n# Purge without confirmation prompt\nvercel cache purge --yes\n\n# Invalidate by tag (stale-while-revalidate)\nvercel cache invalidate --tag blog-posts\n\n# Invalidate multiple tags\nvercel cache invalidate --tag blog-posts,user-profiles,homepage\n\n# Hard delete by tag (blocks until revalidated — use with caution)\nvercel cache dangerously-delete --tag blog-posts\n\n# Hard delete with revalidation deadline (deletes only if not accessed within N seconds)\nvercel cache dangerously-delete --tag blog-posts --revalidation-deadline-seconds 3600\n\n# Invalidate cached image transformations by source path\nvercel cache invalidate --srcimg \u002Fapi\u002Favatar\u002F1\n\n# Hard delete cached image transformations\nvercel cache dangerously-delete --srcimg \u002Fapi\u002Favatar\u002F1\n",[2189],{"type":99,"tag":113,"props":2190,"children":2191},{"__ignoreMap":141},[2192,2200,2217,2224,2232,2258,2265,2273,2297,2304,2312,2332,2339,2347,2373,2380,2388,2412,2419,2427,2451,2458,2466,2500,2507,2515,2540,2547,2555],{"type":99,"tag":147,"props":2193,"children":2194},{"class":149,"line":150},[2195],{"type":99,"tag":147,"props":2196,"children":2197},{"style":295},[2198],{"type":104,"value":2199},"# Purge all cache (CDN + Data cache) for current project\n",{"type":99,"tag":147,"props":2201,"children":2202},{"class":149,"line":301},[2203,2207,2212],{"type":99,"tag":147,"props":2204,"children":2205},{"style":154},[2206],{"type":104,"value":14},{"type":99,"tag":147,"props":2208,"children":2209},{"style":160},[2210],{"type":104,"value":2211}," cache",{"type":99,"tag":147,"props":2213,"children":2214},{"style":160},[2215],{"type":104,"value":2216}," purge\n",{"type":99,"tag":147,"props":2218,"children":2219},{"class":149,"line":310},[2220],{"type":99,"tag":147,"props":2221,"children":2222},{"emptyLinePlaceholder":314},[2223],{"type":104,"value":317},{"type":99,"tag":147,"props":2225,"children":2226},{"class":149,"line":39},[2227],{"type":99,"tag":147,"props":2228,"children":2229},{"style":295},[2230],{"type":104,"value":2231},"# Purge only CDN cache\n",{"type":99,"tag":147,"props":2233,"children":2234},{"class":149,"line":328},[2235,2239,2243,2248,2253],{"type":99,"tag":147,"props":2236,"children":2237},{"style":154},[2238],{"type":104,"value":14},{"type":99,"tag":147,"props":2240,"children":2241},{"style":160},[2242],{"type":104,"value":2211},{"type":99,"tag":147,"props":2244,"children":2245},{"style":160},[2246],{"type":104,"value":2247}," purge",{"type":99,"tag":147,"props":2249,"children":2250},{"style":160},[2251],{"type":104,"value":2252}," --type",{"type":99,"tag":147,"props":2254,"children":2255},{"style":160},[2256],{"type":104,"value":2257}," cdn\n",{"type":99,"tag":147,"props":2259,"children":2260},{"class":149,"line":94},[2261],{"type":99,"tag":147,"props":2262,"children":2263},{"emptyLinePlaceholder":314},[2264],{"type":104,"value":317},{"type":99,"tag":147,"props":2266,"children":2267},{"class":149,"line":348},[2268],{"type":99,"tag":147,"props":2269,"children":2270},{"style":295},[2271],{"type":104,"value":2272},"# Purge only Data cache\n",{"type":99,"tag":147,"props":2274,"children":2275},{"class":149,"line":357},[2276,2280,2284,2288,2292],{"type":99,"tag":147,"props":2277,"children":2278},{"style":154},[2279],{"type":104,"value":14},{"type":99,"tag":147,"props":2281,"children":2282},{"style":160},[2283],{"type":104,"value":2211},{"type":99,"tag":147,"props":2285,"children":2286},{"style":160},[2287],{"type":104,"value":2247},{"type":99,"tag":147,"props":2289,"children":2290},{"style":160},[2291],{"type":104,"value":2252},{"type":99,"tag":147,"props":2293,"children":2294},{"style":160},[2295],{"type":104,"value":2296}," data\n",{"type":99,"tag":147,"props":2298,"children":2299},{"class":149,"line":370},[2300],{"type":99,"tag":147,"props":2301,"children":2302},{"emptyLinePlaceholder":314},[2303],{"type":104,"value":317},{"type":99,"tag":147,"props":2305,"children":2306},{"class":149,"line":388},[2307],{"type":99,"tag":147,"props":2308,"children":2309},{"style":295},[2310],{"type":104,"value":2311},"# Purge without confirmation prompt\n",{"type":99,"tag":147,"props":2313,"children":2314},{"class":149,"line":396},[2315,2319,2323,2327],{"type":99,"tag":147,"props":2316,"children":2317},{"style":154},[2318],{"type":104,"value":14},{"type":99,"tag":147,"props":2320,"children":2321},{"style":160},[2322],{"type":104,"value":2211},{"type":99,"tag":147,"props":2324,"children":2325},{"style":160},[2326],{"type":104,"value":2247},{"type":99,"tag":147,"props":2328,"children":2329},{"style":160},[2330],{"type":104,"value":2331}," --yes\n",{"type":99,"tag":147,"props":2333,"children":2334},{"class":149,"line":405},[2335],{"type":99,"tag":147,"props":2336,"children":2337},{"emptyLinePlaceholder":314},[2338],{"type":104,"value":317},{"type":99,"tag":147,"props":2340,"children":2341},{"class":149,"line":422},[2342],{"type":99,"tag":147,"props":2343,"children":2344},{"style":295},[2345],{"type":104,"value":2346},"# Invalidate by tag (stale-while-revalidate)\n",{"type":99,"tag":147,"props":2348,"children":2349},{"class":149,"line":443},[2350,2354,2358,2363,2368],{"type":99,"tag":147,"props":2351,"children":2352},{"style":154},[2353],{"type":104,"value":14},{"type":99,"tag":147,"props":2355,"children":2356},{"style":160},[2357],{"type":104,"value":2211},{"type":99,"tag":147,"props":2359,"children":2360},{"style":160},[2361],{"type":104,"value":2362}," invalidate",{"type":99,"tag":147,"props":2364,"children":2365},{"style":160},[2366],{"type":104,"value":2367}," --tag",{"type":99,"tag":147,"props":2369,"children":2370},{"style":160},[2371],{"type":104,"value":2372}," blog-posts\n",{"type":99,"tag":147,"props":2374,"children":2375},{"class":149,"line":451},[2376],{"type":99,"tag":147,"props":2377,"children":2378},{"emptyLinePlaceholder":314},[2379],{"type":104,"value":317},{"type":99,"tag":147,"props":2381,"children":2382},{"class":149,"line":460},[2383],{"type":99,"tag":147,"props":2384,"children":2385},{"style":295},[2386],{"type":104,"value":2387},"# Invalidate multiple tags\n",{"type":99,"tag":147,"props":2389,"children":2390},{"class":149,"line":473},[2391,2395,2399,2403,2407],{"type":99,"tag":147,"props":2392,"children":2393},{"style":154},[2394],{"type":104,"value":14},{"type":99,"tag":147,"props":2396,"children":2397},{"style":160},[2398],{"type":104,"value":2211},{"type":99,"tag":147,"props":2400,"children":2401},{"style":160},[2402],{"type":104,"value":2362},{"type":99,"tag":147,"props":2404,"children":2405},{"style":160},[2406],{"type":104,"value":2367},{"type":99,"tag":147,"props":2408,"children":2409},{"style":160},[2410],{"type":104,"value":2411}," blog-posts,user-profiles,homepage\n",{"type":99,"tag":147,"props":2413,"children":2414},{"class":149,"line":481},[2415],{"type":99,"tag":147,"props":2416,"children":2417},{"emptyLinePlaceholder":314},[2418],{"type":104,"value":317},{"type":99,"tag":147,"props":2420,"children":2421},{"class":149,"line":490},[2422],{"type":99,"tag":147,"props":2423,"children":2424},{"style":295},[2425],{"type":104,"value":2426},"# Hard delete by tag (blocks until revalidated — use with caution)\n",{"type":99,"tag":147,"props":2428,"children":2429},{"class":149,"line":525},[2430,2434,2438,2443,2447],{"type":99,"tag":147,"props":2431,"children":2432},{"style":154},[2433],{"type":104,"value":14},{"type":99,"tag":147,"props":2435,"children":2436},{"style":160},[2437],{"type":104,"value":2211},{"type":99,"tag":147,"props":2439,"children":2440},{"style":160},[2441],{"type":104,"value":2442}," dangerously-delete",{"type":99,"tag":147,"props":2444,"children":2445},{"style":160},[2446],{"type":104,"value":2367},{"type":99,"tag":147,"props":2448,"children":2449},{"style":160},[2450],{"type":104,"value":2372},{"type":99,"tag":147,"props":2452,"children":2453},{"class":149,"line":533},[2454],{"type":99,"tag":147,"props":2455,"children":2456},{"emptyLinePlaceholder":314},[2457],{"type":104,"value":317},{"type":99,"tag":147,"props":2459,"children":2460},{"class":149,"line":542},[2461],{"type":99,"tag":147,"props":2462,"children":2463},{"style":295},[2464],{"type":104,"value":2465},"# Hard delete with revalidation deadline (deletes only if not accessed within N seconds)\n",{"type":99,"tag":147,"props":2467,"children":2468},{"class":149,"line":1636},[2469,2473,2477,2481,2485,2490,2495],{"type":99,"tag":147,"props":2470,"children":2471},{"style":154},[2472],{"type":104,"value":14},{"type":99,"tag":147,"props":2474,"children":2475},{"style":160},[2476],{"type":104,"value":2211},{"type":99,"tag":147,"props":2478,"children":2479},{"style":160},[2480],{"type":104,"value":2442},{"type":99,"tag":147,"props":2482,"children":2483},{"style":160},[2484],{"type":104,"value":2367},{"type":99,"tag":147,"props":2486,"children":2487},{"style":160},[2488],{"type":104,"value":2489}," blog-posts",{"type":99,"tag":147,"props":2491,"children":2492},{"style":160},[2493],{"type":104,"value":2494}," --revalidation-deadline-seconds",{"type":99,"tag":147,"props":2496,"children":2497},{"style":2102},[2498],{"type":104,"value":2499}," 3600\n",{"type":99,"tag":147,"props":2501,"children":2502},{"class":149,"line":1644},[2503],{"type":99,"tag":147,"props":2504,"children":2505},{"emptyLinePlaceholder":314},[2506],{"type":104,"value":317},{"type":99,"tag":147,"props":2508,"children":2509},{"class":149,"line":1653},[2510],{"type":99,"tag":147,"props":2511,"children":2512},{"style":295},[2513],{"type":104,"value":2514},"# Invalidate cached image transformations by source path\n",{"type":99,"tag":147,"props":2516,"children":2517},{"class":149,"line":1686},[2518,2522,2526,2530,2535],{"type":99,"tag":147,"props":2519,"children":2520},{"style":154},[2521],{"type":104,"value":14},{"type":99,"tag":147,"props":2523,"children":2524},{"style":160},[2525],{"type":104,"value":2211},{"type":99,"tag":147,"props":2527,"children":2528},{"style":160},[2529],{"type":104,"value":2362},{"type":99,"tag":147,"props":2531,"children":2532},{"style":160},[2533],{"type":104,"value":2534}," --srcimg",{"type":99,"tag":147,"props":2536,"children":2537},{"style":160},[2538],{"type":104,"value":2539}," \u002Fapi\u002Favatar\u002F1\n",{"type":99,"tag":147,"props":2541,"children":2542},{"class":149,"line":1694},[2543],{"type":99,"tag":147,"props":2544,"children":2545},{"emptyLinePlaceholder":314},[2546],{"type":104,"value":317},{"type":99,"tag":147,"props":2548,"children":2549},{"class":149,"line":1703},[2550],{"type":99,"tag":147,"props":2551,"children":2552},{"style":295},[2553],{"type":104,"value":2554},"# Hard delete cached image transformations\n",{"type":99,"tag":147,"props":2556,"children":2557},{"class":149,"line":1758},[2558,2562,2566,2570,2574],{"type":99,"tag":147,"props":2559,"children":2560},{"style":154},[2561],{"type":104,"value":14},{"type":99,"tag":147,"props":2563,"children":2564},{"style":160},[2565],{"type":104,"value":2211},{"type":99,"tag":147,"props":2567,"children":2568},{"style":160},[2569],{"type":104,"value":2442},{"type":99,"tag":147,"props":2571,"children":2572},{"style":160},[2573],{"type":104,"value":2534},{"type":99,"tag":147,"props":2575,"children":2576},{"style":160},[2577],{"type":104,"value":2539},{"type":99,"tag":107,"props":2579,"children":2580},{},[2581,2586,2587,2593,2595,2601,2603,2608],{"type":99,"tag":186,"props":2582,"children":2583},{},[2584],{"type":104,"value":2585},"Key distinction:",{"type":104,"value":1843},{"type":99,"tag":113,"props":2588,"children":2590},{"className":2589},[],[2591],{"type":104,"value":2592},"invalidate",{"type":104,"value":2594}," serves STALE and revalidates in the background. ",{"type":99,"tag":113,"props":2596,"children":2598},{"className":2597},[],[2599],{"type":104,"value":2600},"dangerously-delete",{"type":104,"value":2602}," serves MISS and blocks while revalidating. Prefer ",{"type":99,"tag":113,"props":2604,"children":2606},{"className":2605},[],[2607],{"type":104,"value":2592},{"type":104,"value":2609}," unless you need immediate freshness.",{"type":99,"tag":107,"props":2611,"children":2612},{},[2613,2617,2618,2624,2625,2631],{"type":99,"tag":186,"props":2614,"children":2615},{},[2616],{"type":104,"value":1841},{"type":104,"value":1843},{"type":99,"tag":113,"props":2619,"children":2621},{"className":2620},[],[2622],{"type":104,"value":2623},"--tag",{"type":104,"value":871},{"type":99,"tag":113,"props":2626,"children":2628},{"className":2627},[],[2629],{"type":104,"value":2630},"--srcimg",{"type":104,"value":2632}," cannot be used together.",{"type":99,"tag":279,"props":2634,"children":2636},{"id":2635},"mcp-server-integration",[2637],{"type":104,"value":2638},"MCP Server Integration",{"type":99,"tag":136,"props":2640,"children":2642},{"className":138,"code":2641,"language":140,"meta":141,"style":141},"# Initialize global MCP client configuration for your Vercel account\nvercel mcp\n\n# Set up project-specific MCP access for the linked project\nvercel mcp --project\n",[2643],{"type":99,"tag":113,"props":2644,"children":2645},{"__ignoreMap":141},[2646,2654,2666,2673,2681],{"type":99,"tag":147,"props":2647,"children":2648},{"class":149,"line":150},[2649],{"type":99,"tag":147,"props":2650,"children":2651},{"style":295},[2652],{"type":104,"value":2653},"# Initialize global MCP client configuration for your Vercel account\n",{"type":99,"tag":147,"props":2655,"children":2656},{"class":149,"line":301},[2657,2661],{"type":99,"tag":147,"props":2658,"children":2659},{"style":154},[2660],{"type":104,"value":14},{"type":99,"tag":147,"props":2662,"children":2663},{"style":160},[2664],{"type":104,"value":2665}," mcp\n",{"type":99,"tag":147,"props":2667,"children":2668},{"class":149,"line":310},[2669],{"type":99,"tag":147,"props":2670,"children":2671},{"emptyLinePlaceholder":314},[2672],{"type":104,"value":317},{"type":99,"tag":147,"props":2674,"children":2675},{"class":149,"line":39},[2676],{"type":99,"tag":147,"props":2677,"children":2678},{"style":295},[2679],{"type":104,"value":2680},"# Set up project-specific MCP access for the linked project\n",{"type":99,"tag":147,"props":2682,"children":2683},{"class":149,"line":328},[2684,2688,2693],{"type":99,"tag":147,"props":2685,"children":2686},{"style":154},[2687],{"type":104,"value":14},{"type":99,"tag":147,"props":2689,"children":2690},{"style":160},[2691],{"type":104,"value":2692}," mcp",{"type":99,"tag":147,"props":2694,"children":2695},{"style":160},[2696],{"type":104,"value":2697}," --project\n",{"type":99,"tag":107,"props":2699,"children":2700},{},[2701,2702,2708],{"type":104,"value":1203},{"type":99,"tag":113,"props":2703,"children":2705},{"className":2704},[],[2706],{"type":104,"value":2707},"vercel mcp",{"type":104,"value":2709}," command links your local MCP client configuration to a Vercel Project. It generates connection details so AI agents and tools can call your MCP endpoints deployed on Vercel securely.",{"type":99,"tag":279,"props":2711,"children":2713},{"id":2712},"programmatic-configuration-vercelconfig",[2714,2716,2722],{"type":104,"value":2715},"Programmatic Configuration (",{"type":99,"tag":113,"props":2717,"children":2719},{"className":2718},[],[2720],{"type":104,"value":2721},"@vercel\u002Fconfig",{"type":104,"value":2723},")",{"type":99,"tag":136,"props":2725,"children":2727},{"className":138,"code":2726,"language":140,"meta":141,"style":141},"# Compile vercel.ts to JSON (stdout)\nnpx @vercel\u002Fconfig compile\n\n# Validate configuration and show summary\nnpx @vercel\u002Fconfig validate\n\n# Generate vercel.json locally for development\nnpx @vercel\u002Fconfig generate\n",[2728],{"type":99,"tag":113,"props":2729,"children":2730},{"__ignoreMap":141},[2731,2739,2757,2764,2772,2788,2795,2803],{"type":99,"tag":147,"props":2732,"children":2733},{"class":149,"line":150},[2734],{"type":99,"tag":147,"props":2735,"children":2736},{"style":295},[2737],{"type":104,"value":2738},"# Compile vercel.ts to JSON (stdout)\n",{"type":99,"tag":147,"props":2740,"children":2741},{"class":149,"line":301},[2742,2747,2752],{"type":99,"tag":147,"props":2743,"children":2744},{"style":154},[2745],{"type":104,"value":2746},"npx",{"type":99,"tag":147,"props":2748,"children":2749},{"style":160},[2750],{"type":104,"value":2751}," @vercel\u002Fconfig",{"type":99,"tag":147,"props":2753,"children":2754},{"style":160},[2755],{"type":104,"value":2756}," compile\n",{"type":99,"tag":147,"props":2758,"children":2759},{"class":149,"line":310},[2760],{"type":99,"tag":147,"props":2761,"children":2762},{"emptyLinePlaceholder":314},[2763],{"type":104,"value":317},{"type":99,"tag":147,"props":2765,"children":2766},{"class":149,"line":39},[2767],{"type":99,"tag":147,"props":2768,"children":2769},{"style":295},[2770],{"type":104,"value":2771},"# Validate configuration and show summary\n",{"type":99,"tag":147,"props":2773,"children":2774},{"class":149,"line":328},[2775,2779,2783],{"type":99,"tag":147,"props":2776,"children":2777},{"style":154},[2778],{"type":104,"value":2746},{"type":99,"tag":147,"props":2780,"children":2781},{"style":160},[2782],{"type":104,"value":2751},{"type":99,"tag":147,"props":2784,"children":2785},{"style":160},[2786],{"type":104,"value":2787}," validate\n",{"type":99,"tag":147,"props":2789,"children":2790},{"class":149,"line":94},[2791],{"type":99,"tag":147,"props":2792,"children":2793},{"emptyLinePlaceholder":314},[2794],{"type":104,"value":317},{"type":99,"tag":147,"props":2796,"children":2797},{"class":149,"line":348},[2798],{"type":99,"tag":147,"props":2799,"children":2800},{"style":295},[2801],{"type":104,"value":2802},"# Generate vercel.json locally for development\n",{"type":99,"tag":147,"props":2804,"children":2805},{"class":149,"line":357},[2806,2810,2814],{"type":99,"tag":147,"props":2807,"children":2808},{"style":154},[2809],{"type":104,"value":2746},{"type":99,"tag":147,"props":2811,"children":2812},{"style":160},[2813],{"type":104,"value":2751},{"type":99,"tag":147,"props":2815,"children":2816},{"style":160},[2817],{"type":104,"value":2818}," generate\n",{"type":99,"tag":107,"props":2820,"children":2821},{},[2822,2824,2829,2831,2837,2838,2844,2845,2851,2852,2858,2860,2865,2867,2872,2873,2878],{"type":104,"value":2823},"Use ",{"type":99,"tag":113,"props":2825,"children":2827},{"className":2826},[],[2828],{"type":104,"value":45},{"type":104,"value":2830}," (or ",{"type":99,"tag":113,"props":2832,"children":2834},{"className":2833},[],[2835],{"type":104,"value":2836},".js",{"type":104,"value":241},{"type":99,"tag":113,"props":2839,"children":2841},{"className":2840},[],[2842],{"type":104,"value":2843},".mjs",{"type":104,"value":241},{"type":99,"tag":113,"props":2846,"children":2848},{"className":2847},[],[2849],{"type":104,"value":2850},".cjs",{"type":104,"value":241},{"type":99,"tag":113,"props":2853,"children":2855},{"className":2854},[],[2856],{"type":104,"value":2857},".mts",{"type":104,"value":2859},") instead of ",{"type":99,"tag":113,"props":2861,"children":2863},{"className":2862},[],[2864],{"type":104,"value":44},{"type":104,"value":2866}," for type-safe, dynamic project configuration. Only one config file per project — ",{"type":99,"tag":113,"props":2868,"children":2870},{"className":2869},[],[2871],{"type":104,"value":44},{"type":104,"value":119},{"type":99,"tag":113,"props":2874,"children":2876},{"className":2875},[],[2877],{"type":104,"value":45},{"type":104,"value":2879},", not both.",{"type":99,"tag":213,"props":2881,"children":2882},{},[2883],{"type":99,"tag":107,"props":2884,"children":2885},{},[2886,2890,2892,2897,2899,2904],{"type":99,"tag":186,"props":2887,"children":2888},{},[2889],{"type":104,"value":1841},{"type":104,"value":2891}," Legacy ",{"type":99,"tag":113,"props":2893,"children":2895},{"className":2894},[],[2896],{"type":104,"value":48},{"type":104,"value":2898}," support will be removed on March 31, 2026. Rename to ",{"type":99,"tag":113,"props":2900,"children":2902},{"className":2901},[],[2903],{"type":104,"value":44},{"type":104,"value":2905}," (no content changes needed).",{"type":99,"tag":279,"props":2907,"children":2909},{"id":2908},"marketplace-integrations",[2910],{"type":104,"value":2911},"Marketplace Integrations",{"type":99,"tag":107,"props":2913,"children":2914},{},[2915,2917,2923],{"type":104,"value":2916},"Auto-provisioning is the default for ",{"type":99,"tag":113,"props":2918,"children":2920},{"className":2919},[],[2921],{"type":104,"value":2922},"vercel integration add",{"type":104,"value":2924}," — the CLI automatically creates resources and sets environment variables without extra prompts.",{"type":99,"tag":136,"props":2926,"children":2928},{"className":138,"code":2927,"language":140,"meta":141,"style":141},"# List installed integrations\nvercel integration list\n\n# Add an integration (auto-provisions env vars by default)\nvercel integration add neon\n\n# Open an integration's dashboard\nvercel integration open neon\n\n# Remove an integration\nvercel integration remove neon\n",[2929],{"type":99,"tag":113,"props":2930,"children":2931},{"__ignoreMap":141},[2932,2940,2957,2964,2972,2992,2999,3007,3027,3034,3042],{"type":99,"tag":147,"props":2933,"children":2934},{"class":149,"line":150},[2935],{"type":99,"tag":147,"props":2936,"children":2937},{"style":295},[2938],{"type":104,"value":2939},"# List installed integrations\n",{"type":99,"tag":147,"props":2941,"children":2942},{"class":149,"line":301},[2943,2947,2952],{"type":99,"tag":147,"props":2944,"children":2945},{"style":154},[2946],{"type":104,"value":14},{"type":99,"tag":147,"props":2948,"children":2949},{"style":160},[2950],{"type":104,"value":2951}," integration",{"type":99,"tag":147,"props":2953,"children":2954},{"style":160},[2955],{"type":104,"value":2956}," list\n",{"type":99,"tag":147,"props":2958,"children":2959},{"class":149,"line":310},[2960],{"type":99,"tag":147,"props":2961,"children":2962},{"emptyLinePlaceholder":314},[2963],{"type":104,"value":317},{"type":99,"tag":147,"props":2965,"children":2966},{"class":149,"line":39},[2967],{"type":99,"tag":147,"props":2968,"children":2969},{"style":295},[2970],{"type":104,"value":2971},"# Add an integration (auto-provisions env vars by default)\n",{"type":99,"tag":147,"props":2973,"children":2974},{"class":149,"line":328},[2975,2979,2983,2987],{"type":99,"tag":147,"props":2976,"children":2977},{"style":154},[2978],{"type":104,"value":14},{"type":99,"tag":147,"props":2980,"children":2981},{"style":160},[2982],{"type":104,"value":2951},{"type":99,"tag":147,"props":2984,"children":2985},{"style":160},[2986],{"type":104,"value":946},{"type":99,"tag":147,"props":2988,"children":2989},{"style":160},[2990],{"type":104,"value":2991}," neon\n",{"type":99,"tag":147,"props":2993,"children":2994},{"class":149,"line":94},[2995],{"type":99,"tag":147,"props":2996,"children":2997},{"emptyLinePlaceholder":314},[2998],{"type":104,"value":317},{"type":99,"tag":147,"props":3000,"children":3001},{"class":149,"line":348},[3002],{"type":99,"tag":147,"props":3003,"children":3004},{"style":295},[3005],{"type":104,"value":3006},"# Open an integration's dashboard\n",{"type":99,"tag":147,"props":3008,"children":3009},{"class":149,"line":357},[3010,3014,3018,3023],{"type":99,"tag":147,"props":3011,"children":3012},{"style":154},[3013],{"type":104,"value":14},{"type":99,"tag":147,"props":3015,"children":3016},{"style":160},[3017],{"type":104,"value":2951},{"type":99,"tag":147,"props":3019,"children":3020},{"style":160},[3021],{"type":104,"value":3022}," open",{"type":99,"tag":147,"props":3024,"children":3025},{"style":160},[3026],{"type":104,"value":2991},{"type":99,"tag":147,"props":3028,"children":3029},{"class":149,"line":370},[3030],{"type":99,"tag":147,"props":3031,"children":3032},{"emptyLinePlaceholder":314},[3033],{"type":104,"value":317},{"type":99,"tag":147,"props":3035,"children":3036},{"class":149,"line":388},[3037],{"type":99,"tag":147,"props":3038,"children":3039},{"style":295},[3040],{"type":104,"value":3041},"# Remove an integration\n",{"type":99,"tag":147,"props":3043,"children":3044},{"class":149,"line":396},[3045,3049,3053,3058],{"type":99,"tag":147,"props":3046,"children":3047},{"style":154},[3048],{"type":104,"value":14},{"type":99,"tag":147,"props":3050,"children":3051},{"style":160},[3052],{"type":104,"value":2951},{"type":99,"tag":147,"props":3054,"children":3055},{"style":160},[3056],{"type":104,"value":3057}," remove",{"type":99,"tag":147,"props":3059,"children":3060},{"style":160},[3061],{"type":104,"value":2991},{"type":99,"tag":3063,"props":3064,"children":3066},"h4",{"id":3065},"agent-optimized-discover-and-guide",[3067,3069,3075,3076],{"type":104,"value":3068},"Agent-Optimized: ",{"type":99,"tag":113,"props":3070,"children":3072},{"className":3071},[],[3073],{"type":104,"value":3074},"discover",{"type":104,"value":871},{"type":99,"tag":113,"props":3077,"children":3079},{"className":3078},[],[3080],{"type":104,"value":3081},"guide",{"type":99,"tag":107,"props":3083,"children":3084},{},[3085],{"type":104,"value":3086},"AI agents can autonomously discover, install, and retrieve setup instructions for Marketplace integrations (added March 2026):",{"type":99,"tag":136,"props":3088,"children":3090},{"className":138,"code":3089,"language":140,"meta":141,"style":141},"# Search the integration catalog (returns JSON for automation)\nvercel integration discover --format=json\n\n# Search with a keyword filter\nvercel integration discover database --format=json\n\n# Get agent-friendly setup guide with code snippets\nvercel integration guide neon\n\n# Full workflow: discover → add → guide\nvercel integration discover storage --format=json\nvercel integration add neon\nvercel integration guide neon\n",[3091],{"type":99,"tag":113,"props":3092,"children":3093},{"__ignoreMap":141},[3094,3102,3123,3130,3138,3162,3169,3177,3197,3204,3212,3236,3255],{"type":99,"tag":147,"props":3095,"children":3096},{"class":149,"line":150},[3097],{"type":99,"tag":147,"props":3098,"children":3099},{"style":295},[3100],{"type":104,"value":3101},"# Search the integration catalog (returns JSON for automation)\n",{"type":99,"tag":147,"props":3103,"children":3104},{"class":149,"line":301},[3105,3109,3113,3118],{"type":99,"tag":147,"props":3106,"children":3107},{"style":154},[3108],{"type":104,"value":14},{"type":99,"tag":147,"props":3110,"children":3111},{"style":160},[3112],{"type":104,"value":2951},{"type":99,"tag":147,"props":3114,"children":3115},{"style":160},[3116],{"type":104,"value":3117}," discover",{"type":99,"tag":147,"props":3119,"children":3120},{"style":160},[3121],{"type":104,"value":3122}," --format=json\n",{"type":99,"tag":147,"props":3124,"children":3125},{"class":149,"line":310},[3126],{"type":99,"tag":147,"props":3127,"children":3128},{"emptyLinePlaceholder":314},[3129],{"type":104,"value":317},{"type":99,"tag":147,"props":3131,"children":3132},{"class":149,"line":39},[3133],{"type":99,"tag":147,"props":3134,"children":3135},{"style":295},[3136],{"type":104,"value":3137},"# Search with a keyword filter\n",{"type":99,"tag":147,"props":3139,"children":3140},{"class":149,"line":328},[3141,3145,3149,3153,3158],{"type":99,"tag":147,"props":3142,"children":3143},{"style":154},[3144],{"type":104,"value":14},{"type":99,"tag":147,"props":3146,"children":3147},{"style":160},[3148],{"type":104,"value":2951},{"type":99,"tag":147,"props":3150,"children":3151},{"style":160},[3152],{"type":104,"value":3117},{"type":99,"tag":147,"props":3154,"children":3155},{"style":160},[3156],{"type":104,"value":3157}," database",{"type":99,"tag":147,"props":3159,"children":3160},{"style":160},[3161],{"type":104,"value":3122},{"type":99,"tag":147,"props":3163,"children":3164},{"class":149,"line":94},[3165],{"type":99,"tag":147,"props":3166,"children":3167},{"emptyLinePlaceholder":314},[3168],{"type":104,"value":317},{"type":99,"tag":147,"props":3170,"children":3171},{"class":149,"line":348},[3172],{"type":99,"tag":147,"props":3173,"children":3174},{"style":295},[3175],{"type":104,"value":3176},"# Get agent-friendly setup guide with code snippets\n",{"type":99,"tag":147,"props":3178,"children":3179},{"class":149,"line":357},[3180,3184,3188,3193],{"type":99,"tag":147,"props":3181,"children":3182},{"style":154},[3183],{"type":104,"value":14},{"type":99,"tag":147,"props":3185,"children":3186},{"style":160},[3187],{"type":104,"value":2951},{"type":99,"tag":147,"props":3189,"children":3190},{"style":160},[3191],{"type":104,"value":3192}," guide",{"type":99,"tag":147,"props":3194,"children":3195},{"style":160},[3196],{"type":104,"value":2991},{"type":99,"tag":147,"props":3198,"children":3199},{"class":149,"line":370},[3200],{"type":99,"tag":147,"props":3201,"children":3202},{"emptyLinePlaceholder":314},[3203],{"type":104,"value":317},{"type":99,"tag":147,"props":3205,"children":3206},{"class":149,"line":388},[3207],{"type":99,"tag":147,"props":3208,"children":3209},{"style":295},[3210],{"type":104,"value":3211},"# Full workflow: discover → add → guide\n",{"type":99,"tag":147,"props":3213,"children":3214},{"class":149,"line":396},[3215,3219,3223,3227,3232],{"type":99,"tag":147,"props":3216,"children":3217},{"style":154},[3218],{"type":104,"value":14},{"type":99,"tag":147,"props":3220,"children":3221},{"style":160},[3222],{"type":104,"value":2951},{"type":99,"tag":147,"props":3224,"children":3225},{"style":160},[3226],{"type":104,"value":3117},{"type":99,"tag":147,"props":3228,"children":3229},{"style":160},[3230],{"type":104,"value":3231}," storage",{"type":99,"tag":147,"props":3233,"children":3234},{"style":160},[3235],{"type":104,"value":3122},{"type":99,"tag":147,"props":3237,"children":3238},{"class":149,"line":405},[3239,3243,3247,3251],{"type":99,"tag":147,"props":3240,"children":3241},{"style":154},[3242],{"type":104,"value":14},{"type":99,"tag":147,"props":3244,"children":3245},{"style":160},[3246],{"type":104,"value":2951},{"type":99,"tag":147,"props":3248,"children":3249},{"style":160},[3250],{"type":104,"value":946},{"type":99,"tag":147,"props":3252,"children":3253},{"style":160},[3254],{"type":104,"value":2991},{"type":99,"tag":147,"props":3256,"children":3257},{"class":149,"line":422},[3258,3262,3266,3270],{"type":99,"tag":147,"props":3259,"children":3260},{"style":154},[3261],{"type":104,"value":14},{"type":99,"tag":147,"props":3263,"children":3264},{"style":160},[3265],{"type":104,"value":2951},{"type":99,"tag":147,"props":3267,"children":3268},{"style":160},[3269],{"type":104,"value":3192},{"type":99,"tag":147,"props":3271,"children":3272},{"style":160},[3273],{"type":104,"value":2991},{"type":99,"tag":3275,"props":3276,"children":3277},"ul",{},[3278,3297,3308],{"type":99,"tag":3279,"props":3280,"children":3281},"li",{},[3282,3287,3289,3295],{"type":99,"tag":113,"props":3283,"children":3285},{"className":3284},[],[3286],{"type":104,"value":3074},{"type":104,"value":3288}," — Searches the Vercel Marketplace catalog. Use ",{"type":99,"tag":113,"props":3290,"children":3292},{"className":3291},[],[3293],{"type":104,"value":3294},"--format=json",{"type":104,"value":3296}," for non-interactive output suitable for scripting and agent pipelines.",{"type":99,"tag":3279,"props":3298,"children":3299},{},[3300,3306],{"type":99,"tag":113,"props":3301,"children":3303},{"className":3302},[],[3304],{"type":104,"value":3305},"guide \u003Cname>",{"type":104,"value":3307}," — Returns getting-started documentation in agent-friendly markdown: environment variables, SDK setup, and code snippets.",{"type":99,"tag":3279,"props":3309,"children":3310},{},[3311],{"type":104,"value":3312},"Human-in-the-loop safety: the CLI prompts for developer confirmation when accepting Terms of Service.",{"type":99,"tag":213,"props":3314,"children":3315},{},[3316],{"type":99,"tag":107,"props":3317,"children":3318},{},[3319,3321,3326,3327,3332,3333,3339,3340,3346,3348,3354,3356,3362,3363,3369,3370,3376],{"type":104,"value":3320},"Full subcommands: ",{"type":99,"tag":113,"props":3322,"children":3324},{"className":3323},[],[3325],{"type":104,"value":3074},{"type":104,"value":241},{"type":99,"tag":113,"props":3328,"children":3330},{"className":3329},[],[3331],{"type":104,"value":3081},{"type":104,"value":241},{"type":99,"tag":113,"props":3334,"children":3336},{"className":3335},[],[3337],{"type":104,"value":3338},"add",{"type":104,"value":241},{"type":99,"tag":113,"props":3341,"children":3343},{"className":3342},[],[3344],{"type":104,"value":3345},"list",{"type":104,"value":3347}," (alias ",{"type":99,"tag":113,"props":3349,"children":3351},{"className":3350},[],[3352],{"type":104,"value":3353},"ls",{"type":104,"value":3355},"), ",{"type":99,"tag":113,"props":3357,"children":3359},{"className":3358},[],[3360],{"type":104,"value":3361},"balance",{"type":104,"value":241},{"type":99,"tag":113,"props":3364,"children":3366},{"className":3365},[],[3367],{"type":104,"value":3368},"open",{"type":104,"value":241},{"type":99,"tag":113,"props":3371,"children":3373},{"className":3372},[],[3374],{"type":104,"value":3375},"remove",{"type":104,"value":879},{"type":99,"tag":279,"props":3378,"children":3380},{"id":3379},"project-level-routing-no-redeploy",[3381],{"type":104,"value":3382},"Project-Level Routing (No Redeploy)",{"type":99,"tag":107,"props":3384,"children":3385},{},[3386],{"type":104,"value":3387},"Create and update routing rules — headers, rewrites, redirects — without building a new deployment. Rules take effect instantly.",{"type":99,"tag":107,"props":3389,"children":3390},{},[3391],{"type":104,"value":3392},"Available via dashboard (CDN tab), API, CLI, and Vercel SDK. Project-level routes run after bulk redirects and before deployment config routes.",{"type":99,"tag":279,"props":3394,"children":3396},{"id":3395},"feature-flags",[3397],{"type":104,"value":3398},"Feature Flags",{"type":99,"tag":136,"props":3400,"children":3402},{"className":138,"code":3401,"language":140,"meta":141,"style":141},"# Create a feature flag\nvercel flags add redesigned-checkout --kind boolean --description \"New checkout flow\"\n\n# List SDK keys\nvercel flags sdk-keys ls\n\n# Enable\u002Fdisable, archive, and manage flags from CLI\nvercel flags --help\n",[3403],{"type":99,"tag":113,"props":3404,"children":3405},{"__ignoreMap":141},[3406,3414,3463,3470,3478,3498,3505,3513],{"type":99,"tag":147,"props":3407,"children":3408},{"class":149,"line":150},[3409],{"type":99,"tag":147,"props":3410,"children":3411},{"style":295},[3412],{"type":104,"value":3413},"# Create a feature flag\n",{"type":99,"tag":147,"props":3415,"children":3416},{"class":149,"line":301},[3417,3421,3426,3430,3435,3440,3445,3450,3454,3459],{"type":99,"tag":147,"props":3418,"children":3419},{"style":154},[3420],{"type":104,"value":14},{"type":99,"tag":147,"props":3422,"children":3423},{"style":160},[3424],{"type":104,"value":3425}," flags",{"type":99,"tag":147,"props":3427,"children":3428},{"style":160},[3429],{"type":104,"value":946},{"type":99,"tag":147,"props":3431,"children":3432},{"style":160},[3433],{"type":104,"value":3434}," redesigned-checkout",{"type":99,"tag":147,"props":3436,"children":3437},{"style":160},[3438],{"type":104,"value":3439}," --kind",{"type":99,"tag":147,"props":3441,"children":3442},{"style":160},[3443],{"type":104,"value":3444}," boolean",{"type":99,"tag":147,"props":3446,"children":3447},{"style":160},[3448],{"type":104,"value":3449}," --description",{"type":99,"tag":147,"props":3451,"children":3452},{"style":503},[3453],{"type":104,"value":1623},{"type":99,"tag":147,"props":3455,"children":3456},{"style":160},[3457],{"type":104,"value":3458},"New checkout flow",{"type":99,"tag":147,"props":3460,"children":3461},{"style":503},[3462],{"type":104,"value":1633},{"type":99,"tag":147,"props":3464,"children":3465},{"class":149,"line":310},[3466],{"type":99,"tag":147,"props":3467,"children":3468},{"emptyLinePlaceholder":314},[3469],{"type":104,"value":317},{"type":99,"tag":147,"props":3471,"children":3472},{"class":149,"line":39},[3473],{"type":99,"tag":147,"props":3474,"children":3475},{"style":295},[3476],{"type":104,"value":3477},"# List SDK keys\n",{"type":99,"tag":147,"props":3479,"children":3480},{"class":149,"line":328},[3481,3485,3489,3494],{"type":99,"tag":147,"props":3482,"children":3483},{"style":154},[3484],{"type":104,"value":14},{"type":99,"tag":147,"props":3486,"children":3487},{"style":160},[3488],{"type":104,"value":3425},{"type":99,"tag":147,"props":3490,"children":3491},{"style":160},[3492],{"type":104,"value":3493}," sdk-keys",{"type":99,"tag":147,"props":3495,"children":3496},{"style":160},[3497],{"type":104,"value":915},{"type":99,"tag":147,"props":3499,"children":3500},{"class":149,"line":94},[3501],{"type":99,"tag":147,"props":3502,"children":3503},{"emptyLinePlaceholder":314},[3504],{"type":104,"value":317},{"type":99,"tag":147,"props":3506,"children":3507},{"class":149,"line":348},[3508],{"type":99,"tag":147,"props":3509,"children":3510},{"style":295},[3511],{"type":104,"value":3512},"# Enable\u002Fdisable, archive, and manage flags from CLI\n",{"type":99,"tag":147,"props":3514,"children":3515},{"class":149,"line":357},[3516,3520,3524],{"type":99,"tag":147,"props":3517,"children":3518},{"style":154},[3519],{"type":104,"value":14},{"type":99,"tag":147,"props":3521,"children":3522},{"style":160},[3523],{"type":104,"value":3425},{"type":99,"tag":147,"props":3525,"children":3526},{"style":160},[3527],{"type":104,"value":3528}," --help\n",{"type":99,"tag":107,"props":3530,"children":3531},{},[3532,3534,3540],{"type":104,"value":3533},"See ",{"type":99,"tag":113,"props":3535,"children":3537},{"className":3536},[],[3538],{"type":104,"value":3539},"⤳ skill: vercel-flags",{"type":104,"value":3541}," for full flag configuration and adapter patterns.",{"type":99,"tag":279,"props":3543,"children":3545},{"id":3544},"direct-api-access",[3546],{"type":104,"value":3547},"Direct API Access",{"type":99,"tag":107,"props":3549,"children":3550},{},[3551,3552,3558],{"type":104,"value":1203},{"type":99,"tag":113,"props":3553,"children":3555},{"className":3554},[],[3556],{"type":104,"value":3557},"vercel api",{"type":104,"value":3559}," command (added January 2026) gives direct access to the full Vercel REST API from the terminal. Designed for AI agents — call Vercel APIs with no additional configuration.",{"type":99,"tag":136,"props":3561,"children":3563},{"className":138,"code":3562,"language":140,"meta":141,"style":141},"# Call any Vercel REST API endpoint\nvercel api GET \u002Fv9\u002Fprojects\nvercel api GET \u002Fv13\u002Fdeployments\nvercel api POST \u002Fv9\u002Fprojects\u002F:id\u002Fenv --body '{\"key\":\"MY_VAR\",\"value\":\"val\",\"target\":[\"production\"]}'\n\n# Pipe JSON output to jq\nvercel api GET \u002Fv9\u002Fprojects | jq '.[].name'\n",[3564],{"type":99,"tag":113,"props":3565,"children":3566},{"__ignoreMap":141},[3567,3575,3597,3617,3658,3665,3673],{"type":99,"tag":147,"props":3568,"children":3569},{"class":149,"line":150},[3570],{"type":99,"tag":147,"props":3571,"children":3572},{"style":295},[3573],{"type":104,"value":3574},"# Call any Vercel REST API endpoint\n",{"type":99,"tag":147,"props":3576,"children":3577},{"class":149,"line":301},[3578,3582,3587,3592],{"type":99,"tag":147,"props":3579,"children":3580},{"style":154},[3581],{"type":104,"value":14},{"type":99,"tag":147,"props":3583,"children":3584},{"style":160},[3585],{"type":104,"value":3586}," api",{"type":99,"tag":147,"props":3588,"children":3589},{"style":160},[3590],{"type":104,"value":3591}," GET",{"type":99,"tag":147,"props":3593,"children":3594},{"style":160},[3595],{"type":104,"value":3596}," \u002Fv9\u002Fprojects\n",{"type":99,"tag":147,"props":3598,"children":3599},{"class":149,"line":310},[3600,3604,3608,3612],{"type":99,"tag":147,"props":3601,"children":3602},{"style":154},[3603],{"type":104,"value":14},{"type":99,"tag":147,"props":3605,"children":3606},{"style":160},[3607],{"type":104,"value":3586},{"type":99,"tag":147,"props":3609,"children":3610},{"style":160},[3611],{"type":104,"value":3591},{"type":99,"tag":147,"props":3613,"children":3614},{"style":160},[3615],{"type":104,"value":3616}," \u002Fv13\u002Fdeployments\n",{"type":99,"tag":147,"props":3618,"children":3619},{"class":149,"line":39},[3620,3624,3628,3633,3638,3643,3648,3653],{"type":99,"tag":147,"props":3621,"children":3622},{"style":154},[3623],{"type":104,"value":14},{"type":99,"tag":147,"props":3625,"children":3626},{"style":160},[3627],{"type":104,"value":3586},{"type":99,"tag":147,"props":3629,"children":3630},{"style":160},[3631],{"type":104,"value":3632}," POST",{"type":99,"tag":147,"props":3634,"children":3635},{"style":160},[3636],{"type":104,"value":3637}," \u002Fv9\u002Fprojects\u002F:id\u002Fenv",{"type":99,"tag":147,"props":3639,"children":3640},{"style":160},[3641],{"type":104,"value":3642}," --body",{"type":99,"tag":147,"props":3644,"children":3645},{"style":503},[3646],{"type":104,"value":3647}," '",{"type":99,"tag":147,"props":3649,"children":3650},{"style":160},[3651],{"type":104,"value":3652},"{\"key\":\"MY_VAR\",\"value\":\"val\",\"target\":[\"production\"]}",{"type":99,"tag":147,"props":3654,"children":3655},{"style":503},[3656],{"type":104,"value":3657},"'\n",{"type":99,"tag":147,"props":3659,"children":3660},{"class":149,"line":328},[3661],{"type":99,"tag":147,"props":3662,"children":3663},{"emptyLinePlaceholder":314},[3664],{"type":104,"value":317},{"type":99,"tag":147,"props":3666,"children":3667},{"class":149,"line":94},[3668],{"type":99,"tag":147,"props":3669,"children":3670},{"style":295},[3671],{"type":104,"value":3672},"# Pipe JSON output to jq\n",{"type":99,"tag":147,"props":3674,"children":3675},{"class":149,"line":348},[3676,3680,3684,3688,3693,3698,3703,3707,3712],{"type":99,"tag":147,"props":3677,"children":3678},{"style":154},[3679],{"type":104,"value":14},{"type":99,"tag":147,"props":3681,"children":3682},{"style":160},[3683],{"type":104,"value":3586},{"type":99,"tag":147,"props":3685,"children":3686},{"style":160},[3687],{"type":104,"value":3591},{"type":99,"tag":147,"props":3689,"children":3690},{"style":160},[3691],{"type":104,"value":3692}," \u002Fv9\u002Fprojects",{"type":99,"tag":147,"props":3694,"children":3695},{"style":503},[3696],{"type":104,"value":3697}," |",{"type":99,"tag":147,"props":3699,"children":3700},{"style":154},[3701],{"type":104,"value":3702}," jq",{"type":99,"tag":147,"props":3704,"children":3705},{"style":503},[3706],{"type":104,"value":3647},{"type":99,"tag":147,"props":3708,"children":3709},{"style":160},[3710],{"type":104,"value":3711},".[].name",{"type":99,"tag":147,"props":3713,"children":3714},{"style":503},[3715],{"type":104,"value":3657},{"type":99,"tag":279,"props":3717,"children":3719},{"id":3718},"metrics",[3720],{"type":104,"value":3721},"Metrics",{"type":99,"tag":136,"props":3723,"children":3725},{"className":138,"code":3724,"language":140,"meta":141,"style":141},"# Query project metrics (rich text output with sparklines)\nvercel metrics\n\n# Raw values for scripting\nvercel metrics --raw-values\n",[3726],{"type":99,"tag":113,"props":3727,"children":3728},{"__ignoreMap":141},[3729,3737,3749,3756,3764],{"type":99,"tag":147,"props":3730,"children":3731},{"class":149,"line":150},[3732],{"type":99,"tag":147,"props":3733,"children":3734},{"style":295},[3735],{"type":104,"value":3736},"# Query project metrics (rich text output with sparklines)\n",{"type":99,"tag":147,"props":3738,"children":3739},{"class":149,"line":301},[3740,3744],{"type":99,"tag":147,"props":3741,"children":3742},{"style":154},[3743],{"type":104,"value":14},{"type":99,"tag":147,"props":3745,"children":3746},{"style":160},[3747],{"type":104,"value":3748}," metrics\n",{"type":99,"tag":147,"props":3750,"children":3751},{"class":149,"line":310},[3752],{"type":99,"tag":147,"props":3753,"children":3754},{"emptyLinePlaceholder":314},[3755],{"type":104,"value":317},{"type":99,"tag":147,"props":3757,"children":3758},{"class":149,"line":39},[3759],{"type":99,"tag":147,"props":3760,"children":3761},{"style":295},[3762],{"type":104,"value":3763},"# Raw values for scripting\n",{"type":99,"tag":147,"props":3765,"children":3766},{"class":149,"line":328},[3767,3771,3776],{"type":99,"tag":147,"props":3768,"children":3769},{"style":154},[3770],{"type":104,"value":14},{"type":99,"tag":147,"props":3772,"children":3773},{"style":160},[3774],{"type":104,"value":3775}," metrics",{"type":99,"tag":147,"props":3777,"children":3778},{"style":160},[3779],{"type":104,"value":3780}," --raw-values\n",{"type":99,"tag":129,"props":3782,"children":3784},{"id":3783},"cicd-integration",[3785],{"type":104,"value":3786},"CI\u002FCD Integration",{"type":99,"tag":107,"props":3788,"children":3789},{},[3790],{"type":104,"value":3791},"Required environment variables for CI:",{"type":99,"tag":136,"props":3793,"children":3795},{"className":138,"code":3794,"language":140,"meta":141,"style":141},"VERCEL_TOKEN=\u003Cyour-token>\nVERCEL_ORG_ID=\u003Corg-id>\nVERCEL_PROJECT_ID=\u003Cproject-id>\n",[3796],{"type":99,"tag":113,"props":3797,"children":3798},{"__ignoreMap":141},[3799,3821,3842],{"type":99,"tag":147,"props":3800,"children":3801},{"class":149,"line":150},[3802,3807,3812,3817],{"type":99,"tag":147,"props":3803,"children":3804},{"style":514},[3805],{"type":104,"value":3806},"VERCEL_TOKEN",{"type":99,"tag":147,"props":3808,"children":3809},{"style":503},[3810],{"type":104,"value":3811},"=\u003C",{"type":99,"tag":147,"props":3813,"children":3814},{"style":160},[3815],{"type":104,"value":3816},"your-token",{"type":99,"tag":147,"props":3818,"children":3819},{"style":503},[3820],{"type":104,"value":522},{"type":99,"tag":147,"props":3822,"children":3823},{"class":149,"line":301},[3824,3829,3833,3838],{"type":99,"tag":147,"props":3825,"children":3826},{"style":514},[3827],{"type":104,"value":3828},"VERCEL_ORG_ID",{"type":99,"tag":147,"props":3830,"children":3831},{"style":503},[3832],{"type":104,"value":3811},{"type":99,"tag":147,"props":3834,"children":3835},{"style":160},[3836],{"type":104,"value":3837},"org-id",{"type":99,"tag":147,"props":3839,"children":3840},{"style":503},[3841],{"type":104,"value":522},{"type":99,"tag":147,"props":3843,"children":3844},{"class":149,"line":310},[3845,3850,3854,3859],{"type":99,"tag":147,"props":3846,"children":3847},{"style":514},[3848],{"type":104,"value":3849},"VERCEL_PROJECT_ID",{"type":99,"tag":147,"props":3851,"children":3852},{"style":503},[3853],{"type":104,"value":3811},{"type":99,"tag":147,"props":3855,"children":3856},{"style":160},[3857],{"type":104,"value":3858},"project-id",{"type":99,"tag":147,"props":3860,"children":3861},{"style":503},[3862],{"type":104,"value":522},{"type":99,"tag":279,"props":3864,"children":3866},{"id":3865},"github-actions-example",[3867],{"type":104,"value":3868},"GitHub Actions Example",{"type":99,"tag":136,"props":3870,"children":3874},{"className":3871,"code":3872,"language":3873,"meta":141,"style":141},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","- name: Deploy to Vercel\n  run: |\n    vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}\n    vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}\n    vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}\n","yaml",[3875],{"type":99,"tag":113,"props":3876,"children":3877},{"__ignoreMap":141},[3878,3902,3920,3928,3936],{"type":99,"tag":147,"props":3879,"children":3880},{"class":149,"line":150},[3881,3886,3892,3897],{"type":99,"tag":147,"props":3882,"children":3883},{"style":503},[3884],{"type":104,"value":3885},"-",{"type":99,"tag":147,"props":3887,"children":3889},{"style":3888},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[3890],{"type":104,"value":3891}," name",{"type":99,"tag":147,"props":3893,"children":3894},{"style":503},[3895],{"type":104,"value":3896},":",{"type":99,"tag":147,"props":3898,"children":3899},{"style":160},[3900],{"type":104,"value":3901}," Deploy to Vercel\n",{"type":99,"tag":147,"props":3903,"children":3904},{"class":149,"line":301},[3905,3910,3914],{"type":99,"tag":147,"props":3906,"children":3907},{"style":3888},[3908],{"type":104,"value":3909},"  run",{"type":99,"tag":147,"props":3911,"children":3912},{"style":503},[3913],{"type":104,"value":3896},{"type":99,"tag":147,"props":3915,"children":3917},{"style":3916},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[3918],{"type":104,"value":3919}," |\n",{"type":99,"tag":147,"props":3921,"children":3922},{"class":149,"line":310},[3923],{"type":99,"tag":147,"props":3924,"children":3925},{"style":160},[3926],{"type":104,"value":3927},"    vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}\n",{"type":99,"tag":147,"props":3929,"children":3930},{"class":149,"line":39},[3931],{"type":99,"tag":147,"props":3932,"children":3933},{"style":160},[3934],{"type":104,"value":3935},"    vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}\n",{"type":99,"tag":147,"props":3937,"children":3938},{"class":149,"line":328},[3939],{"type":99,"tag":147,"props":3940,"children":3941},{"style":160},[3942],{"type":104,"value":3943},"    vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}\n",{"type":99,"tag":129,"props":3945,"children":3947},{"id":3946},"global-options",[3948],{"type":104,"value":3949},"Global Options",{"type":99,"tag":3951,"props":3952,"children":3953},"table",{},[3954,3973],{"type":99,"tag":3955,"props":3956,"children":3957},"thead",{},[3958],{"type":99,"tag":3959,"props":3960,"children":3961},"tr",{},[3962,3968],{"type":99,"tag":3963,"props":3964,"children":3965},"th",{},[3966],{"type":104,"value":3967},"Flag",{"type":99,"tag":3963,"props":3969,"children":3970},{},[3971],{"type":104,"value":3972},"Purpose",{"type":99,"tag":3974,"props":3975,"children":3976},"tbody",{},[3977,3995,4012,4037,4061],{"type":99,"tag":3959,"props":3978,"children":3979},{},[3980,3990],{"type":99,"tag":3981,"props":3982,"children":3983},"td",{},[3984],{"type":99,"tag":113,"props":3985,"children":3987},{"className":3986},[],[3988],{"type":104,"value":3989},"--token",{"type":99,"tag":3981,"props":3991,"children":3992},{},[3993],{"type":104,"value":3994},"Authentication token (for CI)",{"type":99,"tag":3959,"props":3996,"children":3997},{},[3998,4007],{"type":99,"tag":3981,"props":3999,"children":4000},{},[4001],{"type":99,"tag":113,"props":4002,"children":4004},{"className":4003},[],[4005],{"type":104,"value":4006},"--cwd \u003Cdir>",{"type":99,"tag":3981,"props":4008,"children":4009},{},[4010],{"type":104,"value":4011},"Working directory",{"type":99,"tag":3959,"props":4013,"children":4014},{},[4015,4032],{"type":99,"tag":3981,"props":4016,"children":4017},{},[4018,4024,4026],{"type":99,"tag":113,"props":4019,"children":4021},{"className":4020},[],[4022],{"type":104,"value":4023},"--debug",{"type":104,"value":4025}," \u002F ",{"type":99,"tag":113,"props":4027,"children":4029},{"className":4028},[],[4030],{"type":104,"value":4031},"-d",{"type":99,"tag":3981,"props":4033,"children":4034},{},[4035],{"type":104,"value":4036},"Verbose output",{"type":99,"tag":3959,"props":4038,"children":4039},{},[4040,4056],{"type":99,"tag":3981,"props":4041,"children":4042},{},[4043,4049,4050],{"type":99,"tag":113,"props":4044,"children":4046},{"className":4045},[],[4047],{"type":104,"value":4048},"--yes",{"type":104,"value":4025},{"type":99,"tag":113,"props":4051,"children":4053},{"className":4052},[],[4054],{"type":104,"value":4055},"-y",{"type":99,"tag":3981,"props":4057,"children":4058},{},[4059],{"type":104,"value":4060},"Skip confirmation prompts",{"type":99,"tag":3959,"props":4062,"children":4063},{},[4064,4073],{"type":99,"tag":3981,"props":4065,"children":4066},{},[4067],{"type":99,"tag":113,"props":4068,"children":4070},{"className":4069},[],[4071],{"type":104,"value":4072},"--scope \u003Cteam>",{"type":99,"tag":3981,"props":4074,"children":4075},{},[4076],{"type":104,"value":4077},"Execute as a team",{"type":99,"tag":129,"props":4079,"children":4081},{"id":4080},"common-workflows",[4082],{"type":104,"value":4083},"Common Workflows",{"type":99,"tag":279,"props":4085,"children":4087},{"id":4086},"first-time-setup",[4088],{"type":104,"value":4089},"First-Time Setup",{"type":99,"tag":136,"props":4091,"children":4093},{"className":138,"code":4092,"language":140,"meta":141,"style":141},"vercel link          # Connect to Vercel project\nvercel env pull      # Get environment variables\nvercel dev           # Start local dev\n",[4094],{"type":99,"tag":113,"props":4095,"children":4096},{"__ignoreMap":141},[4097,4113,4133],{"type":99,"tag":147,"props":4098,"children":4099},{"class":149,"line":150},[4100,4104,4108],{"type":99,"tag":147,"props":4101,"children":4102},{"style":154},[4103],{"type":104,"value":14},{"type":99,"tag":147,"props":4105,"children":4106},{"style":160},[4107],{"type":104,"value":639},{"type":99,"tag":147,"props":4109,"children":4110},{"style":295},[4111],{"type":104,"value":4112},"          # Connect to Vercel project\n",{"type":99,"tag":147,"props":4114,"children":4115},{"class":149,"line":301},[4116,4120,4124,4128],{"type":99,"tag":147,"props":4117,"children":4118},{"style":154},[4119],{"type":104,"value":14},{"type":99,"tag":147,"props":4121,"children":4122},{"style":160},[4123],{"type":104,"value":910},{"type":99,"tag":147,"props":4125,"children":4126},{"style":160},[4127],{"type":104,"value":745},{"type":99,"tag":147,"props":4129,"children":4130},{"style":295},[4131],{"type":104,"value":4132},"      # Get environment variables\n",{"type":99,"tag":147,"props":4134,"children":4135},{"class":149,"line":310},[4136,4140,4145],{"type":99,"tag":147,"props":4137,"children":4138},{"style":154},[4139],{"type":104,"value":14},{"type":99,"tag":147,"props":4141,"children":4142},{"style":160},[4143],{"type":104,"value":4144}," dev",{"type":99,"tag":147,"props":4146,"children":4147},{"style":295},[4148],{"type":104,"value":4149},"           # Start local dev\n",{"type":99,"tag":279,"props":4151,"children":4153},{"id":4152},"deploy-from-ci",[4154],{"type":104,"value":4155},"Deploy from CI",{"type":99,"tag":136,"props":4157,"children":4159},{"className":138,"code":4158,"language":140,"meta":141,"style":141},"vercel pull --yes --environment=production --token=$TOKEN\nvercel build --prod --token=$TOKEN\nvercel deploy --prebuilt --prod --token=$TOKEN\n",[4160],{"type":99,"tag":113,"props":4161,"children":4162},{"__ignoreMap":141},[4163,4193,4217],{"type":99,"tag":147,"props":4164,"children":4165},{"class":149,"line":150},[4166,4170,4174,4178,4183,4188],{"type":99,"tag":147,"props":4167,"children":4168},{"style":154},[4169],{"type":104,"value":14},{"type":99,"tag":147,"props":4171,"children":4172},{"style":160},[4173],{"type":104,"value":745},{"type":99,"tag":147,"props":4175,"children":4176},{"style":160},[4177],{"type":104,"value":644},{"type":99,"tag":147,"props":4179,"children":4180},{"style":160},[4181],{"type":104,"value":4182}," --environment=production",{"type":99,"tag":147,"props":4184,"children":4185},{"style":160},[4186],{"type":104,"value":4187}," --token=",{"type":99,"tag":147,"props":4189,"children":4190},{"style":514},[4191],{"type":104,"value":4192},"$TOKEN\n",{"type":99,"tag":147,"props":4194,"children":4195},{"class":149,"line":301},[4196,4200,4204,4209,4213],{"type":99,"tag":147,"props":4197,"children":4198},{"style":154},[4199],{"type":104,"value":14},{"type":99,"tag":147,"props":4201,"children":4202},{"style":160},[4203],{"type":104,"value":415},{"type":99,"tag":147,"props":4205,"children":4206},{"style":160},[4207],{"type":104,"value":4208}," --prod",{"type":99,"tag":147,"props":4210,"children":4211},{"style":160},[4212],{"type":104,"value":4187},{"type":99,"tag":147,"props":4214,"children":4215},{"style":514},[4216],{"type":104,"value":4192},{"type":99,"tag":147,"props":4218,"children":4219},{"class":149,"line":310},[4220,4224,4228,4232,4236,4240],{"type":99,"tag":147,"props":4221,"children":4222},{"style":154},[4223],{"type":104,"value":14},{"type":99,"tag":147,"props":4225,"children":4226},{"style":160},[4227],{"type":104,"value":380},{"type":99,"tag":147,"props":4229,"children":4230},{"style":160},[4231],{"type":104,"value":436},{"type":99,"tag":147,"props":4233,"children":4234},{"style":160},[4235],{"type":104,"value":4208},{"type":99,"tag":147,"props":4237,"children":4238},{"style":160},[4239],{"type":104,"value":4187},{"type":99,"tag":147,"props":4241,"children":4242},{"style":514},[4243],{"type":104,"value":4192},{"type":99,"tag":279,"props":4245,"children":4247},{"id":4246},"quick-preview",[4248],{"type":104,"value":4249},"Quick Preview",{"type":99,"tag":136,"props":4251,"children":4253},{"className":138,"code":4252,"language":140,"meta":141,"style":141},"vercel               # Creates preview deployment, returns URL\n",[4254],{"type":99,"tag":113,"props":4255,"children":4256},{"__ignoreMap":141},[4257],{"type":99,"tag":147,"props":4258,"children":4259},{"class":149,"line":150},[4260,4264],{"type":99,"tag":147,"props":4261,"children":4262},{"style":154},[4263],{"type":104,"value":14},{"type":99,"tag":147,"props":4265,"children":4266},{"style":295},[4267],{"type":104,"value":4268},"               # Creates preview deployment, returns URL\n",{"type":99,"tag":129,"props":4270,"children":4272},{"id":4271},"official-documentation",[4273],{"type":104,"value":4274},"Official Documentation",{"type":99,"tag":3275,"props":4276,"children":4277},{},[4278,4288,4297,4307,4317,4327],{"type":99,"tag":3279,"props":4279,"children":4280},{},[4281],{"type":99,"tag":4282,"props":4283,"children":4286},"a",{"href":41,"rel":4284},[4285],"nofollow",[4287],{"type":104,"value":105},{"type":99,"tag":3279,"props":4289,"children":4290},{},[4291],{"type":99,"tag":4282,"props":4292,"children":4295},{"href":4293,"rel":4294},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fcli\u002Fcache",[4285],[4296],{"type":104,"value":2184},{"type":99,"tag":3279,"props":4298,"children":4299},{},[4300],{"type":99,"tag":4282,"props":4301,"children":4304},{"href":4302,"rel":4303},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fcli\u002Fmcp",[4285],[4305],{"type":104,"value":4306},"MCP Integration",{"type":99,"tag":3279,"props":4308,"children":4309},{},[4310],{"type":99,"tag":4282,"props":4311,"children":4314},{"href":4312,"rel":4313},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fdeployments",[4285],[4315],{"type":104,"value":4316},"Deployments",{"type":99,"tag":3279,"props":4318,"children":4319},{},[4320],{"type":99,"tag":4282,"props":4321,"children":4324},{"href":4322,"rel":4323},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Frest-api\u002Freference",[4285],[4325],{"type":104,"value":4326},"REST API",{"type":99,"tag":3279,"props":4328,"children":4329},{},[4330],{"type":99,"tag":4282,"props":4331,"children":4334},{"href":4332,"rel":4333},"https:\u002F\u002Fgithub.com\u002Fvercel\u002Fvercel",[4285],[4335],{"type":104,"value":4336},"GitHub: Vercel CLI",{"type":99,"tag":4338,"props":4339,"children":4340},"style",{},[4341],{"type":104,"value":4342},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":4344,"total":4464},[4345,4364,4380,4392,4412,4432,4452],{"slug":4346,"name":4346,"fn":4347,"description":4348,"org":4349,"tags":4350,"stars":25,"repoUrl":26,"updatedAt":4363},"accessibility-and-inclusive-visualization","make data visualizations accessible","Make data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4351,4354,4357,4360],{"name":4352,"slug":4353,"type":15},"Accessibility","accessibility",{"name":4355,"slug":4356,"type":15},"Charts","charts",{"name":4358,"slug":4359,"type":15},"Data Visualization","data-visualization",{"name":4361,"slug":4362,"type":15},"Design","design","2026-06-30T19:00:57.102",{"slug":4365,"name":4365,"fn":4366,"description":4367,"org":4368,"tags":4369,"stars":25,"repoUrl":26,"updatedAt":4379},"agent-browser","automate browser interactions for agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4370,4373,4376],{"name":4371,"slug":4372,"type":15},"Agents","agents",{"name":4374,"slug":4375,"type":15},"Browser Automation","browser-automation",{"name":4377,"slug":4378,"type":15},"Testing","testing","2026-04-06T18:41:03.44016",{"slug":4381,"name":4381,"fn":4382,"description":4383,"org":4384,"tags":4385,"stars":25,"repoUrl":26,"updatedAt":4391},"agent-browser-verify","verify dev server output with automated browser","Automated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass\u002Ffail before continuing.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4386,4387,4390],{"name":4374,"slug":4375,"type":15},{"name":4388,"slug":4389,"type":15},"Local Development","local-development",{"name":4377,"slug":4378,"type":15},"2026-04-06T18:41:17.526867",{"slug":4393,"name":4393,"fn":4394,"description":4395,"org":4396,"tags":4397,"stars":25,"repoUrl":26,"updatedAt":4411},"agents-sdk","build AI agents on Cloudflare Workers","Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4398,4399,4402,4405,4408],{"name":4371,"slug":4372,"type":15},{"name":4400,"slug":4401,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":4403,"slug":4404,"type":15},"SDK","sdk",{"name":4406,"slug":4407,"type":15},"Serverless","serverless",{"name":4409,"slug":4410,"type":15},"WebSockets","websockets","2026-04-06T18:39:51.717063",{"slug":4413,"name":4413,"fn":4414,"description":4415,"org":4416,"tags":4417,"stars":25,"repoUrl":26,"updatedAt":4431},"ai-elements","build chat UIs with AI Elements","AI Elements component library guidance — pre-built React components for AI interfaces built on shadcn\u002Fui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4418,4421,4424,4427,4430],{"name":4419,"slug":4420,"type":15},"Frontend","frontend",{"name":4422,"slug":4423,"type":15},"React","react",{"name":4425,"slug":4426,"type":15},"shadcn\u002Fui","shadcn-ui",{"name":4428,"slug":4429,"type":15},"UI Components","ui-components",{"name":13,"slug":14,"type":15},"2026-04-06T18:40:59.619419",{"slug":4433,"name":4433,"fn":4434,"description":4435,"org":4436,"tags":4437,"stars":25,"repoUrl":26,"updatedAt":4451},"ai-gateway","configure Vercel AI Gateway","Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4438,4441,4444,4447,4450],{"name":4439,"slug":4440,"type":15},"AI Infrastructure","ai-infrastructure",{"name":4442,"slug":4443,"type":15},"Cost Optimization","cost-optimization",{"name":4445,"slug":4446,"type":15},"LLM","llm",{"name":4448,"slug":4449,"type":15},"Performance","performance",{"name":13,"slug":14,"type":15},"2026-04-06T18:40:44.377464",{"slug":4453,"name":4453,"fn":4454,"description":4455,"org":4456,"tags":4457,"stars":25,"repoUrl":26,"updatedAt":4463},"ai-generation-persistence","implement persistence patterns for AI generations","AI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4458,4459,4462],{"name":4442,"slug":4443,"type":15},{"name":4460,"slug":4461,"type":15},"Database","database",{"name":4445,"slug":4446,"type":15},"2026-04-06T18:41:08.513425",600,{"items":4466,"total":4659},[4467,4488,4511,4528,4542,4557,4576,4588,4602,4616,4628,4643],{"slug":4468,"name":4468,"fn":4469,"description":4470,"org":4471,"tags":4472,"stars":4485,"repoUrl":4486,"updatedAt":4487},"prior-auth-packet-builder","build healthcare prior authorization packets","Build a concise prior authorization packet from local case files and payer policy docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4473,4476,4479,4482],{"name":4474,"slug":4475,"type":15},"Documents","documents",{"name":4477,"slug":4478,"type":15},"Healthcare","healthcare",{"name":4480,"slug":4481,"type":15},"Insurance","insurance",{"name":4483,"slug":4484,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":4489,"name":4489,"fn":4490,"description":4491,"org":4492,"tags":4493,"stars":4508,"repoUrl":4509,"updatedAt":4510},"aspnet-core","build ASP.NET Core web applications","Build, review, refactor, or architect ASP.NET Core web applications using current official guidance for .NET web development. Use when working on Blazor Web Apps, Razor Pages, MVC, Minimal APIs, controller-based Web APIs, SignalR, gRPC, middleware, dependency injection, configuration, authentication, authorization, testing, performance, deployment, or ASP.NET Core upgrades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4494,4497,4499,4502,4505],{"name":4495,"slug":4496,"type":15},".NET","dotnet",{"name":4498,"slug":4489,"type":15},"ASP.NET Core",{"name":4500,"slug":4501,"type":15},"Blazor","blazor",{"name":4503,"slug":4504,"type":15},"C#","csharp",{"name":4506,"slug":4507,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":4512,"name":4512,"fn":4513,"description":4514,"org":4515,"tags":4516,"stars":4508,"repoUrl":4509,"updatedAt":4527},"chatgpt-apps","build ChatGPT Apps SDK applications","Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4517,4520,4523,4526],{"name":4518,"slug":4519,"type":15},"Apps SDK","apps-sdk",{"name":4521,"slug":4522,"type":15},"ChatGPT","chatgpt",{"name":4524,"slug":4525,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":4529,"name":4529,"fn":4530,"description":4531,"org":4532,"tags":4533,"stars":4508,"repoUrl":4509,"updatedAt":4541},"cli-creator","build CLIs from API docs","Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script. Use when the user wants Codex to create a command-line tool that can run from any repo, expose composable read\u002Fwrite commands, return stable JSON, manage auth, and pair with a companion skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4534,4537,4538],{"name":4535,"slug":4536,"type":15},"API Development","api-development",{"name":17,"slug":18,"type":15},{"name":4539,"slug":4540,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":4543,"name":4543,"fn":4544,"description":4545,"org":4546,"tags":4547,"stars":4508,"repoUrl":4509,"updatedAt":4556},"cloudflare-deploy","deploy projects to Cloudflare","Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4548,4551,4554,4555],{"name":4549,"slug":4550,"type":15},"Cloudflare","cloudflare",{"name":4552,"slug":4553,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":4400,"slug":4401,"type":15},{"name":20,"slug":21,"type":15},"2026-04-12T05:07:14.275118",{"slug":4558,"name":4558,"fn":4559,"description":4560,"org":4561,"tags":4562,"stars":4508,"repoUrl":4509,"updatedAt":4575},"define-goal","define and set measurable project goals","Help the user define a concrete, measurable goal before starting work, especially when they ask to use the goal tool, create a goal, set an objective, clarify success criteria, or turn a fuzzy intention into a quantitative outcome. Use this skill for goal creation and goal refinement only; it does not manage durable snapshots, decision logs, or long-running execution artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4563,4566,4569,4572],{"name":4564,"slug":4565,"type":15},"Productivity","productivity",{"name":4567,"slug":4568,"type":15},"Project Management","project-management",{"name":4570,"slug":4571,"type":15},"Strategy","strategy",{"name":4573,"slug":4574,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":4577,"name":4577,"fn":4578,"description":4579,"org":4580,"tags":4581,"stars":4508,"repoUrl":4509,"updatedAt":4587},"figma","translate Figma designs into code","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4582,4583,4585,4586],{"name":4361,"slug":4362,"type":15},{"name":4584,"slug":4577,"type":15},"Figma",{"name":4419,"slug":4420,"type":15},{"name":4524,"slug":4525,"type":15},"2026-04-12T05:06:47.939943",{"slug":4589,"name":4589,"fn":4590,"description":4591,"org":4592,"tags":4593,"stars":4508,"repoUrl":4509,"updatedAt":4601},"figma-code-connect-components","connect Figma designs to code components","Connects Figma design components to code components using Code Connect mapping tools. Use when user says \"code connect\", \"connect this component to code\", \"map this component\", \"link component to code\", \"create code connect mapping\", or wants to establish mappings between Figma designs and code implementations. For canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4594,4595,4598,4599,4600],{"name":4361,"slug":4362,"type":15},{"name":4596,"slug":4597,"type":15},"Design System","design-system",{"name":4584,"slug":4577,"type":15},{"name":4419,"slug":4420,"type":15},{"name":4428,"slug":4429,"type":15},"2026-05-10T05:59:52.971881",{"slug":4603,"name":4603,"fn":4604,"description":4605,"org":4606,"tags":4607,"stars":4508,"repoUrl":4509,"updatedAt":4615},"figma-create-design-system-rules","generate design system rules from Figma","Generates custom design system rules for the user's codebase. Use when user says \"create design system rules\", \"generate rules for my project\", \"set up design rules\", \"customize design system guidelines\", or wants to establish project-specific conventions for Figma-to-code workflows. Requires Figma MCP server connection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4608,4609,4610,4613,4614],{"name":4361,"slug":4362,"type":15},{"name":4596,"slug":4597,"type":15},{"name":4611,"slug":4612,"type":15},"Documentation","documentation",{"name":4584,"slug":4577,"type":15},{"name":4419,"slug":4420,"type":15},"2026-05-16T06:07:47.821474",{"slug":4617,"name":4617,"fn":4618,"description":4619,"org":4620,"tags":4621,"stars":4508,"repoUrl":4509,"updatedAt":4627},"figma-implement-design","translate Figma designs into application code","Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions \"implement design\", \"generate code\", \"implement component\", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4622,4623,4624,4625,4626],{"name":4361,"slug":4362,"type":15},{"name":4584,"slug":4577,"type":15},{"name":4419,"slug":4420,"type":15},{"name":4428,"slug":4429,"type":15},{"name":4506,"slug":4507,"type":15},"2026-05-16T06:07:40.583615",{"slug":4629,"name":4629,"fn":4630,"description":4631,"org":4632,"tags":4633,"stars":4508,"repoUrl":4509,"updatedAt":4642},"hatch-pet","create animated pets for Codex","Create, repair, validate, visually QA, and package Codex-compatible animated pets and pet spritesheets from character art, generated images, company or prospect brand cues, or visual references. Use when a user wants a lightweight-worker Codex pet workflow, a non-pixel custom pet style, a prospect or company mascot pet, or a full 8x9 animated pet atlas with transparent unused cells, QA contact sheets, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4634,4637,4638,4641],{"name":4635,"slug":4636,"type":15},"Animation","animation",{"name":4539,"slug":4540,"type":15},{"name":4639,"slug":4640,"type":15},"Creative","creative",{"name":4361,"slug":4362,"type":15},"2026-05-02T05:31:48.48485",{"slug":4644,"name":4644,"fn":4645,"description":4646,"org":4647,"tags":4648,"stars":4508,"repoUrl":4509,"updatedAt":4658},"imagegen","generate and edit raster images","Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG\u002Fvector\u002Fcode-native assets, extending an established icon or logo system, or building the visual directly in HTML\u002FCSS\u002Fcanvas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4649,4650,4651,4654,4657],{"name":4639,"slug":4640,"type":15},{"name":4361,"slug":4362,"type":15},{"name":4652,"slug":4653,"type":15},"Image Generation","image-generation",{"name":4655,"slug":4656,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675]