Multi-Machine-Sync: Alle Claude-Konfigurationen ins Repo aufnehmen
- Agents (test-runner, security-audit, n8n-architect) ins Repo verschoben - dotfiles/ hinzugefügt: CLAUDE.md, settings.json, statusline-command.sh - bootstrap.sh erstellt: Einrichtung per git clone + einem Befehl - SETUP.md auf 2-Schritt-Setup vereinfacht Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# 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**
|
||||
|
||||
## Code-Konventionen
|
||||
|
||||
- **Backend:** Ruff, Type Hints, async, Pydantic-Schemas, Lifespan statt `on_event`
|
||||
- **Frontend:** `<script setup>`, ESLint+Prettier, Mobile First, `defineEmits` camelCase / Template kebab-case
|
||||
- **DB:** Jede Schema-Aenderung braucht eine Alembic-Migration
|
||||
- **Architektur:** `api/` → `services/` + `models/`, nie umgekehrt. HTTPException nur in `api/`. Eager-Loading in der API-Schicht. Frontend: Props down, Events up
|
||||
- **Docker Compose:** Jeder Service: `TZ=Europe/Berlin`, Logging 5 MB (`json-file`, `max-size: 5m`, `max-file: 3`), Watchtower-Label default deaktiviert
|
||||
|
||||
## Agenten-Workflow
|
||||
|
||||
Nach jeder Story automatisch ausfuehren: **test-runner** → **security-audit**. Erst wenn beide ohne kritische Befunde durchlaufen, gilt die Story als abgeschlossen.
|
||||
|
||||
## Pull Requests
|
||||
|
||||
PRs muessen jedes Akzeptanzkriterium einzeln als Checkbox auflisten und bestaetigen, wie es verifiziert wurde. Review-Feedback als separater Commit (nicht amenden).
|
||||
|
||||
## Git-Workflow
|
||||
|
||||
Niemals direkt auf `main` committen. Alle Aenderungen ueber Feature-Branches und PRs.
|
||||
|
||||
## Gitea-Integration
|
||||
|
||||
Instanz: `https://gitea.troeger-net.org`. Bot-User `claude-code`, Token: `GITEA_TOKEN=$(secret-tool lookup user claude-code token gitea)`. Bot hat nur Collaborator-Rechte.
|
||||
|
||||
## MCP
|
||||
|
||||
Bei Frameworks/Bibliotheken immer Context-7-Dokumentation abrufen (resolve-library-id / query-docs).
|
||||
Reference in New Issue
Block a user