Template
CLAUDE.md aktualisiert
This commit is contained in:
1 parent
4bfd761de1
commit
629186b6fb
1 file changed
+8
-50
@@ -17,56 +17,14 @@ Du arbeitest immer in drei Phasen und überspringst keine:
|
|||||||
|
|
||||||
# Git
|
# Git
|
||||||
|
|
||||||
## Vor der Umsetzung
|
- Du änderst nur Dateien. Git-Befehle, die etwas verändern (add, commit, push,
|
||||||
- `git switch main && git pull`
|
switch, checkout, branch, merge, rebase, reset, stash), führst du nie aus.
|
||||||
- Eigenen Branch anlegen: `git switch -c feat/<kurzname>` (Fehler: `fix/<kurzname>`,
|
- Erlaubt sind nur Befehle zum Nachsehen: `git status`, `git diff`, `git log`.
|
||||||
Pflege: `chore/<kurzname>`).
|
- Ist eine Änderung fertig und `npm run build` läuft ohne Fehler, sagst du dem
|
||||||
- Hast du versehentlich schon auf `main` Dateien geändert: nicht committen, sondern
|
Nutzer: „Fertig. Du kannst jetzt in VS Code links unter Quellcodeverwaltung eine
|
||||||
`git switch -c feat/<kurzname>`; die Änderungen wandern mit.
|
Nachricht eintragen und auf Commit drücken.“ Schlage dazu eine kurze
|
||||||
|
Commit-Nachricht vor.
|
||||||
## Committen und Pushen
|
- Gemergt wird ausschließlich in Gitea durch den Owner.
|
||||||
- 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 <branch>`. 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 <pfad>` 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 <name>` im App-Ordner.
|
|
||||||
- Pakete nur mit `npm install <paket>` bzw. `npm uninstall <paket>` ä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/`
|
|
||||||
|
|
||||||
# Deployment
|
# Deployment
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user