'laravel', /* |-------------------------------------------------------------------------- | IDE |-------------------------------------------------------------------------- | | This options allow to add hyperlinks in your terminal to quickly open | files in your favorite IDE while browsing your PhpInsights report. | | Supported: "textmate", "macvim", "emacs", "sublime", "phpstorm", | "atom", "vscode". | | If you have another IDE that is not in this list but which provide an | url-handler, you could fill this config with a pattern like this: | | myide://open?url=file://%f&line=%l | */ 'ide' => null, /* |-------------------------------------------------------------------------- | Configuration |-------------------------------------------------------------------------- | | Here you may adjust all the various `Insights` that will be used by PHP | Insights. You can either add, remove or configure `Insights`. Keep in | mind, that all added `Insights` must belong to a specific `Metric`. | */ 'exclude' => [ // 'path/to/directory-or-file' ], 'add' => [ Classes::class => [ ForbiddenFinalClasses::class, ], ], 'remove' => [ // SyntaxCheck спавнит дочерний `php -l` процесс — на native-Windows возвращает // не-JSON и крашит PHP Insights (A1 backend-tooling, 20.05.2026). Избыточен: // синтаксис ловят Pint / Larastan / сам PHP. Стиль — владелец Pint (BT4, ADR-013). SyntaxCheck::class, AlphabeticallySortedUsesSniff::class, DeclareStrictTypesSniff::class, DisallowMixedTypeHintSniff::class, ForbiddenDefineFunctions::class, ForbiddenNormalClasses::class, ForbiddenTraits::class, ParameterTypeHintSniff::class, PropertyTypeHintSniff::class, ReturnTypeHintSniff::class, UselessFunctionDocCommentSniff::class, ], 'config' => [ ForbiddenPrivateMethods::class => [ 'title' => 'The usage of private methods is not idiomatic in Laravel.', ], ], /* |-------------------------------------------------------------------------- | Requirements |-------------------------------------------------------------------------- | | Here you may define a level you want to reach per `Insights` category. | When a score is lower than the minimum level defined, then an error | code will be returned. This is optional and individually defined. | */ 'requirements' => [ // Anti-regression floors из baseline 20.05.2026 (Code 80 / Complexity 81 / // Architecture 75). Чуть ниже текущих — гейт ловит деградацию, не текущий долг. // Style НЕ гейтим — владелец стиля Pint (BT4, ADR-013). Security-check off — // дублирует roave/security-advisories + composer audit. 'min-quality' => 78, 'min-complexity' => 79, 'min-architecture' => 73, 'disable-security-check' => true, ], /* |-------------------------------------------------------------------------- | Threads |-------------------------------------------------------------------------- | | Here you may adjust how many threads (core) PHPInsights can use to perform | the analysis. This is optional, don't provide it and the tool will guess | the max core number available. It accepts null value or integer > 0. | */ 'threads' => null, /* |-------------------------------------------------------------------------- | Timeout |-------------------------------------------------------------------------- | Here you may adjust the timeout (in seconds) for PHPInsights to run before | a ProcessTimedOutException is thrown. | This accepts an int > 0. Default is 60 seconds, which is the default value | of Symfony's setTimeout function. | */ 'timeout' => 60, ];