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>
This commit is contained in:
parent
e42a8109bf
commit
36b92c07b7
4 changed files with 50 additions and 120 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -12,6 +12,9 @@ build/
|
|||
coverage/
|
||||
*.tsbuildinfo
|
||||
|
||||
# Next.js auto-generated (siehe https://nextjs.org/docs/app/api-reference/config/typescript)
|
||||
next-env.d.ts
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
.logs/
|
||||
|
|
|
|||
39
CLAUDE.md
39
CLAUDE.md
|
|
@ -1,11 +1,40 @@
|
|||
# Claude Working Guidelines - Hellth Hub
|
||||
|
||||
Hellth Hub ist eine mobile-first Health- und Ernährungstracking-App für den Home-Lab-Betrieb.
|
||||
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`).
|
||||
|
||||
Wichtig:
|
||||
**Ausführliche Projektreferenz** (Dateilandkarte, Features, Altlasten): [`docs/projektreferenz.md`](docs/projektreferenz.md).
|
||||
|
||||
- Umlaute immer korrekt schreiben.
|
||||
- Keine alten Altprojekt-/Tenant-/Community-Begriffe in neue UI oder Doku übernehmen.
|
||||
## 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.
|
||||
- Ä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.
|
||||
|
|
|
|||
6
apps/admin/next-env.d.ts
vendored
6
apps/admin/next-env.d.ts
vendored
|
|
@ -1,6 +0,0 @@
|
|||
/// <reference types="next" />
|
||||
/// <reference types="next/image-types/global" />
|
||||
import "./.next/dev/types/routes.d.ts";
|
||||
|
||||
// NOTE: This file should not be edited
|
||||
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
||||
|
|
@ -1,4 +1,6 @@
|
|||
# Hellth Hub Projektinfo
|
||||
# Hellth Hub - Projektreferenz
|
||||
|
||||
Ausführliches Nachschlagewerk. Die immer geltenden Regeln und der Schnellstart stehen in [`CLAUDE.md`](../CLAUDE.md) im Repo-Root.
|
||||
|
||||
## Kurzüberblick
|
||||
|
||||
|
|
@ -6,18 +8,6 @@ Hellth Hub ist eine mobile-optimierte Web-App für persönliches Health-, Ernäh
|
|||
|
||||
Das Projekt wurde technisch aus einem kopierten Naturfreunde-Hub-Grundgerüst entwickelt. Naturfreunde-Funktionen wurden weitgehend entfernt oder ersetzt. Das alte Projekt dient nur noch als historische/technische Vorlage, nicht als fachliche Grundlage.
|
||||
|
||||
Wichtig: In deutscher UI und Dokumentation immer echte Umlaute verwenden, also `ä`, `ö`, `ü`, `ß` statt `ae`, `oe`, `ue`, `ss`.
|
||||
|
||||
## Arbeitsverzeichnis
|
||||
|
||||
Aktueller Projektpfad:
|
||||
|
||||
```text
|
||||
c:\EurOwiG\Entwicklung\forgejo\hellth-hub
|
||||
```
|
||||
|
||||
Das Monorepo liegt direkt im Repo-Root (`apps/`, `packages/`, `docker/` …). Der frühere `nf-hub/`-Unterordner wurde am 2026-05-27 entfernt und sein Inhalt nach oben gezogen.
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- Monorepo mit `pnpm`
|
||||
|
|
@ -27,44 +17,7 @@ Das Monorepo liegt direkt im Repo-Root (`apps/`, `packages/`, `docker/` …). De
|
|||
- Docker: Postgres und pgAdmin, plus vorhandener App-Container
|
||||
- Auth: Better Auth mit Login, 2FA, Passkeys
|
||||
|
||||
## Wichtige Ports
|
||||
|
||||
- Admin-App lokal: `http://localhost:3001`
|
||||
- API lokal: `http://localhost:3002`
|
||||
- API Healthcheck: `http://localhost:3002/api/health`
|
||||
- Docker-App: `http://localhost:3000`
|
||||
- Postgres: `localhost:5432`
|
||||
- pgAdmin: `http://localhost:5050`
|
||||
|
||||
Hinweis: `http://localhost:3002` direkt kann `404` liefern. Das ist normal, weil die API unter `/api/...` hängt.
|
||||
|
||||
## Lokaler Start
|
||||
|
||||
Docker/Postgres muss laufen:
|
||||
|
||||
```powershell
|
||||
docker ps
|
||||
```
|
||||
|
||||
Migrationen anwenden:
|
||||
|
||||
```powershell
|
||||
pnpm --filter @hellth/db db:migrate
|
||||
```
|
||||
|
||||
API starten:
|
||||
|
||||
```powershell
|
||||
pnpm --filter @hellth/api dev
|
||||
```
|
||||
|
||||
Admin starten:
|
||||
|
||||
```powershell
|
||||
pnpm --filter admin dev
|
||||
```
|
||||
|
||||
Seeds:
|
||||
## Seeds
|
||||
|
||||
```powershell
|
||||
pnpm --filter @hellth/api seed:health
|
||||
|
|
@ -114,7 +67,7 @@ Der Demo-Recipe-Seed erzeugt 50 öffentliche Testrezepte mit IDs `demo-recipe-01
|
|||
Wearables/Fitbit/Health-Connect-Vorbereitung.
|
||||
|
||||
- `apps/admin/app/(authed)/einstellungen/page.tsx`
|
||||
User-Profil, Sicherheit, 2FA, Passkeys, Rezept-/Ernährungspräferenzen.
|
||||
User-Profil, Sicherheit, 2FA, Passkeys, Rezept-/Ernährungspräferenzen. Aufgeteilt in Tabs (`_components/settings-tabs.tsx`, `section-card.tsx`, `status-banner.tsx`), Tab-Auswahl über `?tab=`-Query.
|
||||
|
||||
- `apps/admin/app/(authed)/einstellungen/punkte/page.tsx`
|
||||
Globale Admin-Einstellung für Hellfireclub-/Aktivitätspunkte.
|
||||
|
|
@ -221,18 +174,9 @@ Vorschläge berücksichtigen vorrangig User-Profil:
|
|||
|
||||
### Admin Activity Feed
|
||||
|
||||
Pfad:
|
||||
Pfad: `/aktivitaetsfeed`
|
||||
|
||||
```text
|
||||
/aktivitaetsfeed
|
||||
```
|
||||
|
||||
Zeigt aktuell:
|
||||
|
||||
- Rezeptvorschläge
|
||||
- Marktänderungsanträge
|
||||
|
||||
Marktänderungen können direkt übernommen oder abgelehnt werden.
|
||||
Zeigt aktuell Rezeptvorschläge und Marktänderungsanträge. Marktänderungen können direkt übernommen oder abgelehnt werden.
|
||||
|
||||
### Hellfireclub
|
||||
|
||||
|
|
@ -254,18 +198,6 @@ Marktänderungen können direkt übernommen oder abgelehnt werden.
|
|||
- Fitbit-Aktivitätskatalog ist vorhanden.
|
||||
- Manuelle Aktivitäten sind möglich.
|
||||
|
||||
## Auth/Admin
|
||||
|
||||
Admin-User:
|
||||
|
||||
```text
|
||||
admin@onl1.eu
|
||||
```
|
||||
|
||||
Passwort steht nicht hier dokumentieren. Falls nötig über vorhandene Admin-/Seed-Skripte neu setzen.
|
||||
|
||||
Admin erzwingt 2FA. Es gibt zusätzliche Logs/Sicherheitsmechanik, falls 2FA-Status verloren geht.
|
||||
|
||||
## Tests und Checks
|
||||
|
||||
Admin-Tests:
|
||||
|
|
@ -292,12 +224,12 @@ Admin-Build:
|
|||
$env:NEXT_PUBLIC_API_URL='http://localhost:3002'; pnpm --filter admin build
|
||||
```
|
||||
|
||||
Zuletzt erfolgreich:
|
||||
Zuletzt erfolgreich (Stand 2026-05-29):
|
||||
|
||||
- API-Tests: 28/28
|
||||
- API-Tests: 38/38
|
||||
- Admin-Tests: 10/10
|
||||
- API-Typecheck: grün
|
||||
- Admin-Build: grün
|
||||
- Typecheck: grün (alle Pakete)
|
||||
- Lint: 0 Errors (react-hooks-Warnings = bestehendes Muster)
|
||||
|
||||
## Lokale Dev-Logs
|
||||
|
||||
|
|
@ -310,25 +242,7 @@ Wenn die Prozesse im Hintergrund gestartet wurden, liegen Logs hier:
|
|||
.logs/admin-dev.err.log
|
||||
```
|
||||
|
||||
## Wichtige Arbeitsregeln
|
||||
|
||||
- Bestehende User-Änderungen nicht zurücksetzen.
|
||||
- Keine destruktiven Git-Befehle ohne ausdrückliche Anweisung.
|
||||
- Für manuelle Code-Edits bevorzugt `apply_patch` verwenden.
|
||||
- Bei Suche `rg` bevorzugen.
|
||||
- UI mobile-first denken.
|
||||
- Keine Naturfreunde-Fachlogik wieder einführen.
|
||||
- Neue Formulare nach Möglichkeit mit `FormField` und `inputClassName` aus `apps/admin/app/_components/form-field.tsx` bauen.
|
||||
- Bei neuen DB-Funktionen Schema, Migration, API und UI zusammen denken.
|
||||
- Bei deutscher UI immer Umlaute korrekt schreiben.
|
||||
|
||||
## Aktuelle bekannte Besonderheiten
|
||||
|
||||
- `localhost:3002` direkt liefert 404; `/api/health` ist der richtige API-Test.
|
||||
- Docker stellt primär DB/pgAdmin bereit; lokale Entwicklung läuft über `pnpm --filter @hellth/api dev` und `pnpm --filter admin dev`.
|
||||
- Die Docker-App läuft zusätzlich auf `localhost:3000`, ist aber nicht der primäre lokale Dev-Workflow.
|
||||
|
||||
## Wichtige Orientierung für Claude: Repo-Konsistenz
|
||||
## Repo-Konsistenz und Altlasten
|
||||
|
||||
Das Hellth-Hub-Monorepo liegt direkt im Repo-Root. Aktuell relevant sind:
|
||||
|
||||
|
|
@ -357,14 +271,4 @@ Diese Altlast ist noch da und sollte **nicht angepackt werden**, weil sie die DB
|
|||
|
||||
- `packages/db/drizzle/*.sql` und `meta/*.json` (Migrationen 0000-0008) enthalten noch Naturfreunde-Tabellen-DDL aus der Schema-Historie. Drizzle tracked sie per Datei + Hash - Umbenennen oder Löschen würde die DB inkonsistent machen. Wenn das stört, ist ein dedizierter "Schema-Reset" notwendig (alle Migrationen löschen, neue `0000_init.sql` aus aktuellem Schema generieren, DB neu aufbauen).
|
||||
|
||||
### Arbeitsregel für neue Aufgaben
|
||||
|
||||
Pfade in Antworten immer ohne `nf-hub/`-Präfix - das Monorepo liegt im Repo-Root:
|
||||
|
||||
```text
|
||||
apps/admin
|
||||
packages/api
|
||||
packages/db
|
||||
```
|
||||
|
||||
Keine Naturfreunde-Funktionalität wiederbeleben. Wenn eine Altlast aus der obigen Liste auftaucht: höchstens kurz erwähnen, dann im aktuellen Hellth-Hub-Code weiterarbeiten. Cleanup nur nach ausdrücklicher Benutzerfreigabe.
|
||||
Keine Naturfreunde-Funktionalität wiederbeleben. Wenn eine Altlast auftaucht: höchstens kurz erwähnen, dann im aktuellen Hellth-Hub-Code weiterarbeiten. Cleanup nur nach ausdrücklicher Benutzerfreigabe.
|
||||
Loading…
Add table
Reference in a new issue