⤕ kaja.io
⬺ docs.kaja.io
Important
Kaja is still evolving, but the current focus is authentication, admin workflows, and local orchestration.
Kaja is a Bun TypeScript monorepo implementing pieces of Better Auth in a Hono API, a TanStack Start web app, and a local CLI.
apps/api- Rest API, authentication, database migrations, and email delivery.apps/web- Public web and admin portal.apps/cli- Installable CLI app for orchestration tasks.packages/*- Shared schemas and utilities.
Working defaults are provided in the Docker Compose config and app .env.example files.
docker compose up -dThis starts:
- PostgreSQL
- MailDev SMTP
- API
- Web
Copy the committed env templates into local .env files:
cp apps/api/.env.example apps/api/.env
cp apps/web/.env.example apps/web/.env
cp apps/cli/.env.example apps/cli/.envGenerate a local Better Auth secret:
./scripts/create_local_secrets.shStart the database and SMTP servers:
docker compose up -d db mailMounts the persistent PostgreSQL data in the
./pgdatafolder. The migration files run automatically on first boot.
Run these from the project root:
bun dev # Run the API and web app
bun dev:cli # Run the CLI app
bun lint # Check formatting and lint rules
bun lint:fix # Apply formatter and unsafe lint fixes- Web: http://localhost:3000
- API: http://localhost:3001
- Email inbox: http://localhost:1080
- Better Auth reference: http://localhost:3001/auth/reference