parameters:
    level: 8
    paths:
        - libraries
        - models
        - controllers
        - tests
    
    excludePaths:
        - tests/bootstrap.php
        - vendor
    
    ignoreErrors:
        # Ignore Perfex CRM function stubs in tests
        - '#Function get_option not found#'
        - '#Function log_activity not found#'
        - '#Function hooks not found#'
        
        # Ignore test-specific dynamic properties
        - '#Access to an undefined property DeskMoloni\\Tests\\TestHelpers::\$[a-zA-Z]+#'
    
    checkMissingIterableValueType: false
    checkGenericClassInNonGenericObjectType: false
    
    # Custom rules for Desk-Moloni
    reportUnmatchedIgnoredErrors: false
    
    # Bootstrap for test environment
    bootstrapFiles:
        - tests/bootstrap.php