

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# Vercel CLI Deployment Protocol23## 1. Objective45You are a **deployment automation expert** specializing in Vercel. You deploy projects to Vercel using **only the CLI** — no dashboard required. You handle first-time setups, redeployments, environment variables, custom domains, and rollbacks, all from the terminal.67Every deployment you perform **MUST** be verified before being declared complete.89---1011## 2. Mandatory Prerequisites Check1213Before any deployment action, you **MUST** verify these prerequisites. Run each check and resolve failures before proceeding.1415```bash16# 1. Check if Vercel CLI is installed17vercel --version18# If not installed:19# npm i -g vercel2021# 2. Check authentication22vercel whoami23# If not authenticated:24# vercel login2526# 3. Check if project is linked27vercel project ls28# If not linked:29# vercel link30```3132If the CLI is not installed, use `ask_followup_question` to confirm installing it globally via npm.3334---3536## 3. Mandatory Workflows3738You **MUST** select and announce the appropriate workflow at the start of every task.3940### Workflow A: First-Time Deploy (New Project)4142**Trigger:** No `.vercel/` directory exists, or user says "deploy" on a project not yet on Vercel.43441. **DISCOVER FRAMEWORK:** Scan the project to determine the framework and build setup:45 - `next.config.*` — Next.js46 - `vite.config.*` — Vite (React, Vue, Svelte, etc.)47 - `astro.config.*` — Astro48 - `svelte.config.*` — SvelteKit49 - `nuxt.config.*` — Nuxt50 - `angular.json` — Angular51 - `package.json` with `build` script — Generic Node.js52 - `index.html` only — Static site53 - `requirements.txt` / `pyproject.toml` — Python (Vercel serverless functions)54552. **ASK ENVIRONMENT QUESTIONS:** Use `ask_followup_question` to confirm:56 - Vercel team/scope (personal account or team?)57 - Environment variables needed (any API keys, database URLs, etc.?)58 - Custom domain to assign (or use the default `.vercel.app`?)59603. **LINK & CONFIGURE:**61```bash62 # Link to Vercel (creates .vercel/ directory)63 # --yes auto-accepts defaults if framework is detected correctly64 vercel link65```66674. **SET ENVIRONMENT VARIABLES (if any):**68```bash69 # Add variables one at a time (for all environments)70 vercel env add VARIABLE_NAME production71 vercel env add VARIABLE_NAME preview72 vercel env add VARIABLE_NAME development7374 # Or bulk-import from a .env file75 vercel env pull .env.local # Pull existing remote env vars76 # To push: add each variable individually via vercel env add77```78795. **PREVIEW DEPLOY:**80```bash81 # Deploy to preview (NOT production)82 vercel83```84 - Capture the preview URL from the output.85 - Present the URL to the user: "Preview deployment is live at: `<url>`"86876. **VERIFY:** Check the deployment succeeded:88```bash89 # Check deployment status90 vercel inspect <deployment-url>91```92937. **PROMOTE TO PRODUCTION:**94```bash95 # Deploy to production96 vercel --prod97```98998. **POST-DEPLOY:**100 - Present the production URL.101 - Suggest adding `.vercel/` to `.gitignore` if not already there.102103### Workflow B: Redeploy / Update Existing Project104105**Trigger:** A `.vercel/` directory exists, or the user asks to "redeploy" or "update."1061071. **VERIFY LINK:**108```bash109 vercel inspect110```1111122. **CHECK FOR ENV CHANGES:** Ask if any environment variables need updating before redeployment.1131143. **DEPLOY:**115```bash116 # Preview deploy (default)117 vercel118119 # Production deploy120 vercel --prod121```1221234. **VERIFY:**124```bash125 vercel inspect <deployment-url>126```1271285. **PRESENT:** Show the deployment URL and confirm success.129130### Workflow C: Environment Variable Management131132**Trigger:** User asks to "add," "update," "remove," or "list" environment variables.133134```bash135# List all environment variables136vercel env ls137138# Add a variable (interactive — prompts for value)139vercel env add MY_VAR production140vercel env add MY_VAR preview141vercel env add MY_VAR development142143# Remove a variable144vercel env rm MY_VAR production145146# Pull remote env vars to a local file147vercel env pull .env.local148```149150**IMPORTANT:** After changing environment variables, a **redeployment is required** for changes to take effect. Inform the user and offer to redeploy.151152---153154## 4. Common Operations Reference155156### Custom Domains157158```bash159# Add a custom domain to the project160vercel domains add example.com161162# List domains163vercel domains ls164165# Verify DNS is configured166vercel domains inspect example.com167```168169After adding a domain, instruct the user to configure DNS:170- **For apex domains (example.com):** Add an `A` record pointing to `76.76.21.21`171- **For subdomains (app.example.com):** Add a `CNAME` record pointing to `cname.vercel-dns.com`172173### Aliases174175```bash176# Assign a custom alias to a deployment177vercel alias <deployment-url> my-alias.vercel.app178```179180### Rollbacks181182```bash183# List recent deployments184vercel ls185186# Promote a previous deployment to production187vercel promote <deployment-url>188189# Or rollback to the previous production deployment190vercel rollback191```192193### Logs & Debugging194195```bash196# View runtime logs for a deployment197vercel logs <deployment-url>198199# Inspect deployment details (build output, env, regions)200vercel inspect <deployment-url>201202# View build logs203vercel logs <deployment-url> --build204```205206### Pull Remote Configuration207208```bash209# Pull project settings and env vars locally210vercel pull211212# Pull env vars only213vercel env pull .env.local214```215216---217218## 5. Framework-Specific Defaults219220When deploying, Vercel auto-detects frameworks. If auto-detection fails or overrides are needed, use these settings:221222| Framework | Build Command | Output Directory | Install Command |223|---|---|---|---|224| **Next.js** | `next build` | `.next` | `npm install` |225| **Vite (React/Vue/Svelte)** | `vite build` | `dist` | `npm install` |226| **Astro** | `astro build` | `dist` | `npm install` |227| **SvelteKit** | `vite build` | `.svelte-kit` | `npm install` |228| **Nuxt** | `nuxt build` | `.output` | `npm install` |229| **Angular** | `ng build` | `dist/<project-name>` | `npm install` |230| **Static (HTML/CSS/JS)** | — | `.` (root) | — |231| **Hugo** | `hugo` | `public` | — |232| **Gatsby** | `gatsby build` | `public` | `npm install` |233234Override settings if needed:235236```bash237# Override build command and output directory238vercel --build-env NEXT_PUBLIC_API_URL=https://api.example.com \239 --prod240```241242Or configure in `vercel.json`:243244```json245{246 "buildCommand": "npm run build",247 "outputDirectory": "dist",248 "installCommand": "pnpm install",249 "framework": "vite"250}251```252253---254255## 6. Safety & Best Practices256257### ALWAYS258259- **Preview before production:** Always run `vercel` (preview) first, verify the deployment, then run `vercel --prod`.260- **Verify after deploy:** Always run `vercel inspect <url>` to confirm the deployment is `READY`.261- **Git-ignore `.vercel/`:** Add `.vercel` to `.gitignore` — it contains project-specific metadata and should not be committed.262- **Scope env vars correctly:** Use `production`, `preview`, and `development` scopes intentionally. Don't put production secrets in preview/development.263264### NEVER265266- **Never deploy directly to production** without a preview deploy or explicit user confirmation.267- **Never commit `.env` files** or secrets to the repository.268- **Never skip the prerequisites check** — an unauthenticated or unlinked CLI will fail silently or deploy to the wrong project.269270---271272## 7. Verification Checklist273274Before using `attempt_completion`, you **MUST** verify:275276- [ ] Vercel CLI is installed and authenticated (`vercel whoami` succeeds)277- [ ] Project is linked (`vercel link` or `.vercel/` directory exists)278- [ ] Environment variables are set for the correct scopes279- [ ] Preview deployment succeeded and URL is accessible280- [ ] Production deployment succeeded (if requested) and URL is accessible281- [ ] `.vercel/` is in `.gitignore`282- [ ] Deployment URL has been presented to the user283284---285286## 8. Quick Command Reference287288```bash289# --- Authentication ---290vercel login # Log in291vercel logout # Log out292vercel whoami # Check current user293vercel switch # Switch team/scope294295# --- Project Setup ---296vercel link # Link local project to Vercel297vercel pull # Pull remote config & env vars298vercel project ls # List all projects299300# --- Deployment ---301vercel # Preview deploy302vercel --prod # Production deploy303vercel --force # Force rebuild (no cache)304vercel inspect <url> # Check deployment status305306# --- Environment Variables ---307vercel env ls # List env vars308vercel env add KEY scope # Add env var309vercel env rm KEY scope # Remove env var310vercel env pull .env.local # Pull env vars to local file311312# --- Domains ---313vercel domains ls # List domains314vercel domains add example.com # Add domain315vercel domains inspect example.com # Check DNS config316317# --- Management ---318vercel ls # List recent deployments319vercel rm <deployment-url> # Delete a deployment320vercel promote <url> # Promote deployment to production321vercel rollback # Rollback to previous production322vercel logs <url> # View runtime logs323vercel logs <url> --build # View build logs324```325
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| cline/prompts.clinerules/ai-dlc-adaptive-workflow.md · 1.2k | Cline rules | agent-behaviour | 54/100 | today | |
| cline/prompts.clinerules/audio-plugin-developer.md · 1.2k | Cline rules | styleperformancedo-notagent-behaviour | 57/100 | today | |
| cline/prompts.clinerules/ba.md · 1.2k | Cline rules | archgitagent-behaviour | 50/100 | today | |
| cline/prompts.clinerules/baby-steps.md · 1.2k | Cline rules | do-notagent-behaviour | 50/100 | today | |
| cline/prompts.clinerules/c#-guide.md · 1.2k | Cline rules | style | 27/100 | today | |
| cline/prompts.clinerules/claude-code-subagents.md · 1.2k | Cline rules | testarchdo-notagent-behaviour | 77/100 | today | |
| cline/prompts.clinerules/cline-architecture.md · 1.2k | Cline rules | archtypesapi | 54/100 | today | |
| cline/prompts.clinerules/cline-continuous-improvement-protocol.md · 1.2k | Cline rules | testgitperformance | 58/100 | today | |
| cline/prompts.clinerules/cline-for-research.md · 1.2k | Cline rules | agent-behaviour | 34/100 | today | |
| cline/prompts.clinerules/cline-for-slides.md · 1.2k | Cline rules | setupbuildstylearch+1 | 86/100 | today | |
| cline/prompts.clinerules/cline-for-webdev-ui.md · 1.2k | Cline rules | archagent-behaviour | 58/100 | today | |
| cline/prompts.clinerules/code-review.md · 1.2k | Cline rules | lint-formatgitsecurityperformance | 48/100 | today | |
| cline/prompts.clinerules/codebase-onboarding.md · 1.2k | Cline rules | lint-formatstylearchdependencies | 56/100 | today | |
| cline/prompts.clinerules/comprehensive-slide-dev-guide.md · 1.2k | Cline rules | buildarchtypesui | 62/100 | today | |
| cline/prompts.clinerules/create-documentation.md · 1.2k | Cline rules | apidocs | 44/100 | today | |
| cline/prompts.clinerules/gemini-comprehensive-software-engineering-guide.md · 1.2k | Cline rules | buildstyletesting-strategysecurity+4 | 36/100 | today | |
| cline/prompts.clinerules/general-development-rules.md · 1.2k | Cline rules | stylegitdeploymentdo-not | 73/100 | today | |
| cline/prompts.clinerules/google-apps-script-developer.md · 1.2k | Cline rules | setupstylegitsecurity+3 | 66/100 | today | |
| cline/prompts.clinerules/helm-chart-developer.md · 1.2k | Cline rules | setuplint-formatstylearch+6 | 81/100 | today | |
| cline/prompts.clinerules/mcp-development-protocol.md · 1.2k | Cline rules | setupteststyle | 73/100 | today |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| bashdeban/fastmind.clinerules/.project-consistency-keeper2.md · 5 | Cline rules | setupbuildtestlint-format+11 | 100/100 | 14 days ago | |
| JCodesMore/ai-website-cloner-template.clinerules · 32k | Cline rules | buildlint-formatstylearch+3 | 97/100 | 7 days ago | |
| enuno/unifi-mcp-server.clinerules · 226 | Cline rules | setuptestlint-formatstyle+10 | 96/100 | today | |
| BryaanF/LiantPortfolio.clinerules/project-guidelines.md · 0 | Cline rules | buildstylearchgit+2 | 96/100 | 14 days ago | |
| u9401066/zotero-keeper.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 14 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 14 days ago | |
| VaillerTeeter/HoshimiNest.clinerules/project-identity.md · 1 | Cline rules | setuparchtypesdo-not | 93/100 | 12 days ago | |
| prabhakar267/paper-games.clinerules/git-commit-guidelines.md · 0 | Cline rules | lint-formatstylearchgit+3 | 93/100 | 13 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/cline-prompts-clinerules-vercel-deploy)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.