Configuration

Ignorer des fichiers

Contrôlez les fichiers auxquels Bob peut accéder en créant un fichier `.bobignore` dans votre projet.

Qu'est-ce que .bobignore ?

  • Objectif : Protéger les informations sensibles, prévenir les modifications accidentelles des artefacts de build ou des gros assets, et définir généralement le périmètre d'opération de Bob dans votre espace de travail.
  • Utilisation : Créez un fichier nommé .bobignore dans le répertoire de votre espace de travail. Listez les motifs dans ce fichier pour indiquer à Bob quels fichiers et répertoires ignorer.

Bob surveille activement le fichier .bobignore. Toutes les modifications que vous apportez sont automatiquement rechargées, de sorte que Bob utilise toujours les règles les plus récentes. Le fichier .bobignore lui-même est toujours implicitement ignoré, de sorte que Bob ne peut pas modifier ses propres règles d'accès.

Syntaxe des motifs

La syntaxe de .bobignore est identique à .gitignore. Voici des exemples courants :

ExempleDescription
node_modules/Ignore tout le répertoire node_modules
*.logIgnore tous les fichiers se terminant par .log
config/secrets.jsonIgnore un fichier spécifique
!important.logUne exception ; Bob n'ignorera pas ce fichier spécifique, même si un motif plus large comme *.log existe
build/Ignore le répertoire build
docs/**/*.mdIgnore tous les fichiers Markdown dans le répertoire docs et ses sous-répertoires

Pour en savoir plus sur la syntaxe, lisez la documentation officielle Git sur .gitignore.

Comment les outils Bob interagissent avec .bobignore

Les règles .bobignore sont appliquées à travers différents outils Bob :

Application stricte (Lecture et écriture)

Ces outils vérifient .bobignore directement avant chaque opération sur fichier. Si un fichier est ignoré, l'opération est bloquée :

  • read_file : Ne lit pas les fichiers ignorés.
  • write_file : N'écrit pas dans les fichiers ignorés ou ne crée pas de nouveaux fichiers ignorés.
  • apply_diff : N'applique pas de diffs aux fichiers ignorés.
  • GetSymbolsOverview : N'analyse pas les fichiers ignorés pour les symboles de code.

Outils d'édition de fichiers (contournement potentiel d'écriture)

Les outils insert_content et search_and_replace utilisent un composant interne pour gérer les modifications. Important : Actuellement, l'opération d'écriture finale effectuée par ces outils pourrait contourner les règles .bobignore. Bien que les tentatives de lecture initiales puissent être bloquées, l'action de sauvegarde elle-même n'a pas de vérification explicite.

Découverte et listage de fichiers

  • Outil list_files : Lorsque Bob liste les fichiers, les fichiers ignorés sont normalement omis ou marqués d'un symbole 🔒 (voir "Expérience utilisateur" ci-dessous).
  • Détails de l'environnement : Les informations sur votre espace de travail (comme les onglets ouverts et la structure du projet) fournies à Bob sont filtrées pour exclure ou marquer les éléments ignorés.

Exécution de commandes

  • Outil execute_command : Cet outil vérifie si une commande (d'une liste prédéfinie comme cat ou grep) cible un fichier ignoré. Si c'est le cas, l'exécution de la commande est bloquée.

Limitations et portée importantes

  • Centré sur l'espace de travail : Les règles .bobignore s'appliquent uniquement aux fichiers et répertoires dans la racine actuelle de l'espace de travail Bob. Les fichiers en dehors de cette portée ne sont pas affectés.
  • Spécificité de execute_command : La protection pour execute_command est limitée à une liste prédéfinie de commandes de lecture de fichiers. Les scripts personnalisés ou les utilitaires inhabituels peuvent ne pas être capturés.
  • Opérations d'écriture via insert_content & search_and_replace : Comme mentionné, ces outils pourraient être capables d'écrire dans des fichiers ignorés en raison des limitations actuelles de leur mécanisme de sauvegarde.
  • Pas de sandbox complète : .bobignore est un outil puissant pour contrôler l'accès aux fichiers de Bob via ses outils, mais il ne crée pas de sandbox au niveau du système.

Expérience utilisateur et notifications

  • Indice visuel (🔒) : Dans les listes de fichiers, les fichiers ignorés par .bobignore peuvent être marqués d'un symbole de cadenas (🔒), selon le paramètre showbobignoredFiles (par défaut true).
  • Messages d'erreur : Lorsqu'une opération d'outil est bloquée, Bob reçoit une erreur : "L'accès à [file_path] est bloqué par les paramètres du fichier .bobignore. Vous devez essayer de continuer la tâche sans utiliser ce fichier, ou demander à l'utilisateur de mettre à jour le fichier .bobignore."
  • Notifications de chat : Vous verrez normalement une notification dans l'interface de chat Bob lorsqu'une action est bloquée en raison de .bobignore.

Ce guide vous aide à comprendre la fonctionnalité .bobignore, ses capacités et ses limitations actuelles, afin que vous puissiez gérer efficacement l'interaction de Bob avec votre base de code.

Comment trouvez-vous ce sujet ?