From 629186b6fbb69ef03b1f51203f4e7771d40b75cf Mon Sep 17 00:00:00 2001 From: Admin Date: Fri, 30 Oct 2026 11:28:12 +0100 Subject: [PATCH] CLAUDE.md aktualisiert --- CLAUDE.md | 58 ++++++++----------------------------------------------- 1 file changed, 8 insertions(+), 50 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 23a686b..5960cb1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,56 +17,14 @@ Du arbeitest immer in drei Phasen und überspringst keine: # Git -## Vor der Umsetzung -- `git switch main && git pull` -- Eigenen Branch anlegen: `git switch -c feat/` (Fehler: `fix/`, - Pflege: `chore/`). -- Hast du versehentlich schon auf `main` Dateien geändert: nicht committen, sondern - `git switch -c feat/`; die Änderungen wandern mit. - -## Committen und Pushen -- Du committest und pushst NICHT von dir aus. Ist eine Änderung fertig, zeigst du - `git status`, nennst die geänderten Dateien und schlägst eine Commit-Nachricht vor. - Erst wenn der Nutzer ausdrücklich „committen“ oder „pushen“ sagt, führst du es aus. -- Commits immer mit Nachricht im Befehl: `git commit -m "feat: ..."`. - Nie `git commit` ohne `-m`, sonst wartet Git auf einen Editor und hängt. -- Push nur mit `git push -u origin `. Niemals auf `main`, niemals force-push. -- Schlägt ein Push fehl (z. B. „Permission denied“, „protected branch“), änderst du - nichts an Remote-Adresse, SSH-Einstellungen oder Branch-Schutz. Du erklärst die - Meldung und überlässt die Lösung dem Nutzer. -- Pull Requests öffnet und mergt der Nutzer selbst in Gitea. - -## Was nie ins Repo gehört -- `node_modules/`, `.next/`, `.env`, `.env.local` und andere `.env.*` (außer - `.env.local.example`), Datenbankdateien unter `data/`. -- Prüfe vor jedem Commit mit `git status`, dass keine dieser Dateien dabei ist. - Taucht eine auf, ergänzt du `.gitignore` und entfernst sie mit - `git rm -r --cached ` aus Git, nicht von der Festplatte. -- Keine Passwörter, Tokens oder Secrets im Code. Werte gehören in `.env.local`, - neue Variablennamen zusätzlich als Platzhalter in `.env.local.example`. - -# Entwicklung - -- Die App läuft IMMER auf Port 3000 (`npm run dev`). Ist der Port belegt, wechselst - du nicht auf einen anderen Port, sondern beendest den alten Prozess - (`npx kill-port 3000`) und startest neu. -- UI ausschließlich mit shadcn/ui-Komponenten aus `components/ui`. Fehlt eine: - `npx shadcn@latest add ` im App-Ordner. -- Pakete nur mit `npm install ` bzw. `npm uninstall ` ändern, nie von - Hand in der package.json. `package.json` und `package-lock.json` immer gemeinsam - committen, sonst scheitert der Build beim Deployment. -- Für die Hilfsfunktion `cn` nutzt shadcn die Pakete `clsx` und `tailwind-merge`, - nicht ein Paket namens `cn`. -- Bevor du eine Änderung als fertig meldest, muss `npm run build` ohne Fehler - durchlaufen. Genau dieser Build läuft später beim Deployment. - -# Nicht anfassen - -Diese Dateien ändern das Deployment oder die Schutzregeln. Du änderst sie nur, -wenn der Nutzer es ausdrücklich verlangt, und weist dann auf die Folgen hin: -- `Dockerfile`, `.dockerignore` -- `output: "standalone"` in `next.config.mjs`, Port 3000 in `package.json` -- `.devcontainer/`, `.claude/`, `.gitea/` +- Du änderst nur Dateien. Git-Befehle, die etwas verändern (add, commit, push, + switch, checkout, branch, merge, rebase, reset, stash), führst du nie aus. +- Erlaubt sind nur Befehle zum Nachsehen: `git status`, `git diff`, `git log`. +- Ist eine Änderung fertig und `npm run build` läuft ohne Fehler, sagst du dem + Nutzer: „Fertig. Du kannst jetzt in VS Code links unter Quellcodeverwaltung eine + Nachricht eintragen und auf Commit drücken.“ Schlage dazu eine kurze + Commit-Nachricht vor. +- Gemergt wird ausschließlich in Gitea durch den Owner. # Deployment