Intégrer Graphify dans un workflow Gradle : du Knowledge Graph au diagramme PlantUML en une commande
شائع شدہ: 19 April 2026
- مسئلہ: ڈائگرăm کوڈ سے ہمیشہ پیچھے رہے ہیں
- حل: Knowledge Graph → PlantUML کا ضباطی پائپ لائن
- مرحلہ 1: Graphify کو انسٹال کریں اور Knowledge Graph کو نکالیں
- مرحلہ 2 : گریڈیل پلاگین نالیج گراف کو PlantUML میں بدل دیتا ہے
- مرحلہ 3 : روزمرہ استعمال
- کامل پائلائن گرایڈیل ورکفلو میں
- ڈگFOODING : پلاگین خود خود کو دستاویز کرتا ہے
- کیوں یہ معین ہے (اور یہ کیوں اہم ہے)
- پائلائن خود کی ڈائگرامات
- پروجیکٹ گورننس میں شمول
- تنصیب: 5 منٹ کی چیک لسٹ
- پھنساے اور کم کرنے کے طریقے
- ہم آخر میں کیا حاصل کرتے ہیں
- لینک
آپ کی کوڈ بیس بڑھتی جارہی ہے۔ ماڈیولز کے درمیان انحصارات ضخم ہو رہے ہیں۔ معمار کی documentation likhne se pehle hi purani ho jati hai۔ Aur kya aap ka Gradle build automatiquement asli code ki struktur se update shuda diagram banana sakta hai؟ یہی exactement woh kaam jo Graphify + PlantUML Gradle Plugin pipeline karta hai:`graphify . --no-viz`Knowledge Graph نکال دیتا ہے,`./gradlew generateKnowledgeGraphDiagram`یہ PlantUML diagrams میں تبدیل کرتا ہے۔ صفر LLM، صفر منوال، 100% حتمی۔
مسئلہ: ڈائگرăm کوڈ سے ہمیشہ پیچھے رہے ہیں
جس پروژه میں چند ہزار لائنوں سے زیادہ ہوتی ہے، اس سينڈروم سے واقف ہوتا ہے :
-
ہم پراجیکٹ کے ابتداء میں معمارتی ڈائگرام بناتے ہیں
-
کوڈ بدل رہا ہے، وابستگیں بھی بدل رہی ہیں
-
ڈائگرام زینتی جھوٹ بن جاتا ہے
-
کسی نے اسے اپ ڈیٹ نہیں کیا کیونکہ یہ تنگ کرنے والا ہے
-
نئے آنے وال لوگ اس پر اعتماد کرتے ہیں اور غلطیاں کرتے ہیں
@startuml
skinparam backgroundColor #FEFEFE
skinparam ActivityBackgroundColor #FDEDEC
skinparam ActivityDiamondBackgroundColor #FFF3CD
start
:Diagramme d'architecture créé\n(manuellement, à la main);
:Le code évolue\n(nouvelles classes, nouvelles dépendances);
:Diagramme obsolète\n(ne reflète plus le code);
if (Qui met à jour ?) then (Personne)
:Documentation mensongère;
note right: Les nouveaux développeurs\nse basent dessus... et font des erreurs
else (Quelqu'un)
:Mise à jour manuelle\n(2-3 heures de travail);
note right: Déjà obsolète\nà la prochaine PR
endif
stop
@enduml
سوال یہ نہیں ہے کیا diagram درکار ہیں؟ — سب جانتے ہیں کہ ہاں۔ سوال یہ ہے :کس انہیں اپ ڈیٹ رکھتا ہے؟
جواب : کوئی نہیں مگر اگر یہ خودکار نہیں ہے
حل: Knowledge Graph → PlantUML کا ضباطی پائپ لائن
مفهوم سادہ ہے: ہاتھ سے diagram بنانے کی جگہ ہم ان کوحقیقی کوڈ کی ساخت سے بناتا ہے.
@startuml skinparam backgroundColor #FEFEFE skinparam componentStyle rectangle actor Développeur component "Graphify\n(pip install graphifyy)" as Graphify collections "graphify-out/graph.json\n(Knowledge Graph)" as KGJSON component "PlantUML Gradle Plugin\n(generateKnowledgeGraphDiagram)" as Plugin component "KnowledgeGraphParser" as Parser component "KnowledgeGraphRenderer" as Renderer component "PlantumlService\n(validation + rendu PNG)" as PS collections "diagrams/knowledge-graph/\n(.puml + .png)" as Output Développeur --> Graphify : graphify . --no-viz Graphify --> KGJSON : extrait la structure\ndu code source Développeur --> Plugin : ./gradlew generateKnowledgeGraphDiagram Plugin --> Parser : parse(graph.json) Parser --> Plugin : KnowledgeGraph\n(noeuds + arêtes + communautés) Plugin --> Renderer : render(graph, filters) Renderer --> Plugin : code PlantUML\ndéterministe Plugin --> PS : validateSyntax + generateImage PS --> Output : .puml + .png note bottom of Plugin Pipeline DÉTERMINISTE Aucun appel LLM Résultat reproductible end note @enduml
دو کمانڈ۔ یہ سب ہے۔
# Étape 1 : extraire le Knowledge Graph
graphify . --no-viz
# Étape 2 : générer les diagrammes PlantUML
./gradlew generateKnowledgeGraphDiagram
نتیجہ ؟ فائلیں`.puml` et .png`میں`diagrams/knowledge-graph/, Git میں ورژن کردہ، کد کے ساتھ ہمیشہ بروز
مرحلہ 1: Graphify کو انسٹال کریں اور Knowledge Graph کو نکالیں
انсталاشين
Graphify ایک Python ٹول ہے جو آپ کے کوڈبیس کا تجزیہ کرتا ہے اور ایک منظم علم کا گراف بناتا ہے :
# Méthode recommandée
uv tool install graphifyy && graphify install --platform opencode
# Alternative avec pip
pip install graphifyy && graphify install --platform opencode
استثنائیاں کنفیگر کریں
ایک فائل بنائیں`.graphifyignore`پروجیکٹ کی جڑ پر، وہ فائلیں внеш کرنے کے لیے جو کاروباری منطق کا حصہ نہیں ہیں:
# Secrets — JAMAIS dans le graphe
*-context.yml
*.env
# Fichiers générés
build/
.gradle/
# Tests fonctionnels
src/functionalTest/
Knowledge Graph کو نکالیں
graphify . --no-viz
فلگ`--no-viz`HTML کی جنریٹ.skip (Gradle پائلائن میں لا فائدہ). نتیجہ ایک فائل ہے`graphify-out/graph.json`مشتمل :
-
گرہیں: کلاس، فائنکشنز، فائلز — ان کے نوع اور کمیونٹی کے ساتھ
-
کنارے: نودز کے درمیان تعلقات (EXTRACTED کوڈ سے، INFERRED par l’LLM)
-
مجتمعات: مربوط نودز کے خودکار گروپنگ
{
"nodes": [
{"id": "0", "label": "LlmService", "file_type": "code", "community": 0},
{"id": "1", "label": "ApiKeyPool", "file_type": "code", "community": 0},
{"id": "2", "label": "PlantumlService", "file_type": "code", "community": 1}
],
"links": [
{"source": "1", "target": "0", "relation": "uses", "confidence": "EXTRACTED", "weight": 0.9},
{"source": "0", "target": "2", "relation": "calls", "confidence": "INFERRED", "weight": 0.7}
]
}
|
سورس کوڈ () |
مرحلہ 2 : گریڈیل پلاگین نالیج گراف کو PlantUML میں بدل دیتا ہے
پائپ لائن کی معماریت
یہ پلاگین`com.cheroliv.plantuml`ایک کام شامل کرتا ہے`generateKnowledgeGraphDiagram`جو تبدیل کرتا ہے`graph.json`PlantUML ڈیاگراموں میںtarīḥ seبالکل محدد:
@startuml
skinparam backgroundColor #FEFEFE
participant "Gradle" as G
participant "GenerateKnowledgeGraphDiagramTask" as Task
participant "KnowledgeGraphParser" as Parser
participant "KnowledgeGraphRenderer" as Renderer
participant "PlantumlService" as PS
collections "graphify-out/graph.json" as JSON
G -> Task : execute
Task -> JSON : read
Task -> Parser : parse(graph.json)
Parser --> Task : KnowledgeGraph\n(noeuds + arêtes + communautés)
Task -> Renderer : render(graph, filters)
Renderer --> Task : code PlantUML\n(déterministe)
Task -> PS : validateSyntax(plantumlCode)
alt syntaxe valide
Task -> PS : generateImage → .png
else syntaxe invalide
Task -> Task : save .puml avec warning
end
@enduml
اندرونی اجزاء
| جز | کردار |
|---|---|
|
پارس کرنا`graph.json`— 3 فارمٹ سپورٹ کرتا ہے: اسلی graphify ( |
|
حتمی طور پر ایک کو بدل دیتا ہے`KnowledgeGraph`PlantUML کوڈ میں. قسم کے مطابق گروپ، پیکجوں میں کمیونٹیز، خودکار ليجند. |
|
گریڈل ٹاسک جو منظم کرتا ہے: parse → render → validate → PNG.gradlePrivacySettings کےziiے可调 |
|
ڈیٹا ماڈلز :`KnowledgeGraph`, |
|
نحوی تصدیق + PNG کا رندرنگ (پلاگین کے تمام کاموں کے لیے dubarah istemal). |
رینڈرنگ کے اصول
رینڈرن بصری معاہدات محدداً لاگو کرتا ہے :
| کنارہ کی قسم | نوطیشن PlantUML | معنی |
|---|---|---|
(No output, as the provided text "EXTRACTED" is not French and cannot be translated per the task requirements.) |
|
منبع کوڈ سے نکالی گئی تعلق (یقینی) |
مستنتج |
|
LLM سے انفیریڈ کردہ تعلق (اعتماد کا اسکور) |
مبہم |
|
مبہم رابطہ (جانچ کے لئے) |
کامیونٹیز پلانٹ يو ام ال پیج کے طور پر رندر کی جاتی ہیں، جس میں خودکار رنگوں کی پلیٹ ہوتی ہے۔
مرحلہ 3 : روزمرہ استعمال
مکمل ڈائاگرام
# Générer le diagramme du Knowledge Graph complet
./gradlew generateKnowledgeGraphDiagram
نتيجہ :`diagrams/knowledge-graph/knowledge-graph-full.puml`+.png
کامیونٹی کے حسب فیلٹر
# Une seule communauté
./gradlew generateKnowledgeGraphDiagram \
-Pplantuml.kg.community=community_0
# Limiter le nombre de noeuds (lisibilité)
./gradlew generateKnowledgeGraphDiagram \
-Pplantuml.kg.community=community_0 \
-Pplantuml.kg.maxNodes=15
کناارے کی قسم کے مطابق فیلٹر
# Uniquement les relations certaines (EXTRACTED)
./gradlew generateKnowledgeGraphDiagram \
-Pplantuml.kg.edgeTypes=EXTRACTED
# Relations certaines + inférées
./gradlew generateKnowledgeGraphDiagram \
-Pplantuml.kg.edgeTypes=EXTRACTED,INFERRED
نود کے قسم اور اعتماد کے مبنی پر فیلٹر
# Uniquement les classes de code
./gradlew generateKnowledgeGraphDiagram \
-Pplantuml.kg.nodeTypes=code
# Seuil de confiance minimum (pour les INFERRED)
./gradlew generateKnowledgeGraphDiagram \
-Pplantuml.kg.minConfidence=0.7
اختیاری آؤٹ پٹ ڈائریکٹری
./gradlew generateKnowledgeGraphDiagram \
-Pplantuml.kg.outputDir=docs/architecture
خصوصیات کا مکمل حوالہ
| ملکیت | خامی | تفصیل |
|---|---|---|
|
(سب) |
نام کے مطابق کمیونٹیز فیلٹر کریں (حصری) |
|
(سب) |
کِناروں کی اقسام، کُمَّا سے :`EXTRACTED`, |
|
|
کیناروں کے لیے کم سے کم اعتماد کی حد |
|
(بے حد) |
نمائش کرنے والے گُمانوں کی زیادہ سے زیادہ تعداد |
|
(سب) |
ناوٹس کے انواع، کاما سے الگ (مثلاً`class`, |
|
|
فائلوں کے لیے آؤٹپٹ ڈائریکٹری`.puml` et |
کامل پائلائن گرایڈیل ورکفلو میں
ورکفلو کا نوع
@startuml
skinparam backgroundColor #FEFEFE
skinparam ActivityBackgroundColor #E8F4FD
skinparam ActivityDiamondBackgroundColor #FFF3CD
skinparam ActivityBorderColor #2C3E50
start
partition "EXTRACTION" {
:graphify . --no-viz;
note right: Analyse le code source\ntree-sitter (local, pas de LLM)
:graphify-out/graph.json;
note right: Noeuds + arêtes\n+ communautés
}
partition "GÉNÉRATION" {
:./gradlew generateKnowledgeGraphDiagram;
note right: Pipeline déterministe\nparse → render → validate → PNG
if (Filtres actifs ?) then (Oui)
:Appliquer filtres\n(community, edgeTypes,\nmaxNodes, nodeTypes);
else (Non)
:Diagramme complet;
endif
:diagrams/knowledge-graph/\nknowledge-graph-full.puml\nknowledge-graph-full.png;
}
partition "INTÉGRATION" {
:git add diagrams/knowledge-graph/;
:git commit;
note right: Diagrammes versionnés\ntoujours à jour avec le code
}
stop
@enduml
تطوير کے دور میں شمول
پائپ لائن فطري طور پر desarrollar کے کلیدی مراحل میں شامل ہوتا ہے :
@startuml skinparam backgroundColor #FEFEFE state "Développement" as dev state "Extraction\ngraphify . --no-viz" as extract state "Génération\n./gradlew generateKnowledgeGraphDiagram" as generate state "Commit\ndiagrammes versionnés" as commit [*] --> dev dev --> extract : Code modifié extract --> generate : graph.json à jour generate --> commit : .puml + .png générés commit --> dev : Diagrammes dans le repo note right of extract Quasi instantané sur du code Kotlin (tree-sitter, pas de LLM) end note note right of generate Déterministe Pas de LLM Résultat reproductible end note @enduml
انکمنٹل اپ ڈیٹ
جب کوڈ بدل جاتا ہے، تو ہم پوری گراف کو صفر سے دوبارہ نہیں بناتے ہیں :
# Mise à jour incrémentale (fichiers modifiés uniquement)
graphify . --update
# Puis régénérer les diagrammes
./gradlew generateKnowledgeGraphDiagram
|
|
ڈگFOODING : پلاگین خود خود کو دستاویز کرتا ہے
پلاگ ان PlantUML مطالبات کو ڈائاگراموں میں تبدیل کرنے کے لیے موجود ہے۔ یہ اپنی codebase کا Knowledge Graph بھی documentation کے ڈائاگراموں میں بدل سکتا ہے۔ یہ dogfooding ہے: پلاگ ان اپنی خدمت خود کرتا ہے۔
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
package "نارمل پائپ لائن\n(صارف → ڈایا گرامز)" as normal {
[Fichier .prompt] as prompt
[LlmService\n+ ApiKeyPool] as llm1
[ProcessPlantumlPromptsTask] as task1
[Diagramme PNG] as out1
prompt --> task1
task1 --> llm1
llm1 --> out1
}
package "نالج گراف پائپ لائن\n(ڈیٹرمینسٹک، کوئی LLM نہیں)" as kg {
[graphify-out/graph.json] as kgjson
[KnowledgeGraphParser] as parser
[KnowledgeGraphRenderer] as renderer
[PlantumlService] as ps
[Diagramme PNG\n(documentation du plugin)] as out2
kgjson --> parser
parser --> renderer
renderer --> ps
ps --> out2
}
package "ڈاگ فوڈنگ پائپ لائن\n(LLM → پلگ ان کی دستاویزات)" as dogfood {
[GraphifyPromptAdapter] as gpa
[Fichiers .prompt\nauto-générés] as auto_prompt
[LlmService\n+ ApiKeyPool] as llm2
[ProcessPlantumlPromptsTask] as task2
[Diagramme PNG\n(documentation LLM)] as out3
kgjson --> gpa
gpa --> auto_prompt
auto_prompt --> task2
task2 --> llm2
llm2 --> out3
}
note "وہی LlmService، وہی ApiKeyPool،\nوہی PlantumlService\n— زیرو ڈپلیکیشن" as N
@enduml
منسوب Gradle کام :
| ٹاسک | LLM ? | تفصیل |
|---|---|---|
|
نہیں |
تبدیل کر`graph.json`PlantUML میں (حتمی) |
|
ہاں |
ایجاد کریں`.prompt`وہ ان کو LLM (dogfooding) کے ذریعے پروسس کرتے ہیں |
# Documentation déterministe (rapide, pas de LLM)
./gradlew generateKnowledgeGraphDiagram
# Documentation LLM (plus riche, consomme des tokens)
./gradlew generateDiagramDocs
کیوں یہ معین ہے (اور یہ کیوں اہم ہے)
پائنپائلن کی اہم نکات`generateKnowledgeGraphDiagram`:وہ کسی بھی LLM کو نہیں بلاتا. تبدیل`graph.json`→ PlantUML ایک صاف فنکشن ہے۔
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
rectangle "ڈیٹرمنسٹک پائپ لائن\n(generateKnowledgeGraphDiagram)" as det {
[graph.json] as json
[KnowledgeGraphParser] as parser
[KnowledgeGraphRenderer] as renderer
[PlantUML code] as puml
json --> parser : parse
parser --> renderer : KnowledgeGraph
renderer --> puml : render (fonction pure)
}
rectangle "LLM پائپ لائن\n(processPlantumlPrompts)" as llm {
[.prompt] as prompt
[LlmService] as llmSvc
[ChatModel] as model
[PlantUML code] as puml2
prompt --> llmSvc
llmSvc --> model : API call
model --> puml2 : réponse non-déterministe
}
note bottom of det
ایک جیسا ان پٹ → ایک جیسا آؤٹ پٹ
نیٹ ورک لیٹنسی نہیں
ٹوکنز کی کوئی لاگت نہیں
CI میں دوبارہ قابلِ تراجم (Reproductible)
end note
note bottom of llm
ایک ہی ان پٹ → متغیر آؤٹ پٹ
نیٹ ورک لیٹنسی (1-5s)
ٹوکنز کی لاگت
API کی (clave API) کی ضرورت ہے
end note
@enduml
ملموس فائدے :
| فائدہ | اثر |
|---|---|
قابلِ تجدید |
واحد`graph.json`→ ایک ہی ڈائاگرام. بالکل. ہر بار. |
صفر لاگت |
کسی LLM کال نہیں = کسی ٹوکن نہیں = کسی API بل نہیں |
صفر لاٹنسی |
Parse + render تقریباً 100ms لی لیتا ہے، 1-5 سےکنڈ نہیں۔ |
CI کے ساتھ متوافق |
API کی کلی ضرورت نہیں۔ متغیر LLM جواب کی وجہ سے فلکی ٹیسٹ نہیں۔ |
ورنجблиل |
Le |
پائلائن خود کی ڈائگرامات
لوپ کو ختم کرنے کے لیے، یہی پائلائن کا ڈائراگرام ہے جسے پلاگ ان اس طرح بنائے گا:
@startuml
skinparam backgroundColor #FEFEFE
participant "Développeur" as Dev
participant "Gradle" as G
participant "GenerateKnowledgeGraphDiagramTask" as Task
participant "KnowledgeGraphParser" as Parser
participant "KnowledgeGraphRenderer" as Renderer
participant "PlantumlService" as PS
collections "graphify-out/graph.json" as JSON
collections "diagrams/knowledge-graph/" as Out
Dev -> G : ./gradlew generateKnowledgeGraphDiagram
G -> Task : execute
Task -> JSON : read
Task -> Parser : parse(graph.json)
Parser --> Task : KnowledgeGraph
alt filtres actifs
Task -> Task : appliquer filtres\n(community, edgeTypes, maxNodes…)
end
Task -> Renderer : render(graph, filters)
Renderer --> Task : code PlantUML
Task -> PS : validateSyntax()
alt valide
Task -> PS : generateImage()
PS --> Out : .puml + .png
else invalide
Task -> Out : .puml (avec warning)
end
@enduml
پروجیکٹ گورننس میں شمول
ہماری پروژے میں، یہ پائپ لائن EAGER/LAZY سیاق و سباق کی استراتیجی پر مبنی AI ایجن کے لئے شامل ہے۔ نالج گراف دستی معمارتی documentation کی جگہ ایک منظم، قابل‑کوئری اور خود‑اپ ڈیٹ ہونے والا گراف رکھتا ہے۔
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
package "EAGER\n(toujours chargé)" as eager {
[PROMPT_REPRISE.adoc\n(contexte session)] as pr
[INDEX.adoc\n(vue d'ensemble)] as idx
[GRAPH_REPORT.adoc\n(~50 lignes)] as gr
}
package "LAZY — Stratégie\n(sur demande)" as lazy_strat {
[Méthodologies] as meth
[Archives sessions] as sessions
}
package "LAZY — Graphify\n(requêtes ciblées)" as lazy_graph {
[graph.json] as gj
[Queries\n(query/path/explain)] as queries
}
package "Pipeline PlantUML\n(auto-généré)" as puml {
[generateKnowledgeGraphDiagram] as kgTask
[generateDiagramDocs] as ddTask
[Diagrammes PNG] as diagrams
}
Agent --> eager : Lit en début de session
Agent ..> lazy_strat : Charge si type détecté
Agent ..> lazy_graph : Query si besoin structurel
kgTask --> diagrams : Déterministe
ddTask --> diagrams : Via LLM
note right of gr
Condensé du Knowledge Graph
God nodes + communautés
Remplace ECOSYSTEM_OVERVIEW
(225 lignes → 50 lignes)
end note
@enduml
دو نظاموں کی شادی مکمل ہے :
-
استراتژی QUAND اور COMMENT کو منیج کرتی ہے— حکمرانی, کام کی روانگی, محفوظ رکھنا
-
Graphify کیا اور کہاں کا انتظام کرتا ہےکود کی ساخت، rapports، مستهدف طلبات
No content to translate. سیشن کی استراتژی اسے منیج کرتی ہےکب et le کَیسے(حکمرانی, workflow, سیولیں)، Graphify منیج اسےکیا et le کہاں(کُڈ کی سٹرکٹر, رابطت,ہدف کی کوئریاں). پلینٹ ยู امэль پائپ لائن یہ проسس کرتا ہےکیا سے؟(تعین کردہ ڈائگرام، ورژن شدہ، ہمیشہ اپ_ٹو_ڈیت). __
تنصیب: 5 منٹ کی چیک لسٹ
| # | مرحلہ | آرڈر |
|---|---|---|
1 |
انسٹال کریں Graphify |
|
2 |
استثناءات کو کنفیگر کریں |
بنانا`.graphifyignore` |
3 |
نالِج گراف نکالیں |
|
4 |
ڈیاگرامز بنائیں |
|
5 |
نتائج کو کامٹ کریں |
|
# Script complet en 5 commandes
uv tool install graphifyy
cat > .graphifyignore << 'EOF'
*-context.yml
*.env
build/
.gradle/
EOF
graphify . --no-viz
./gradlew generateKnowledgeGraphDiagram
git add graphify-out/GRAPH_REPORT.adoc graphify-out/graph.json diagrams/knowledge-graph/
پھنساے اور کم کرنے کے طریقے
| فخ | تفصیل | تخفیف |
|---|---|---|
گراف بھت کثیف |
ایک بڑا پروژیکت سو سو نودز جو پڑھے نہیں جا سکتے پیدا کرتا ہے |
استعمال کرنا`-Pplantuml.kg.maxNodes=30`اور کمیونٹی کے حسب فیلٹر کریں |
بہت وسیع استثناءات |
زیادہ فائﻟوں میں`.graphifyignore`گراف کی قدر کم کرتا ہے |
صرف credentials اور build کو باہر کر کے شروع کریں |
بیکسوں کی سمت |
INFERRED کنارے مبہم سمت ہو سکتے ہیں |
فیلٹر کرنا`-Pplantuml.kg.edgeTypes=EXTRACTED`sirf maa’iq rishte ke liye |
منسوخ گراف |
کوڈ بدل جاتا ہے مگر گراف دوبارہ بنایا نہیں جاتا |
استعمال کرنا`graphify . --update`بصورت منظم یا گٹ ہوک`graphify hook install` |
کست اپ ڈیٹ شدہ |
انکریمنٹل اپ ڈیٹس تقریباً مفت ہیں (مقامی tree-sitter) |
صرف دستاویزات ( |
ہم آخر میں کیا حاصل کرتے ہیں
@startuml
skinparam backgroundColor #FEFEFE
rectangle "پہلے" as avant {
card "ہاتھ سے بنائے گئے ڈائیگرامز\nہمیشہ پرانے\nکوئی بھی انہیں اپ ڈیٹ نہیں کرتا" as av1 #FDEDEC
}
rectangle "بعد میں" as apres {
card "خودکار طور پر تیار کردہ ڈائیگرامز\nہمیشہ کوڈ کے مطابق اپ ڈیٹ شدہ\nGit میں ورژن شدہ\nڈیٹرمینسٹک اور ریپروڈیوسیبل" as ap1 #E8F8E8
}
avant --> apres : graphify . --no-viz\n+ ./gradlew generateKnowledgeGraphDiagram
@enduml
حقيقي فوائد:
| نفع | تفصیل |
|---|---|
داکیومینٹیشن ہمیشہ اپ تو دیت |
ڈائجرام موجودہ کوڈ کو منکس دکھاتے ہیں، دستی سناپشاٹ نہیں |
میںتنáns کی صفر محنت |
ڈائگرامات ہر بِلڈ میں دوبارہ تیار ہوتی ہیں |
ٹیکنیکل قرض کی کمرائی |
اب ڈائگرامز کو دستی طور پر رکھنے کی ضرورت نہیں |
نئے کے لیے بصری سیاق |
ایک نئے ڈویلپر ڈائگرام دیکھ کر معمارتی کو سمجھتا ہے |
ممکنہ پرواہ سے سیٹنگ |
جوڑات (سب-گراف → ڈائگرام) AI کے ٹرینینگ کے مثال ہیں۔ |
آٹوماتیک تصدیق |
`PlantumlService.validateSyntax()`ہر بناؤے گئے ڈائگرام کی جانچ کرتا ہے |
جلدی آؤن بورڈنگ |
5 ڈائگرامز = معماری کا مکمل نظرہ |
_ جو شخص کے پاس ایک _کیوں ہے وہ تمام کیسے کو برداشت کر سکتا ہے۔ __
pourquoi : ہمیشہ-ap-to-дейت ڈائیگرامات۔ comment : گریڈیل پائلائن میں دو کامینڈز۔
لینک
-
fg کمانڈ کی بہترین تجاویز— ٹرمینل ورک فلو پر سابقہ مضامین