Health-/Ernährungslogik überarbeitet: - Fix: upsertProfile speichert fehlende Größe/Gewicht als null statt 0 (Round-Trip-Bug: gespeicherte 0 scheiterte beim erneuten Speichern an z.number().positive()). Frontend clampt zudem mealsPerDay/cooksPerDay auf die Zod-Grenzen. 3 neue API-Tests. - Ziele-Bearbeitung vom Standalone /ziele in den Einstellungen-Tab ?tab=ziele gezogen; /ziele-Seite + Sidebar-Eintrag entfernt. Liest/ schreibt jetzt aus der DB (vorher las der Tab veraltetes localStorage). - Wochenziel wird automatisch als Tagesziel × 7 berechnet (Feld entfällt). - Sportbonus klar dargestellt: Tagesansicht addiert den heutigen Sport aufs Budget (nur wenn sportAddsCalories aktiv) mit Bolt-Badge; Wochen- Box mit Icon und Info "ganze Woche". Dashboard invalidiert alle statsSummary-Varianten. - Belohnende Banner bei Sport heute und bei Kaloriendefizit. - Doku: rules.md-Verweis auf docs/projektreferenz.md korrigiert. - Neuer Skill: ernaehrungswissenschaftler (fachliche Abnahme der Health-Logik). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.2 KiB
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.
Grundregeln
- Umlaute immer korrekt schreiben: echte
ä ö ü Ä Ö Ü ßstattae 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
FormFieldausapps/admin/app/_components/form-field.tsxbauen. - 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) - Postgres:
localhost:5432· pgAdmin:http://localhost:5050
Docker stellt nur db + pgadmin bereit (docker/docker-compose.yml). Lokale Entwicklung läuft über die Dev-Server auf 3001/3002.
Lokaler Start
Docker/Postgres muss laufen (docker ps), dann:
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.