expect('Application\\Http\\Controllers') ->not->toUse('Domain\\Models\\Entities'); arch('no Domain Entities are used in Policies') ->expect('Application\\Policies') ->not->toUse('Domain\\Models\\Entities'); arch('app Repositories implement Application\Contracts\Repository') ->expect('Application\\Repositories') ->toImplement('Application\\Contracts\\Repository'); arch('app Directories implement Application\Contracts\Directory') ->expect('Application\\Directories') ->toImplement('Application\\Contracts\\Directory'); arch('app DTOs are final readonly classes') ->expect('Application\\Dto') ->classes() ->toBeFinal() ->toBeReadonly(); arch('no debug calls in production code') ->expect(['dd', 'dump', 'die', 'var_dump', 'sleep']) ->not->toBeUsed(); });