Files
whattoplay/CLAUDE.md
Felix Förtsch 84a48ac97b migrate deploy.sh to mise file task
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 10:19:17 +02:00

56 lines
1.4 KiB
Markdown

# whattoplay — Game Discovery App
Game recommendation and collection management tool with Steam/GOG integration and IGDB metadata.
## Stack
- **Frontend:** React 19, Vite, Tailwind CSS 4, TanStack Router (file-based), Zustand, PGlite
- **Backend:** Hono (Bun), Drizzle ORM, PostgreSQL, Twitch/IGDB API
- **Linting:** Biome (tabs, 80 chars, double quotes)
## Project Structure
```
src/
├── client/ ← React PWA (features/, routes/, shared/)
├── server/ ← Hono API (features/, shared/)
└── shared/ ← isomorphic code
```
## Local Development
```bash
bun install
bun run dev # frontend (Vite)
bun run dev:server # backend (Bun --watch)
bun run dev:all # both
```
## Deployment
```bash
mise run deploy
```
Deploys to Uberspace (`serve.uber.space`):
- Frontend → `/var/www/virtual/serve/html/whattoplay/`
- Backend → `~/services/whattoplay/` (systemd: `whattoplay.service`, port 3001)
- Route: `/whattoplay/api/*` → port 3001 (prefix removed)
## Environment Variables
See `.env.example`:
- `DATABASE_URL` — PostgreSQL connection string
- `PORT` — server port (default 3001)
- `ALLOWED_ORIGIN` — CORS origin
- `TWITCH_CLIENT_ID`, `TWITCH_CLIENT_SECRET` — Twitch API credentials (for IGDB)
## Database
PostgreSQL via Drizzle ORM. Migrations in `drizzle/`.
```bash
bun run db:generate
bun run db:migrate
```