Project bootstrapping orchestrator for repos that depend on Vercel-linked resources (databases, auth, and managed integrations). Use when setting up or repairing a repository so linking, environment provisioning, env pulls, and first-run db/dev commands happen in the correct safe order.
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.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
.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)
npm run db:push
npm run db:seed
npm run dev
npm, pnpm, bun, or yarn) and run only scripts that exist in package.json.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.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.## 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.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.