Que fait cli-anything-mermaid ?
Créez, modifiez et rendez des diagrammes Mermaid via des fichiers projet et le service de rendu mermaid.ink. Conçu pour les agents IA et les utilisateurs avancés qui ont besoin de générer des organigrammes, des diagrammes de séquence et d'autres visualisations sans interface graphique.
Installation
Cette CLI est installée dans le cadre du package cli-anything-mermaid :
pip install cli-anything-mermaid
Prérequis :
- Python 3.10+
- Aucun logiciel externe requis (le rendu utilise le service cloud mermaid.ink)
Utilisation
Commandes de base
# Afficher l'aide
cli-anything-mermaid --help
# Démarrer le mode interactif REPL
cli-anything-mermaid
# Créer un nouveau projet
cli-anything-mermaid project new -o diagram.json
# Exécuter avec sortie JSON (pour consommation par agent)
cli-anything-mermaid --json project info
Mode REPL
Lorsqu'elle est invoquée sans sous-commande, la CLI entre dans une session interactive REPL :
cli-anything-mermaid
# Saisissez des commandes de manière interactive avec la complétion par tabulation et l'historique
Groupes de commandes
Projet
Commandes de cycle de vie du projet.
| Commande | Description |
|---|---|
new | Crée un nouveau projet Mermaid avec un préréglage d'exemple et un thème optionnels |
open | Ouvre un fichier projet Mermaid existant |
save | Sauvegarde le projet actuel dans un fichier |
info | Affiche les informations du projet actuel |
samples | Liste les préréglages de diagramme d'exemple disponibles |
Diagramme
Commandes de manipulation de la source du diagramme.
| Commande | Description |
|---|---|
set | Remplace le texte source Mermaid (en ligne ou depuis un fichier) |
show | Affiche le code source Mermaid actuel |
Export
Commandes de rendu et de partage.
| Commande | Description |
|---|---|
render | Rend le diagramme en SVG ou PNG via mermaid.ink |
share | Génère une URL Mermaid Live Editor pour le partage |
Session
Commandes d'état de la session.
| Commande | Description |
|---|---|
status | Affiche l'état actuel de la session |
undo | Annule la dernière modification de la source du diagramme |
redo | Rétablit la dernière modification annulée |
Exemples
Créer et rendre un organigramme
# Créer un projet avec un exemple d'organigramme
cli-anything-mermaid project new --sample flowchart -o flow.json
# Remplacer la source du diagramme
cli-anything-mermaid --project flow.json diagram set --text "graph TD; A-->B; B-->C;"
# Rendre en SVG
cli-anything-mermaid --project flow.json export render output.svg --format svg
Créer un diagramme de séquence
# Créer un projet avec un exemple de séquence
cli-anything-mermaid project new --sample sequence -o seq.json
# Définir le diagramme à partir d'un fichier
cli-anything-mermaid --project seq.json diagram set --file my_diagram.mmd
# Rendre en PNG
cli-anything-mermaid --project seq.json export render output.png --format png
Partager un diagramme
# Générer une URL Mermaid Live modifiable
cli-anything-mermaid --project flow.json export share --mode edit
# Générer une URL en lecture seule
cli-anything-mermaid --project flow.json export share --mode view
Session interactive REPL
cli-anything-mermaid
# new flowchart
# set graph TD; A-->B; B-->C;
# render output.svg
# share
# quit
Gestion de l'état
La CLI maintient l'état de la session avec :
- Annulation/Rétablissement : Revenir en arrière ou rejouer les modifications de la source du diagramme
- Persistance du projet : Sauvegarder/charger l'état du projet en JSON
- Suivi de session : Suivre les modifications et changements
Formats de sortie
Toutes les commandes prennent en charge deux modes de sortie :
- Lisible par l'humain (par défaut) : Tableaux, couleurs, texte formaté
- Lisible par machine (option
--json) : JSON structuré pour la consommation par agent
# Sortie humaine
cli-anything-mermaid project info
# Sortie JSON pour agents
cli-anything-mermaid --json project info
Pour les agents IA
Lorsque vous utilisez cette CLI de manière programmatique :
- Utilisez toujours l'option
--jsonpour une sortie analysable - Vérifiez les codes de retour - 0 pour succès, non nul pour erreurs
- Analysez stderr pour les messages d'erreur en cas d'échec
- Utilisez des chemins absolus pour toutes les opérations sur fichiers
- Vérifiez que les sorties existent après les opérations de rendu
Plus d'informations
- Documentation complète : Voir README.md dans le package
- Couverture des tests : Voir TEST.md dans le package
- Méthodologie : Voir HARNESS.md dans le cli-anything-plugin
Version
1.0.0