- Main Branch:
mainist der einzige permanente Branch - Feature Branches: Für neue Features
feature/<name>vonmainableiten - Bugfix Branches: Für Fehlerbehebungen
bugfix/<name>vonmainableiten - KEINE Versionsnummern in Branch-Namen (z.B.
feature/state-machine-refactoringstattfeature/v0.16-state-machine-refactoring) - KEIN
developBranch - direkt von/nachmainarbeiten - Nach Merge den Feature/Bugfix Branch löschen
- KEIN Footer in Commit-Messages (kein "Generated with Claude Code", kein "Co-Authored-By")
- Commit-Messages und Beschreibungen komplett auf Englisch
- KEIN Footer in PR-Beschreibungen (kein "🤖 Generated with Claude Code" o.ä.)
- PR-Titel und Beschreibungen komplett auf Englisch
- Dokumentation: Deutsch mit englischen Fachbegriffen
- Code und Kommentare: Englisch (keine deutschen Kommentare im Code!)
- Commits und PRs: Englisch
- Alles muss kompilieren – vor jedem Commit
dotnet buildausführen - Keine Kompilierungsfehler – Code darf nicht committed werden wenn er nicht kompiliert
- Keine Warnungen – Compiler-Warnungen müssen behoben werden, nicht unterdrückt
- NICHT nur Happy-Path Tests schreiben!
- Edge Cases sind das Wichtigste: Was passiert bei leeren Inputs, null-Werten, ungültigen IDs?
- Fehler-Cases abdecken: Was passiert wenn ein Service nicht erreichbar ist? Wenn eine Entity bereits in einem bestimmten Status ist?
- State-Transitions testen: Besonders bei Domain-Entities alle ungültigen Übergänge testen
- Filterlogik testen: Wenn Daten gefiltert werden (z.B. "Removed" ausblenden), explizit testen dass der Filter funktioniert
- Vor dem Schreiben von Code überlegen: "Welche Bugs könnten hier entstehen?" und dafür Tests schreiben
- Container immer mit
docker composebauen und starten (im Projektroot)docker compose build- Image bauendocker compose up -d- Container startendocker compose down -v- Container stoppen und Volumes löschen
- Port: 8080 - Die Anwendung läuft auf http://localhost:8080 (NICHT 5080!)
- Bei Fragen zu externen Libraries (Playwright, ASP.NET, Blazor, Docker, YamlDotNet, MediatR, FluentAssertions, Astro/Starlight, etc.) immer Context7 verwenden um aktuelle Dokumentation abzurufen
- Syntax:
use context7im Prompt oder direkt die Context7 MCP Tools nutzen - Besonders wichtig bei: Library-Updates, neuen API-Methoden, versionsspezifischen Features
- SSL-Verifizierung für Git ist deaktiviert (abgelaufenes TFS-Zertifikat)