Skip to main content

Local Development

Set up Terra for local development in 10 minutes.

Prerequisites

  • Node.js 20+
  • pnpm 8+
  • Supabase account
  • Doppler account (or .env.local)

Quick Start

# Clone the repo
git clone https://github.com/mrcoven94/terra.git
cd terra

# Install dependencies
pnpm install

# Set up environment (choose one)
doppler setup          # Recommended
# OR copy .env.example to .env.local

# Run migrations
pnpm supabase db push

# Start dev server
pnpm dev

Environment Variables

Required

VariableDescription
NEXT_PUBLIC_SUPABASE_URLSupabase project URL
NEXT_PUBLIC_SUPABASE_ANON_KEYSupabase anon key
SUPABASE_SERVICE_ROLE_KEYSupabase service role key
WORKOS_API_KEYWorkOS API key
WORKOS_CLIENT_IDWorkOS client ID
WORKOS_COOKIE_PASSWORD32+ char secret for session encryption

Optional

VariableDescription
RESEND_API_KEYEmail sending
TWILIO_*SMS sending
DEEPL_API_KEYAuto-translation
SMARTY_*Address verification

Using Doppler

# Install CLI
brew install dopplerhq/cli/doppler

# Login
doppler login

# Set up project
doppler setup

# Run with secrets
doppler run -- pnpm dev

Database Migrations

# Apply all migrations
pnpm supabase db push

# Create new migration
pnpm supabase migration new my_migration

Testing

# Unit tests
pnpm test

# E2E tests
pnpm test:e2e

# Type check
pnpm build