Overview
Installation
Get Kit running locally in a few minutes.
Prerequisites
- Node.js v24+ - Download Node.js
- pnpm v10+ - Fast, disk space efficient package manager
- Git
- Docker - Required by local Supabase
Install pnpm
npm install -g pnpmOr the official installer:
curl -fsSL https://get.pnpm.io/install.sh | sh -Verify
node --version # v24+
pnpm --version # v10+
git --versionQuick Start
1. Clone the Repository
git clone https://github.com/bigdropincs/kit.git
cd kit2. Install Dependencies
pnpm install3. Environment Setup
One .env file at the repo root drives everything:
cp .env.example .envFill in as needed:
POSTGRES_URL- defaults to local Supabase; leave as-is for local devBETTER_AUTH_SECRET- generate withopenssl rand -base64 32GITHUB_CLIENT_ID/GITHUB_CLIENT_SECRET- only for GitHub loginAI_GATEWAY_API_KEY- only for the AI chatNEXT_PUBLIC_SUPABASE_URL/SUPABASE_SERVICE_ROLE_KEY- only for avatar uploads
4. Database Setup
Start local Supabase and push the schema:
pnpm db:start # Postgres on :54322, Studio on :54323
pnpm db:push # drizzle-kit pushUsing Supabase Cloud instead? Create a project at supabase.com, point POSTGRES_URL at it, and run pnpm db:push.
5. Trim the Starter (Optional)
Only building for one platform? Remove the rest:
pnpm bootstrapInteractive checklist - deselect mobile, extension, or desktop and it deletes them cleanly.
6. Start Development
pnpm dev # All apps
pnpm dev:web # Web only- Web app: http://localhost:3000
- Supabase Studio: http://localhost:54323
Project Structure Overview
kit/
├── apps/
│ ├── web/ # Next.js web app (these docs live here)
│ ├── mobile/ # Expo mobile app
│ ├── extension/ # Chrome extension (WXT)
│ └── desktop/ # Electron desktop app
├── packages/
│ ├── api/ # tRPC router + better-auth
│ ├── db/ # Drizzle schema + Supabase config
│ └── ui/ # Shared UI components
└── package.json # Root workspace scriptsAvailable Scripts
Development
pnpm dev- All appspnpm dev:web/pnpm dev:mobile/pnpm dev:extension/pnpm dev:desktop- One app
Database
pnpm db:start/pnpm db:stop- Local Supabasepnpm db:push- Push schema to local databasepnpm db:push-remote- Push schema to productionpnpm db:reset- Reset local database and re-push
Code Quality
pnpm lint/pnpm lint:fix- oxlintpnpm format/pnpm format:fix- oxfmtpnpm typecheck- TypeScriptpnpm test- Vitest
Build
pnpm build- Build all packages
Troubleshooting
Port already in use - Free ports 3000, 54321-54323.
pnpm install fails
pnpm store prune
pnpm installDatabase connection issues - Is Docker running? Then:
pnpm db:startType errors
pnpm buildNext Steps
Continue with the local development guide for the day-to-day workflow.