Onboarding

Dev Environment

Local Supabase, environment variables, and login setup for development.

Overview

Follow the developer setup guide for full prerequisites and installation steps. This page covers the parts that trip people up most often.

Local Supabase

We use a local Supabase instance (powered by Docker) during development. You do not need production Supabase keys — everything is generated locally.

task supabase-start

This will:

  1. Start a local Supabase server in Docker
  2. Generate .env.supabase at the repo root with all necessary keys (SUPABASE_URL, SUPABASE_ANON_KEY, etc.)
  3. Run pending migrations

See Environment Variables for the full list of generated variables.

GitHub Login (OAuth)

To enable the GitHub login flow locally, use Infisical to inject the dev-only OAuth credentials:

infisical run --env=dev --projectId=87dad7b5-72a6-4791-9228-b3b86b169db1 --path="/supabase" -- task supabase-start

This sets GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET for a dev-only GitHub OAuth app, so GitHub login works against your local Supabase.

Without these credentials, task supabase-start still works — you just won't be able to test GitHub OAuth login.

See the Login docs for more details on authentication setup.

Running the App

pnpm -F ui build && pnpm -F desktop tauri dev

See Run for all available dev commands (desktop, web, API, etc.).

Common Issues

"I can't log in / I don't have the Supabase keys" — You don't need production keys. Run task supabase-start to spin up a local Supabase instance that generates all the keys automatically.

"GitHub login doesn't work" — You need the dev-only OAuth credentials from Infisical. See the GitHub Login section above.

"Cursor can't connect to the network when indexing" — Ensure you have a stable internet connection and restart Cursor. If the issue persists, you can still work by browsing the code directly.

Further Reading