Statusline multi-lignes (Catppuccin Mocha) avec barres en dégradé RGB, suivi de coûts mensuels et jauges d'objectifs par personne.
| Fichier | Rôle |
|---|---|
statusline-command.sh |
Script de rendu (appelé par Claude Code à chaque refresh). |
statusline-costs.py |
Agrégateur de coûts (scan ~/.claude/projects/**/*.jsonl, cache 1 h). |
statusline-transcript.py |
Télémétrie par session (tok/s, compactions, âge réponse, last_ts) — reverse-tail + scan incrémental, cache court (15 s, en arrière-plan). |
statusline-budget.json |
Config personnelle : objectifs mensuels, TTL cache, taille d'affichage. |
- Identité : modèle, effort, thinking 💡, dossier.
- Git : branche 🌿 + dirty
✗,↑n ↓n(avance/retard vs upstream),⚠n(conflits), décompo!M +A ✘D ?U(m+). Repli@reposur le sous-repo le plus récent quand le cwd n'est pas un dépôt. - Session : barre contexte 🧠, tokens,
💰coût,⏱durée, rate-limits 🚀/🌟, churn ✏️. - Télémétrie (m+) :
⚡ t/s(débit du dernier tour — wall-clock, inclut la latence outils ⇒ borne basse),🕑âge dernière réponse,❄compte à rebours du cache de prompt (rouge =cold),🗜compactions de contexte. - Quota (l+) : jauges 🎯
🚀 5het🌟 7d= % du quota rate-limit Pro/Max consommé (la vraie contrainte « ne pas dépasser » ; 100 % = lockout), avec reset. Couleurs : vert < 50, jaune 50–79, rouge ≥ 80. Au presetm, version inline compacte sur la ligne session. Suivi d'une ligne référence coût (informative, pas un plafond) :💰 $/mois · 🤖 $/run.
- Copier les 4 fichiers dans
~/.claude/. - Déclarer la statusline dans
~/.claude/settings.json:{ "statusLine": { "type": "command", "command": "~/.claude/statusline-command.sh" } } - Adapter
statusline-budget.jsonà ses propres objectifs.
xs (1 ligne) · s (2) · m (3) · l (5, défaut) · xl (5, barres larges + moyenne/mo).
Réglage : variable d'env STATUSLINE_SIZE, ou champ "size" de statusline-budget.json.
.rate_limits.{five_hour,seven_day}(comptes Pro/Max) :used_percentageest déjà un ratio du quota → pilote directement les jauges 🎯 ;resets_at= epoch en secondes. Pas de budget mensuel absolu : sur un forfait flat-rate, la contrainte est le quota, pas une dépense en $/tokens.- Barres : interpolation RGB continue par cellule (
grad_rgb) vert→jaune→pêche→rouge. - Seuils de contexte :
~/.claude/ctxguard-thresholds.json(partagés avec le hook stop-context-guard). - Télémétrie : le
.pytourne en arrière-plan (lock + TTL 15 s) et écrit un cache par session (clé =transcript_path) ;🕑et❄sont recalculés en direct à chaque refresh depuislast_ts, donc le décompte reste à la seconde entre deux scans. JSONL append-only ⇒ le compte de compactions est incrémental (scan des octets ajoutés[prev_size, size)uniquement). cache_ttl_min: 5 (défaut Pro) ou 60 (Max) — source : docs Anthropic prompt-caching (TTL 5 min par défaut). Inspirations :CCometixLine(git ahead/behind + conflits),claude-hud(tok/s, compactions, cache TTL).