Getting Started
The TrickFire Dashboard is a Next.js app with a local SQLite database. If you've never worked on a TypeScript/Next.js app before, read Next.js & TypeScript alongside this page - it explains what all the pieces below are.
Dev-Container
Open the repo in VS Code with the Dev Containers extension installed, then run Dev Containers: Reopen in Container from the command palette.
The container automatically:
- Installs Node.js and
pnpmat the pinned versions. - Runs
pnpm install. - Copies
.env.exampleto.env.local. - Runs the database migrations and seeds sample data.
Once it finishes, run:
pnpm dev
and open http://localhost:3000.
Local Dev Setup
Prerequisites:
- Node.js ≥ 20 (see
.nvmrc) pnpmpackage manager- A C++ build toolchain
pnpm install
cp .env.example .env.local # then set BETTER_AUTH_SECRET at minimum
pnpm db:migrate
pnpm db:seed
pnpm dev
Open http://localhost:3000 and log in with whatever you set as SEED_ADMIN_EMAIL / SEED_ADMIN_PASSWORD in .env.local.
Almost every environment variable is optional for local dev - the app is written to degrade gracefully when an integration isn't configured (Minecraft status just shows "offline", the Network tab shows empty, etc.). BETTER_AUTH_SECRET is the only one you must set yourself; generate it with openssl rand -hex 32.
What "seeding" gives you
pnpm db:seed populates the local database with the 6 TrickFire subteams, an admin user (from SEED_ADMIN_*), and a handful of sample orders across every status, so the UI isn't empty on first run. It's idempotent - safe to re-run any time.