इस प्रोजेक्ट के बारे में

ctx एक खुला, स्थानीय, तेज़ CLI टूलचेन है जो कोडिंग एजेंट्स के लिए संदर्भ इंजीनियरिंग पर केंद्रित है। यह आपकी मशीन पर पहले से संग्रहीत इतिहास को Claude Code, Codex, Cursor, Pi, और Gemini CLI जैसे टूल्स द्वारा इंडेक्स करता है, और प्रदाता-विशिष्ट लॉग्स को सत्रों, संदेशों, टूल कॉल्स, संबंधों, और रिपॉजिटरी गतिविधि के लिए सुसंगत स्थानीय रिकॉर्ड में परिवर्तित करता है। इसके बाद एजेंट्स `ctx search` के साथ उस इतिहास को खोज सकते हैं, `ctx show` के साथ सटीक इवेंट्स या पूर्ण ट्रांसक्रिप्ट्स का निरीक्षण कर सकते हैं, और `ctx locate` के साथ स्रोत स्थानों की पहचान कर सकते हैं। खोज डिफ़ॉल्ट रूप से BM25 लेक्सिकल मिलान का उपयोग करती है, और `ctx semantic enable` के माध्यम से वैकल्पिक स्थानीय सेमांटिक खोज सक्षम की जा सकती है। एक प्रमुख विशेषता `ctx blame` है, जो git blame की तरह काम करती है लेकिन कमिट किए गए कोड को उस एजेंट सत्र से जोड़ती है जिसने इसे बनाया, मूल ट्रांसक्रिप्ट और टूल कॉल्स के संदर्भों के साथ। यह किसी फ़ाइल और लाइन रेंज, किसी कमिट, या किसी पुल रिक्वेस्ट से शुरू हो सकती है, जिससे एजेंट्स उन बाधाओं, निर्णयों, असफल दृष्टिकोणों, और धारणाओं को पुनः प्राप्त करने में मदद करते हैं जो अब कोड में दिखाई नहीं देतीं। `ctx graph` कोडबेस मैपिंग और प्रभाव विश्लेषण प्रदान करता है। यह Graphify से प्रेरित एक स्वतंत्र Rust कार्यान्वयन है, जो ग्राफ को SQLite में संग्रहीत करता है ताकि खोजें सीधे डेटाबेस से क्वेरी करें और अपडेट केवल बदली हुई फ़ाइलों को छुएं। परियोजना बड़े रिपॉजिटरीज़ पर Graphify की तुलना में काफी तेज़ खोज और अपडेट प्रदर्शन की रिपोर्ट करती है, जबकि मौजूदा `.graf/index.db` डेटाबेस के साथ संगतता बनाए रखती है। `ctx sift` शोर भरे टूल आउटपुट को कोडिंग एजेंट तक पहुंचने से पहले कम करता है, मूल कमांड्स को अछूता छोड़ता है और दोहराए गए पाथ, लॉग्स, और फ़ॉर्मेटिंग पर कम टोकन खर्च करता है। सामान्य कम्पैक्शन स्थानीय रूप से चलता है, और वैकल्पिक मूल प्रतिधारण `ctx sift recall` के साथ पूर्ण कैप्चर किए गए आउटपुट की पुनर्प्राप्ति की अनुमति देता है। इतिहास इंडेक्सिंग स्थानीय रूप से बिना हुक्स या एजेंट प्रक्रिया के अंदर कोड के चलती है। स्वचालित इंडेक्सिंग स्थानीय इंडेक्स को अद्यतित रखती है, और अपडेट पूर्ण होने के बाद ही दिखाई देते हैं। परियोजना में इतिहास का बैकअप लेने या स्व-नियंत्रित ctx सर्वर के माध्यम से चयनित सत्रों को साझा करने के लिए बीटा समर्थन भी शामिल है, जिसमें साझाकरण ऑप्ट-इन है। TypeScript, Python, Rust, Go, JVM, Swift, और .NET के लिए SDKs प्रलेखित हैं, और कस्टम इतिहास प्लगइन्स असमर्थित एजेंट फ़ॉर्मेट्स को अनुकूलित कर सकते हैं।