paths('./src') ->excludeFiles('#.*test.*#') ->layers( $analyzePublic = Layer::withName('AnalyzePublic')->collectors( ClassLikeConfig::create('Kartierung\\Analyze\\Exception\\.+'), ClassLikeConfig::create('Kartierung\\Analyze\\Result\\.+') ), $analyze = Layer::withName('Analyze')->collectors( BoolConfig::create( must: [ClassLikeConfig::create('Kartierung\\Analyze\\.+')], mustNot: [ LayerConfig::create($analyzePublic) ] ) ), $attribute = Layer::withName('Attribute')->collectors( ClassLikeConfig::create('Kartierung\\Attribute\\.*'), ), ) ->rulesets( Ruleset::forLayer($analyze) ->accesses($attribute) ->accesses($analyzePublic), ); };