Hetu is a account system for Minecraft servers.
This repository hosts the Hetu backend (Elysia + Drizzle) and web client (Next.js App Router) plus shared packages managed by Turborepo and Bun.
apps/backend: API server with routes undersrc/modules/**, config inconfig.*.yaml, and Drizzle migrations inmigrations/.apps/web: Next.js front-end (app/**) that shares UI and API helpers frompackages/*.packages/*: Shared UI kit, API client, lint/ts configs, etc.
bun install
bun run dev # turbo dev across all workspaces
bun run lint # eslint + prettier
bun run typecheck # ts --noEmit checksUse turbo run <task> --filter=@repo/<pkg> to target a single app/package.
- Build everything with
bun run build; CI should also runbun run lint+bun run typecheckto catch regressions. - Backend deployments must ship a matching
config.<env>.yaml, runbun run migration:runbefore starting, and expose the configured port/URL fromconfig.example.yamlvalues. - Web deployments rely on a
.env.production.local(or platform-specific env vars) that mirrorapps/web/.env.development.local; make sure API base URLs point at the deployed backend. - When using Dockerfiles (
Dockerfile.package-backend/Dockerfile.package-web), pass the correct build args/secrets and persist the Bun cache volume to avoid re-install storms.