chore: initial project setup with documentation

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>
This commit is contained in:
Faultier314
2026-04-05 21:53:57 +02:00
commit f301cd4044
3 changed files with 177 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
# 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