post_rules.py
- Pfad:
/var/www/tools/ki-protokoll/claude-hook/quality/post_rules.py - Namespace: claude-hook.quality
- Zeilen: 61 | Größe: 1,707 Bytes
- Geändert: 2025-12-28 14:21:37 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 88
- Dependencies: 50 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Dependencies 10
- use typing.List
- use rules_quality.RULES
- use rules_security.RULES
- use rules_style.RULES
- use rules_constants.RULES
- use rules_failfast.RULES
- use rules_leastsurprise.RULES
- use rules_testisolation.RULES
- use rules_failsafe.RULES
- use rules_tradeoffs.RULES
Funktionen 1
-
check()Zeile 42
Code
#!/usr/bin/env python3
"""
Post-Hook Regeln (WARN) - Beliebig erweiterbar ohne Claude-Neustart.
Alle W-Regeln aus dem Quality Gate Plan.
Organisiert in separate Module nach Kategorie.
"""
from typing import List
from .rules_quality import RULES as QUALITY_RULES
from .rules_security import RULES as SECURITY_RULES
from .rules_style import RULES as STYLE_RULES
from .rules_constants import RULES as CONSTANTS_RULES
from .rules_failfast import RULES as FAILFAST_RULES
from .rules_leastsurprise import RULES as LEASTSURPRISE_RULES
from .rules_testisolation import RULES as TESTISOLATION_RULES
from .rules_failsafe import RULES as FAILSAFE_RULES
from .rules_tradeoffs import RULES as TRADEOFFS_RULES
# =============================================================================
# ALLE AKTIVEN REGELN
# =============================================================================
RULES = (
QUALITY_RULES
+ SECURITY_RULES
+ STYLE_RULES
+ CONSTANTS_RULES
+ FAILFAST_RULES
+ LEASTSURPRISE_RULES
+ TESTISOLATION_RULES
+ FAILSAFE_RULES
+ TRADEOFFS_RULES
)
# =============================================================================
# MAIN CHECK FUNCTION
# =============================================================================
def check(file_path: str, content: str) -> dict:
"""
Führt alle Post-Hook-Regeln aus.
Sammelt alle Warnungen.
Args:
file_path: Pfad zur zu prüfenden Datei
content: Dateiinhalt
Returns:
Dict mit warnings-Liste
"""
all_warnings = []
for rule in RULES:
warnings = rule(file_path, content)
all_warnings.extend(warnings)
return {"warnings": all_warnings}