Add CLAUDE.md, development standards, project structure docs, and domain model skeleton for the Gartenmanager project. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Entwicklungsstandards
Allgemein gültige Standards für die Arbeit in diesem Repository.
Sprache
- Code-Bezeichner (Variablen, Funktionen, Klassen, Dateinamen): Englisch
- Domänenobjekte (z. B.
Pflanze,Beet,Aussaatkalender): Deutsch erlaubt, wenn es die Lesbarkeit erhöht - Commit-Messages: Englisch, Imperativ (
Add,Fix,Refactor) - Dokumentation & Kommentare: Deutsch
Git
Branching
main – stabiler Produktionsstand
feature/<name> – neue Features
fix/<name> – Bugfixes
chore/<name> – Wartung, Abhängigkeiten, Konfiguration
Commit-Messages
Format: <type>: <short description> (max. 72 Zeichen)
| Type | Wann |
|---|---|
feat |
Neues Feature |
fix |
Bugfix |
refactor |
Code-Umbau ohne Verhaltensänderung |
test |
Tests hinzufügen/anpassen |
docs |
Nur Dokumentation |
chore |
Build, Dependencies, Konfiguration |
Beispiel: feat: add watering schedule to plant detail view
Code-Qualität
- Keine auskommentierten Code-Blöcke committen
- Keine
console.log/print-Statements in Produktionscode - Funktionen bleiben klein und haben eine einzige Verantwortung
- Keine spekulativen Abstraktionen – erst abstrahieren, wenn ein Muster dreimal vorkommt
Testing
- Unit-Tests für Geschäftslogik (Berechnungen, Transformationen)
- Integrationstests an Systemgrenzen (API, Datenbank)
- Keine Mocks für die Datenbank in Integrationstests
- Testdatei liegt neben der zu testenden Datei oder in einem
__tests__/tests-Verzeichnis auf gleicher Ebene
Fehlerbehandlung
- Fehler nur an Systemgrenzen abfangen (User-Input, externe APIs, Datenbankzugriff)
- Intern Fehler propagieren, nicht still schlucken
- Keine Fallbacks für Szenarien, die nicht eintreten können
Abhängigkeiten
- So wenig externe Abhängigkeiten wie möglich
- Vor dem Hinzufügen einer Bibliothek prüfen: Wird sie wirklich gebraucht?
package.json/ Lockfile immer committen