Was macht cli-anything-drawio?
Eine CLI-Schnittstelle für Draw.io – erstelle, bearbeite und exportiere Diagramme von der Kommandozeile aus.
Installation
Diese CLI wird als Teil des cli-anything-drawio-Pakets installiert:
pip install cli-anything-drawio
Voraussetzungen:
- Python 3.10+
- drawio muss auf Ihrem System installiert sein
Verwendung
Grundlegende Befehle
# Hilfe anzeigen
cli-anything-drawio --help
# Interaktiven REPL-Modus starten
cli-anything-drawio
# Ein neues Projekt erstellen
cli-anything-drawio project new -o project.json
# Mit JSON-Ausgabe ausführen (für KI-Agenten)
cli-anything-drawio --json project info -p project.json
REPL-Modus
Wenn ohne Unterbefehl aufgerufen, startet die CLI eine interaktive REPL-Sitzung:
cli-anything-drawio
# Befehle interaktiv mit Tab-Vervollständigung und Verlauf eingeben
Befehlsgruppen
Projekt
Projektverwaltung: neu, öffnen, speichern, Info.
| Befehl | Beschreibung |
|---|---|
new | Ein neues leeres Diagramm erstellen |
open | Eine vorhandene .drawio-Projektdatei öffnen |
save | Das aktuelle Projekt speichern |
info | Detaillierte Projektinformationen anzeigen |
xml | Das rohe XML des aktuellen Projekts ausgeben |
presets | Verfügbare Seitengrößen-Voreinstellungen auflisten |
Form
Formoperationen: hinzufügen, entfernen, verschieben, skalieren, formatieren.
| Befehl | Beschreibung |
|---|---|
add | Ein Form zum Diagramm hinzufügen |
remove | Ein Form anhand seiner ID entfernen |
list | Alle Formen auf einer Seite auflisten |
label | Den Beschriftungstext eines Forms aktualisieren |
move | Ein Form zu neuen Koordinaten verschieben |
resize | Ein Form skalieren |
style | Eine Stileigenschaft für ein Form festlegen |
info | Detaillierte Informationen zu einem Form anzeigen |
types | Alle verfügbaren Formtypen auflisten |
Verbinden
Verbindungsoperationen: hinzufügen, entfernen, formatieren.
| Befehl | Beschreibung |
|---|---|
add | Eine Verbindung zwischen zwei Formen hinzufügen |
remove | Eine Verbindung anhand ihrer ID entfernen |
label | Die Beschriftung einer Verbindung aktualisieren |
style | Eine Stileigenschaft für eine Verbindung festlegen |
list | Alle Verbindungen auf einer Seite auflisten |
styles | Verfügbare Kantenstile auflisten |
Seite
Seitenoperationen: hinzufügen, entfernen, umbenennen, auflisten.
| Befehl | Beschreibung |
|---|---|
add | Eine neue Seite hinzufügen |
remove | Eine Seite anhand ihres Index entfernen |
rename | Eine Seite umbenennen |
list | Alle Seiten auflisten |
Export
Exportoperationen: Rendern in PNG, PDF, SVG.
| Befehl | Beschreibung |
|---|---|
render | Das Diagramm in eine Datei exportieren |
formats | Verfügbare Exportformate auflisten |
Sitzung
Sitzungsverwaltung: Status, Rückgängig, Wiederholen.
| Befehl | Beschreibung |
|---|---|
status | Aktuellen Sitzungsstatus anzeigen |
undo | Die letzte Operation rückgängig machen |
redo | Die letzte rückgängig gemachte Operation wiederherstellen |
save-state | Sitzungsstatus auf die Festplatte speichern |
list | Alle gespeicherten Sitzungen auflisten |
Beispiele
Ein neues Projekt erstellen
Erstellen einer neuen Draw.io-Projektdatei.
cli-anything-drawio project new -o myproject.json
# Oder mit JSON-Ausgabe für programmatische Nutzung
cli-anything-drawio --json project new -o myproject.json
Interaktive REPL-Sitzung
Start einer interaktiven Sitzung mit Rückgängig-/Wiederholen-Unterstützung.
cli-anything-drawio
# Befehle interaktiv eingeben
# 'help' verwenden, um verfügbare Befehle anzuzeigen
# 'undo' und 'redo' für die Verlaufsnavigation verwenden
Projekt exportieren
Exportieren des Projekts in ein endgültiges Ausgabeformat.
cli-anything-drawio --project myproject.json export render output.pdf --overwrite
Statusverwaltung
Die CLI verwaltet den Sitzungsstatus mit:
- Rückgängig/Wiederholen: Bis zu 50 Ebenen Verlauf
- Projektpersistenz: Projektstatus als JSON speichern/laden
- Sitzungsverfolgung: Änderungen und Modifikationen nachverfolgen
Ausgabeformate
Alle Befehle unterstützen duale Ausgabemodi:
- Menschlich lesbar (Standard): Tabellen, Farben, formatierter Text
- Maschinenlesbar (
--json-Flag): Strukturiertes JSON für Agenten
# Menschliche Ausgabe
cli-anything-drawio project info -p project.json
# JSON-Ausgabe für Agenten
cli-anything-drawio --json project info -p project.json
Für KI-Agenten
Bei der programmatischen Nutzung dieser CLI:
- Immer das
--json-Flag verwenden für analysierbare Ausgabe - Rückgabecodes prüfen – 0 für Erfolg, ungleich null für Fehler
- stderr parsen für Fehlermeldungen bei Misserfolg
- Absolute Pfade verwenden für alle Dateioperationen
- Vorhandensein der Ausgabe überprüfen nach Exportoperationen
Weitere Informationen
- Vollständige Dokumentation: Siehe README.md im Paket
- Testabdeckung: Siehe TEST.md im Paket
- Methodik: Siehe HARNESS.md im cli-anything-plugin
Version
1.0.0