Quality Gates

Erstellt: 2025-12-23 | Aktualisiert: 2025-12-28

Automatische Code-Qualitätsprüfung via Claude Code Hooks mit Task-Integration.

StatusAktiv
Implementiert2025-12-23 (Phase 1+2+3: 2025-12-28)
Regeln31 BLOCK + 50 WARN = 81 total
Task-IntegrationAutomatisch bei Violations

Architektur

/var/www/tools/ki-protokoll/claude-hook/
├── hook_dispatcher.py      ← Stabiler Einstiegspunkt
├── .env                    ← DB-Credentials
└── quality/
    ├── pre_rules.py            ← BLOCK-Regeln Dispatcher
    ├── post_rules.py           ← WARN-Regeln Dispatcher
    ├── pre_rules_guard.py      ← P1.x SRP, P4.x OOP
    ├── pre_rules_mvc.py        ← P2.x MVC
    ├── pre_rules_validation.py ← P3.x PSR
    ├── pre_rules_layers.py     ← P6.x SOLID
    ├── pre_rules_htmx.py       ← HTMX-C1-C5
    ├── pre_rules_constants.py  ← P7.x Magic Numbers
    ├── pre_rules_deterministic.py ← P8.x Deterministic
    ├── pre_rules_tests.py      ← P14.x Test Isolation
    ├── pre_rules_python.py     ← PP1.x Python
    ├── rules_quality.py        ← W1.x-W6.x Quality
    ├── rules_security.py       ← Security Warnings
    ├── rules_style.py          ← Style Warnings
    ├── rules_constants.py      ← W7.x Magic Numbers
    ├── rules_failfast.py       ← W8.x Fail Fast
    ├── rules_failsafe.py       ← W9.x Fail Safe (Phase 3)
    ├── rules_tradeoffs.py      ← W10.x Trade-offs (Phase 3)
    ├── rules_leastsurprise.py  ← W15.x Least Surprise
    ├── rules_testisolation.py  ← W14.x Test Isolation
    ├── phpmetrics_check.py     ← W13.x Cohesion (Phase 3)
    └── task_creator.py         ← Violations → Tasks

Prüfungen (15 Prinzipien)

#PrüfungPre-Hook (BLOCK)Post-Hook (WARN)
1SRP + KISSP1.1 Header, P1.2 MüllhaldenW1.1-W1.5 Metriken
2MVC + CRUDP2.1-P2.4 SQL, Trans, echoW2.1-W2.2 Keywords
3PSR + TypesP3.1-P3.4 strict, NS, ReturnW3.1, W3.3 Params
4OOPP4.1 Public PropertyW4.1-W4.4 Anämie
5DRY-W5.1-W5.2 Duplikate
6SOLID + DIPP6.1-P6.2 Layer-ImportsW6.1-W6.2 Interface
7ConstantsP7.1-P7.3 Magic NumbersW7.1-W7.5 Magic Strings
8DeterministicP8.1-P8.9 time, rand, globalW8.1-W8.5 Fail Fast
9Fail Safe-W9.1-W9.6 try-finally, cleanup
10Trade-offs-W10.1-W10.6 ADR, Factory, Cache
13Cohesion-W13.1-W13.6 LCOM, Coupling
14Test IsolationP14.1-P14.6 Prod-DB, TRUNCATEW14.1-W14.7 tearDown, sleep
15Least Surprise-W15.1-W15.6 Getter Side Effects

Fett = Neu in Phase 3 (2025-12-28)

Phase 3: Neue Regeln

W9.x Fail Safe (WARN)

W10.x Trade-off Documentation (WARN)

W13.x Cohesion (via PHPMetrics)

PHPMetrics Integration

# Installation
/opt/php-tools/vendor/bin/phpmetrics

# Analyse ausführen
/opt/php-tools/vendor/bin/phpmetrics --report-json=/tmp/phpmetrics.json /var/www/dev.campus.systemische-tools.de/src

# Cohesion-Check (Hook-Integration)
python3 /var/www/tools/ki-protokoll/claude-hook/quality/phpmetrics_check.py

ADR Template

Für Trade-off Dokumentation: /var/www/dev.campus.systemische-tools.de/docs/templates/adr-template.md

Prinzipien-Abdeckung

KategorieAnzahlAnteil
✅ Gut abgedeckt (≥70%)12/1580%
⚠️ Teilweise (30-69%)2/1513%
❌ Nicht automatisierbar1/157%

Detaillierte Dokumentation