हमने उस मेमोरी को ओपन-सोर्स कर दिया, जो हमारे AI कोडिंग एजेंट्स के पास कभी थी ही नहीं
कल्पना कीजिए, एक योग शिक्षक जिसे भूलने की बीमारी हो। हर क्लास में वे आपको आगे झुकने का आसन करते देखते हैं और "अपने घुटनों को ढीला करें" कहते हैं। अगली क्लास में, वही शरीर, घुटनों को लॉक करने की वही आदत — और वे इसके बजाय "जॉइंट पर माइक्रो-बेंड" कहते हैं, यह भूलकर कि उन्होंने इसे पहले कभी अलग तरह से कहा था। दोनों निर्देश गलत नहीं हैं। लेकिन अब आपके हाथ में एक आदत के लिए दो निर्देश हैं, और कमरे में किसी को भी यह नहीं पता कि वे एक ही बात हैं।
AI कोडिंग एजेंट आपके कोडबेस के साथ हर एक सेशन में यही करते हैं।
वह समस्या जिसके लिए कोई डिफ़ नहीं बनाता
Claude, Kilo, Cursor, Copilot — इनमें से किसी को भी याद नहीं रहता कि पिछली बार उन्होंने चीज़ों के क्या नाम रखे थे। किसी एजेंट से सोमवार को retry limit जोड़ने को कहिए, तो वह MAX_RETRIES लिख देता है। बुधवार को किसी अलग सेशन से कोई संबंधित काम कराइए, और सोमवार की कोई याद न होने के कारण वह उतनी ही सहजता से RETRY_LIMIT लिख देता है। दोनों नाम ठीक हैं। लेकिन दोनों मिलकर एक ऐसे बग में बदल जाते हैं जिसका इंतज़ार है कि कोई एक को बदले और दूसरे को भूल जाए।
यह कोई अंदाज़ा नहीं है। GitClear के "The Maintainability Gap" ने 2023 से 2026 तक बदली गई 623 मिलियन पंक्तियों को ट्रैक किया और पाया कि डुप्लिकेट कोड ब्लॉक्स 81% बढ़ गए, जबकि वास्तव में रिफैक्टर करने वाले कमिट्स का हिस्सा 21% से गिरकर 4% से नीचे आ गया। CodeRabbit की 470 pull requests की समीक्षा में पाया गया कि AI-लेखित PRs में इंसानों की तुलना में 1.7x अधिक issues होते हैं, और naming inconsistencies लगभग दोगुनी बार दिखाई देती हैं। एजेंट लिखते हैं। कोई consolidate नहीं करता। और यह कभी सामान्य diff review में दिखाई नहीं देता, क्योंकि हर अलग commit अकेले में पूरी तरह उचित लगता है — असंगति सिर्फ सेशंस के बीच मौजूद होती है, जो बिल्कुल वही जगह है जहाँ कोई देख नहीं रहा होता।
VarAlign वास्तव में क्या करता है
VarAlign एक hook है जो AI agent द्वारा लिखे गए हर variable पर नज़र रखता है, सेशंस के बीच बने रहने वाला per-repo registry बनाए रखता है, और इसे इस बात से मिलाता है कि repo में वास्तव में क्या मौजूद है — अलग-अलग नामों के तहत drift, deletions, और duplicate concepts को पकड़ते हुए। यह deterministic है: कोई LLM loop में नहीं, कोई tokens खर्च नहीं, कुछ भी आपकी मशीन से बाहर नहीं जाता। यह registry आपके अपने repo के अंदर plain files के रूप में रहती है, इसलिए यह git में diffable है और किसी भी tool द्वारा readable है, किसी database के पीछे बंद नहीं।
Detection language-aware है, और यह जितना सुनने में लगता है उससे कहीं अधिक मायने रखता है। Go के capitalized names का मतलब Python के CONST_CASE से अलग होता है; PowerShell identifiers case-insensitive होते हैं; अलग अंतिम शब्द के साथ साझा prefix (HTTP_GET / HTTP_POST) एक deliberate family है, duplicate नहीं। इसे गलत समझ लिया तो tool बार-बार झूठी चेतावनी देगा, जब तक कि कोई उसके reports पढ़ना ही छोड़ न दे — और यह अपने आप में भूलने की एक अलग तरह की बीमारी है।
निरंतरता ही पूरी साधना है
यहाँ वह बात है जो नियमित क्लास सिखाने या लेने वाले किसी भी व्यक्ति को परिचित लगेगी: अभ्यास तभी जुड़कर बढ़ता है जब कुछ आगे तक साथ जाए। एक शिक्षक जो आपकी कड़ी दाईं हिप को याद रखता है, तीन महीनों के छोटे-छोटे सुधारों को वास्तविक बदलाव में बदल सकता है। एक शिक्षक जो हर बार फिर से शुरुआत करता है, वह केवल अपनी बात दोहरा सकता है, कभी-कभी थोड़े अलग शब्दों में, और छात्र को यह तय करना पड़ता है कि किस संस्करण पर भरोसा करें।
डिफ़ॉल्ट रूप से, AI कोडिंग एजेंट वह भूलने वाला शिक्षक हैं। VarAlign वह नोटबुक है जो शिक्षक को रखनी चाहिए थी। यह एजेंट को अधिक समझदार नहीं बनाता। यह बस यह सुनिश्चित करता है कि तीसरा सेशन जानता हो कि पहले सेशन में क्या तय हो चुका है, ताकि कोडबेस तीन अलग-अलग शब्दावलियों की बजाय एक ही शब्दावली को जमा करे।
आज क्या रिलीज़ हुआ
आज से VarAlign v1.0.0 है, और इंजन के साथ Claude Code प्लगइन GitHub पर Apache-2.0 के तहत ओपन सोर्स हैं। इसे इंस्टॉल करने के लिए दो कमांड चाहिए और किसी local clone की ज़रूरत नहीं:
/plugin marketplace add greenyogainc/varalign
/plugin install varalign
क्योंकि detection file-based है, यह duplicate और drifted variables को पकड़ लेता है, चाहे उन्हें किसी भी tool ने लिखा हो — Claude Code, Kilo, Cursor, Copilot, या सीधे टाइप कर रहा कोई इंसान। VS Code extension, जो one-click override और notes के साथ color-coded duplicate list जोड़ता है, अलग से शिप होता है और Marketplace तथा Open VSX पर free रहता है।
असल dogfooding कैसा दिखता है
हम ऐसे दावे रिलीज़ नहीं करते जिन्हें हमने खुद पर टेस्ट न किया हो। अभी VarAlign हमारे अपने 15 repos में 36,000 से अधिक variable assignments को live मॉनिटर कर रहा है, और अब तक 1,390 duplicate और drift suspects को उसकी अपनी review workflow के जरिए triage किया जा चुका है। इस release के आसपास के सिर्फ चौबीस घंटों में ही, इसने आगे शिप होने से पहले तीन वास्तविक issues पकड़ लिए: dashboard के अंदर quietly duplicate की गई एक computation, एक severity constant जो shared source से import होने के बजाय फिर से define कर दी गई थी, और scripts में बिखरे configuration values जो एक ही जगह से पढ़े जाने चाहिए थे। इनमें से कोई भी normal code review में नहीं दिखता — हर बदलाव अपने आप में सही लगता था।
VS Code extension का पहला वास्तविक release तीन दिन पहले गया था और अब तक 2,300 downloads पार कर चुका है।
इस हफ़्ते के लिए एक कदम
अगर आप किसी भी वास्तविक आकार वाले repo पर Claude Code, Kilo, Cursor, या Copilot चलाते हैं, तो यह समस्या आपके पास पहले से है — बस आपने रिपोर्ट अभी तक देखी नहीं है। प्लगइन इंस्टॉल करें, इसे scan करने दें, और कुछ भी खारिज करने से पहले देखें कि यह क्या flag करता है। जो कुछ भी सामने आएगा, उसका अधिकांश हिस्सा आसान, पाँच मिनट वाला rename होगा। मूल्य किसी एक fix में नहीं है। मूल्य इस बात में है कि codebase हर concept के लिए एक नाम पर टिक जाए, बजाय इसके कि हर sprint में एक नई dialect जमा करता रहे।
यही वही बात है जो महीनों तक mat पर एक अच्छी practice करती है: कोई एक नाटकीय breakthrough नहीं, बल्कि एक ऐसी vocabulary जो फिर से शुरू करने की बजाय अपने ऊपर खुद को लगातार बनाती रहती है।
VarAlign का engine और Claude Code plugin github.com/greenyogainc/varalign पर open source हैं। VS Code extension Marketplace और Open VSX पर free है। अगर आप इसे किसी बड़े org में लागू करने में मदद चाहते हैं, संपर्क करें।
