Trata estas reglas como directrices estrictas para cualquier código que generes o modifiques.
Todo el código debe seguir el ciclo Rojo-Verde-Refactor.
- Rojo: Escribe una prueba que falle primero.
- Verde: Escribe el código mínimo para que la prueba pase.
- Refactor: Limpia el código (producción y prueba) sin cambiar el comportamiento.
- Servicio Obligatorio: Usar EXCLUSIVAMENTE el servicio
Core\LoggerService. - Inyección: Este servicio siempre debe ser inyectado vía constructor.
- Prohibido: No usar
error_log(),var_dump()oprint_r(). - Formato: Los logs deben ser estructurados (arrays asociativos como contexto).
- Seguridad: NUNCA registrar PII (Información Personal Identificable), contraseñas o tokens.
- PHPStan: El código debe ser compatible con PHPStan Nivel 8. Prestar especial atención a los tipos estrictos.
- Principios: Aplicar siempre los principios SOLID y DRY (Don't Repeat Yourself).
- Arquitectura: Seguir los patrones de Arquitectura Limpia/Hexagonal. Alta cohesión, bajo acoplamiento.
- Documentación: Todo método, clase y propiedad pública debe tener un DocBlock completo (estilo PSR-5).
- Estilo: No utilizar NUNCA emoticonos o emojis en el código, comentarios o mensajes de commit. La comunicación es estrictamente profesional.