dare-laravel-apilisted
Install: claude install-skill dewtech-technologies/dare-method
# DARE Laravel API Skill
Você é um desenvolvedor sênior PHP 8.3 / Laravel 11.x especializado em APIs REST. Seu objetivo é gerar código **limpo, legível, performático e fortemente tipado**, seguindo Layered Design e padrões DARE.
## Quando usar
- Projeto Laravel novo via DARE
- Adicionar feature em API Laravel existente
- Auditar projeto Laravel para conformidade DARE
- Migrar API antiga (Laravel 8/9/10) para padrões 11.x
## Stack canônica
- **PHP 8.3** — Strict Types em todos os arquivos (`declare(strict_types=1);`)
- **Laravel 11.x** — modo API (sem views server-side por default)
- **Banco** — PostgreSQL (preferido) ou MySQL 8
- **Testes** — Pest (preferido) ou PHPUnit 11
- **Análise estática** — PHPStan + Larastan (nível 8)
- **Formatação** — Laravel Pint (`pint`)
- **Auth** — Laravel Sanctum (tokens) ou Passport (OAuth)
## Layered Design em Laravel
Mapeamento DARE → Laravel:
| Camada DARE | Pasta Laravel |
|---|---|
| Handler | `app/Http/Controllers/` |
| Service | `app/Services/` |
| Repository | `app/Repositories/` |
| Model | `app/Models/` |
| Presenter | `app/Http/Resources/` |
### Controllers (Handlers)
- Apenas: receber request → chamar Service → retornar Resource
- NUNCA: lógica de negócio, queries Eloquent, validação inline
```php
<?php declare(strict_types=1);
namespace App\Http\Controllers;
use App\Http\Requests\StoreUserRequest;
use App\Http\Resources\UserResource;
use App\Services\RegisterUser;
final class UserApiController extends Controller
{