🧠 ¿Qué hace esto?

{
  "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."
      ]
    }
  ]
}