Prerequisites
Before you start, make sure you have:- Node.js 24+ — check with
node -v - pnpm 10+ — install with
corepack enableornpm install -g pnpm - Accounts on Neon, Supabase, Upstash, and Vercel (free tiers work fine)
Step-by-Step Setup
1. Clone and Install
pnpm install also configures local git hooks automatically via pnpm prepare — you’ll get pre-commit linting and pre-push checks out of the box.
2. Configure Environment Variables
Copy the example files and fill in your values:3. Set Up the Database
Push the Drizzle schema to your Neon database:drizzle-kit push. Always use this command instead of running drizzle-kit directly.
4. Start Development
Run everything at once (web, API, email preview, Inngest dev server):5. Verify It Works
- Open http://localhost:3000 — you should see the login page
- Open http://localhost:3001/api/docs — the Scalar API reference should load
- Run the test suite to confirm everything is wired up:
Useful Commands
Monorepo Structure
packages/. The two apps (web and api) are independent deployments — never import directly between them.
Next Steps
- Read the Code Style guide before writing code
- Check the Testing page for how to write and run tests
- See Git Conventions for commit format and PR rules