Set Up Locally
Start with the pinned toolchain, a Supabase project, and the required app environment values.
On this page
- 1
Install with the pinned package manager
The repo expects Node 24 from .nvmrc and the pnpm version pinned in package.json.
textpnpm install --frozen-lockfile - 2
Create the local environment file
Copy the template and fill the core required values first.
textcp .env.example .env.local - 3
Start the app
Use the normal Next.js development server.
textpnpm run dev - 4
Run the baseline checks
Use this before shipping a normal change.
textpnpm run quality
Required first-pass values
| Value | Purpose |
|---|---|
| NEXT_PUBLIC_SUPABASE_URL | Supabase project URL used by the app. |
| NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | Public Supabase browser key. |
| SUPABASE_SECRET_KEY | Server-only Supabase key for trusted operations. |
| APP_URL | Primary canonical app URL for links, SEO, and redirects (NEXT_PUBLIC_SITE_URL is legacy fallback). |
| NEXT_PUBLIC_SITE_NAME | Default public product name. |
| NEXT_PUBLIC_SUPPORT_EMAIL | Public support contact used in site copy and emails. |
| SUPER_ADMIN_EMAIL | Initial owner email used by admin and notification defaults. |