hellth-hub/CLAUDE.md
Sebastian Mayer 36b92c07b7 Doku: CLAUDE.md verschlankt, Referenz nach docs/ ausgelagert
- CLAUDE.md auf Kern reduziert (Regeln, Ports, Start, Auth), lädt
  jede Session schlanker
- claude-info.md -> docs/projektreferenz.md (Dateilandkarte, Features,
  Altlasten als Nachschlagewerk)
- Teststand auf 38 API-Tests aktualisiert
- .gitignore: next-env.d.ts ignorieren (Next.js auto-generiert) und
  aus Versionierung entfernt

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 10:20:03 +02:00

40 lines
2.1 KiB
Markdown

# Claude Working Guidelines - Hellth Hub
Hellth Hub ist eine mobile-first Health-, Ernährungs-, Aktivitäts- und Einkaufs-Tracking-App für den Home-Lab-Betrieb. Monorepo mit `pnpm`: Next.js 16 / React 19 Frontend (`apps/admin`), Hono + tRPC + Better Auth API (`packages/api`), Drizzle/PostgreSQL (`packages/db`).
**Ausführliche Projektreferenz** (Dateilandkarte, Features, Altlasten): [`docs/projektreferenz.md`](docs/projektreferenz.md).
## Grundregeln
- Umlaute immer korrekt schreiben: echte `ä ö ü Ä Ö Ü ß` statt `ae oe ue ss`. Gilt für UI, Doku, Commits und Antworten.
- Keine alten Altprojekt-/Tenant-/Community-/Naturfreunde-Begriffe in neue UI oder Doku übernehmen.
- Einstellungen und Health-Daten sind benutzerbezogen, nicht global.
- Bestehende Architektur nutzen: `apps/admin`, `packages/api`, `packages/db`.
- Änderungen mit Tests absichern, besonders bei Auth, Health-Daten, Wochenbudget und Einkaufslisten.
- Bestehende User-Änderungen nicht zurücksetzen. Keine destruktiven Git-Befehle ohne ausdrückliche Anweisung.
- Cleanup von Altlasten nur nach ausdrücklicher Freigabe.
- Neue Formulare nach Möglichkeit mit `FormField` aus `apps/admin/app/_components/form-field.tsx` bauen.
- Bei neuen DB-Funktionen Schema, Migration, API und UI zusammen denken.
- UI mobile-first denken.
## Ports
- Admin-App lokal: `http://localhost:3001`
- API lokal: `http://localhost:3002` (Health: `/api/health` — `/` direkt liefert 404, ist normal)
- Docker-App: `http://localhost:3000` · Postgres: `localhost:5432` · pgAdmin: `http://localhost:5050`
## Lokaler Start
Docker/Postgres muss laufen (`docker ps`), dann:
```powershell
pnpm --filter @hellth/db db:migrate # Migrationen
pnpm --filter @hellth/api dev # API (Port 3002)
pnpm --filter admin dev # Admin (Port 3001)
```
Tests: `pnpm --filter admin test` · `pnpm --filter @hellth/api test`. Typecheck: `pnpm typecheck`.
## Auth/Admin
Admin-User: `admin@onl1.eu`. Admin erzwingt 2FA (mit Logs/Sicherheitsmechanik bei 2FA-Verlust). Passwörter nicht dokumentieren; bei Bedarf über Seed-/Admin-Skripte neu setzen.