¿Qué hace cli-anything-mermaid?
Crea, edita y renderiza diagramas Mermaid mediante archivos de proyecto y el renderizador mermaid.ink. Diseñado para agentes de IA y usuarios avanzados que necesitan generar diagramas de flujo, diagramas de secuencia y otras visualizaciones sin una GUI.
Instalación
Este CLI se instala como parte del paquete cli-anything-mermaid:
pip install cli-anything-mermaid
Requisitos previos:
- Python 3.10+
- No requiere software externo (el renderizado utiliza el servicio en la nube mermaid.ink)
Uso
Comandos básicos
# Mostrar ayuda
cli-anything-mermaid --help
# Iniciar modo REPL interactivo
cli-anything-mermaid
# Crear un nuevo proyecto
cli-anything-mermaid project new -o diagram.json
# Ejecutar con salida JSON (para consumo por agente)
cli-anything-mermaid --json project info
Modo REPL
Cuando se invoca sin un subcomando, el CLI inicia una sesión REPL interactiva:
cli-anything-mermaid
# Ingresa comandos de forma interactiva con autocompletado y historial
Grupos de comandos
Proyecto
Comandos del ciclo de vida del proyecto.
| Comando | Descripción |
|---|---|
new | Crea un nuevo proyecto Mermaid con un preset de muestra opcional y tema |
open | Abre un archivo de proyecto Mermaid existente |
save | Guarda el proyecto actual en un archivo |
info | Muestra información del proyecto actual |
samples | Lista los presets de diagrama de muestra disponibles |
Diagrama
Comandos de manipulación del código fuente del diagrama.
| Comando | Descripción |
|---|---|
set | Reemplaza el texto fuente de Mermaid (en línea o desde archivo) |
show | Imprime el código fuente Mermaid actual |
Exportación
Comandos de renderizado y uso compartido.
| Comando | Descripción |
|---|---|
render | Renderiza el diagrama a SVG o PNG mediante mermaid.ink |
share | Genera una URL del Editor en Vivo de Mermaid para compartir |
Sesión
Comandos de estado de la sesión.
| Comando | Descripción |
|---|---|
status | Muestra el estado actual de la sesión |
undo | Deshace el último cambio en el código fuente del diagrama |
redo | Rehace el último cambio deshecho |
Ejemplos
Crear y renderizar un diagrama de flujo
# Crear un proyecto con muestra de diagrama de flujo
cli-anything-mermaid project new --sample flowchart -o flow.json
# Reemplazar el código fuente del diagrama
cli-anything-mermaid --project flow.json diagram set --text "graph TD; A-->B; B-->C;"
# Renderizar a SVG
cli-anything-mermaid --project flow.json export render output.svg --format svg
Crear un diagrama de secuencia
# Crear proyecto con muestra de secuencia
cli-anything-mermaid project new --sample sequence -o seq.json
# Establecer diagrama desde archivo
cli-anything-mermaid --project seq.json diagram set --file my_diagram.mmd
# Renderizar a PNG
cli-anything-mermaid --project seq.json export render output.png --format png
Compartir un diagrama
# Generar una URL editable de Mermaid Live
cli-anything-mermaid --project flow.json export share --mode edit
# Generar una URL de solo vista
cli-anything-mermaid --project flow.json export share --mode view
Sesión REPL interactiva
cli-anything-mermaid
# new flowchart
# set graph TD; A-->B; B-->C;
# render output.svg
# share
# quit
Gestión de estado
El CLI mantiene el estado de la sesión con:
- Deshacer/Rehacer: Revierte o reproduce cambios en el código fuente del diagrama
- Persistencia del proyecto: Guarda/carga el estado del proyecto como JSON
- Seguimiento de sesión: Rastrea modificaciones y cambios
Formatos de salida
Todos los comandos soportan dos modos de salida:
- Legible para humanos (por defecto): Tablas, colores, texto formateado
- Legible para máquinas (flag
--json): JSON estructurado para consumo por agentes
# Salida para humanos
cli-anything-mermaid project info
# Salida JSON para agentes
cli-anything-mermaid --json project info
Para agentes de IA
Al usar este CLI de forma programática:
- Usa siempre el flag
--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 con archivos
- Verifica que las salidas existan después de operaciones de renderizado
Más información
- Documentación completa: Consulta README.md en el paquete
- Cobertura de pruebas: Consulta TEST.md en el paquete
- Metodología: Consulta HARNESS.md en cli-anything-plugin
Versión
1.0.0