Claude Code ಗಾಗಿ ಕಸ್ಟಮ್ ಸ್ಟೇಟಸ್ ಲೈನ್ (Status Line) ಅನ್ನು ನಿರ್ಮಿಸುವುದು

ನಾನು ನನ್ನ ದಿನದ ಹೆಚ್ಚಿನ ಸಮಯವನ್ನು Claude Code ನಲ್ಲಿ ಕಳೆಯುತ್ತೇನೆ. ಇದು ನನ್ನ ಪ್ರೋಗ್ರಾಮರ್ ಮತ್ತು ರಿವ್ಯೂವರ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಕೆಲವು ದಿನಗಳ ನಂತರ, ನಾನು ಒಂದು ಸಮಸ್ಯೆಯನ್ನು ಗಮನಿಸಿದೆ. ನಾನು ಎಷ್ಟು ಟೋಕನ್‌ಗಳನ್ನು ಬಳಸಿದ್ದೇನೆ ಎಂಬುದು ನನಗೆ ತಿಳಿದಿರಲಿಲ್ಲ. ನನ್ನ ಸೆಷನ್ ವೆಚ್ಚ (session cost) ಎಷ್ಟು ಎಂಬುದು ತಿಳಿದಿರಲಿಲ್ಲ. ಎಷ್ಟು ಕಾಂಟೆಕ್ಸ್ಟ್ (context) ಉಳಿದಿದೆ ಎಂಬುದು ತಿಳಿಯುತ್ತಿರಲಿಲ್ಲ.

ಈ ವಿಷಯಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ನಾನು ಪ್ರತ್ಯೇಕ ಕಮಾಂಡ್ ರನ್ ಮಾಡಲು ಇಷ್ಟಪಡುವುದಿಲ್ಲ. ನಾನು ಅವುಗಳನ್ನು ರಿಯಲ್ ಟೈಮ್‌ನಲ್ಲಿ ನೋಡಲು ಬಯಸುತ್ತೇನೆ. ನನ್ನ ಟರ್ಮಿನಲ್ ಅನ್ನು ಒಮ್ಮೆ ನೋಡಿ ನನ್ನ ಸ್ಟೇಟಸ್ ತಿಳಿಯಬೇಕೆಂದು ನಾನು ಬಯಸುತ್ತೇನೆ.

ಆದ್ದರಿಂದ ನಾನು ಒಂದು ಕಸ್ಟಮ್ ಸ್ಟೇಟಸ್ ಲೈನ್ ಅನ್ನು ನಿರ್ಮಿಸಿದೆ.

ನಾನು ಮೂರು ಮುಖ್ಯ ವಿಷಯಗಳ ಮೇಲೆ ಗಮನ ಹರಿಸಿದೆ:

  • ಸೆಷನ್ ವೆಚ್ಚ (Session Cost): Claude Opus ಉಚಿತವಲ್ಲ. ವೆಚ್ಚವನ್ನು ಲೈವ್ ಆಗಿ ನೋಡುವುದರಿಂದ ಒಂದು ಕೆಲಸವನ್ನು ಯಾವಾಗ ಮುಗಿಸಬೇಕು ಎಂದು ನಿರ್ಧರಿಸಲು ನನಗೆ ಸಹಾಯವಾಗುತ್ತದೆ.
  • ಕಾಂಟೆಕ್ಸ್ಟ್ ವಿಂಡೋ (Context Window): ಉಳಿದಿರುವ ಕಾಂಟೆಕ್ಸ್ಟ್‌ನ ಶೇಕಡಾವಾರು ಪ್ರಮಾಣವನ್ನು ನಾನು ನೋಡಲು ಬಯಸುತ್ತೇನೆ. ಇದು ಹೊಸ ಸೆಷನ್ ಅನ್ನು ಯಾವಾಗ ಪ್ರಾರಂಭಿಸಬೇಕು ಎಂದು ನಿರ್ಧರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
  • ಪ್ರಾಜೆಕ್ಟ್ ಮಾಹಿತಿ (Project Info): ನನ್ನ ಪ್ರಸ್ತುತ ಡೈರೆಕ್ಟರಿ, git branch ಮತ್ತು ನಾನು ಬಳಸುವ ಮಾಡೆಲ್ ಅನ್ನು ನಾನು ನೋಡಬೇಕಾಗುತ್ತದೆ.

ಸ್ಟೇಟಸ್ ಲೈನ್ API ಸರಳವಾಗಿದೆ. ನೀವು Claude Code ಅನ್ನು ಒಂದು shell script ಗೆ ಪಾಯಿಂಟ್ ಮಾಡಬಹುದು. ಈ ಟೂಲ್ ನಿಮ್ಮ ಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ stdin ಮೂಲಕ ಒಂದು JSON ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ನಿಮ್ಮ ಸ್ಕ್ರಿಪ್ಟ್ ಫಲಿತಾಂಶವನ್ನು stdout ಗೆ ಪ್ರಿಂಟ್ ಮಾಡುತ್ತದೆ.

ಇದು ಯಾವುದೇ SDK ಅಥವಾ framework ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ. ಇದು ಕೇವಲ stdin ಮತ್ತು stdout ಅನ್ನು ಬಳಸುತ್ತದೆ. ಇದು ಸ್ಥಳೀಯವಾಗಿ (locally) ಚಲಿಸುತ್ತದೆ ಮತ್ತು ಇದಕ್ಕೆ ಯಾವುದೇ ವೆಚ್ಚವಿಲ್ಲ.

ಇದನ್ನು ಹೇಗೆ ಸೆಟ್ ಅಪ್ ಮಾಡುವುದು:

  1. ~/.claude/statusline.sh ನಲ್ಲಿ ಒಂದು ಸ್ಕ್ರಿಪ್ಟ್ ರಚಿಸಿ.
  2. JSON ಡೇಟಾವನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು jq ಬಳಸಿ.
  3. ನಿಮ್ಮ path, branch, model, tokens ಮತ್ತು cost ಅನ್ನು ತೋರಿಸಲು ಔಟ್‌ಪುಟ್ ಅನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿ.
  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