Dépannage

Dépannage de Bob Shell

Trouve des solutions aux problèmes que tu pourrais rencontrer lors de l'utilisation de Bob Shell.

Authentification

Erreurs de certificat

Erreur : Unable to verify certificate

Cause : Tu es sur un réseau d'entreprise avec un pare-feu qui intercepte et inspecte le trafic SSL/TLS. Cela nécessite qu'un certificat CA racine personnalisé soit approuvé par Node.js.

Solution : Définis la variable d'environnement NODE_EXTRA_CA_CERTS avec le chemin absolu de ton fichier de certificat CA racine d'entreprise :

export NODE_EXTRA_CA_CERTS=/path/to/your/corporate-ca.crt

Intégration IDE

Échec de connexion

Erreur : Bob Shell ne peut pas se connecter à l'IDE.

Cause : L'extension Bob Shell Companion pourrait ne pas être installée ou en cours d'exécution, ou Bob Shell pourrait s'exécuter en dehors du répertoire de l'espace de travail.

Solution :

  1. Installe l'extension Bob Shell Companion dans ton IDE.
  2. Navigue vers ton répertoire d'espace de travail dans le terminal.
  3. Démarre Bob Shell depuis le répertoire de l'espace de travail.
  4. Exécute /ide enable dans Bob Shell.

Échec de connexion dans un dev container

Erreur : Bob Shell ne peut pas se connecter à l'IDE lors de l'exécution dans un dev container.

Cause : Le port de Bob Shell n'est pas redirigé du dev container vers la machine hôte.

Solution :

  1. Obtiens le port de Bob Shell depuis le terminal à l'intérieur du dev container :
    echo $BOB_SHELL_CLI_IDE_SERVER_PORT
    Exemple de sortie : 42991
  2. Ouvre la palette de commandes dans ton IDE et sélectionne Forward a Port.
  3. Ajoute le port affiché à l'étape 1 (par exemple, 42991).
  4. Démarre Bob Shell :
    bob
  5. Active l'intégration IDE :
    /ide enable
    Ou vérifie le statut de la connexion :
    /ide status

Échec de connexion à l'extension companion IDE

Erreur : 🔴 Disconnected: Failed to connect to IDE companion extension

Cause : L'extension Bob Shell Companion n'est pas installée, pas activée, ou pas en cours d'exécution dans ton IDE.

Solution :

  1. Vérifie que l'extension Bob Shell Companion est installée et activée dans ton IDE.
  2. Ouvre un nouveau terminal dans ton IDE.
  3. Exécute /ide enable dans Bob Shell.

Connexion perdue inopinément

Erreur : 🔴 Disconnected: IDE connection error. The connection was lost unexpectedly

Cause : La connexion IDE a été interrompue en raison d'un problème réseau ou d'un redémarrage de l'IDE.

Solution :

  1. Exécute /ide enable pour te reconnecter.
  2. Si le problème persiste, redémarre ton IDE.

Inadéquation de répertoire

Erreur : 🔴 Disconnected: Directory mismatch

Cause : Bob Shell s'exécute dans un répertoire différent de l'espace de travail ouvert dans ton IDE.

Solution :

  1. Navigue vers le même répertoire ouvert dans ton IDE.
  2. Redémarre Bob Shell depuis ce répertoire.

Aucun dossier d'espace de travail ouvert

Erreur : 🔴 Disconnected: To use this feature, please open a workspace folder

Cause : Aucun dossier ou espace de travail n'est ouvert dans ton IDE.

Solution :

  1. Ouvre un dossier ou un espace de travail dans ton IDE.
  2. Redémarre Bob Shell.

Intégration IDE non prise en charge

Erreur : IDE integration is not supported in your current environment

Cause : Bob Shell ne s'exécute pas depuis le terminal intégré d'un IDE pris en charge.

Solution : Exécute Bob Shell depuis le terminal intégré d'un IDE pris en charge.

Problèmes de configuration

.bobignore ne fonctionne pas

Erreur : Bob Shell ignore des fichiers auxquels tu veux qu'il accède, ou accède à des fichiers que tu veux ignorer.

Cause : Le fichier .bobignore pourrait avoir des modèles conflictuels, un ordre de modèles incorrect, ou être au mauvais emplacement. Les modifications pourraient ne pas encore avoir pris effet.

Solution :

  1. Vérifie ton fichier .bobignore pour les modèles conflictuels.
  2. Assure-toi que les modèles plus spécifiques (comme les négations avec !) viennent après les modèles généraux.
  3. Redémarre ta session Bob Shell après avoir apporté des modifications à .bobignore.
  4. Utilise des chemins absolus si les chemins relatifs ne fonctionnent pas comme prévu.
  5. Vérifie que le fichier .bobignore est dans ton répertoire racine de projet.

Paramètres non appliqués

Erreur : Les modifications des paramètres de Bob Shell ne prennent pas effet.

Cause : Le fichier de paramètres pourrait être au mauvais emplacement, avoir une syntaxe JSON invalide, ou être remplacé par des sources de configuration de priorité plus haute. Les modifications pourraient ne pas encore avoir pris effet.

Solution :

  1. Vérifie l'emplacement du fichier de paramètres :
    • Paramètres du projet : .bob/settings.json dans ton répertoire de projet
    • Paramètres utilisateur : ~/.bob/settings.json dans ton répertoire personnel
  2. Vérifie que la syntaxe JSON est valide (utilise un validateur JSON).
  3. Rappelle-toi l'ordre de priorité de configuration :
    • Arguments de ligne de commande (priorité la plus haute)
    • Variables d'environnement
    • Paramètres du projet
    • Paramètres utilisateur
    • Valeurs par défaut du système (priorité la plus basse)
  4. Redémarre Bob Shell après avoir modifié les fichiers de paramètres.

Instructions personnalisées non chargées

Erreur : Les instructions personnalisées ne sont pas appliquées aux sessions Bob Shell.

Cause : Les fichiers d'instructions personnalisées pourraient être au mauvais emplacement, avoir des extensions de fichier incorrectes, ou ne pas être chargés dans le contexte actuel.

Solution :

  1. Vérifie que les fichiers sont au bon emplacement :
    • À l'échelle de l'espace de travail : .bob/rules/ dans la racine de ton projet
    • Spécifique au mode : .bob/rules-{modeSlug}/ dans la racine de ton projet
  2. Vérifie que les fichiers ont les bonnes extensions (.md, .txt, ou .xml).
  3. Utilise /memory refresh pour recharger tous les fichiers de contexte.
  4. Utilise /memory show pour vérifier le contexte actuel.

Problèmes d'exécution de commandes

Commande introuvable

Erreur : command not found: bob

Cause : Bob Shell n'est pas correctement installé ou n'est pas dans le PATH de ton système.

Solution :

  1. Vérifie que Bob Shell est installé :
    which bob
  2. S'il n'est pas trouvé, réinstalle Bob Shell en suivant les instructions d'installation.
  3. Vérifie que le PATH de ton shell inclut le répertoire d'installation de Bob Shell.

Mode shell ne fonctionnant pas

Erreur : Le mode shell (commande !) n'exécute pas les commandes.

Cause : Tu ne tappes peut-être pas ! à une invite vide, tu manques des permissions nécessaires, ou la commande elle-même pourrait être invalide.

Solution :

  1. Vérifie que tu tapes ! à une invite vide.
  2. Vérifie que tu as les permissions nécessaires pour exécuter des commandes shell.
  3. Essaie d'exécuter la commande directement dans ton terminal d'abord pour vérifier qu'elle fonctionne.

Problèmes de performance

Temps de réponse lents

Erreur : Bob Shell répond lentement aux demandes.

Cause : Problèmes de connectivité réseau, trop de fichiers chargés en contexte, ou gros fichiers binaires inclus dans le contexte.

Solution :

  1. Vérifie ta connexion réseau.
  2. Réduis le nombre de fichiers en contexte en utilisant .bobignore.
  3. Évite d'inclure des gros fichiers binaires ou des répertoires comme node_modules/.
  4. Utilise des références de fichiers plus spécifiques avec @ plutôt que de charger tous les fichiers.

Utilisation mémoire élevée

Erreur : Bob Shell consomme excessivement de la mémoire.

Cause : Trop de fichiers chargés en contexte, grands répertoires non exclus, ou imports circulaires dans les fichiers de mémoire.

Solution :

  1. Limite le nombre de fichiers chargés en contexte.
  2. Utilise .bobignore pour exclure les grands répertoires.
  3. Redémarre Bob Shell périodiquement lors des longues sessions.
  4. Vérifie les imports circulaires dans tes fichiers de mémoire.

Conseils pour déboguer Bob Shell

Activer la journalisation de débogage

Pour augmenter la verbosité des logs pour une session, utilise le flag --log-level ou la variable d'environnement BOB_LOG_LEVEL :

bob run --log-level debug "Explain @app.js"
BOB_LOG_LEVEL=debug bob chat

Tu peux aussi définir un niveau de log persistant dans ton fichier de paramètres :

{
  "logging": {
    "logLevel": "debug"
  }
}

Vérifier ta version de Bob Shell

Exécute la commande suivante pour voir ta version de Bob Shell :

Session interactive :

/about

Session non interactive :

bob --version

Fichiers de logs

Bob Shell écrit des fichiers de logs dans ~/.bob/logs/shell/. Les fichiers de log se font rotation automatiquement :

  • Maximum de 10 fichiers de log sont conservés
  • Chaque fichier est limité à 5 Mo

Pour trouver le fichier de log actuel d'une session :

ls -lt ~/.bob/logs/shell/ | head

Partage les extraits de logs pertinents lors du signalement de problèmes.

Résolution de la racine de l'espace de travail

Bob Shell détermine la racine de l'espace de travail en remontant depuis le répertoire de travail actuel jusqu'à trouver un répertoire .git ou un répertoire .bob. La première correspondance devient la racine de l'espace de travail.

Si aucun répertoire .git ou .bob n'est trouvé, Bob Shell utilise le répertoire de travail actuel comme racine de l'espace de travail.

Comment trouvez-vous ce sujet ?