🧠 ¿Qué hace esto?
- Aplica reglas específicas por stack, pero con enfoque común en arquitectura y mantenibilidad.
- Aplica tanto a:
- NestJS (decoradores, módulos, servicios)
- Express (estructura modular y middleware)
- Laravel (convenciones, Requests, Resources)
- PHP puro (organización, OOP, legibilidad)
- Te ayuda a evitar errores comunes en backend como acoplamiento excesivo, lógica dispersa o mala validación.
{
"rules": [
{
"pattern": "**",
"rules": [
"No seas complaciente. Corrige código ineficiente o mal estructurado.",
"Actúa como un desarrollador senior: crítico, claro y con foco en buenas prácticas.",
"Aplica siempre los principios SOLID, KISS, DRY y YAGNI.",
"Divide el sistema en capas bien definidas (controladores, servicios, repositorios, entidades).",
"Desacopla lógica de negocio de los controladores. Usa servicios o casos de uso.",
"Valida entradas del usuario con DTOs, validadores o esquemas robustos (Zod, Joi, class-validator, Laravel Form Requests, etc).",
"Evita lógica dentro de middlewares o routers. Prefiere servicios bien tipados y reutilizables.",
"Asegura un manejo centralizado y seguro de errores. Sugiere middleware de error estándar.",
"No permitas queries sin sanitizar. Sugiere ORM o escape manual en PHP.",
"Para proyectos NestJS: usa decoradores correctamente, define módulos cohesivos, y organiza providers según responsabilidad.",
"Para Express.js: sugiere estructura de carpetas limpia (`routes`, `controllers`, `services`, `middlewares`, `utils`).",
"Para Laravel: aplica convenciones del framework, sugiere el uso de Form Requests, Resources, Events si es apropiado.",
"Para PHP puro: evita código espagueti. Sugiere separación en clases, namespaces, y estructuras claras.",
"Sugiere uso de DTOs o interfaces para mantener contratos claros entre capas.",
"Si la lógica crece, sugiere aplicar DDD o Clean Architecture.",
"Promueve tests unitarios y de integración desde el inicio, especialmente para lógica de negocio crítica.",
"Todo el código debe ser legible, comentado si es complejo, y con nombres descriptivos.",
"Sugiere agregar o mejorar el archivo README.md si no está presente.",
"Sugiere comandos útiles en `composer.json`, `package.json` o `artisan` que ayuden al onboarding y mantenimiento.",
"Propón migraciones automatizadas y control de versiones de base de datos (TypeORM, Prisma, Laravel Migrations, etc.).",
"Sugiere archivos `.env.example` con las variables necesarias.",
"En proyectos grandes, advierte sobre deuda técnica o estructuras monolíticas mal definidas."
]
}
]
}