# Nächste Schritte (Kurzplan)

Dieser Kurzplan macht die Top-Prioritäten aus `docs/tasks.md` sofort umsetzbar. Er ist so geschrieben, dass du ihn Schritt für Schritt abarbeiten kannst. Jeder Schritt verweist auf die detaillierten Aufgaben in `docs/tasks.md`.

Hinweis: Befehle lokal ausführen; Projekt nutzt Docker. Siehe auch „Project Guidelines“ im Repository.

## Heute (Setup & Checks)
- [ ] Abhängigkeiten installieren und Basis-Checks ausführen
  - [ ] Composer-Install: `composer install`
  - [ ] Docker Images bauen: `./build.sh`
  - [ ] Stack starten: `docker-compose up -d`
  - [ ] Healthcheck: App erreichbar unter http://localhost:${APP_PORT:-8000}
- [ ] Grundchecks lokal laufen lassen
  - [ ] Linter (sofern konfiguriert): `composer cs`
  - [ ] PHPStan: `composer phpstan`
  - [ ] Tests: `./vendor/bin/pest`

Siehe: tasks.md → 1 (Baseline), 2 (CI/CD), 3 (Static Analysis), 15 (Testing)

## Als Nächstes (Kurzzyklus, 1–2 Tage)
- [ ] Static Analysis schärfen (tasks.md → Punkt 3)
  - [ ] Selektiv `declare(strict_types=1);` in Hot-Paths ergänzen (z. B. src/Framework/Http/*, src/Framework/Config/*)
  - [ ] PHPStan auf aktueller Codebasis „sauber“ bekommen (Fehler beheben statt pauschal ignorieren)
  - [ ] Baseline überprüfen und ggf. reduzieren
- [ ] Kritische Tests ergänzen (tasks.md → Punkte 10, 11, 14, 15)
  - [ ] HTTP: Tests für HttpRequest/Query, Fehlerpfade, Middleware-Kette
  - [ ] Feature Flags: Tests für CacheFeatureFlagRepository inkl. Negative Caching Verhalten
  - [ ] WAF/Rate Limiting: Basisfälle & Fehlerszenarien abdecken

## Diese Woche (3–5 Tage)
- [ ] CI/CD-Pipeline aufsetzen/härten (tasks.md → Punkt 2)
  - [ ] Jobs: Lint, PHPStan, Pest, `composer audit`
  - [ ] Optional: Coverage (XDEBUG_MODE=coverage) mit Minimal-Schwelle
  - [ ] Pre-commit Hooks (z. B. CaptainHook) lokal aktivieren
- [ ] Konfiguration & Secrets zentralisieren (tasks.md → Punkt 5)
  - [ ] `.env.example` prüfen/ergänzen (fehlende Keys, Defaults)
  - [ ] Boot-time Validierung sicherstellen (ConfigValidator bereits integriert)
  - [ ] Secrets über ENV/Secret Store, nicht im Repo
- [ ] Observability-Basis (tasks.md → Punkte 6, 8)
  - [ ] Strukturierte Logs & Metriken-Events (Cache Hit/Miss/Errors) definieren
  - [ ] Einfache Zähler/Timer an kritischen Stellen einhängen

## Konkrete, kleine Fixes (Schnelle Gewinne)
- [ ] Feature Flags Negative-Caching absichern (tasks.md → 20)
  - [ ] Prüfen, dass der Marker (`NOT_FOUND`) nicht mit echten Werten kollidiert; ggf. Sentinel-ValueObject einführen
- [ ] View Cache nicht einchecken (tasks.md → 13, 20)
  - [ ] Sicherstellen, dass `src/Framework/View/cache/*` in `.gitignore` ausgeschlossen ist

## Validierung nach Umsetzung
- [ ] Alle Checks lokal: `composer cs && composer phpstan && ./vendor/bin/pest && composer audit`
- [ ] Docker-Stack Neustart: `docker-compose restart`
- [ ] Manuelle Smoke-Tests der wichtigsten Endpunkte

## Entscheidungspunkte (bitte festlegen)
- [ ] Bevorzugtes CI-System (GitHub Actions, GitLab CI, …)?
- [ ] Minimal abzudeckende Coverage-Schwelle (z. B. 40% initial)?
- [ ] Ziel-PHPStan-Level kurzfristig (8 → 9)?

---
Kurzlinke Referenzen:
- CI/CD → tasks.md §2
- Static Analysis → tasks.md §3
- HTTP Layer → tasks.md §10
- Feature Flags → tasks.md §11 & §20
- WAF/Rate Limiting → tasks.md §7
- Konfiguration/Secrets → tasks.md §5
- Observability → tasks.md §6 & §8
