प्रलेखन

एकीकृत संदर्भ ग्राफ

एकीकृत संदर्भ ग्राफ

lean-ctx एक एकीकृत ग्राफ बनाता है जो कोड, कमिट, टेस्ट, ज्ञान और इश्यू को जोड़ता है - कार्य-जागरूक संदर्भ प्रावधान और गहन प्रभाव विश्लेषण को सक्षम करता है।

नोड प्रकार

ग्राफ में 8 नोड प्रकार हैं जो आपके प्रोजेक्ट के विभिन्न पहलुओं का प्रतिनिधित्व करते हैं:

📄 File

इंडेक्सर द्वारा ट्रैक की गई स्रोत फ़ाइलें

🔣 Symbol

फंक्शन, क्लास, टाइप और वेरिएबल

📦 Module

तार्किक समूह (पैकेज, क्रेट, मॉड्यूल)

📝 Commit

संदेश और मेटाडेटा के साथ Git कमिट

🧪 Test

टेस्ट फंक्शन और टेस्ट फ़ाइलें

🏗️ CIRun

CI/CD पाइपलाइन रन और परिणाम

🧠 Knowledge

ctx_session से प्रोजेक्ट ज्ञान

🎫 Issue

कोड से जुड़े इश्यू और टिकट

एज प्रकार

एज नोड्स के बीच संबंधों का प्रतिनिधित्व करते हैं। lean-ctx 11 एज प्रकारों को ट्रैक करता है:

एज प्रकारअर्थउदाहरण
Importsफ़ाइल दूसरी फ़ाइल को आयात करती हैA.ts → B.ts
Callsफंक्शन दूसरे फंक्शन को कॉल करता हैfn_a → fn_b
Definesमॉड्यूल एक सिम्बल को परिभाषित करता हैmod → fn
TestedByफ़ाइल का टेस्ट फ़ाइल द्वारा परीक्षणutils.rs → test_utils.rs
ChangedInकमिट में फ़ाइल बदली गईfile → commit
MentionedInज्ञान तथ्य में फ़ाइल का उल्लेखfile → knowledge
Affectsइश्यू फ़ाइल को प्रभावित करता हैissue → file
Breaksकमिट टेस्ट तोड़ता हैcommit → test

ग्राफ संवर्धन

संवर्धन Git, टेस्ट और ज्ञान डेटा के साथ कोड ग्राफ का विस्तार करता है - एकीकृत प्रोजेक्ट दृश्य बनाता है।

Git इतिहास इंडेक्सर

हाल के Git कमिट्स (डिफ़ॉल्ट: अंतिम 500) को पार्स करता है और प्रभावित फ़ाइलों के लिए ChangedIn एज के साथ Commit नोड बनाता है।

टेस्ट इंडेक्सर

नामकरण परंपरा (test_, _test, _spec) से टेस्ट फ़ाइलों का पता लगाता है और TestedBy एज से स्रोत फ़ाइलों से जोड़ता है।

ज्ञान सेतु

ctx_session से दर्ज प्रोजेक्ट ज्ञान तथ्यों को MentionedIn एज से संदर्भित फ़ाइलों से जोड़ता है।

MCP कमांड

ctx_graph enrich              # Enrich graph with git, tests, knowledge
ctx_graph build               # Index code structure
ctx_graph status              # Show node/edge counts

Community Detection (Louvain)

The Louvain algorithm clusters files into communities based on their dependency relationships. Files that frequently import each other or share transitive dependencies are grouped together, enabling smarter context preloading and relevance scoring for task-driven queries.

PageRank

Computes file importance scores based on the dependency graph structure. Files imported by many others (structural hubs) receive higher PageRank, which is used by Spectral Relevance and Boltzmann Allocation to prioritize high-impact files during context assembly.

संदर्भ क्वेरी

ग्राफ-आधारित संदर्भ क्वेरी का उपयोग करके किसी भी कार्य के लिए सबसे प्रासंगिक फ़ाइलें खोजें।

उपयोग

ctx_graph context "fix auth bug"       # Find relevant files for task
ctx_graph related src/auth.rs          # Connected files
ctx_graph impact src/auth.rs           # Blast radius analysis
ctx_graph symbol src/auth.rs::verify   # Symbol definition/usages

कैसे काम करता है

  • कार्य विवरण से कीवर्ड निकालता है
  • फ़ाइल नामों और कमिट संदेशों से कीवर्ड मिलाता है
  • ग्राफ एज (आयात, टेस्ट, ज्ञान) से परिणाम विस्तारित करता है
  • संबंध संदर्भ के साथ प्रासंगिक फ़ाइलों की रैंक सूची लौटाता है

इंटरैक्टिव HTML एक्सपोर्ट

अपने डिपेंडेंसी ग्राफ को एक अकेली, स्व-निहित HTML फ़ाइल के रूप में एक्सपोर्ट करें। जनरेट की गई फ़ाइल पूरी तरह ऑफ़लाइन काम करती है - इसे किसी भी ब्राउज़र में खोलकर अपने कोडबेस को विज़ुअली एक्सप्लोर करें। कोई सर्वर नहीं, कोई डिपेंडेंसी नहीं, बस एक HTML फ़ाइल।

उपयोग

# Export full graph (all nodes)
lean-ctx graph export-html --out graph.html

# Limit to 100 most-connected nodes
lean-ctx graph export-html --out graph.html --max-nodes 100

# Custom project root
lean-ctx graph export-html --out graph.html --root /path/to/project

इंटरैक्टिव सुविधाएँ

🔍 Search

कोई भी फ़ाइल पाथ सबस्ट्रिंग टाइप करें और मिलते-जुलते नोड्स तुरंत हाइलाइट हों

🖱️ Pan & Zoom

क्लिक और ड्रैग से पैन करें, स्क्रॉल से ज़ूम करें। मैप की तरह काम करता है।

📋 Node Details

किसी भी नोड पर क्लिक करें और साइडबार में उसके इम्पोर्ट और डिपेंडेंट देखें

🔗 Reverse Deps

किसी नोड पर राइट-क्लिक करें और उस पर निर्भर सभी फ़ाइलें हाइलाइट हों (BFS ट्रैवर्सल)

🖼️ PNG Export

एक क्लिक में मौजूदा कैनवास व्यू को PNG इमेज के रूप में डाउनलोड करें

📡 Offline

कोई बाहरी डिपेंडेंसी नहीं। पूरा ऐप एक HTML फ़ाइल में एम्बेडेड है।

सुझाव

  • बड़े प्रोजेक्ट्स के लिए विज़ुअलाइज़ेशन को पठनीय रखने हेतु --max-nodes का उपयोग करें (50–200 अच्छी रेंज है)
  • एक्सपोर्ट से पहले graph build चलाएँ ताकि इंडेक्स अपडेट हो
  • HTML फ़ाइल टीम के साथ सुरक्षित रूप से साझा की जा सकती है - इसमें सोर्स कोड नहीं, केवल फ़ाइल पाथ और संबंध हैं
  • राइट-क्लिक हाइलाइटिंग पूरी रिवर्स-डिपेंडेंसी चेन दिखाती है, जिससे बदलावों के प्रभाव क्षेत्र का आकलन आसान होता है

डैशबोर्ड API

एंडपॉइंटविवरण
/api/graph/statsनोड और एज गणना, डेटाबेस पथ
/api/graph/enrichपूर्ण ग्राफ संवर्धन ट्रिगर करें और आंकड़े लौटाएं