- Node.js 22+ (
nvm use 22) - npm 10+
- Wrangler CLI (included in devDependencies)
A Cloudflare account is not needed for local development.
npm install
make migrate-local
make devThis starts:
- Backend at
http://localhost:8787(Wrangler + local D1) - Frontend at
http://localhost:5173(Vite, proxies/api/*to backend)
You can log in without a Discord bot by generating a test auth token:
make simulate
# Prints: Open http://localhost:5173/auth/<token>Open the printed URL in your browser to land on the dashboard.
make seedPopulates the local D1 database with sample users, games, votes, and availability.
Runs the backend without Wrangler, using better-sqlite3 in-memory:
make dev-localUseful when you want a faster restart cycle or don't need Wrangler-specific features.
make test # single run
make test-watch # watch modeTests use an in-memory SQLite database and apply all migrations automatically. No Cloudflare account needed.
Run make help to see all targets:
| Command | Description |
|---|---|
make dev |
Run wrangler + vite concurrently |
make dev-local |
Run local Node.js server |
make build |
Build frontend |
make test |
Run all tests |
make test-watch |
Run tests in watch mode |
make deploy |
Build and deploy to Cloudflare |
make deploy-only |
Deploy without rebuilding |
make migrate-local |
Apply migrations locally |
make migrate-remote |
Apply migrations remotely |
make seed |
Seed test data |
make simulate |
Create test auth token |
make logs |
Stream live logs |
make clean |
Clean build artifacts |