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

CoalLedger AI कोडिंग एजेंटों के लिए एक दस्तावेज़ीकरण-गुणवत्ता वाला टूल है, जिसे इसके लेखक द्वारा "दस्तावेज़ीकरण के लिए CoalMine" के रूप में वर्णित किया गया है। यह TheColliery का हिस्सा है, जो छोटे ऐड-ऑन सुइट्स (CoalMine, CoalTipple, CoalBoard, CoalHearth, CoalFace, CoalWash) का एक परिवार है, जो जीरो-डिपेंडेंसी हुक्स, सिंगल-सोर्स कॉन्फ़िग स्कीमा, सहमति-आधारित खर्च और बिना स्वचालित संपादन के सिद्धांत को साझा करते हैं। CoalLedger को अकेले या अन्य के साथ इंस्टॉल किया जा सकता है। इसका आधार यह है कि कोड के पास लिनटर्स, टेस्ट और CI होते हैं, जबकि दस्तावेज़ीकरण मुख्य रूप से उम्मीद के भरोसे होता है: एक README जो कोड से अलग हो गया है, एक अनुवाद जो अब अपने समकक्ष से मेल नहीं खाता, एक डेड इंस्टॉल लिंक या एक पुराना वर्जन बैज ऐसी खामोश विफलताएं हैं जिन पर पाठक अभी भी भरोसा करता है। CoalLedger किसी भी दस्तावेज़ — README, स्पेसिफिकेशन, रिपोर्ट, अनुवाद — को स्कैन करता है और जो यह रेंडर करता है उसकी तुलना इस बात से करता है कि यह क्या दावा करता है। सात कैनरीज, जिनमें से प्रत्येक का एक विफलता मोड है: 1. doc-grounding — उन दावों को पकड़ता है जो उनके सत्य के स्रोत (कोड, डेटा, मूल पाठ, वास्तविकता) से मेल नहीं खाते; कई स्रोतों से वास्तविक समय में सत्यापित, ऑफलाइन होने पर "अपुष्ट" (unverified) हो जाता है। 2. doc-standard — उस प्रकार के दस्तावेज़ के मानक के विरुद्ध अपूर्णता को पकड़ता है, जिसमें आवश्यक अनुभाग और बिना दस्तावेज़ीकरण वाली सार्वजनिक सतह शामिल है। 3. doc-rot — पुराने वर्जन, तारीखों और बैज, डेड TODOs और superseded निर्देशों को पकड़ता है। 4. doc-consistency — उन दस्तावेज़ों को पकड़ता है जो एक-दूसरे का खंडन करते हैं, शब्दावली विचलन और क्रॉस-लैंग्वेज विचलन को पकड़ता है। 5. doc-structure — टूटे हुए लिंक, एंकर, हेडिंग, टेबल, संदर्भ और इमेज ऑल्ट टेक्स्ट को पकड़ता है। 6. doc-quality — अनावश्यक विस्तार, अस्पष्ट गद्य और भाषा यांत्रिकी जैसे टाइपो, व्याकरण और वर्तनी को पकड़ता है। 7. doc-leak (कॉन्फ़िग-गेटेड) — सार्वजनिक दस्तावेज़ों में गद्य-स्तर की संवेदनशील सामग्री को चिह्नित करता है; टोकन-आकार के सीक्रेट्स अन्य टूल के लिए छोड़े गए हैं। यह केवल संदिग्ध निष्कर्षों की रिपोर्ट करता है। स्कैन दो स्तरों पर चलते हैं। Quick उन मैकेनिकल लेयर्स को कवर करता है जो नियतात्मक (deterministic) और प्रभावी रूप से मुफ्त हैं, और केवल रिपोर्ट करता है। Full सिमेंटिक लेयर्स जोड़ता है, जो मॉडल निर्णय का उपयोग करते हैं, सशुल्क हैं, और हमेशा अलग सहमति की आवश्यकता होती है। चार कैनरीज मैकेनिकल और सिमेंटिक लेयर्स को मिलाते हैं; doc-consistency और doc-leak केवल सिमेंटिक हैं। एक बंडल किया गया जीरो-डिपेंडेंसी CommonMark+GFM AST इंजन स्ट्रक्चरल चेक को संचालित करता है ताकि जो सामग्री सही ढंग से रेंडर होती है उसे चिह्नित न किया जाए; लेखक स्पष्ट है कि इसकी फिडेलिटी सीलिंग स्पेसिफिकेशन-स्तर की है, न कि पिक्सेल-परफेक्ट GitHub रेंडरिंग, और होस्ट की विचित्रताओं को अनुमान लगाने के बजाय सीमाओं के रूप में रिपोर्ट किया जाता है। गंभीरता (Severity) का निर्णय हमेशा मैकेनिकल के बजाय संदर्भ में किया जाता है: एक आर्काइव में टूटा हुआ लिंक कम गंभीर है, इंस्टॉल स्टेप में वही लिंक क्रिटिकल है। पुष्ट निष्कर्षों की रिपोर्ट संदिग्ध निष्कर्षों से अलग की जाती है। सुधार कभी भी स्वचालित रूप से लागू नहीं किए जाते हैं; प्रत्येक रिपोर्ट एक मेनू के साथ समाप्त होती है जो सुरक्षित सुधार, उपयोगकर्ता-चयनित सुधार, या केवल रिपोर्ट का विकल्प देती है। मैकेनिकल लेयर्स डिज़ाइन द्वारा भाषा-अज्ञेय (language-agnostic) हैं — वे अंग्रेजी कीवर्ड के बजाय संरचना, स्थिति और अर्थ पर आधारित हैं — और सिमेंटिक लेयर्स दस्तावेज़ की अपनी भाषा में काम करते हैं। एक अलग, ऑप्ट-इन फीचर docs memory-drift रिमाइंडर है। यह कुछ भी स्कैन या रिपोर्ट नहीं करता है। यदि दस्तावेज़ीकरण फाइलें (.md, .mdx, .markdown, .rst, .txt, .adoc, .asciidoc, .org) संपादित की गईं लेकिन सत्र में MEMORY.md अपडेट नहीं किया गया, और प्रोजेक्ट MEMORY.md कन्वेंशन का उपयोग करता है, तो CoalLedger एजेंट के प्रतिक्रिया देने के बाद एक शांत सिस्टम मैसेज भेजता है, और MEMORY.md अपडेट होने के बाद चुप रहता है। इसे अक्षम किया जा सकता है। यह कोड संपादन के लिए CoalMine के समकक्ष संकेत का पूरक है; दोनों अलग-अलग फाइल एक्सटेंशन की निगरानी करते हैं। संगतता (Compatibility) प्लेटफॉर्म टेबल के बजाय क्षमता-आधारित है: लाइफसाइकिल हुक्स वाले प्लेटफॉर्म्स को एक सेशन-स्टार्ट कंडक्टर मिलता है जो सही समय पर सही कैनरी प्रदान करता है; बिना हुक्स वाले प्लेटफॉर्म्स को बेस्ट-एफर्ट एजेंट-ड्रिवन इनवोकेशन मिलता है; सभी मामलों में कैनरीज को नाम से मैन्युअल रूप से कॉल किया जा सकता है। लेखक सपोर्ट टियर्स को ईमानदारी से लेबल करता है — Claude Code को लाइव प्लगइन और डॉगफूडिंग के साथ वैलिडेटेड बताया गया है, जबकि अन्य सभी प्लेटफॉर्म (Antigravity, Cursor, Codex, Gemini CLI, Cline, Copilot, claude.ai) "works with" श्रेणी में हैं: उनके लिए बनाया गया है, लेकिन अभी तक एंड-टू-एंड प्रमाणित नहीं हुआ है। Antigravity वायरिंग को इस चेतावनी के साथ दस्तावेज़बद्ध किया गया है कि hooks.json का स्थान अपडेट के बाद बदल गया है और इसे Antigravity के अपने दस्तावेज़ों से फिर से प्राप्त किया जाना चाहिए; डेड पाथ पर वायरिंग निष्क्रिय लेकिन हानिरहित है। Claude Code के लिए इंस्टॉलेशन एक टू-कमांड मार्केटप्लेस ऐड और प्लगइन इंस्टॉल है, जो कंडक्टर और मेमोरी-ड्रिफ्ट रिमाइंडर को भी वायर करता है। अन्य एजेंट सेल्फ-कंटेन्ड स्किल फोल्डर्स को कॉपी करते हैं (AST इंजन doc-structure फोल्डर के अंदर रहता है)। claude.ai उपयोगकर्ताओं को स्किल्स को हैंड-ज़िप न करने की सलाह दी जाती है क्योंकि फ्रंटमैटर विवरण उस प्लेटफॉर्म की लिस्टिंग सीमा से अधिक हैं; इसके बजाय, ट्रिम किए गए विवरणों के साथ प्रति-कैनरी ZIPs SHA256 चेकसम के साथ Releases पेज पर प्रकाशित किए गए हैं। कमांड्स में प्रति कैनरी एक कमांड के साथ /coalledger:stats (सेशन-लोकल स्कैन और निष्कर्ष आंकड़े) और /coalledger:update (वर्जन चेक और अपडेट हैंडलिंग) शामिल हैं। कॉन्फ़िगरेशन एक ग्लोबल फाइल और एक प्रति-प्रोजेक्ट फाइल का समर्थन करता है जिसे कई ज्ञात एजेंट निर्देशिकाओं से हल किया जाता है, जिसमें एक लीगेसी रूट पाथ अभी भी पढ़ा जाता है। कीज़ (Keys) में ऑन/ऑफ मोड, रिपोर्ट भाषा, अक्षम कैनरीज, गंभीरता फ्लोर, स्कैन-ऑल ओवरराइड, क्विक-बनाम-फुल डिफॉल्ट टियर, doc-leak गेट, पब्लिक-फेसिंग डॉक्स फ्लैग, मेमोरी-ड्रिफ्ट नज, एक वैकल्पिक em-dash टाइपोग्राफी नियम और अपडेट-चेक व्यवहार शामिल हैं। एक प्रोजेक्ट को पूरी तरह से बंद किया जा सकता है ताकि स्किल वहां लोड होना बंद हो जाए। अनुमतियाँ संकीर्ण रूप से बताई गई हैं: यह नामित दस्तावेज़ों और उन फाइलों को पढ़ता है जिन पर उनके लिंक इशारा करते हैं, केवल अपनी स्क्रैच फाइलें और अपडेट स्टैम्प लिखता है, तीन स्थानीय चीजें चलाता है (रीड-ओनली AST इंजन, सुधारों से पहले एक git stash चेकपॉइंट, और — केवल सहमति के साथ — एक दस्तावेज़ द्वारा दावा किया गया उदाहरण कि वह काम करता है), और कभी भी अपने आप दस्तावेज़ को संपादित नहीं करता है। नेटवर्क उपयोग ऑप्ट-इन है: सशुल्क Full टियर का स्रोत सत्यापन और सेल्फ-अपडेट चेक प्रत्येक के लिए अलग सहमति की आवश्यकता होती है; हुक्स और इंजन कभी ऑनलाइन नहीं जाते। किसी API की या npm install की आवश्यकता नहीं है। बेंचमार्किंग पर, प्रोजेक्ट ईमानदार है: यह किसी मनगढ़ंत संख्या के बजाय बिना बेंचमार्क के लॉन्च होता है। मैकेनिकल लेयर रिपो में फिक्स्चर-गेटेड है (प्लांटेड डिफेक्ट्स मिले, क्लीन डिकॉयज शांत रहे) एक वेरिफिकेशन स्क्रिप्ट के माध्यम से, और एक रिजल्ट्स डाइजेस्ट की योजना है जिसे पहले दिनांकित, वर्जन वाले रन से भरा जाएगा जो कैनरी दर कैनरी सीडेड दस्तावेज़ीकरण दोषों पर रिकॉल को मापता है। Apache 2.0 के तहत लाइसेंस प्राप्त।