Claude Code కోసం ఒక కస్టమ్ స్టేటస్ లైన్‌ను నిర్మించడం

నేను నా రోజులో ఎక్కువ సమయాన్ని Claude Code లోనే గడుపుతాను. ఇది నా ప్రోగ్రామర్ మరియు రివ్యూయర్‌గా పనిచేస్తుంది.

కొన్ని రోజుల తర్వాత, నేను ఒక సమస్యను గమనించాను. నేను ఎన్ని టోకెన్లను ఉపయోగించానో నాకు తెలియదు. నా సెషన్ ఖర్చు ఎంత అనేది నాకు తెలియదు. ఇంకా ఎంత కాంటెక్స్ట్ (context) మిగిలి ఉందో కూడా నాకు తెలియదు.

ఈ విషయాలను తనిఖీ చేయడానికి నేను ప్రతిసారీ ఒక కమాండ్‌ను రన్ చేయాలని అనుకోవడం లేదు. నేను వాటిని రియల్ టైమ్‌లో చూడాలనుకుంటున్నాను. నా టెర్మినల్‌ను ఒక్కసారి చూసి నా స్టేటస్‌ను తెలుసుకోవాలనుకుంటున్నాను.

అందుకే నేను ఒక కస్టమ్ స్టేటస్ లైన్‌ను నిర్మించాను.

నేను మూడు ప్రధాన అంశాలపై దృష్టి పెట్టాను:

  • సెషన్ ఖర్చు (Session Cost): Claude Opus ఉచితం కాదు. ఖర్చును లైవ్‌లో చూడటం వల్ల ఒక టాస్క్‌ను ఎప్పుడు ముగించాలో నిర్ణయించుకోవడానికి నాకు సహాయపడుతుంది.
  • కాంటెక్స్ట్ విండో (Context Window): ఎంత శాతం కాంటెక్స్ట్ మిగిలి ఉందో నేను చూడాలనుకుంటున్నాను. ఇది కొత్త సెషన్‌ను ఎప్పుడు ప్రారంభించాలో నిర్ణయించుకోవడానికి సహాయపడుతుంది.
  • ప్రాజెక్ట్ సమాచారం (Project Info): నా ప్రస్తుత డైరెక్టరీ, git బ్రాంచ్ మరియు నేను ఉపయోగించే మోడల్‌ను నేను చూడాలి.

స్టేటస్ లైన్ API చాలా సరళమైనది. మీరు Claude Codeని ఒక shell scriptకి పాయింట్ చేయాలి. ఈ టూల్ stdin ద్వారా మీ స్క్రిప్ట్‌కు ఒక JSON డాక్యుమెంట్‌ను పంపుతుంది. మీ స్క్రిప్ట్ ఫలితాన్ని stdoutకి ప్రింట్ చేస్తుంది.

ఇది ఎటువంటి SDK లేదా ఫ్రేమ్‌వర్క్‌ను ఉపయోగించదు. ఇది కేవలం stdin మరియు stdout మాత్రమే ఉపయోగిస్తుంది. ఇది లోకల్‌గా రన్ అవుతుంది మరియు దీనికి ఎటువంటి ఖర్చు ఉండదు.

దీన్ని ఎలా సెటప్ చేయాలి:

  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

ఇది మీ కోసం ఆటోమేటిక్‌గా ఒక లైన్‌ను జనరేట్ చేస్తుంది.

సాధారణ shell scriptsతో మీ టూల్స్‌ను కస్టమైజ్ చేయడం వల్ల మీ పని చేసే విధానం మారుతుంది. మీరు ఫీచర్స్ కోసం వేచి చూడటం మానేసి, మీ స్వంత ఆటోమేషన్‌ను నిర్మించడం ప్రారంభిస్తారు.

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

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