npx claudepluginhub vercel/vercel-plugin --plugin vercel-pluginThis skill uses the workspace's default tool permissions.
Execute bootstrap in strict order. Do not run migrations or development server until project linking and environment verification are complete.
Verifies installation and authentication of GitHub CLI (gh), Vercel CLI, Supabase CLI, and Render CLI. Provides repo setup commands and bash validation script for project infrastructure.
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.
Installs Vercel CLI via npm, authenticates, links projects, manages environment variables, and checks vercel.json/.vercelignore configs for deployment setup.
Share bugs, ideas, or general feedback.
Execute bootstrap in strict order. Do not run migrations or development server until project linking and environment verification are complete.
db:push, db:migrate, db:seed, or dev until Vercel linking is complete and env keys are verified.vercel integration ...) for shared resources.vercel --version
vercel whoami
.vercel/project.json.vercel teams ls
vercel projects ls --scope <team>
vercel link --yes --scope <team> --project <project>
.env.example, .env.sample, .env.template.cp .env.example .env.local
vercel integration guide neon
vercel integration add neon --scope <team>
vercel env ls
vercel env pull .env.local --yes
vercel env pull .env.local --yes.Use Neon CLI only when Vercel-managed provisioning is unavailable. After creating resources, add required env vars in Vercel and pull again.
Generate a high-entropy secret without printing it, then store it in Vercel and refresh local env:
AUTH_SECRET="$(node -e "console.log(require('node:crypto').randomBytes(32).toString('base64url'))")"
printf "%s" "$AUTH_SECRET" | vercel env add AUTH_SECRET development preview production
unset AUTH_SECRET
vercel env pull .env.local --yes
Compare required keys from template file against .env.local keys (names only, never values):
template_file=""
for candidate in .env.example .env.sample .env.template; do
if [ -f "$candidate" ]; then
template_file="$candidate"
break
fi
done
comm -23 \
<(grep -E '^[A-Za-z_][A-Za-z0-9_]*=' "$template_file" | cut -d '=' -f 1 | sort -u) \
<(grep -E '^[A-Za-z_][A-Za-z0-9_]*=' .env.local | cut -d '=' -f 1 | sort -u)
Proceed only when missing key list is empty.
After linkage + env verification:
npm run db:push
npm run db:seed
npm run dev
Use the repository package manager (npm, pnpm, bun, or yarn) and run only scripts that exist in package.json.
After linkage and env verification, establish the UI foundation before feature work:
npx shadcn@latest add button card input label textarea select switch tabs dialog alert-dialog sheet dropdown-menu badge separator skeleton tablelayout.tsx and globals.css.bg-background text-foreground.Confirm each checkpoint:
vercel whoami succeeds..vercel/project.json exists and matches chosen project.vercel env pull .env.local --yes succeeds.db:push, db:seed, db:migrate, db:generate as applicable).dev command starts without immediate config/auth/env failure.If verification fails, stop and report exact failing step plus remediation.
Return a final bootstrap summary in this format:
## Bootstrap Result
- **Linked Project**: <team>/<project>
- **Resource Path**: vercel-integration-neon | dashboard-neon | neon-cli
- **Env Keys**: <count> required, <count> present, <count> missing
- **Secrets**: AUTH_SECRET set in Vercel (value never shown)
- **Migration Status**: not-run | success | failed (<step>)
- **Dev Result**: not-run | started | failed
vercel env pull .env.local --yes.dev fails, resolve runtime errors, then restart with your package manager's run dev.If the project was scaffolded with npx next-forge init (detected by pnpm-workspace.yaml + packages/auth + packages/database + @repo/* imports):
apps/app/.env.local, apps/web/.env.local, apps/api/.env.local) plus packages/database/.env.pnpm migrate (not db:push) — it runs prisma format + prisma generate + prisma db push.DATABASE_URL, CLERK_SECRET_KEY, NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY, NEXT_PUBLIC_APP_URL, NEXT_PUBLIC_WEB_URL, NEXT_PUBLIC_API_URL.@repo/* imports from app env.ts files to avoid validation errors.apps/app, apps/api, apps/web.=> skill: next-forge — Full next-forge monorepo guide