Anweisung: Projektstruktur (Basis-Template) wie in „papa-kind-treff“

Aktueller Projektstand
- Papa-Kind-Treff nutzt im Mitgliederbereich DiceBear `lorelei` über einen internen API-Proxy mit lokalem Cache.
- Relevante Logik liegt in `src/App/Avatar/Lorelei.php`.
- Der Avatar-Proxy liegt unter `public/page/api/avatar.php`.
- Die visuelle Avatar-Konfiguration liegt im Dashboard-Modal unter `partials/landing/account/dashboard.php` und rendert Komponenten-Vorschauen live nach.
- Neue Grundvarianten werden im gleichen Modal als separates Auswahlraster eingeblendet und übernehmen die aktuell gewählten Lorelei-Komponenten.
- Alte statische Avatar-Presets und frühere Layer-Assets sind entfernt; aktiv ist nur noch der Lorelei-Generator.
- Änderungen an Funktionen mit Cookies, LocalStorage, SessionStorage, Geolocation, Tracking oder Drittanbietern müssen immer auch in Datenschutz-/Cookie-Hinweisen und im Consent-Flow berücksichtigt werden.

Ziel
- Erstelle ein neues Projekt bzw. aktualisiere das aktuelle mit exakt der gleichen Grundstruktur wie in „papa-kind-treff“.
- Fokus auf Hauptordner und deren Zweck; keine projektspezifischen Sonderordner (z. B. Community) anlegen.
- Inhalte können minimal sein, aber alle Pfade müssen existieren.
- In Ordnern, die noch keine Dateien beinhalten, muss eine leere Datei mit dem Namen .gitkeep erstellt werden.
- Bestehende Dateien nicht überschreiben; wenn nötig, Inhalte behutsam an die neue Logik anpassen.

Verzeichnisstruktur (Pflichtordner)
- api/
- config/
- debug/
- partials/
- public/
- src/
- tools/
- README.md
- schema.sql
- .gitlab-ci.yml

Details je Ordner

config/
- Enthält alle Konfigurationen.
- Muss Subordner für Umgebungen haben: z. B. prod/ und staging/.
- In den Umgebungsordnern liegen Basis-Konfigurationen (z. B. db.php, settings.php, emailtemplates.php, domaindata.php).
- Hinweis: Die Umgebungs-Subordner werden beim Deployment in den root-Config kopiert; daher ist hier keine weitere Unterscheidung nötig.
- Falls Dateien fehlen, lege sie mit minimalem Basisinhalt an (z. B. PHP-Array/Kommentar), ohne vorhandene Inhalte zu überschreiben.

api/
- Schnittstellen/Endpunkte.
- Kann zunächst leer bleiben; dann .gitkeep anlegen.

debug/
- Debug-Hilfen, Logs oder Debug-Skripte.
- Wenn leer: .gitkeep.

partials/
- Nur die Unterscheidung in:
  - landing/
  - structure/
- landing/: Platz für seitenbezogene Teilausschnitte.
- structure/: Layout-Grundbausteine (z. B. layout_start.php, layout_end.php, nav.php, matomo.php) als Beispieldaten.

public/
- Webroot.
- Muss assets/ enthalten mit Unterordnern: bilder/, fonts/, js/, css/ (Dateien optional).
- Muss index.php enthalten mit Basis-Logic (z. B. Entry-Point/Router/Bootstrap).

src/
- Backend/Business-Logik und Kernklassen.
- Enthält App- oder Domain-Code (z. B. Auth, Database, Mailer, Config, Request, Assets usw.).
- Lege eine kurze Beschreibung an, wofür src gedacht ist (Kommentar oder README im Ordner).

tools/
- Entwicklungs-/Wartungs-Tools, Skripte oder Utilities.
- Inhaltlich analog zu src gedacht, aber für interne Werkzeuge.

Datei-Inhalte (minimal, aber vorhanden)
- .gitkeep: leer.
- README.md, schema.sql, .gitlab-ci.yml: leer oder mit kurzem Platzhaltertext.
- PHP-Dateien: leer oder mit kurzem Kommentar, z. B. "<?php // TODO".
- .htaccess (falls genutzt): leer oder minimaler Platzhalter.

Zusätzliche Regeln
- Keine projektspezifischen Sonderordner anlegen.
- Pfade und Dateinamen exakt, Groß-/Kleinschreibung beachten.
- Struktur ist wichtiger als Inhalt.

Ausgabeformat
- Erzeuge die Ordner und Dateien exakt wie oben.
- Liefere optional eine kurze Zusammenfassung der angelegten/angepassten Struktur.
