Nextbase Docs
Nextbase Docs
HomeBlogWelcome to Nextbase v5!Choose your starterGetting startedLocal Supabase per agent
Next.js + SupabaseInstallationEnvironment variablesAuthenticationAgent connectionsProject structureDeployment
AuthenticationWorkspaces and the admin area
Building with agentsEmails with Resend
TroubleshootingNextbase v5
The 8 starter kitsNext.js + Supabase

Next.js + Supabase

Overview of the Next.js + Supabase starter: what it ships with, what you need, and where to go next.

This kit uses Next.js App Router, Supabase Postgres and Supabase Auth. You get the account, workspace and project foundation, a separately deployed admin app, and separate agent connections for users and application administrators.

Open the live demo · Repository

The stack

LayerWhat the kit uses
FrontendNext.js 16 App Router on React 19, Tailwind CSS v4, shadcn/ui
DatabaseSupabase Postgres with Row Level Security on every user-facing table
AuthSupabase Auth (email + password, magic link, optional social providers)
EmailReact Email templates, Resend in production, Mailpit locally
PaymentsStripe behind a payment gateway abstraction
HostingThe demo runs on Vercel as two projects (web and admin). A netlify.toml is also included for the web app.
ToolingTurborepo, pnpm, Oxlint, Oxfmt, Vitest, Playwright, pgTap

The repository is a Turborepo workspace with four apps: apps/web (the Next.js product), apps/admin (the administration app, deployed on its own origin), apps/database (Supabase config, migrations, seed and pgTap tests) and apps/email (React Email preview server). See project structure.

What you get out of the box

  • Accounts with sign-up, login, email verification, password reset and magic links.
  • Onboarding that completes a profile, creates a workspace and resolves pending invitations.
  • Multi-tenant workspaces at /workspace/[workspaceSlug] with owner, admin, member and readonly roles enforced in RLS.
  • Projects scoped to a workspace, with approval status, comments and Realtime updates.
  • Workspace invitations with email delivery, expiry and accept/decline flows.
  • A separate admin app (apps/admin, port 3002 locally) that serves /app-admin for users, workspaces, marketing content, feedback moderation, the payment gateway and settings, plus support sign-in links into the web app.
  • User MCP on the web app at /mcp/user and Admin MCP on the admin app at /mcp/admin, both with OAuth.
  • Stripe billing: subscriptions, one-time payments, invoices, customer portal and a webhook handler at /api/stripe/webhooks.
  • 41 React Email templates and a local preview server.
  • In-app Realtime notifications.
  • Marketing site, MDX blog, Fumadocs documentation at /docs, public roadmap, changelog and feedback boards.
  • Optional integrations wired but off until configured: Sentry, PostHog, Google Analytics, Unkey API keys, OpenAI chat and image generation, OpenTelemetry.

Prerequisites

  • Node.js 24. .nvmrc pins v24 and apps/web and apps/admin declare engines.node >= 24.0.0.
  • pnpm 11. The root package.json sets packageManager to pnpm@11.1.2; corepack enable picks it up.
  • Docker or Podman for the local Supabase stack, or a sandbox that supports Supabase's native runtime. The kit pins the Supabase CLI to 2.121.0 and enables the stack engine, so every git worktree gets its own local project. See local Supabase per agent.
  • For production: a Supabase project and a Resend account. A Stripe account if you keep billing. Sentry, PostHog, Unkey and OpenAI accounts only if you turn those features on.

Naming inside the repository

The repository's README, root package.json (nextbase-ultimate) and Supabase project_id (nextbase-ultimate) still use the product's older name, Nextbase Ultimate. It is the same kit. The web package is web, the admin package is admin, the database package is database and the email package is @nextbase/email; those are the names you pass to pnpm --filter.

Next steps

  1. Installation: clone, start a local Supabase project and run the web and admin apps.
  2. Environment variables: every variable in apps/web/.env.local.example and apps/admin/.env.local.example.
  3. Authentication: Supabase Auth, email verification, the admin role, the admin app and RLS.
  4. Agent connections: the User MCP and Admin MCP for this kit.
  5. Project structure: where things live and where to make changes.
  6. Deployment: Supabase project, migrations, two Vercel projects and the first smoke checks.

For the shared concepts, read getting started, workspaces and the admin area and user and admin MCPs.

Local Supabase per agent

Give each coding agent an isolated Supabase project, with Docker on your computer or native processes in a sandbox.

Installation

Clone the Next.js + Supabase starter, start a local Supabase project, run the web and admin apps and sign in for the first time.

On this page

The stackWhat you get out of the boxPrerequisitesNaming inside the repositoryNext steps