# Projektleitfaden

Dieses Projekt ist ein Shopware 6 Plugin fuer die Adressvalidierung.

## Projektgrundlage

- `Requirements.md` ist die fachliche und technische Projektbeschreibung.
- Bei allen Projektphasen wird auf `Requirements.md` Bezug genommen.
- Anforderungen, Entscheidungen und Umsetzungsdetails sollen gegen `Requirements.md` geprueft werden.

## Struktur

- `src/SkywalkAddressValidation.php`: Plugin-Einstiegspunkt.
- `src/Service/AddressValidationService.php`: Fachlogik fuer Adressvalidierung.
- `src/Subscriber/AddressValidationSubscriber.php`: Integration in Shopware-Adressvalidierungs-Events.
- `src/Validation/Constraint/`: Symfony-Constraints fuer Street- und Phone-Validierung.
- `src/Struct/`: Kleine Datenobjekte fuer Konfiguration und Validierungsergebnisse.
- `src/Resources/config/services.xml`: Symfony-Service-Definitionen.
- `src/Resources/config/config.xml`: Plugin-Konfiguration.
- `src/Resources/snippet/`: Storefront-Uebersetzungen.
- `src/Resources/views/`: Storefront-Template-Erweiterungen fuer fruehe Nutzerhinweise.
- `docs/`: Test- und Rollout-Dokumentation.
- `tests/`: Tests fuer Plugin-Logik und Integrationen.

## Arbeitsweise

- Vor Arbeiten am Projekt wird `roadmap.md` gelesen.
- Nach einzelnen abgeschlossenen Arbeitschritten wird `roadmap.md` aktualisiert, sofern sich Ziel, Ergebnis oder Status einer Phase veraendert haben.
- `AGENTS.md`, `Requirements.md` und `roadmap.md` werden im fortlaufenden Prozess aktualisiert bzw. erweitert, wo es sinnvoll und notwendig ist.
- Bestehende Shopware-Konventionen bevorzugen.
- Services klein und testbar halten.
- Neue Konfigurationen in `config.xml` und passende Snippets zusammen pflegen.
