claude-vault/knowledge/preferences.md
2026-02-04 16:49:53 +01:00

2.7 KiB

PERSÖNLICHE PRÄFERENZEN

TECH-STACKS

Frontend

  • Framework: React, Next.js
  • Styling: Tailwind CSS
  • Language: TypeScript
  • State: React Context, Zustand (bei Bedarf)

Backend

  • Framework: Django 5.2+, Django REST Framework
  • Language: Python 3.12+
  • Task Queue: Celery mit Redis
  • Optimization: PuLP, FICO Xpress

Database

  • Production: PostgreSQL
  • Development: SQLite
  • Cache/Broker: Redis

Infrastructure

  • Container: Docker (Multi-Stage Builds)
  • Orchestration: K3s
  • Monitoring: Prometheus, Loki, Grafana
  • CI/CD: GitLab CI

CODING STYLE

Python / Django

  • Type Hints: Immer verwenden (str | None statt Optional[str])
  • Docstrings: Google-Style für öffentliche APIs
  • Imports: Absolute Imports bevorzugen, gruppiert (stdlib, third-party, local)
  • Line Length: 88 Zeichen (Black-Standard)
  • String Quotes: Double Quotes für Strings
  • F-Strings: Bevorzugt gegenüber .format() oder %

Django-spezifisch

  • Views: Fat Models, Thin Views
  • Queries: Immer select_related/prefetch_related für Relations
  • Naming: Models singular (Match), related_name plural (matches)
  • Managers: Custom Manager für häufige Queries

TypeScript / React

  • Components: Functional Components mit Hooks
  • Naming: PascalCase für Components, camelCase für Funktionen
  • Props: Destructuring im Funktions-Signatur
  • CSS: Tailwind Utility Classes, keine Custom CSS wenn vermeidbar

Allgemein

  • Comments: Englisch im Code
  • No Magic Numbers: Konstanten mit sprechenden Namen
  • Error Messages: Hilfreich und kontextbezogen
  • DRY: Duplikation erst ab 3. Vorkommen abstrahieren

WORKFLOW

Dokumentation

  • Format: Markdown
  • Sprache: Deutsch für Nutzer-Dokumentation, Englisch für Code-Docs
  • Tool: MkDocs mit Material Theme

Git

  • Commits: Konventionelle Commit-Messages (feat, fix, refactor, docs, test)
  • Branches: feature/, fix/, refactor/ Prefixes
  • PRs: Klare Beschreibung, Test-Plan, Reviewer zuweisen

Testing

  • Unit Tests: pytest / Django TestCase
  • Coverage: Minimum 80% für kritische Pfade
  • Mocking: unittest.mock oder pytest-mock

Code Review

  • Fokus: Security > Correctness > Performance > Style
  • Feedback: Konstruktiv, mit Alternativen
  • Blocking: Nur bei Security/Correctness Issues

ABNEIGUNGEN (Was ich NICHT will)

  • Over-Engineering ohne konkreten Nutzen
  • Premature Optimization
  • Magic Imports (implizite Abhängigkeiten)
  • Riesige Commit-Messages ohne Substanz
  • any Types in TypeScript
  • Undokumentierte Public APIs
  • Tests ohne Assertions

Letzte Aktualisierung: 2026-02-04