Claude Code के लिए एक कस्टम स्टेटस लाइन बनाना

मैं अपना अधिकांश समय Claude Code में बिताता हूँ। यह मेरे प्रोग्रामर और रिव्यूअर के रूप में कार्य करता है।

कुछ दिनों के बाद, मैंने एक समस्या पर ध्यान दिया। मुझे नहीं पता था कि मैंने कितने टोकन इस्तेमाल किए हैं। मुझे अपने सेशन की लागत (cost) का पता नहीं था। मुझे यह भी नहीं पता था कि कितना कॉन्टेक्स्ट (context) बचा है।

मैं इन तथ्यों की जाँच करने के लिए कोई कमांड नहीं चलाना चाहता। मैं उन्हें रियल-टाइम में देखना चाहता हूँ। मैं अपने टर्मिनल पर एक नज़र डालकर अपनी स्थिति जानना चाहता हूँ।

इसलिए मैंने एक कस्टम स्टेटस लाइन बनाई।

मैंने तीन मुख्य चीजों पर ध्यान केंद्रित किया:

  • सेशन कॉस्ट (Session Cost): Claude Opus मुफ्त नहीं है। लाइव कॉस्ट देखने से मुझे यह तय करने में मदद मिलती है कि किसी कार्य को कब समाप्त करना है।
  • कॉन्टेक्स्ट विंडो (Context Window): मैं बचे हुए कॉन्टेक्स्ट का प्रतिशत देखना चाहता हूँ। इससे मुझे यह तय करने में मदद मिलती है कि नया सेशन कब शुरू करना है।
  • प्रोजेक्ट इन्फो (Project Info): मुझे अपनी वर्तमान डायरेक्टरी, git branch और अपने द्वारा उपयोग किए जाने वाले मॉडल को देखने की आवश्यकता है।

स्टेटस लाइन API सरल है। आप Claude Code को एक शेल स्क्रिप्ट (shell script) की ओर निर्देशित करते हैं। टूल stdin के माध्यम से आपकी स्क्रिप्ट को एक JSON डॉक्यूमेंट भेजता है। आपकी स्क्रिप्ट stdout पर परिणाम प्रिंट करती है।

इसमें किसी SDK या फ्रेमवर्क का उपयोग नहीं होता है। यह केवल stdin और stdout का उपयोग करता है। यह स्थानीय रूप से (locally) चलता है और इसकी कोई लागत नहीं आती।

इसे कैसे सेटअप करें:

  1. ~/.claude/statusline.sh पर एक स्क्रिप्ट बनाएँ।
  2. JSON डेटा को पार्स करने के लिए jq का उपयोग करें।
  3. अपने पाथ, ब्रांच, मॉडल, टोकन और कॉस्ट को दिखाने के लिए आउटपुट को फॉर्मेट करें।
  4. स्क्रिप्ट को अपनी ~/.claude/settings.json फ़ाइल में जोड़ें।

आप रिफ्रेश इंटरवल को 1 सेकंड पर सेट कर सकते हैं। यह आपको एक रियल-टाइम डैशबोर्ड देता है।

यदि आप कोड नहीं लिखना चाहते हैं, तो Claude Code में एक शॉर्टकट है। इसे चलाएँ: /statusline show me model, branch, token counts, context percentage, and cost

यह आपके लिए स्वचालित रूप से एक लाइन जनरेट कर देता है।

सरल शेल स्क्रिप्ट के साथ अपने टूल्स को कस्टमाइज़ करना आपके काम करने के तरीके को बदल देता है। आप फीचर्स का इंतज़ार करना बंद कर देते हैं और अपना खुद का ऑटोमेशन बनाना शुरू कर देते हैं।

Source: https://dev.to/ndrone/building-a-custom-status-line-for-claude-code-5822

Optional learning community: https://t.me/GyaanSetuAi