Files
claude-workflow/dotfiles/CLAUDE.md
T
martinandClaude Sonnet 4.6 3b72368674 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>
2026-04-19 11:14:42 +02:00

2.6 KiB

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-runnersecurity-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).