{ "schema_version": 2, "diagram_type": "workflow", "meta": { "title": "Gitty · Repository klonen und öffnen", "quality_profile": "showcase", "legend": { "entries": { "frontend": { "label": "Oberfläche" }, "backend": { "label": "Verarbeitung" }, "security": { "label": "Zugang" }, "database": { "label": "Repository-Daten" } } } }, "lanes": [ { "id": "main", "label": "Klonen & Öffnen" }, { "id": "auth", "label": "Anmeldung", "variant": "exception" } ], "mainPath": [ "choose", "credentials", "clone", "lfs", "bundle", "open" ], "nodes": [ { "id": "choose", "lane": "main", "col": 0, "type": "frontend", "label": "Remote & Ziel", "sublabel": "Dialog / Integration", "width": 155, "yOffset": 0 }, { "id": "credentials", "lane": "main", "col": 1, "type": "security", "label": "Zugang prüfen", "sublabel": "OS-Keychain / Git", "width": 155, "yOffset": 0 }, { "id": "clone", "lane": "main", "col": 2, "type": "backend", "label": "Git klont", "sublabel": "Ziel lokal validieren", "width": 155, "yOffset": 0 }, { "id": "lfs", "lane": "main", "col": 3, "type": "backend", "label": "LFS nachladen", "sublabel": "Falls erforderlich", "width": 155, "yOffset": 0 }, { "id": "bundle", "lane": "main", "col": 4, "type": "database", "label": "Daten bündeln", "sublabel": "Status / Historie / Dateien", "width": 155, "yOffset": 0 }, { "id": "open", "lane": "main", "col": 5, "type": "frontend", "label": "Repository öffnen", "sublabel": "Bundle in UI anwenden", "width": 155, "yOffset": 0 }, { "id": "signin", "lane": "auth", "col": 2, "type": "security", "label": "Neu anmelden", "sublabel": "Zugangsdaten eingeben", "width": 155, "yOffset": 25 } ], "edges": [ { "id": "main-0", "from": "choose", "to": "credentials", "label": "Start", "variant": "emphasis" }, { "id": "main-1", "from": "credentials", "to": "clone", "label": "IPC", "variant": "emphasis" }, { "id": "main-2", "from": "clone", "to": "lfs", "label": "Erfolg", "variant": "emphasis" }, { "id": "main-3", "from": "lfs", "to": "bundle", "label": "Weiter", "variant": "emphasis" }, { "id": "main-4", "from": "bundle", "to": "open", "label": "Bundle", "variant": "emphasis" }, { "id": "auth-error", "from": "clone", "to": "signin", "label": "Auth-Fehler", "variant": "security", "role": "error" }, { "id": "retry-clone", "from": "signin", "to": "credentials", "label": "Erneut versuchen", "variant": "dashed", "role": "return" } ], "cards": [ { "dot": "cyan", "title": "Auswahl & Ausführung", "items": [ "URL oder Hosting-Integration liefert das Remote; Zielordner und Optionen kommen aus dem Dialog.", "Tauri führt den Clone in spawn_blocking aus. Git nutzt HTTPS oder SSH." ] }, { "dot": "amber", "title": "LFS ist ein Folgeschritt", "items": [ "Nur bei vorhandenem HEAD: LFS erkennen, lokale Filter / Hook einrichten, Objekte laden.", "Ein LFS-Fehler wird zur Warnung; das geklonte Repository wird trotzdem geöffnet." ] }, { "dot": "rose", "title": "Fehler & Optionen", "items": [ "Bei Authentifizierungsfehlern öffnet die UI den Anmeldedialog; neue Zugangsdaten erlauben einen erneuten Versuch.", "Branch, shallow, blobless und sparse sind optionale Varianten. Andere Clone-Fehler bleiben im Dialog sichtbar." ] } ] }