¿Qué hace cli-anything-drawio?
Un entorno de línea de comandos para Draw.io — crea, edita y exporta diagramas desde la terminal.
Instalación
Este CLI se instala como parte del paquete cli-anything-drawio:
pip install cli-anything-drawio
Requisitos previos:
- Python 3.10+
- drawio debe estar instalado en tu sistema
Uso
Comandos básicos
# Mostrar ayuda
cli-anything-drawio --help
# Iniciar modo REPL interactivo
cli-anything-drawio
# Crear un nuevo proyecto
cli-anything-drawio project new -o project.json
# Ejecutar con salida JSON (para consumo por agentes)
cli-anything-drawio --json project info -p project.json
Modo REPL
Cuando se invoca sin un subcomando, el CLI entra en una sesión REPL interactiva:
cli-anything-drawio
# Ingresa comandos interactivamente con autocompletado y historial
Grupos de comandos
Proyecto
Gestión de proyectos: nuevo, abrir, guardar, información.
| Comando | Descripción |
|---|---|
new | Crear un nuevo diagrama en blanco |
open | Abrir un archivo de proyecto .drawio existente |
save | Guardar el proyecto actual |
info | Mostrar información detallada del proyecto |
xml | Imprimir el XML crudo del proyecto actual |
presets | Listar los ajustes predefinidos de tamaño de página disponibles |
Forma
Operaciones con formas: añadir, eliminar, mover, redimensionar, estilo.
| Comando | Descripción |
|---|---|
add | Añadir una forma al diagrama |
remove | Eliminar una forma por ID |
list | Listar todas las formas en una página |
label | Actualizar el texto de la etiqueta de una forma |
move | Mover una forma a nuevas coordenadas |
resize | Redimensionar una forma |
style | Establecer una propiedad de estilo en una forma |
info | Mostrar información detallada sobre una forma |
types | Listar todos los tipos de forma disponibles |
Conectar
Operaciones con conectores: añadir, eliminar, estilo.
| Comando | Descripción |
|---|---|
add | Añadir un conector entre dos formas |
remove | Eliminar un conector por ID |
label | Actualizar la etiqueta de un conector |
style | Establecer una propiedad de estilo en un conector |
list | Listar todos los conectores en una página |
styles | Listar los estilos de borde disponibles |
Página
Operaciones con páginas: añadir, eliminar, renombrar, listar.
| Comando | Descripción |
|---|---|
add | Añadir una nueva página |
remove | Eliminar una página por índice |
rename | Renombrar una página |
list | Listar todas las páginas |
Exportar
Operaciones de exportación: renderizar a PNG, PDF, SVG.
| Comando | Descripción |
|---|---|
render | Exportar el diagrama a un archivo |
formats | Listar los formatos de exportación disponibles |
Sesión
Gestión de sesiones: estado, deshacer, rehacer.
| Comando | Descripción |
|---|---|
status | Mostrar el estado actual de la sesión |
undo | Deshacer la última operación |
redo | Rehacer la última operación deshecha |
save-state | Guardar el estado de la sesión en disco |
list | Listar todas las sesiones guardadas |
Ejemplos
Crear un nuevo proyecto
Crea un nuevo archivo de proyecto drawio.
cli-anything-drawio project new -o myproject.json
# O con salida JSON para uso programático
cli-anything-drawio --json project new -o myproject.json
Sesión REPL interactiva
Inicia una sesión interactiva con soporte para deshacer/rehacer.
cli-anything-drawio
# Ingresa comandos interactivamente
# Usa 'help' para ver los comandos disponibles
# Usa 'undo' y 'redo' para la navegación del historial
Exportar proyecto
Exporta el proyecto a un formato de salida final.
cli-anything-drawio --project myproject.json export render output.pdf --overwrite
Gestión de estado
El CLI mantiene el estado de la sesión con:
- Deshacer/Rehacer: Hasta 50 niveles de historial
- Persistencia del proyecto: Guardar/cargar el estado del proyecto como JSON
- Seguimiento de sesión: Rastrear modificaciones y cambios
Formatos de salida
Todos los comandos admiten dos modos de salida:
- Legible para humanos (predeterminado): Tablas, colores, texto formateado
- Legible para máquinas (bandera
--json): JSON estructurado para consumo por agentes
# Salida humana
cli-anything-drawio project info -p project.json
# Salida JSON para agentes
cli-anything-drawio --json project info -p project.json
Para agentes de IA
Cuando uses este CLI de forma programática:
- Usa siempre la bandera
--jsonpara obtener salida analizable - Verifica los códigos de retorno - 0 para éxito, distinto de cero para errores
- Analiza stderr para mensajes de error en caso de fallo
- Usa rutas absolutas para todas las operaciones de archivos
- Verifica que las salidas existan después de las operaciones de exportación
Más información
- Documentación completa: Ver README.md en el paquete
- Cobertura de pruebas: Ver TEST.md en el paquete
- Metodología: Ver HARNESS.md en cli-anything-plugin
Versión
1.0.0