Cerramos la serie explorando qué implica migrar de CLI a TUI con ratatui: cómo cambia el modelo de interacción, qué fricciones introduce Rust con ownership y &mut en un event loop persistente, y por qué la arquitectura hexagonal absorbe el cambio sin cirugía.
Diseñamos la capa CLI con clap derive, parsing tipado de argumentos con ValueEnum y FromStr para UUIDs, subcomandos como enums, flag global –output para salida dual table/json, y errores propagados por capas hasta stderr.
En esta parte modelamos el corazón del proyecto: la entidad Task, sus transiciones inmutables y una taxonomía de errores por capas. Menos magia, más reglas explícitas y menos bugs sorpresa.
Arrancamos la serie construyendo un To-Do CLI en Rust desde el Project #1 de CodeCrafters, pero sin convertirlo en un script gigante. Vemos decisiones de arquitectura, límites de capas y por qué un proyecto pequeño también puede enseñarte diseño serio.
Guía de lectura de la serie Todo CLI en Rust, con el mapa técnico del repositorio, orden recomendado de capítulos y enlaces directos a archivos y commits para seguir cada decisión paso a paso.