From agent-almanac
Deploys Next.js apps to Vercel with project linking, environment variables, preview deployments for pull requests, custom domains, and production configuration. For first-time deploys or PR previews.
npx claudepluginhub pjt222/agent-almanacThis skill uses the workspace's default tool permissions.
---
Guides Next.js deployment to Vercel: environment variables for dev/preview/prod, edge vs serverless functions, build optimization, preview workflows.
Guides deployment of Next.js apps to Vercel, handling environment variables across envs, edge vs serverless runtimes, build optimization, preview deploys, and monitoring using reference patterns.
Provides Vercel CLI expert guidance for deploying projects, managing environment variables, linking projects/repos, viewing logs, managing domains, and command-line Vercel interactions.
Share bugs, ideas, or general feedback.
Deploy a Next.js application to Vercel with production configuration.
npm run build
Expected: Build succeeds with no errors.
On failure: Fix build errors before deploying. Common: TypeScript errors, missing dependencies, invalid imports.
npm install -g vercel
Expected: The vercel command is available globally and vercel --version prints the installed version.
On failure: If permission errors occur, use sudo npm install -g vercel or configure npm to use a user-local prefix. Verify Node.js is installed with node --version.
# Login to Vercel
vercel login
# Deploy (first time: creates project)
vercel
# Follow prompts:
# - Set up and deploy? Y
# - Which scope? (select your account)
# - Link to existing project? N (for new projects)
# - Project name: my-app
# - Directory: ./
# - Override settings? N
Expected: Preview URL provided (e.g., https://my-app-xxx.vercel.app).
On failure: If vercel login fails, check internet connectivity and try browser-based authentication. If the deploy fails, review the build output for errors -- Vercel uses a clean environment, so all dependencies must be in package.json.
# Add environment variables
vercel env add DATABASE_URL production
vercel env add API_KEY production preview
# List environment variables
vercel env ls
Or configure through the Vercel dashboard: Project Settings > Environment Variables.
Expected: vercel env ls shows all required environment variables configured for the correct environments (production, preview, development).
On failure: If variables are not appearing at runtime, verify the target environment matches (production vs preview). Redeploy after adding variables -- existing deployments do not pick up new variables automatically.
vercel --prod
Expected: Production URL available (e.g., https://my-app.vercel.app).
On failure: Check deployment logs with vercel logs or in the Vercel dashboard. Common issues include missing environment variables in the production environment and build commands differing from local setup.
Expected: The Vercel dashboard shows the GitHub repository connected, and subsequent pushes to main trigger production deployments automatically.
On failure: If the repository does not appear in the import list, check that the Vercel GitHub app has access to the repository. Go to GitHub Settings > Applications > Vercel and grant access.
vercel domains add my-domain.com
Or through dashboard: Project Settings > Domains.
Update DNS records as instructed by Vercel (typically CNAME or A record).
Expected: vercel domains ls shows the custom domain as configured, and after DNS propagation (up to 48 hours), the domain resolves to the Vercel deployment.
On failure: If the domain shows "Invalid Configuration," verify DNS records match Vercel's instructions exactly. Use dig my-domain.com or an online DNS checker to confirm propagation.
Create vercel.json for advanced settings:
{
"framework": "nextjs",
"regions": ["iad1"],
"headers": [
{
"source": "/api/(.*)",
"headers": [
{ "key": "Cache-Control", "value": "no-store" }
]
}
]
}
Expected: vercel.json is saved in the project root and the next deployment picks up the configuration (visible in the Vercel dashboard build logs).
On failure: If the configuration is ignored, verify vercel.json is valid JSON with jq . vercel.json. Check the Vercel docs for your framework version, as some settings may have moved to next.config.ts.
npm run build succeeds locallypackage.json, not just installed globally..env.local. Different environments (production, preview, development) have separate variable sets.package.json engines field..vercelignore to exclude unnecessary files.scaffold-nextjs-app - create the app to deploysetup-tailwind-typescript - configure styling before deploymentconfigure-git-repository - Git setup for auto-deploy integration