Resumen
maestro es un toolkit de línea de comandos en Go para gestionar un entorno de trabajo de AI tooling. Reúne tareas que normalmente viven como scripts dispersos — configurar herramientas, mantener el estado consistente y mover archivos y texto — en un CLI coherente con una superficie predecible.
Es un proyecto privado en desarrollo activo, construido como construiría algo de lo que depende un equipo: interfaces primero, estado confiable y controles de calidad que corren en cada cambio.
Qué hace
El toolkit cubre cinco áreas amplias:
- Orquestación de tareas — encadenar y ejecutar operaciones de varios pasos.
- Gestión de configuración — mantener consistente la configuración de las herramientas.
- Operaciones del sistema de archivos — manejo de archivos seguro y repetible.
- Utilidades de shell — los pequeños ayudantes que siempre terminas reescribiendo.
- Procesamiento de texto — transformar e inspeccionar contenido desde la terminal.
Cada área vive detrás de una interfaz limpia, así los comandos se mantienen pequeños y la implementación interna puede cambiar sin romper la superficie.
Arquitectura
El código sigue un diseño de Go basado en interfaces: cada paquete tiene un límite claro y puede probarse por su cuenta. La persistencia pasa por SQLite con migraciones embebidas, lo que significa que la herramienta versiona su propio estado sin enviar una base de datos externa ni correr migraciones a mano.
maestro/
├── cmd/ # 35 comandos CLI
├── internal/
│ └── .../ # paquetes internos enfocados
├── database/
│ └── migrations/ # migraciones SQLite embebidas
└── .github/
└── workflows/ # CI: build → vet → test-race → coverage
Controles de calidad
Nada entra sin pasar el mismo pipeline: el código debe compilar, pasar vet, sobrevivir las pruebas con detección de carreras y mantener la cobertura sana. Los mismos chequeos corren como pre-commit hooks en local y en CI, así una rama en verde significa lo mismo en tu máquina y en el servidor.
Estado
Pre-v1.0 y en desarrollo activo. La superficie de comandos ya se estabilizó; lo que queda es pulir la interfaz y ampliar la cobertura antes del primer release etiquetado.