From vercel
Orchestrates safe bootstrapping for repos using Vercel-linked resources like databases, auth, and integrations. Sequences linking, env provisioning/pulls, and first-run db/dev commands for setup or repair.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vercel:bootstrapThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Execute bootstrap in strict order. Do not run migrations or development server until project linking and environment verification are complete.
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
npx claudepluginhub vercel/vercel-plugin --plugin vercel-pluginInstalls Vercel CLI via npm, authenticates, links projects, manages environment variables, and checks vercel.json/.vercelignore configs for deployment setup.
Implements Vercel reference architecture for Next.js projects with layered directories, App Router, middleware, shared libs, and typed env vars. For new projects, structure reviews, or standards.
Deploys a Next.js application to Vercel with linking, environment variables, preview deployments, and custom domains.