qgraphflow 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/.claude-plugin/marketplace.json +17 -0
  3. package/.claude-plugin/plugin.json +13 -0
  4. package/.codex-plugin/plugin.json +26 -0
  5. package/.cursor-plugin/plugin.json +9 -0
  6. package/.qoder-plugin/plugin.json +9 -0
  7. package/LICENSE +21 -0
  8. package/README.md +262 -0
  9. package/THIRD_PARTY_NOTICES.md +190 -0
  10. package/bin/qgraphflow.mjs +17 -0
  11. package/docs/clients.de.md +83 -0
  12. package/docs/clients.es.md +83 -0
  13. package/docs/clients.ja.md +83 -0
  14. package/docs/clients.md +83 -0
  15. package/docs/clients.pt.md +83 -0
  16. package/docs/clients.ru.md +83 -0
  17. package/docs/clients.zh-CN.md +83 -0
  18. package/docs/readme/README.de.md +262 -0
  19. package/docs/readme/README.es.md +262 -0
  20. package/docs/readme/README.ja.md +262 -0
  21. package/docs/readme/README.pt.md +262 -0
  22. package/docs/readme/README.ru.md +262 -0
  23. package/docs/readme/README.zh-CN.md +264 -0
  24. package/examples/order-flow.graph.json +94 -0
  25. package/package.json +61 -0
  26. package/skills/q-flow/SKILL.md +69 -0
  27. package/skills/q-flow/agents/openai.yaml +5 -0
  28. package/skills/q-flow/assets/layout-dist/ELK-LICENSE.md +264 -0
  29. package/skills/q-flow/assets/layout-dist/worker.mjs +24 -0
  30. package/skills/q-flow/assets/viewer/package.json +22 -0
  31. package/skills/q-flow/assets/viewer/src/diagrams/architecture.js +43 -0
  32. package/skills/q-flow/assets/viewer/src/diagrams/card.js +21 -0
  33. package/skills/q-flow/assets/viewer/src/diagrams/class.js +52 -0
  34. package/skills/q-flow/assets/viewer/src/diagrams/dataflow.js +19 -0
  35. package/skills/q-flow/assets/viewer/src/diagrams/deployment.js +41 -0
  36. package/skills/q-flow/assets/viewer/src/diagrams/drawing.js +174 -0
  37. package/skills/q-flow/assets/viewer/src/diagrams/er.js +34 -0
  38. package/skills/q-flow/assets/viewer/src/diagrams/flowchart.js +37 -0
  39. package/skills/q-flow/assets/viewer/src/diagrams/registry.js +28 -0
  40. package/skills/q-flow/assets/viewer/src/diagrams/sequence.js +38 -0
  41. package/skills/q-flow/assets/viewer/src/diagrams/state.js +91 -0
  42. package/skills/q-flow/assets/viewer/src/diagrams/usecase.js +28 -0
  43. package/skills/q-flow/assets/viewer/src/edge-routing.js +596 -0
  44. package/skills/q-flow/assets/viewer/src/export-svg.js +90 -0
  45. package/skills/q-flow/assets/viewer/src/graph-validation.js +286 -0
  46. package/skills/q-flow/assets/viewer/src/i18n-messages.json +1314 -0
  47. package/skills/q-flow/assets/viewer/src/i18n.js +14 -0
  48. package/skills/q-flow/assets/viewer/src/layout-measure.js +55 -0
  49. package/skills/q-flow/assets/viewer/src/layout-quality.js +164 -0
  50. package/skills/q-flow/assets/viewer/src/layout-spacing.js +12 -0
  51. package/skills/q-flow/assets/viewer/src/node-svg.js +28 -0
  52. package/skills/q-flow/assets/viewer/src/radix-colors.js +47 -0
  53. package/skills/q-flow/assets/viewer/src/sequence-executions.js +140 -0
  54. package/skills/q-flow/assets/viewer/src/sequence-fragments.js +208 -0
  55. package/skills/q-flow/assets/viewer/src/session-graph.js +43 -0
  56. package/skills/q-flow/assets/viewer/src/text-layout.js +126 -0
  57. package/skills/q-flow/assets/viewer/src/visual-style.js +158 -0
  58. package/skills/q-flow/assets/viewer-dist/index.html +291 -0
  59. package/skills/q-flow/references/acceptance.md +11 -0
  60. package/skills/q-flow/references/evidence-sources.md +38 -0
  61. package/skills/q-flow/references/graph-common.md +54 -0
  62. package/skills/q-flow/references/graph-schema.md +214 -0
  63. package/skills/q-flow/references/guided-intake.md +100 -0
  64. package/skills/q-flow/references/types/architecture.md +41 -0
  65. package/skills/q-flow/references/types/class.md +40 -0
  66. package/skills/q-flow/references/types/dataflow.md +41 -0
  67. package/skills/q-flow/references/types/deployment.md +37 -0
  68. package/skills/q-flow/references/types/er.md +36 -0
  69. package/skills/q-flow/references/types/flowchart.md +47 -0
  70. package/skills/q-flow/references/types/sequence.md +74 -0
  71. package/skills/q-flow/references/types/state.md +44 -0
  72. package/skills/q-flow/references/types/usecase.md +39 -0
  73. package/skills/q-flow/references/viewer-development.md +258 -0
  74. package/skills/q-flow/references/visual-contract.md +54 -0
  75. package/skills/q-flow/scripts/compile-layout.mjs +565 -0
  76. package/skills/q-flow/scripts/compile-sequence.mjs +112 -0
  77. package/skills/q-flow/scripts/generate-viewer.mjs +126 -0
  78. package/skills/q-flow/scripts/validate-graph.mjs +278 -0
@@ -0,0 +1,262 @@
1
+ <div align="center">
2
+
3
+ # QGraphFlow
4
+
5
+ ### Aus komplexem Code werden Diagramme zum Erkunden.
6
+
7
+ Pfade verfolgen. Belege prüfen. Eine Offline-Datei teilen.
8
+
9
+ <sub>💡 Inspiriert von <a href="https://github.com/Cocoon-AI/architecture-diagram-generator">Cocoon-AI/architecture-diagram-generator</a> – vielen Dank für die Anregung.</sub>
10
+
11
+ [English](../../README.md) · [中文](../../docs/readme/README.zh-CN.md) · [Русский](../../docs/readme/README.ru.md) · [Português](../../docs/readme/README.pt.md) · [日本語](../../docs/readme/README.ja.md) · [Deutsch](../../docs/readme/README.de.md) · [Español](../../docs/readme/README.es.md)
12
+
13
+ [Online-Demo](https://supermax92.github.io/qgraphflow/) · [Client-Installation](#installationsanleitung) · [Problem melden](https://github.com/supermax92/qgraphflow/issues) · [MIT](../../LICENSE)
14
+
15
+ </div>
16
+
17
+ ![Architektur, Sequenz und ER des Beispiels agent-desk, je 1,5 Sekunden](https://github.com/supermax92/qgraphflow/releases/download/showcase-v2/agent-desk.de.hero.gif)
18
+
19
+ *Neun Diagrammarten: Architektur, Flussdiagramm, Sequenz, ER, Bereitstellung, Klasse, Zustand, Anwendungsfall und Datenfluss.*
20
+
21
+ QGraphFlow erzeugt interaktive Softwarediagramme aus Quellcode, Datenstrukturen, Konfiguration und Anforderungen. Beziehungen bleiben überprüfbar; das Ergebnis lässt sich als Offline-HTML teilen.
22
+
23
+ **Was es auszeichnet:** neun Diagrammarten in einem Skill, eine Quelle für jede Beziehung, automatisches Layout, Bearbeiten direkt auf der Seite und keine Netzwerkanfragen von den Plugin-Skripten oder dem Viewer selbst.
24
+
25
+ ```bash
26
+ npx skills add supermax92/qgraphflow
27
+ ```
28
+
29
+ Ein Befehl installiert den Skill für Claude Code, Codex, Cursor und Qoder; die Installation als Plugin und weitere Clients beschreibt die [Installationsanleitung](#installationsanleitung).
30
+
31
+ - **Erkunden:** suchen, zoomen und verschieben; Verantwortlichkeiten sowie ein- und ausgehende Beziehungen verstehen.
32
+
33
+ ![Erkunden: nach refund suchen, zu Bestellwerkzeuge springen, herauszoomen bis der Orchestrator oberhalb sowie Bestelldatenbank und Sendungsverfolgung unterhalb sichtbar sind, dann verschieben](https://github.com/supermax92/qgraphflow/releases/download/showcase-v2/agent-desk.de.explore.gif)
34
+
35
+ - **Prüfen:** Dateien, Zeilen, Symbole und ausdrücklich gekennzeichnete Unsicherheiten an Knoten und Kanten untersuchen.
36
+
37
+ ![Prüfen: Karte mit src/gateway/chat-gateway.js:5-19, Detailbereich mit Symbol und Belegen, dann die als inference gekennzeichnete Kante POST /chat](https://github.com/supermax92/qgraphflow/releases/download/showcase-v2/agent-desk.de.verify.gif)
38
+
39
+ - **Bearbeiten:** Layout entsperren, Texte ändern und Elemente verschieben; bei Bedarf zurücksetzen.
40
+
41
+ ![Bearbeiten: Layout entsperren, LLM-Anbieter in LLM-Gateway umbenennen, mit seinen Kanten verschieben, dann zurücksetzen](https://github.com/supermax92/qgraphflow/releases/download/showcase-v2/agent-desk.de.edit.gif)
42
+
43
+ - **Teilen:** Offline-HTML öffnen oder das vollständige Diagramm als SVG / PNG exportieren.
44
+
45
+ ![Teilen: Offline-HTML öffnen, PNG über Mehr exportieren, dann die exportierte Datei selbst](https://github.com/supermax92/qgraphflow/releases/download/showcase-v2/agent-desk.de.share.gif)
46
+
47
+ Die obere Animation zeigt Architektur, Sequenz und ER je 1,5 Sekunden (4,5 Sekunden pro Schleife); die vier Funktionsanimationen dauern 6,5–8,5 Sekunden. Alle wurden im aus dem Quellcode gebauten Viewer am [Beispiel agent-desk](../../examples/showcase/agent-desk) aufgenommen — fiktives Geschäft, echter Code — mit deutschem Diagramm- und Oberflächentext. Sie liegen als [Assets des Release showcase-v2](https://github.com/supermax92/qgraphflow/releases/tag/showcase-v2) außerhalb der Git-Historie und des Plugin-Pakets, zum Betrachten ist also eine Netzverbindung nötig; das erzeugte Diagramm-HTML selbst funktioniert offline.
48
+
49
+ ## Installationsanleitung
50
+
51
+ Benötigt werden Node.js 22 oder neuer und ein Client mit Plugin-Unterstützung und eingerichtetem Modellzugriff.
52
+
53
+ ### Schnellinstallation
54
+
55
+ ```bash
56
+ npx skills add supermax92/qgraphflow
57
+ ```
58
+
59
+ Getestet mit `skills` 1.7.0 für Claude Code, Codex, Cursor und Qoder. Der Befehl fragt, in welche Clients installiert werden soll; `-a claude-code` gibt einen direkt an, `-g` installiert für den eigenen Benutzer statt für das aktuelle Projekt. Der Skill heißt danach `q-flow`, ohne das Präfix `qgraphflow:` der Plugin-Installationen unten.
60
+
61
+ Für die Installation als Plugin den folgenden Schritten folgen. [Qoder Desktop](#qoder-desktop) kann das Plugin direkt aus dem Marketplace installieren; Schritt 1 entfällt.
62
+
63
+ ### 1. Plugin herunterladen
64
+
65
+ [qgraphflow-0.0.6.zip](https://github.com/supermax92/qgraphflow/releases/download/v0.0.6/qgraphflow-0.0.6.zip) herunterladen und in ein eigenes Verzeichnis entpacken. Versteckte Dateien beibehalten.
66
+
67
+ Alle folgenden Terminalbefehle im **entpackten Plugin-Stammverzeichnis mit `skills/`** ausführen.
68
+
69
+ ### 2. Im gewünschten Client installieren
70
+
71
+ #### Codex App / CLI
72
+
73
+ Codex CLI muss installiert und im Terminal verfügbar sein:
74
+
75
+ ```bash
76
+ codex plugin marketplace add .
77
+ codex plugin add qgraphflow@supermax92
78
+ ```
79
+
80
+ Eine neue Sitzung starten, `$` eingeben und `qgraphflow:q-flow` auswählen.
81
+
82
+ #### Claude Code
83
+
84
+ Direkt von GitHub installieren, ohne das ZIP herunterzuladen:
85
+
86
+ ```bash
87
+ claude plugin marketplace add supermax92/qgraphflow
88
+ claude plugin install qgraphflow@supermax92 --scope user
89
+ ```
90
+
91
+ Oder aus dem entpackten Plugin-Stammverzeichnis:
92
+
93
+ ```bash
94
+ claude plugin marketplace add .
95
+ claude plugin install qgraphflow@supermax92 --scope user
96
+ ```
97
+
98
+ Eine neue Sitzung starten und `/q-flow` (oder den vollständigen Namen `/qgraphflow:q-flow`) eingeben.
99
+
100
+ #### Qoder CLI
101
+
102
+ ```bash
103
+ qodercli plugins install .
104
+ ```
105
+
106
+ Eine neue Sitzung starten und `q-flow` auswählen.
107
+
108
+ #### Qoder Desktop
109
+
110
+ **Empfohlen:** Öffne **Settings → Plugins → Marketplace**, suche nach **代码图谱可视化** oder **qgraphflow** und installiere das Plugin. Starte eine neue Sitzung und wähle `q-flow`. Ein ZIP-Download oder ein Build aus dem Quellcode ist nicht erforderlich.
111
+
112
+ Für eine lokale Installation führe zuerst Schritt 1 aus. Öffne dann **Settings → Plugins → Custom → Import** und importiere das vollständige entpackte Plugin-Stammverzeichnis. Starte eine neue Sitzung und wähle `q-flow`.
113
+
114
+ #### Cursor
115
+
116
+ Den gesamten Inhalt des Plugin-Stammverzeichnisses einschließlich versteckter Dateien hierhin kopieren:
117
+
118
+ ```text
119
+ ~/.cursor/plugins/local/qgraphflow/
120
+ ```
121
+
122
+ Prüfen, ob dort `.cursor-plugin/plugin.json` vorhanden ist, das Fenster neu laden und `q-flow` unter **Customize** suchen. Eine vorhandene ältere Version zuerst sichern; alte und neue Dateien nicht vermischen.
123
+
124
+ ### 3. Loslegen
125
+
126
+ Das eigene Projekt im Client öffnen, eine neue Sitzung starten und den Skill wählen. Die Aufgabe anhand der Beispiele unter [Schnellstart](#schnellstart) beschreiben. Das erzeugte HTML im Browser öffnen.
127
+
128
+ <details>
129
+ <summary>Alternative Installation: npm</summary>
130
+
131
+ Statt der ZIP-Datei kann das Plugin auch von npmjs.com bezogen werden, ohne Konto, Anmeldung oder Token. Ein eigenes Verzeichnis außerhalb des Anwendungsprojekts erstellen:
132
+
133
+ ```bash
134
+ mkdir qgraphflow-install
135
+ cd qgraphflow-install
136
+ npm install qgraphflow --ignore-scripts
137
+ cd node_modules/qgraphflow
138
+ ```
139
+
140
+ Nun im Plugin-Stammverzeichnis mit den Installationsschritten für den gewünschten Client oben fortfahren. **Der Download über npm installiert das Plugin nicht automatisch im Client.** Das Paket stellt außerdem den Befehl `qgraphflow` bereit, den [Diagramme mit dem Code synchron halten](#diagramme-mit-dem-code-synchron-halten) verwendet.
141
+
142
+ </details>
143
+
144
+ Selbst bauen? Siehe [Anleitung zum Bauen aus dem Quellcode](https://github.com/supermax92/qgraphflow/blob/main/docs/distribution.md#prepare-locally).
145
+
146
+ ## Schnellstart
147
+
148
+ Die Beispiele verwenden `$qgraphflow:q-flow` in Codex. Zeigt der Client `$q-flow`, diesen Eintrag wählen. In anderen Clients den oben beschriebenen Skill-Aufruf verwenden.
149
+
150
+ **Noch kein Ausgangspunkt?** Den Skill aufrufen und auf Nachfrage Gegenstand und Fragestellung auswählen.
151
+
152
+ ```text
153
+ $qgraphflow:q-flow
154
+ ```
155
+
156
+ **Das Ziel steht fest?** Beschreiben, welchen Teil das Diagramm zeigen und welche Frage es beantworten soll. Die Diagrammart muss nicht vorab gewählt werden.
157
+
158
+ ### Beispiel 1: Projektarchitektur verstehen
159
+
160
+ ```text
161
+ $qgraphflow:q-flow Analysiere dieses Projekt und erstelle ein deutsches Architekturdiagramm mit Verantwortlichkeiten der Module, Abhängigkeiten und Systemgrenzen.
162
+ ```
163
+
164
+ Geeignet, um sich erstmals einen Überblick über ein Projekt zu verschaffen.
165
+
166
+ ### Beispiel 2: Einen Geschäftsablauf verfolgen
167
+
168
+ ```text
169
+ $qgraphflow:q-flow Analysiere die Bestellerstellung und erstelle ein deutsches Sequenzdiagramm für Preisberechnung, Bestandsreservierung, Zahlung und Speicherung der Bestellung, einschließlich Fehlerzweigen.
170
+ ```
171
+
172
+ Bestellerstellung und Schritte durch den tatsächlichen Projektablauf ersetzen. Im selben Gespräch weiterfragen:
173
+
174
+ ```text
175
+ $qgraphflow:q-flow Vertiefe die Bestandsreservierung aus dem letzten Diagramm als separates deutsches Flussdiagramm mit Erfolgs- und Fehlerbehandlung.
176
+ ```
177
+
178
+ Ergebnisse landen standardmäßig unter `docs/qgraphflow/`. `index.html` zum Erkunden, Bearbeiten und Exportieren öffnen; `graph.json` enthält die Diagrammdaten. Jede Ansicht wird außerdem als SVG geschrieben (`diagram.svg`, bei mehreren Ansichten `diagram-<n>-<type>.svg`), das sich als Bild in eine README, einen Pull Request oder ein Wiki einbinden lässt.
179
+
180
+ Nach Änderungen auf der Seite schreibt **Mehr → Änderungen speichern** in Chrome oder Edge Seite, `graph.json` und SVGs direkt zurück, sobald der Diagrammordner einmal gewählt ist. Andere Browser speichern nur `graph.json`: die Datei in den Ordner legen und Seite und SVGs mit `npx -y qgraphflow generate docs/qgraphflow/<name>/graph.json docs/qgraphflow/<name> --layout preserve --force` neu erzeugen.
181
+
182
+ <details>
183
+ <summary>Das E-Commerce-Beispiel mit neun Ansichten manuell ausführen</summary>
184
+
185
+ Diese Befehle dienen dem Repository-Beispiel. Für ein installiertes Plugin muss dieses Repository nicht geklont werden. Mit Node.js 22 oder neuer:
186
+
187
+ ```bash
188
+ git clone https://github.com/supermax92/qgraphflow.git
189
+ cd qgraphflow
190
+ node skills/q-flow/scripts/validate-graph.mjs examples/showcase/ecommerce.de.graph.json
191
+ node skills/q-flow/scripts/generate-viewer.mjs examples/showcase/ecommerce.de.graph.json output/ecommerce-de
192
+ ```
193
+
194
+ `output/ecommerce-de/index.html` im Browser öffnen; die neun SVGs liegen daneben. Über **Diagrammtypen** in der oberen Werkzeugleiste wechseln; gespeicherte Texte und Positionen bleiben je Ansicht erhalten. **Mehr → Änderungen speichern** sichert alle Ansichten wie oben beschrieben. Dieselben Seiten gibt es in der [Online-Demo](https://supermax92.github.io/qgraphflow/).
195
+
196
+ Der vorgebaute Viewer benötigt weder zusätzliche Abhängigkeiten noch API-Schlüssel oder Backend. Die KI-gestützte Belegsuche und Diagrammerstellung verwenden den Modelldienst des gewählten Clients.
197
+
198
+ </details>
199
+
200
+ ## Diagramme mit dem Code synchron halten
201
+
202
+ Ein mit Repository-Wurzel erzeugtes Diagramm hält fest, wo jede Komponente definiert ist. Die Prüfung mit `--repo-root` schlägt fehl, wenn eine erfasste Datei fehlt, ein Zeilenbereich nicht mehr in die Datei passt oder ein erfasstes Symbol seine Zeilen verlassen hat; die Meldung nennt die Zeilen, in denen das Symbol jetzt steht. Diesen Job in die CI aufnehmen; er braucht keinen Build, keine Anmeldung und kein Token:
203
+
204
+ ```yaml
205
+ name: Diagrams
206
+ on: [push, pull_request]
207
+ jobs:
208
+ diagrams:
209
+ runs-on: ubuntu-latest
210
+ steps:
211
+ - uses: actions/checkout@v7
212
+ - uses: actions/setup-node@v7
213
+ with:
214
+ node-version: '22'
215
+ - run: |
216
+ for graph in docs/qgraphflow/*/graph.json; do
217
+ npx -y qgraphflow validate "$graph" --input-only --repo-root . || { echo "::error file=$graph::$graph failed validation"; failed=1; }
218
+ done
219
+ exit ${failed:-0}
220
+ ```
221
+
222
+ Schlägt er fehl, den Skill bitten, dieses Diagramm zu aktualisieren:
223
+
224
+ ```text
225
+ $qgraphflow:q-flow Laut CI ist docs/qgraphflow/order-sequence veraltet. Bitte aktualisieren.
226
+ ```
227
+
228
+ Der Skill verschiebt Anker, deren Symbol er genau einmal in der Datei findet, korrigiert nur die weiterhin gemeldeten Anker und erzeugt Seite und SVGs neu, wobei bearbeitete Positionen und Texte erhalten bleiben. Er zeichnet das Diagramm nicht neu.
229
+
230
+ ## Welche Fragen die neun Ansichten beantworten
231
+
232
+ | Ansicht · PNG | Hauptfrage | Umfang des Beispiels |
233
+ | --- | --- | --- |
234
+ | Architektur | Welche Verantwortlichkeiten arbeiten zusammen? | Kanäle, Kaufabschluss, Preise, Risiko, Bestand, Zahlung, Bestellung, Ereignisse und Versand |
235
+ | Flussdiagramm | Wo verzweigt und vereinigt sich der Ablauf? | Fehlbestand, Risikoablehnung, Zahlungskompensation und erfolgreicher Commit |
236
+ | Sequenz | In welcher Reihenfolge erfolgen Aufrufe und Antworten? | Erfolgreicher Kauf und asynchrones OrderPaid |
237
+ | ER | Wie hängen die Kerndaten zusammen? | Warenkorb, Bestellungen, Positionen, Zahlungen, Reservierungen und Pakete |
238
+ | Bereitstellung | Wo laufen Einheiten und wie sind sie verbunden? | Randnetz, Kubernetes, Datendienste, Zahlung und Logistiknetz |
239
+ | Klasse | Wie hängen Domänenobjekte und Schnittstellen ab? | Kaufdienst, Order und vier Ports |
240
+ | Zustand | Welche Ereignisse und Bedingungen steuern eine Bestellung? | Zahlung, Versand, Stornierung, Erstattung und Abschluss |
241
+ | Anwendungsfall | Was kann jeder Akteur tun? | Käufer, Händler, Lager und Betreuung |
242
+ | Datenfluss | Wie werden Daten umgewandelt und gespeichert? | Warenkorb, Transaktionsentscheidungen, Ereignisse, Lager und Empfangsbelege |
243
+
244
+ Dies ist ein Konzeptmodell zur Demonstration von QGraphFlow, kein konkretes E-Commerce-Repository. Die Beispieldatei `graph.json` erfindet keine Quellpfade und kennzeichnet Beziehungen mit `inference`. Echte Projektdiagramme benötigen nachvollziehbaren Quellcode, DDL, Konfiguration, Tests und akzeptierte Anforderungen.
245
+
246
+ ## Entwickeln und beitragen
247
+
248
+ ```bash
249
+ npm ci --prefix skills/q-flow/assets/viewer
250
+ npm run build --prefix skills/q-flow/assets/viewer
251
+ node --test tests/*.test.mjs skills/q-flow/scripts/*.test.mjs
252
+ ```
253
+
254
+ Erforderlich sind Node.js 22 oder neuer, npm, tar, zip und unzip. Fehlerberichte sollten ein minimales anonymisiertes Diagramm, Client- und Browserversion sowie Reproduktionsschritte enthalten.
255
+
256
+ Referenzdokumentation (Englisch): [Belegquellen](../../skills/q-flow/references/evidence-sources.md) · [Diagrammformat](../../skills/q-flow/references/graph-schema.md) · [Geführte Bedarfsklärung](../../skills/q-flow/references/guided-intake.md) · [Viewer-Entwicklung](../../skills/q-flow/references/viewer-development.md) · [Diagrammgestaltung](../../skills/q-flow/references/visual-contract.md)
257
+
258
+ ## Lizenz und Zuordnung
259
+
260
+ [MIT](../../LICENSE) · [Drittanbieterhinweise](../../THIRD_PARTY_NOTICES.md)
261
+
262
+ QGraphFlow ist ein unabhängiges Projekt unter MIT-Lizenz. Die Szenarien in diesem Dokument sind konzeptionell und stellen keine Produktionsarchitektur eines Unternehmens dar. Eine Zugehörigkeit, Förderung oder Empfehlung wird nicht behauptet.
@@ -0,0 +1,262 @@
1
+ <div align="center">
2
+
3
+ # QGraphFlow
4
+
5
+ ### Convierte código complejo en diagramas que puedes explorar.
6
+
7
+ Sigue el recorrido. Comprueba las evidencias. Comparte un archivo sin conexión.
8
+
9
+ <sub>💡 Inspirado en <a href="https://github.com/Cocoon-AI/architecture-diagram-generator">Cocoon-AI/architecture-diagram-generator</a>; gracias por la idea.</sub>
10
+
11
+ [English](../../README.md) · [中文](../../docs/readme/README.zh-CN.md) · [Русский](../../docs/readme/README.ru.md) · [Português](../../docs/readme/README.pt.md) · [日本語](../../docs/readme/README.ja.md) · [Deutsch](../../docs/readme/README.de.md) · [Español](../../docs/readme/README.es.md)
12
+
13
+ [Demo en línea](https://supermax92.github.io/qgraphflow/) · [Instalación por cliente](#guía-de-instalación) · [Informar de un problema](https://github.com/supermax92/qgraphflow/issues) · [MIT](../../LICENSE)
14
+
15
+ </div>
16
+
17
+ ![Arquitectura, secuencia y ER del ejemplo agent-desk, 1,5 segundos por vista](https://github.com/supermax92/qgraphflow/releases/download/showcase-v2/agent-desk.es.hero.gif)
18
+
19
+ *Nueve tipos: arquitectura, flujo, secuencia, ER, despliegue, clases, estados, casos de uso y flujo de datos.*
20
+
21
+ QGraphFlow genera diagramas de software interactivos a partir del código, los esquemas, la configuración y los requisitos. Permite comprobar las relaciones y compartir el resultado como HTML sin conexión.
22
+
23
+ **Qué lo distingue:** nueve tipos de diagrama en una sola habilidad, el origen de cada relación, diseño automático, edición en la propia página y ninguna solicitud de red de los scripts del complemento ni del propio Viewer.
24
+
25
+ ```bash
26
+ npx skills add supermax92/qgraphflow
27
+ ```
28
+
29
+ Un solo comando instala la habilidad para Claude Code, Codex, Cursor y Qoder; la instalación como complemento y los demás clientes están en la [guía de instalación](#guía-de-instalación).
30
+
31
+ - **Explorar:** buscar, ampliar y desplazar el lienzo; consultar responsabilidades y relaciones entrantes y salientes.
32
+
33
+ ![Explorar: buscar refund, saltar a Herramientas de pedidos, alejar hasta ver el orquestador arriba y la base de datos de pedidos y el seguimiento logístico abajo, luego desplazar](https://github.com/supermax92/qgraphflow/releases/download/showcase-v2/agent-desk.es.explore.gif)
34
+
35
+ - **Verificar:** inspeccionar nodos y conexiones para revisar archivos, líneas, símbolos e incertidumbres explícitas.
36
+
37
+ ![Verificar: tarjeta con src/gateway/chat-gateway.js:5-19, panel de detalles con el símbolo y los hechos de evidencia, luego la conexión POST /chat marcada como inference](https://github.com/supermax92/qgraphflow/releases/download/showcase-v2/agent-desk.es.verify.gif)
38
+
39
+ - **Editar:** desbloquear el diseño, cambiar textos y mover elementos; restablecer cuando sea necesario.
40
+
41
+ ![Editar: desbloquear el diseño, renombrar Proveedor LLM a Pasarela LLM, arrastrarlo con sus conexiones y restablecer](https://github.com/supermax92/qgraphflow/releases/download/showcase-v2/agent-desk.es.edit.gif)
42
+
43
+ - **Compartir:** abrir el HTML sin conexión o exportar el diagrama completo a SVG / PNG.
44
+
45
+ ![Compartir: abrir el HTML sin conexión, exportar PNG desde Más y luego el archivo exportado](https://github.com/supermax92/qgraphflow/releases/download/showcase-v2/agent-desk.es.share.gif)
46
+
47
+ La animación superior muestra arquitectura, secuencia y ER durante 1,5 segundos cada una (4,5 segundos por ciclo); las cuatro animaciones de funciones duran entre 6,5 y 8,5 segundos. Todas se grabaron con el Viewer construido desde el código fuente sobre el [ejemplo agent-desk](../../examples/showcase/agent-desk) — negocio ficticio, código real — con diagramas e interfaz en español. Se alojan como [recursos de la Release showcase-v2](https://github.com/supermax92/qgraphflow/releases/tag/showcase-v2), fuera del historial de Git y del paquete del plugin, así que verlas requiere red; el HTML generado del diagrama funciona sin conexión.
48
+
49
+ ## Guía de instalación
50
+
51
+ Se necesitan Node.js 22 o posterior y un cliente compatible con complementos que tenga configurado el acceso al modelo.
52
+
53
+ ### Instalación rápida
54
+
55
+ ```bash
56
+ npx skills add supermax92/qgraphflow
57
+ ```
58
+
59
+ Probado con `skills` 1.7.0 en Claude Code, Codex, Cursor y Qoder. El comando pregunta en qué clientes instalar; `-a claude-code` indica uno directamente y `-g` instala para el usuario en lugar del proyecto actual. La habilidad queda instalada como `q-flow`, sin el prefijo `qgraphflow:` de las instalaciones como complemento de más abajo.
60
+
61
+ Para instalarla como complemento, seguir los pasos siguientes. En [Qoder Desktop](#qoder-desktop), puedes instalar desde el Marketplace y omitir el paso 1.
62
+
63
+ ### 1. Descargar el complemento
64
+
65
+ Descargar [qgraphflow-0.0.6.zip](https://github.com/supermax92/qgraphflow/releases/download/v0.0.6/qgraphflow-0.0.6.zip) y extraerlo en un directorio independiente, conservando los archivos ocultos.
66
+
67
+ Ejecutar los comandos siguientes desde **la raíz del complemento extraído, que contiene `skills/`**.
68
+
69
+ ### 2. Instalar en el cliente
70
+
71
+ #### Codex App / CLI
72
+
73
+ Codex CLI debe estar instalado y disponible en la terminal:
74
+
75
+ ```bash
76
+ codex plugin marketplace add .
77
+ codex plugin add qgraphflow@supermax92
78
+ ```
79
+
80
+ Iniciar una sesión nueva, escribir `$` y seleccionar `qgraphflow:q-flow`.
81
+
82
+ #### Claude Code
83
+
84
+ Instalar directamente desde GitHub sin descargar el ZIP:
85
+
86
+ ```bash
87
+ claude plugin marketplace add supermax92/qgraphflow
88
+ claude plugin install qgraphflow@supermax92 --scope user
89
+ ```
90
+
91
+ O bien, desde la raíz del complemento extraído:
92
+
93
+ ```bash
94
+ claude plugin marketplace add .
95
+ claude plugin install qgraphflow@supermax92 --scope user
96
+ ```
97
+
98
+ Iniciar una sesión nueva y escribir `/q-flow` (o el nombre completo `/qgraphflow:q-flow`).
99
+
100
+ #### Qoder CLI
101
+
102
+ ```bash
103
+ qodercli plugins install .
104
+ ```
105
+
106
+ Iniciar una sesión nueva y seleccionar `q-flow`.
107
+
108
+ #### Qoder Desktop
109
+
110
+ **Recomendado:** Abre **Settings → Plugins → Marketplace**, busca **代码图谱可视化** o **qgraphflow** e instala el complemento. Inicia una sesión nueva y selecciona `q-flow`. No necesitas descargar un ZIP ni compilar el código fuente.
111
+
112
+ Para una instalación local, completa primero el paso 1. Después abre **Settings → Plugins → Custom → Import** e importa el directorio raíz completo del complemento extraído. Inicia una sesión nueva y selecciona `q-flow`.
113
+
114
+ #### Cursor
115
+
116
+ Copiar todo el contenido de la raíz del complemento, incluidos los archivos ocultos, a:
117
+
118
+ ```text
119
+ ~/.cursor/plugins/local/qgraphflow/
120
+ ```
121
+
122
+ Comprobar que allí existe `.cursor-plugin/plugin.json`, recargar la ventana y buscar `q-flow` en **Customize**. Si hay una versión anterior, hacer una copia de seguridad antes; no mezclar archivos antiguos y nuevos.
123
+
124
+ ### 3. Empezar a usarlo
125
+
126
+ Abrir el proyecto en el cliente, iniciar una sesión nueva y seleccionar la habilidad. Describir la tarea siguiendo los ejemplos de [Inicio rápido](#inicio-rápido) más abajo. Abrir el HTML generado en el navegador.
127
+
128
+ <details>
129
+ <summary>Otra forma de instalación: npm</summary>
130
+
131
+ También se puede obtener el complemento desde npmjs.com en lugar del ZIP, sin cuenta, inicio de sesión ni token. Crear un directorio independiente fuera del proyecto de la aplicación:
132
+
133
+ ```bash
134
+ mkdir qgraphflow-install
135
+ cd qgraphflow-install
136
+ npm install qgraphflow --ignore-scripts
137
+ cd node_modules/qgraphflow
138
+ ```
139
+
140
+ Ahora se está en la raíz del complemento. Continuar con los pasos de instalación del cliente indicados arriba. **La descarga mediante npm no instala automáticamente el complemento en el cliente.** El paquete también ofrece el comando `qgraphflow`, que se usa en [Mantener los diagramas sincronizados con el código](#mantener-los-diagramas-sincronizados-con-el-código).
141
+
142
+ </details>
143
+
144
+ ¿Prefieres compilarlo? Consulta las [instrucciones de compilación desde el código fuente](https://github.com/supermax92/qgraphflow/blob/main/docs/distribution.md#prepare-locally).
145
+
146
+ ## Inicio rápido
147
+
148
+ Estos ejemplos usan `$qgraphflow:q-flow` en Codex. Si el cliente muestra `$q-flow`, seleccionar esa entrada. En los demás clientes, usar la forma de invocación indicada arriba.
149
+
150
+ **¿No sabes por dónde empezar?** Invocar la habilidad y elegir el tema y la pregunta cuando lo solicite.
151
+
152
+ ```text
153
+ $qgraphflow:q-flow
154
+ ```
155
+
156
+ **¿Ya tienes un objetivo?** Indicar qué parte quieres dibujar y qué quieres entender. No hace falta elegir antes el tipo de diagrama.
157
+
158
+ ### Ejemplo 1: Entender la arquitectura
159
+
160
+ ```text
161
+ $qgraphflow:q-flow Analiza este proyecto y crea un diagrama de arquitectura en español que muestre responsabilidades de los módulos, dependencias y límites del sistema.
162
+ ```
163
+
164
+ Útil para conocer la estructura general al llegar a un proyecto.
165
+
166
+ ### Ejemplo 2: Seguir un flujo de negocio
167
+
168
+ ```text
169
+ $qgraphflow:q-flow Analiza la creación de pedidos y genera un diagrama de secuencia en español con cálculo de precios, reserva de inventario, pago y persistencia del pedido, incluidas las ramas de fallo.
170
+ ```
171
+
172
+ Sustituir la creación de pedidos y sus pasos por el flujo real del proyecto. Continuar en la misma conversación:
173
+
174
+ ```text
175
+ $qgraphflow:q-flow Amplía la reserva de inventario del diagrama anterior en un diagrama de flujo independiente en español, con el tratamiento de éxitos y fallos.
176
+ ```
177
+
178
+ Los resultados se guardan bajo `docs/qgraphflow/` de forma predeterminada. Abrir `index.html` para explorar, editar y exportar; `graph.json` conserva los datos. Cada vista también se escribe como SVG (`diagram.svg`, o `diagram-<n>-<type>.svg` cuando hay varias), que puede incrustarse como imagen en un README, una pull request o una wiki.
179
+
180
+ Después de editar en la página, **Más → Guardar cambios** en Chrome o Edge reescribe en su sitio la página, `graph.json` y los SVG, tras elegir una vez la carpeta del diagrama. Otros navegadores solo guardan `graph.json`: colocarlo en la carpeta y volver a generar la página y los SVG con `npx -y qgraphflow generate docs/qgraphflow/<name>/graph.json docs/qgraphflow/<name> --layout preserve --force`.
181
+
182
+ <details>
183
+ <summary>Ejecutar manualmente el ejemplo de comercio con nueve vistas</summary>
184
+
185
+ Los comandos siguientes ejecutan el ejemplo del repositorio. Usar un complemento ya instalado no requiere clonarlo. Con Node.js 22 o posterior:
186
+
187
+ ```bash
188
+ git clone https://github.com/supermax92/qgraphflow.git
189
+ cd qgraphflow
190
+ node skills/q-flow/scripts/validate-graph.mjs examples/showcase/ecommerce.es.graph.json
191
+ node skills/q-flow/scripts/generate-viewer.mjs examples/showcase/ecommerce.es.graph.json output/ecommerce-es
192
+ ```
193
+
194
+ Abrir `output/ecommerce-es/index.html` en el navegador; los nueve SVG están al lado. Cambiar de vista desde **Tipos de diagramas** en la barra superior; cada vista conserva sus textos y posiciones guardados. **Más → Guardar cambios** guarda todas las vistas como se describe arriba. Las mismas páginas están en la [demo en línea](https://supermax92.github.io/qgraphflow/).
195
+
196
+ El Viewer precompilado no necesita instalar dependencias, claves API ni servicios de backend. La búsqueda de evidencias y la creación de gráficos con IA usan el servicio de modelos del cliente elegido.
197
+
198
+ </details>
199
+
200
+ ## Mantener los diagramas sincronizados con el código
201
+
202
+ Un diagrama generado con la raíz del repositorio registra dónde se define cada componente. La validación con `--repo-root` falla cuando falta un archivo registrado, un rango de líneas ya no cabe en el archivo o un símbolo registrado salió de sus líneas, y el error indica en qué líneas está ahora el símbolo. Añadir este trabajo a la CI; no necesita compilación, inicio de sesión ni token:
203
+
204
+ ```yaml
205
+ name: Diagrams
206
+ on: [push, pull_request]
207
+ jobs:
208
+ diagrams:
209
+ runs-on: ubuntu-latest
210
+ steps:
211
+ - uses: actions/checkout@v7
212
+ - uses: actions/setup-node@v7
213
+ with:
214
+ node-version: '22'
215
+ - run: |
216
+ for graph in docs/qgraphflow/*/graph.json; do
217
+ npx -y qgraphflow validate "$graph" --input-only --repo-root . || { echo "::error file=$graph::$graph failed validation"; failed=1; }
218
+ done
219
+ exit ${failed:-0}
220
+ ```
221
+
222
+ Si falla, pedir a la habilidad que actualice ese diagrama:
223
+
224
+ ```text
225
+ $qgraphflow:q-flow La CI dice que docs/qgraphflow/order-sequence está desactualizado. Actualízalo.
226
+ ```
227
+
228
+ La habilidad mueve los anclajes cuyo símbolo encuentra una sola vez en el archivo, corrige solo los que siguen fallando y vuelve a generar la página y los SVG conservando las posiciones y los textos editados. No redibuja el diagrama.
229
+
230
+ ## Qué responde cada una de las nueve vistas
231
+
232
+ | Vista · PNG | Pregunta principal | Alcance del ejemplo |
233
+ | --- | --- | --- |
234
+ | Arquitectura | ¿Qué responsabilidades colaboran? | Canales, compra, precios, riesgo, inventario, pago, pedidos, eventos y entrega |
235
+ | Flujo | ¿Dónde se bifurca y converge el proceso? | Falta de inventario, rechazo de riesgo, compensación del pago y confirmación exitosa |
236
+ | Secuencia | ¿En qué orden ocurren llamadas y retornos? | Compra exitosa y OrderPaid asíncrono |
237
+ | ER | ¿Cómo se relacionan los datos principales? | Carrito, pedidos, líneas, pagos, reservas y paquetes |
238
+ | Despliegue | ¿Dónde se ejecutan y conectan las unidades? | Borde, Kubernetes, servicios de datos, pagos y redes logísticas |
239
+ | Clases | ¿Cómo dependen los objetos de dominio y los contratos? | Servicio de compra, Order y cuatro puertos |
240
+ | Estados | ¿Qué eventos y condiciones hacen avanzar un pedido? | Pago, entrega, cancelación, reembolso y cierre |
241
+ | Casos de uso | ¿Qué puede hacer cada actor? | Comprador, comercio, almacén y atención al cliente |
242
+ | Flujo de datos | ¿Cómo se transforman y almacenan los datos? | Carrito, decisiones, eventos, almacén y comprobantes de entrega |
243
+
244
+ Este modelo conceptual demuestra QGraphFlow y no corresponde a un repositorio de comercio concreto. El ejemplo `graph.json` no inventa rutas de código y marca las evidencias de las relaciones como `inference`. Los diagramas reales necesitan código, DDL, configuración, pruebas y requisitos aceptados que se puedan rastrear.
245
+
246
+ ## Desarrollo y contribuciones
247
+
248
+ ```bash
249
+ npm ci --prefix skills/q-flow/assets/viewer
250
+ npm run build --prefix skills/q-flow/assets/viewer
251
+ node --test tests/*.test.mjs skills/q-flow/scripts/*.test.mjs
252
+ ```
253
+
254
+ Se necesitan Node.js 22 o posterior, npm, tar, zip y unzip. Al informar de un problema, incluir un gráfico mínimo sin datos sensibles, versiones del cliente y navegador y pasos de reproducción.
255
+
256
+ Documentación de referencia (en inglés): [Fuentes de evidencia](../../skills/q-flow/references/evidence-sources.md) · [Formato de gráficos](../../skills/q-flow/references/graph-schema.md) · [Consulta guiada](../../skills/q-flow/references/guided-intake.md) · [Desarrollo del Viewer](../../skills/q-flow/references/viewer-development.md) · [Composición de diagramas](../../skills/q-flow/references/visual-contract.md)
257
+
258
+ ## Licencia y atribución
259
+
260
+ [MIT](../../LICENSE) · [Avisos de terceros](../../THIRD_PARTY_NOTICES.md)
261
+
262
+ QGraphFlow es un proyecto independiente con licencia MIT. Los escenarios de este documento son conceptuales y no representan la arquitectura de producción de ninguna empresa; no implica afiliación, patrocinio ni respaldo.