# AGENTS.md

## Proyecto
Sistema Laravel 10 con enfoque en administración, generación de PDFs, exportación de datos, y control de accesos. Utiliza:
- Laravel Sanctum para autenticación API
- Spatie Laravel-Permission para roles y permisos
- AdminLTE como interfaz principal (vía `jeroennoten/laravel-adminlte`)
- Livewire para componentes interactivos
- Exportaciones a PDF (Snappy/Dompdf) y Excel (PhpSpreadsheet)
- Yajra Datatables para manejo avanzado de tablas

## Estructura esperada
- Rutas en `routes/web.php` y `routes/api.php`
- Controladores en `app/Http/Controllers/`
- Modelos en `app/Models/`
- Tests en `tests/Feature/` y `tests/Unit/`
- Vistas Blade y componentes Livewire en `resources/views/`

## Estándares de desarrollo
- PHP 8.2+
- Laravel 10.x
- PSR-12 para estilo de código
- Uso de Form Requests para validaciones
- Separación de lógica en `Services/`, `Actions/` o `Helpers/` si aplica
- Pruebas con PHPUnit

## Reglas para Codex
- Toda nueva funcionalidad debe tener sus pruebas (unitarias y/o de integración)
- Las APIs deben devolver respuestas JSON con códigos HTTP claros (200, 201, 422, 500)
- Preferir `resource controllers` y uso de `route model binding`
- No modificar paquetes externos
- Mantener compatibilidad con Livewire y AdminLTE

## Prompts típicos
> “Agrega una ruta y un método en el controlador para exportar usuarios en PDF usando DomPDF”

> “Corrige el bug en RoleController donde los permisos no se están sincronizando correctamente”

> “Crea una funcionalidad para exportar reportes filtrados a Excel y pruébala”

> “Escribe pruebas unitarias para el modelo User y la lógica de roles usando Spatie”
