Skip to content
Overview

Quickstart

Clone, configure three environment variables, and have SyntaxKit running locally in about five minutes. Optional integrations live in Setup.

Last updated on

2 min read

Prerequisites

Get A Database

Pick a path, then paste the connection string into DATABASE_URL when you configure the environment.

Create a Postgres database in Neon, Supabase, or any provider you prefer, then copy its connection string into DATABASE_URL:

DATABASE_URL="postgresql://<user>:<password>@<host>/<database>"

No other change is needed. Prisma will run migrations against the hosted database the same way.

Prefer a local database? Start a throwaway Postgres container:

docker run --name syntaxkit-postgres \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=postgres \
  -e POSTGRES_DB=syntaxkit \
  -p 5432:5432 \
  -d postgres:16

Then use this connection string:

DATABASE_URL="postgresql://postgres:postgres@localhost:5432/syntaxkit"

Run It

Configure your environment

Copy the example env file and open it:

cp apps/web/.env.example apps/web/.env

For the first run, only fill these three values:

  • DATABASE_URL: the connection string from the step above.
  • NEXT_PUBLIC_APP_URL: http://localhost:3000 is fine.
  • BETTER_AUTH_SECRET: generate with openssl rand -base64 32.

pnpm setup:doctor rejects the placeholder secret and any value shorter than 32 characters. Generate a real one before moving on.

Validate your setup

pnpm setup:doctor

The doctor checks your env file, reports which optional integrations are configured, and tells you whether the database is reachable. If anything is wrong, it prints exactly what to fix.

Apply database migrations

pnpm db:migrate:dev

This creates the schema in your database and generates the Prisma client. Use pnpm db:migrate:deploy for production-style non-interactive migration application.

Start the dev server

pnpm dev

The product app boots on http://localhost:3000. The docs site you're reading runs separately on http://localhost:3001 via pnpm docs:dev.

Open The App

Visit http://localhost:3000 and sign up with an email and password. SyntaxKit creates your personal organization automatically on first sign-up.

OAuth providers, Stripe billing, file uploads, and PostHog analytics intentionally stay disabled until you configure them in Setup. The corresponding UI surfaces remain visible with disabled-state messaging, so you can see where each integration plugs in.

Optional Next Steps

Skip these on a first pass. Useful once the app is running.

Where To Go Next

Also useful: Environment Variables and Project Structure.

Was this page helpful?

On this page