skills/laravel/laravel-clean-architecture/SKILL.md
Implement Domain-Driven Design with typed DTOs, repository interfaces, and single-responsibility Action classes in Laravel. Use when creating domain folders, binding repository contracts in providers, or passing DTOs between layers.
npx skillsauth add hoangnguyen0403/agent-skills-standard laravel-clean-architectureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
app/Domains/Order/{Actions,DTOs,Contracts}/.readonly class with typed constructor properties.Contracts/.AppServiceProvider.php artisan tinker and resolve interface to confirm DI works.See implementation examples for Action class with DTO and domain structure patterns.
app/Domains/Order/{Actions,DTOs,Contracts}/. Group by business domain (User, Order, Payment) — not by type (Controllers, Models).app/Models/.readonly class (PHP 8.2+) or readonly properties (PHP 8.1+). DTOs cross boundaries — pass between layers instead of raw arrays or Eloquent models.Contracts/OrderRepository interface and implement EloquentOrderRepository.AppServiceProvider via $this->app->bind(OrderRepository::class, EloquentOrderRepository::class).readonly DTOs.development
Summarizes GitHub PR, GitLab MR, or Azure DevOps PR metadata, review threads, changed files, and template completeness. Use during review-ticket or code-review workflows when PR/MR context exists.
tools
Development tools, linting, and build config for TypeScript. Use when configuring ESLint, Prettier, Jest, Vitest, tsconfig, or any TS build tooling.
development
Validate input, secure auth tokens, and prevent injection attacks in TypeScript. Use when validating input, handling auth tokens, sanitizing data, or managing secrets and sensitive configuration.
development
Apply modern TypeScript standards for type safety and maintainability. Use when working with types, interfaces, generics, enums, unions, or tsconfig settings.