Claude Code کے لیے ایک کسٹم اسٹیٹس لائن بنانا

میں اپنا زیادہ تر دن Claude Code میں گزارتا ہوں۔ یہ میرے پروگرامر اور ریویور کے طور پر کام کرتا ہے۔

چند دنوں کے بعد، میں نے ایک مسئلہ محسوس کیا۔ مجھے معلوم نہیں تھا کہ میں نے کتنے ٹوکنز استعمال کیے ہیں۔ مجھے اپنے سیشن کی لاگت کا علم نہیں تھا۔ مجھے یہ بھی نہیں معلوم تھا کہ کتنا کانٹیکسٹ (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 فائل میں شامل کریں۔

آپ ریفریش انٹرویل (refresh interval) کو 1 سیکنڈ پر سیٹ کر سکتے ہیں۔ یہ آپ کو ایک ریئل ٹائم ڈیش بورڈ فراہم کرتا ہے۔

اگر آپ کوڈ نہیں لکھنا چاہتے، تو Claude Code میں ایک شارٹ کٹ موجود ہے۔ یہ چلائیں: /statusline show me model, branch, token counts, context percentage, and cost

یہ آپ کے لیے خود بخود ایک لائن تیار کر دیتا ہے۔

سادہ شیل اسکرپٹس کے ذریعے اپنے ٹولز کو کسٹمائز کرنا آپ کے کام کرنے کے انداز کو بدل دیتا ہے۔ آپ فیچرز کا انتظار کرنا چھوڑ دیتے ہیں اور اپنی خود مختار آٹومیشن بنانا شروع کر دیتے ہیں۔

ماخذ: https://dev.to/ndrone/building-a-custom-status-line-for-claude-code-5822

اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi