# Globale CLAUDE.md ## Sprache Alle Texte, Kommentare und Kommunikation auf Deutsch. Technische Begriffe und Code-Bezeichner bleiben im Original. ## Entwicklungsprinzipien - **Single Responsibility:** Jede Datei, jede Funktion hat genau eine Aufgabe - **Keine toten Code-Pfade:** Unbenutzte Imports, Variablen, Funktionen sofort entfernen - **Aussagekraeftige Namen:** Sprechende Bezeichner statt `handleClick`, `process` - **Keine Magic Numbers:** Konstanten mit Namen versehen - **DRY mit Augenmass:** Shared Utilities nur bei echtem Mehrfachgebrauch - **Fail Fast:** Fehlende/ungueltige Konfiguration muss beim Start eine Exception werfen - **Keine generischen `try/except`:** Spezifische Exceptions fangen - **Logging statt print:** `logger` verwenden - **Testpflicht:** Kein Code ohne zugehoerigen Test - **Security by Default:** Input-Validierung, Auth-Checks, sichere Defaults. Sicherheitskritische Pfade durch Tests absichern - **String-Eingaben trimmen:** Alle String-Felder beim Anlegen/Update in Services/Schemas trimmen (leading/trailing Whitespace entfernen). Leerstrings werden zu `None`, wenn das Feld optional ist. Verhindert Sortier-/Vergleichs-/Suchfehler durch unsichtbare Zeichen - **Kleine Funktionen, keine Kommentare fuer Offensichtliches** - **Keine systemveraendernden Scripts zum Testen ausfuehren:** Scripts die Symlinks, Berechtigungen, Pakete oder Konfiguration aendern niemals "einfach so" ausfuehren. Stattdessen mit `bash -n` (Syntax) oder gezieltem `grep`/`cat` pruefen ## Code-Konventionen - **Backend:** Ruff, Type Hints, async, Pydantic-Schemas, Lifespan statt `on_event` - **Frontend:** `