इस प्रोजेक्ट के बारे में
cc-grass एक छोटा Node.js कमांड-लाइन टूल है जो स्थानीय Claude Code गतिविधि को GitHub-शैली के कॉन्ट्रिब्यूशन ग्राफ में बदल देता है, जिसे एक स्टैंडअलोन SVG के रूप में रेंडर किया जाता है, जिसमें सेल हरे के बजाय नारंगी रंग के होते हैं। यह ~/.claude/projects के तहत JSONL फाइलों के रूप में संग्रहीत सेशन ट्रांसक्रिप्ट्स को पढ़ता है और, यदि ~/.codex मौजूद है, तो OpenAI Codex CLI द्वारा उत्पादित ~/.codex/sessions से सेशन रोलआउट्स को पढ़ता है।
README में प्रेरणा को स्पष्ट रूप से बताया गया है: Claude Code पहले से ही /usage Stats के तहत टर्मिनल के अंदर एक उपयोग ग्राफ बनाता है, लेकिन वह दृश्य स्थानीय रहता है। cc-grass उसी अंतर्निहित डेटा को एक फाइल के रूप में फिर से रेंडर करता है जिसे आप GitHub प्रोफाइल README, पोर्टफोलियो पेज या कहीं और कमिट और एम्बेड कर सकते हैं।
README से लिए गए कार्यान्वयन और डिज़ाइन नोट्स:
- जीरो रनटाइम डिपेंडेंसी: केवल Node के fs, path और os मॉड्यूल। कोई ccusage नहीं, कोई API कॉल नहीं। macOS, Linux और Windows पर Node 18 या नया संस्करण।
- एक इंक्रीमेंटल कैश का अर्थ है कि बार-बार चलाने पर केवल नई या बदली हुई सेशन फाइलों को फिर से पार्स किया जाता है। इसे --no-cache के साथ अक्षम किया जा सकता है, और कैश डायरेक्टरी डिफ़ॉल्ट रूप से ~/.cache/cc-grass होती है।
- SVG, GitHub के लेआउट को दर्शाता है: 10 by 10 सेल, 3px गैप, राउंडेड कॉर्नर, Mon/Wed/Fri रो लेबल, मंथली हेडर और एक Less/More लेजेंड।
- आउटपुट एक सिंगल SVG है, या --html फ्लैग के माध्यम से एक न्यूनतम HTML पेज है। प्रोजेक्ट जानबूझकर कोई डेमन, शेड्यूलर या बंडल किया गया GitHub Actions वर्कफ्लो शिप नहीं करता है; शेड्यूलिंग उपयोगकर्ता पर छोड़ी गई है, और README एक crontab उदाहरण दिखाता है जो फाइल को फिर से जेनरेट करता है और केवल तभी कमिट करता है जब वह वास्तव में बदल गई हो।
विकल्पों में मेट्रिक चुनना (prompts, sessions या tokens, डिफ़ॉल्ट tokens), --since और --until के माध्यम से दिनांक सीमा, डार्क या लाइट थीम, एक ओवरराइडिंग हेडर स्ट्रिंग, वैकल्पिक Claude और Codex डेटा डायरेक्टरी, Codex डेटा को बाहर करना, सब-एजेंट ट्रांसक्रिप्ट्स को बाहर करना और कैश लोकेशन को ओवरराइड करना शामिल है।
टोकन अकाउंटिंग: दैनिक टोकन गणना प्रति प्रविष्टि इनपुट, आउटपुट, कैश क्रिएशन और कैश रीड टोकन का योग करती है, यानी वह सब जिसके लिए API बिल करेगा। सब-एजेंट फाइलें डिफ़ॉल्ट रूप से शामिल हैं; उन्हें बाहर करने से वह आंकड़ा मिलता है जो Claude Code /usage में दिखाता है। Codex सेशन्स को token_count इवेंट्स में संचयी total_token_usage वैल्यूज से डेल्टा का उपयोग करके गिना जाता है, ताकि डुप्लिकेट इवेंट्स को दोबारा न गिना जाए। HTML आउटपुट प्रति मिलियन टोकन दरों के आधार पर प्रति मॉडल एक अनुमानित API लागत भी दिखाता है; बिना ज्ञात दर वाले मॉडल 'not-available' प्राइस मार्कर प्रदर्शित करते हैं, और README नोट करता है कि सब्सक्रिप्शन उपयोगकर्ता वास्तव में इन राशियों का भुगतान नहीं करते हैं।
दो चेतावनियों का ईमानदारी से दस्तावेजीकरण किया गया है। पहला, प्रति-सेल होवर टूलटिप्स SVG title एलिमेंट्स का उपयोग करते हैं; वे स्टैंडअलोन SVG व्यूअर्स और HTML आउटपुट में काम करते हैं, लेकिन GitHub README में एम्बेड होने पर नहीं, क्योंकि GitHub इसे एक इमेज के रूप में सर्व करता है और ब्राउज़र वहां टाइटल्स को अनदेखा कर देते हैं। दूसरा, सैंपल SVG और लिंक किया गया इंटरैक्टिव पेज लेखक की वास्तविक गतिविधि दिखाते हैं, इसलिए README सलाह देता है कि आप अपने ग्राफ को कहां प्रकाशित करते हैं, इस बारे में सचेत रहें।
एक प्रोग्रामेटिक API भी उपलब्ध है: parseClaudeProjects और renderSvg को अपने कोड में वही चार्ट बनाने के लिए इम्पोर्ट किया जा सकता है। प्रोजेक्ट MIT लाइसेंस के तहत है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.