El Problema
Mantener la documentación de una API sincronizada con su comportamiento real en producción es un desafío constante. Comúnmente, los equipos escriben especificaciones (OpenAPI, AsyncAPI, etc.) que rápidamente quedan desactualizadas, lo que genera errores de integración y una falsa sensación de seguridad. Validar que una API cumpla estrictamente su contrato suele requerir configuraciones pesadas, dependencias complejas o simplemente se omite por completo en los pipelines de CI/CD.
La Solución
smile nace como un validador estricto de contratos sin dependencias pesadas diseñado para integrarse nativamente en suites de pruebas (Vitest/Jest) y flujos de CI. Actúa en dos frentes:
- Linter Estático: Analiza rápidamente los archivos de especificación para asegurar que cumplen con estándares de completitud y buenas prácticas, fallando en el CI si se detectan anomalías.
- Breaching Detector (Validación en Tiempo de Ejecución): Al apuntar
smilehacia un servidor en vivo, este dispara peticiones HTTP reales contra los endpoints documentados y valida que los cuerpos de respuesta y esquemas coincidan exactamente con el contrato establecido.
Con un motor de reglas incorporado y configuración incremental, smile actúa como un juez implacable que aísla y resalta cualquier desviación, garantizando que el backend siempre diga la verdad.
Para ver la documentación completa de instalación, reglas de validación y soporte de formatos, puedes visitar el repositorio oficial en GitHub.