Verbesserungsvorschläge für Pre-/Post-Hooks
Basierend auf der Analyse des KI-Protokolls wurden folgende wiederkehrende Korrektur-Muster identifiziert:
Analyse: Häufige Korrekturen durch Supervision
| Kategorie |
Häufigkeit |
Beispiele |
| Fatal Errors |
Hoch |
Class not found, Undefined method, PDOException |
| Architektur-Violations |
Hoch |
Controller mit direktem PDO-Zugriff, fehlende DI |
| Code Style |
Mittel |
PHP-CS-Fixer Issues, Import-Sortierung |
| UI/UX Logik |
Mittel |
Progress 1500%, falsche Terminologie |
| 404 Errors |
Mittel |
Fehlende Routes, falsche Pfade |
Vorschlag 1: PHP Syntax Check (Pre-Hook)
| Hook-Event | PreToolUse (Write) |
| Trigger | Neue PHP-Datei wird erstellt |
| Aktion | php -l auf neuen Inhalt |
| Bei Fehler | Blockieren mit Syntax-Fehlermeldung |
| Status | ⏳ Offen |
Vorschlag 2: Class/Use Statement Validator (Pre-Hook)
| Hook-Event | PreToolUse (Edit, Write) |
| Trigger | PHP-Datei mit new ClassName |
| Aktion | Prüft ob use-Statement oder FQCN vorhanden |
| Bei Fehler | Warnung mit fehlenden Imports |
| Status | ⏳ Offen |
Vorschlag 3: Route Existence Check (Post-Hook)
| Hook-Event | PostToolUse (Edit auf routes/*.php) |
| Trigger | Route-Datei wurde geändert |
| Aktion | Prüft ob alle Controller-Methoden existieren |
| Bei Fehler | Warnung mit fehlenden Methoden |
| Status | ⏳ Offen |
Vorschlag 4: Contract Pre-Validation (Pre-Hook)
| Hook-Event | PreToolUse (Edit auf src/Controller/*.php) |
| Trigger | Controller-Datei wird bearbeitet |
| Aktion | Schnelle Regex-Prüfung der Architecture-Regeln |
| Bei Fehler | Blockieren mit Violation-Details |
| Status | ✅ Implementiert |
| Script | /var/www/tools/ki-protokoll/claude-hook/architecture_guard.py |
| Contract | layered-architecture-pruefung_v1.0 |
Hinweis: Der Architecture Guard ist seit 2025-12-23 aktiv und blockiert Architektur-Violations wie:
- H1: strict_types_required (alle PHP-Dateien)
- H2: domain_no_infrastructure (Domain Layer)
- H3: db_factory_only (nur in Factory-Klassen)
- H4: no_new_repository_in_controller
- H5: no_new_infrastructure_in_controller
Vorschlag 5: PHPStan Quick Check (Post-Hook)
| Hook-Event | PostToolUse (Edit, Write auf *.php) |
| Trigger | PHP-Datei wurde geändert |
| Aktion | PHPStan Level 5 auf geänderte Datei |
| Bei Fehler | Warnung (nicht blockierend) |
| Status | ⏳ Offen |
Vorschlag 6: Services.php Sync Check (Post-Hook)
| Hook-Event | PostToolUse (Write auf src/Controller/*.php) |
| Trigger | Neuer Controller erstellt |
| Aktion | Prüft ob Constructor-Dependencies in services.php registriert |
| Bei Fehler | Warnung mit fehlenden Registrierungen |
| Status | ⏳ Offen |
Implementierungs-Priorität
| Priorität |
Hook |
Status |
Begründung |
| 1 (Kritisch) |
PHP Syntax Check |
⏳ |
Verhindert Fatal Errors vor Deployment |
| 2 (Kritisch) |
Architecture Guard |
✅ |
Verhindert Layer-Violations sofort |
| 3 (Hoch) |
Class Import Validator |
⏳ |
Verhindert "Class not found" Errors |
| 4 (Mittel) |
Route Existence Check |
⏳ |
Verhindert 404 bei neuen Routes |
| 5 (Mittel) |
PHPStan Quick Check |
⏳ |
Frühe Type-Error Erkennung |
| 6 (Niedrig) |
DI Sync Check |
⏳ |
Verhindert Runtime DI-Fehler |
Erwarteter Impact
Mit den vorgeschlagenen Hooks würden geschätzt 70-80% der im Protokoll gefundenen Korrekturen bereits vor/während der Code-Erstellung abgefangen:
- Fatal Errors: 95% durch Syntax + Class Import Check
- Architecture Violations: 100% durch Architecture Guard ✅
- 404 Errors: 80% durch Route Existence Check
- Type Errors: 60% durch PHPStan Quick Check