# Configuration GrumPHP : vérifications automatiques de qualité du code.
# Lancement manuel : vendor/bin/grumphp run
#
# NB : dans ce dépôt (monorepo), l'installation automatique du hook Git est
# désactivée (extra.grumphp.disable-plugin dans composer.json) pour ne pas
# interférer avec le dépôt racine. Les mêmes contrôles sont exécutés en CI.
grumphp:
    # On laisse le temps aux analyses (Larastan peut être un peu long).
    process_timeout: 120

    # On n'arrête pas au premier échec : on veut voir TOUS les problèmes
    # (Pint ET PHPStan) en une seule fois.
    stop_on_failure: false

    tasks:
        # 1) Style de code (Laravel Pint) — mêmes règles qu'en CI.
        shell:
            scripts:
                - ['-c', 'vendor/bin/pint --test']

        # 2) Analyse statique (Larastan / PHPStan) — détecte les vrais bugs.
        phpstan:
            configuration: phpstan.neon
            # false => on analyse les chemins définis dans phpstan.neon (app/)
            # plutôt que seulement les fichiers modifiés : analyse plus fiable.
            use_grumphp_paths: false
            # Larastan charge tout le framework : 128M par défaut ne suffit pas.
            memory_limit: '512M'
