Outil CLI
GaoSSR/best-claude-hud avatar
GaoSSR/best-claude-hud

best-claude-hud : une barre d'état Rust pour Claude Code

HUD de ligne de statut minimal Claude Code alimenté par Rust. Utilisez-le uniquement pour un nouveau fichier ou lorsque tous les paramètres de Claude Code sont déclarés dans la même configuration Nix : si vous conservez ~/.claude/settings.json manuellement, exécutez best-claude-hud setup ou ajoutez directement le bloc statusLine ; n'utilisez pas cette déclaration home.file.

879 étoiles16 forksRustApache-2.0
GitHub

En bref

De quoi s’agit-il ?
Un HUD minimal de barre d'état pour Claude Code affichant les données de modèle, d'effort, de répertoire, de Git et de fenêtre de contexte, installable via npm ou Nix.
À qui s’adresse-t-il ?
best-claude-hud lit les données statusLine de Claude Code et rend une barre d'état configurable. Le programme d'installation écrit un bloc statusLine dans ~/.claude/settings.json, et le projet est sous licence Apache-2.0.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 34 jours.
En quel langage est-il écrit ?
Principalement Rust, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Le contenu de la barre d'état par défaut

best-claude-hud est un programme Rust qui sert de barre d'état pour Claude Code. Son affichage par défaut couvre le nom du modèle Claude avec l'effort de raisonnement en direct lorsque le modèle le prend en charge, le répertoire de lancement de Claude Code (stable lors des changements temporaires de répertoire de travail), la branche Git et l'état propre/sale/conflit avec les compteurs d'avance/retard, ainsi que l'utilisation de la fenêtre de contexte tirée des données statusLine officielles de Claude Code avec un repli sur la transcription active. Des segments optionnels ajoutent des informations d'utilisation/limite de débit, de coût, de session et de style de sortie. Le README les liste comme les points centraux de la barre d'état par défaut.

Installation via npm et le flake Nix

Le paquet npm best-claude-hud contient des binaires natifs précompilés, donc Rust n'est pas requis. L'installation en une ligne est `npm install -g best-claude-hud@latest && best-claude-hud --setup`. La commande setup écrit un bloc statusLine dans ~/.claude/settings.json tout en préservant les paramètres existants, et résout la commande installée en un chemin absolu lorsque c'est possible. Le README documente également un registre miroir npm pour la Chine. Un flake Nix est disponible pour les environnements déclaratifs : `nix run github:GaoSSR/best-claude-hud -- --help` s'exécute sans installation globale, et `nix profile install github:GaoSSR/best-claude-hud` l'installe. L'exemple home-manager dans le README gère tout le fichier settings.json, donc il ne doit être utilisé que pour un nouveau fichier ou lorsque tous les paramètres sont déclarés dans Nix.

Fichiers de configuration et modèles personnalisés

La configuration se trouve sous ~/.claude/best-claude-hud/. Les fichiers importants sont config.toml pour la configuration HUD et des segments, models.toml pour les noms d'affichage des modèles et les limites de contexte, themes/*.toml pour les préréglages de thème personnalisés, plus .api_usage_cache.json et .update_state.json. Le configurateur TUI s'ouvre avec `best-claude-hud --config`. models.toml est créé au premier lancement. Il contrôle les noms d'affichage et les limites de contexte. Les familles de modèles Claude sont reconnues automatiquement, tandis que les modèles tiers peuvent être personnalisés avec des entrées pattern, display_name et context_limit. Le README donne des exemples pour Kimi, GLM, Qwen et un motif de modificateur de contexte comme [1m] qui ajoute un suffixe et change la limite.

Comment la barre d'état lit les données de Claude Code

Claude Code envoie des données statusLine à la commande via stdin. best-claude-hud lit model, effort.level, workspace.project_dir avec workspace.current_dir comme repli, transcript_path, session_id, context_window, cost, output_style et rate_limits. L'élément d'effort suit le nom du modèle avec une icône de cerveau et affiche low, medium, high, xhigh, max ou ultracode. Le README explique qu'Ultracode est signalé comme xhigh dans la charge utile officielle, donc le HUD recoupe uniquement les événements /effort réussis du processus Claude Code actuel. Pour l'utilisation de la fenêtre de contexte, il préfère les champs context_window officiels et n'utilise la transcription active que lorsque ces champs sont absents, nuls ou temporairement nuls. Les espaces réservés tout à zéro écrits après une réponse interrompue sont ignorés, donc appuyer sur Échap n'efface pas la dernière lecture de contexte valide.

Indicateurs Git et utilitaire de correctif cli.js

Les symboles d'état Git sont une coche pour un arbre propre, un cercle rempli pour un arbre sale, un avertissement pour les conflits, et des flèches haut/bas avec des compteurs pour les commits en avance/en retard par rapport à upstream. Les commandes Git s'exécutent avec --no-optional-locks pour éviter les conflits .git/index.lock. L'outil inclut également un patcher qui peut modifier cli.js de Claude Code pour réduire le bruit d'avertissement de contexte. La commande est `best-claude-hud --patch /path/to/claude-code/cli.js`. Le README montre un exemple de chemin sous les versions de nœud fnm. Le patcher crée une sauvegarde à côté du fichier cible avant d'écrire.

Plateformes prises en charge et exigences

Le README liste macOS arm64 et x64, Linux x64 musl et Windows x64 comme pris en charge, chacun avec un binaire natif sélectionné automatiquement par npm. Linux arm64 et Windows arm64 sont prévus. Les exigences sont Claude Code avec prise en charge de statusLine, Git pour l'affichage de la branche et de l'état, un terminal avec support des couleurs ANSI, et une Nerd Font si vous utilisez les thèmes Nerd Font ou Powerline. Le README ne spécifie pas de versions minimales pour Claude Code ou Git.

Licence et flux de maintenance

Le projet est sous licence Apache-2.0. Le texte de licence accorde une licence de droit d'auteur perpétuelle, mondiale, non exclusive, gratuite et sans redevance pour reproduire, préparer des œuvres dérivées, afficher publiquement, exécuter, sous-licencier et distribuer l'œuvre et les œuvres dérivées. Il accorde également une licence de brevet pour les contributions qui sont nécessairement contrefaites par la contribution seule ou combinée avec l'œuvre. La licence ne fournit aucune garantie ni garantie de sécurité. Pour les mainteneurs, le README liste cargo fmt, cargo clippy -- -D warnings, cargo test, cargo build --release et les commandes de vérification npm. Un processus de publication est documenté dans RELEASING.md, couvrant les mises à jour de version, les tags, les versions GitHub, la publication npm et les mises à niveau d'installation.

Conclusion éditoriale

best-claude-hud lit les données statusLine de Claude Code et rend une barre d'état configurable. Le programme d'installation écrit un bloc statusLine dans ~/.claude/settings.json, et le projet est sous licence Apache-2.0.

Sources officielles

  1. Official README
  2. Project repository
  3. Release notes
Notes de la communauté

Notes de la communauté