Cro es un conjunto de librerías para construir sistemas distribuidos reactivos, diseñado para aprovechar todas las capacidades del lenguaje de programación Raku. Sus APIs de alto nivel simplifican las tareas habituales, mientras que el concepto de pipeline asíncrono en el núcleo de Cro hace posible abordar problemas más complejos.
La librería incorpora un servidor HTTP con un sistema de routing flexible: permite capturar y validar segmentos de la ruta mediante firmas (por ejemplo, UUIDv4), servir contenido estático a partir de rutas dinámicas y obtener parámetros directamente desde la cadena de consulta. También incluye parseo y serialización de cuerpos de petición configurables, con soporte integrado para www-form-urlencoded, datos multiparte y JSON, y la posibilidad de añadir parseadores y serializadores personalizados.
Cro ofrece, además, un cliente HTTP y soporte completo para WebSockets, integrados con el router y basados en el tipo Supply de Raku, lo que facilita la comunicación bidireccional entre servicios, la escritura de clientes WebSocket y la creación de pruebas de integración. En el apartado de herramientas, el comando cro stub genera esqueletos de servicios HTTP y ZeroMQ con buenas prácticas por defecto —acepta host y puerto desde variables de entorno, útil para despliegue en contenedores, y crea un META6.json con las dependencias—. Le acompañan cro run, un ejecutor ligero para desarrollo, y cro trace, que activa el trazado de peticiones a lo largo del pipeline asíncrono para localizar con rapidez el origen de un fallo.
