APIs REST en TypeScript basadas en contratos, seguras por defecto y pensadas para equipos que programan con IA
DaloyJS trae valores seguros por defecto, se niega a arrancar en producción ante las configuraciones erróneas que conoce y funciona sin dependencias en tiempo de ejecución, con un proceso de publicación reforzado y firmado con procedencia. Ningún framework hace que una aplicación sea totalmente segura ni detiene todos los ataques a la cadena de suministro, así que la documentación explica qué viene activado por defecto, qué activas tú y qué riesgos quedan.
Los primeros pasos, la instalación, el tutorial y las guías básicas (enrutado, validación, errores, OpenAPI, cliente tipado y seguridad) están en español; el resto de la documentación y el blog, de momento, solo en inglés.
$ pnpm create daloy@latest my-api- Más de 3000 pruebas del framework en verde
- Umbrales de cobertura: ≥90 % de líneas y funciones, ≥92 % de ramas
- 0 dependencias en tiempo de ejecución
- Node 24 LTS, Node 26+, Bun, Deno, Cloudflare
- Licencia MIT
Seguridad y cadena de suministro
Valores seguros por defecto: la capa de defensa para el código generado por IA
Cuando un modelo de IA genera el código, la velocidad a la que teclea el desarrollador deja de ser el cuello de botella: lo que importa es la seguridad en tiempo de ejecución y la integridad de la cadena de suministro. DaloyJS aplica las barreras en la capa de ejecución: límites de tamaño del cuerpo de la petición, tiempos de espera, protección frente a la contaminación de prototipos, ocultación de los detalles de los errores 5xx y negativa a arrancar ante configuraciones erróneas, sin dependencias transitivas que explotar.
Valores de ejecución seguros por defecto
Cero dependencias en tiempo de ejecución
Plantillas reforzadas para la cadena de suministro
Plantillas preparadas para la IA
Streaming y observabilidad
Portable entre entornos de ejecución
Basado en contratos desde el diseño
Clientes tipados con Hey API
Pilas incluidas
Benchmarks y rendimiento
Las cifras, con la letra pequeña incluida
Cuando los agentes de IA encadenan herramientas y lanzan peticiones con mucha concurrencia, el rendimiento y la latencia del arranque en frío pasan a ser críticos. DaloyJS trae las comprobaciones de seguridad activadas por defecto, y estos benchmarks miden el rendimiento con todas las protecciones en marcha.
Cómo se compara DaloyJS
Dependencias transitivas instaladas
Cada paquete que arrastra la instalación es superficie de ataque en la que alguien tiene que confiar. DaloyJS y Hono son los dos únicos que no añaden ninguno.
Qué significa para ti: Menos paquetes en los que confiar significa menos CVE y ningún script postinstall inesperado. Cero dependencias significa que el framework no abre puertas propias en la cadena de suministro; el resto de tu árbol de dependencias sigue siendo cosa tuya.
Conclusión: DaloyJS instala 0 dependencias transitivas, empatado con Hono como la menor superficie en la cadena de suministro, mientras que una aplicación NestJS segura arrastra 86.
Apple M3 Max · 16 cores · Node v26.4.0 · octubre de 2026 · @daloyjs/core 1.5.4 · código en bench/cross-framework
Por qué esto es comparar peras con manzanas
- Peras con manzanas, no una comparación de igual a igual. Son herramientas distintas que hacen cantidades de trabajo distintas. En cada petición, DaloyJS valida el cuerpo contra tu esquema de Zod o Valibot y aplica cabeceras seguras, un ID de petición, límites de tamaño del cuerpo y tiempos de espera, todo de serie. Las aplicaciones «mínimas» de los demás frameworks no hacen casi nada de esto, e incluso la «paridad de seguridad» rara vez lo iguala punto por punto. Así que parte de cada cifra de DaloyJS es seguridad y validación que, de otro modo, tendrías que construir tú.
- La metodología del tamaño difiere: DaloyJS es un único paquete sin dependencias, mientras que los demás resuelven árboles transitivos cuyo tamaño exacto depende de cuándo se generó el lockfile.
- El rendimiento depende de la carga de trabajo: con una pila de middleware comparable en ambos lados, DaloyJS saca un 27 % de ventaja a Hono en estas rutas GET y un 58 % en la ruta POST con cuerpo, y además DaloyJS valida ese cuerpo con Zod. Los servicios reales suelen estar limitados por la base de datos y la E/S, no por el despacho del framework, así que estas microcifras rara vez predicen lo que pasará en producción.
- Entornos de ejecución distintos: algunos frameworks (por ejemplo, Elysia) están optimizados para Bun, pero aquí se miden con sus adaptadores de Node para tener una base justa con un único runtime.
- Una sola máquina, un solo momento: un Apple M3 Max, Node v26.4.0, octubre de 2026, con @daloyjs/core 1.5.4 y otra carga de fondo en la máquina (los dos frameworks se midieron uno detrás de otro, así que la comparación se sostiene mejor que las cifras absolutas). Tu hardware, tu runtime y tus versiones moverán estas cifras.
Nativo para máquinas: para agentes y herramientas de IA
DaloyJS está listo para MCP
El Model Context Protocol (MCP) es el estándar abierto que usan agentes de IA como Claude, Cursor y VS Code para llamar a herramientas y leer documentación. DaloyJS lo soporta en ambos extremos: tu aplicación puede convertirse en un servidor MCP, y esta documentación (en inglés) ya lo es.
Convierte tu API en un servidor MCP
DaloyJS crea servidores MCP solo con @daloyjs/core, sin SDK: transporte Streamable HTTP, validación de los esquemas de entrada y una protección al arrancar en producción que se niega a iniciar si un endpoint MCP no tiene un hook de autenticación en su cadena. Comprueba que el hook está ahí y, en producción, que se ha ejecutado en cada petición, no que rechace a nadie, así que prueba también tu autenticación.
Lee esta documentación por MCP
Un endpoint público de solo lectura en el que tu agente de programación puede buscar y leer sin copiar y pegar. No hace falta clave de API.
Endpoint
https://daloyjs.dev/mcpsearch_docsBúsqueda por palabras clave en todas las páginas de la documentación, ordenada por relevancia.get_docLee el texto completo de una página por su ruta o su slug.list_docsConsulta todas las páginas de documentación disponibles en una sola llamada.
Añádelo a la configuración de tu cliente MCP
¿Usas un cliente que solo admite stdio? Conéctalo con npx -y mcp-remote https://daloyjs.dev/mcp.
Contener el radio de impacto
Contratos como recintos de seguridad, no como sintaxis decorativa
En un flujo de trabajo centrado en la IA, los contratos no son un lujo estético para humanos: son la frontera que la máquina hace cumplir y que impide que estructuras de datos alucinadas se filtren entre componentes. Un solo contrato de ruta valida estrictamente las peticiones, acota las respuestas y genera en vivo la especificación OpenAPI 3.1 y el cliente tipado.
Referencia de API con Scalar, en una línea
Scalar es el sucesor moderno de Swagger UI: rápido, limpio, con modo oscuro nativo y peticiones de prueba integradas. En DaloyJS es la interfaz de documentación por defecto, no un plugin: docs: true en el constructor de App monta automáticamente esta página en /docs y la especificación OpenAPI 3.1 en vivo en /openapi.json.
Se genera a partir de los contratos de tus rutas, sin código extra. ¿Prefieres Swagger UI o Redoc? Ambos están a un campo de configuración de distancia. Guía de OpenAPI y de la interfaz de documentación →
Compromisos del ecosistema
Lo mejor de cada competidor, con menos renuncias
DaloyJS no intenta ganar en una sola casilla. Intenta eliminar el trabajo de pegamento entre las mejores ideas que a los desarrolladores ya les gustan.
Refuerzo portable de la cadena de suministro para las aplicaciones que creas
Ajustes de instalación de pnpm reforzados, lockfiles con origen verificado, SBOM + procedencia de npm
Encaje en serverless / edge
Núcleo basado en estándares web, adaptadores para varios runtimes
Operaciones y documentación maduras en Node
Plugins encapsulados, logs estructurados, apagado ordenado
DX moderna centrada en TS, compatible con Bun
Handlers, contexto y cliente tipados de extremo a extremo
La mejor ergonomía de OpenAPI
OpenAPI 3.1 integrado a partir de una sola definición de ruta
La mejor generación de clientes tipados
pnpm gen → SDK fetch totalmente tipado
¿Todo listo para desplegar con valores seguros por defecto?
Crea un proyecto en segundos con la instalación reforzada para tu gestor de paquetes, una CI generada que bloquea los scripts de instalación, GitHub Actions fijadas, Dependabot, CODEOWNERS y verificación del origen del lockfile. Después, mantén el contrato a medida que la aplicación crece: la misma aplicación funciona en Node, Bun, Deno y Cloudflare Workers.
Apoya el proyecto
Si DaloyJS te ahorra tiempo, puedes invitarme a un café
DaloyJS es gratuito y tiene licencia MIT. Si la documentación, los artículos o el propio framework te han ayudado a sacar algo adelante con un poco menos de drama, un café es una forma perfectamente razonable de mantener vivo el trabajo.