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é
.bobignoredans 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 :
| Exemple | Description |
|---|---|
node_modules/ | Ignore tout le répertoire node_modules |
*.log | Ignore tous les fichiers se terminant par .log |
config/secrets.json | Ignore un fichier spécifique |
!important.log | Une 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/**/*.md | Ignore 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 les outils de fichiers de Bob :
Outils de lecture et d'écriture
Ces outils vérifient .bobignore avant chaque opération sur fichier. Si un fichier correspond à un motif 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 et ne les crée pas.apply_diff: N'applique pas de diffs aux fichiers ignorés.insert_content: N'insère pas de contenu dans les fichiers ignorés.search_and_replace: Ne modifie pas les fichiers ignorés.GetSymbolsOverview: N'analyse pas les fichiers ignorés pour les symboles de code.
Découverte et listage de fichiers
- Outil
list_files: Les fichiers ignorés sont omis des listes ou marqués d'un symbole 🔒 (voir "Expérience utilisateur" ci-dessous). - Détails de l'environnement : Les informations sur votre espace de travail fournies à Bob, comme les onglets ouverts et la structure du projet, sont filtrées pour exclure ou marquer les éléments ignorés.
Exécution de commandes
- Outil
execute_command: Bob vérifie si une commande d'une liste prédéfinie (commecatougrep) cible un fichier ignoré. Si c'est le cas, la commande est bloquée. Les commandes qui ne figurent pas dans cette liste prédéfinie ne sont pas vérifiées par rapport à.bobignore.
Restriction : .bobignore et le paramètre de sandbox de l'espace de travail ("Allow outside workspace tool requests") sont deux contrôles distincts. .bobignore restreint les fichiers auxquels les outils de fichiers de Bob peuvent accéder dans l'espace de travail. Le paramètre de sandbox de l'espace de travail détermine si les outils de fichiers peuvent opérer en dehors de la racine de l'espace de travail. Aucun de ces contrôles ne restreint execute_command pour les opérations shell arbitraires ; une commande shell peut toujours créer, modifier ou supprimer des fichiers partout où le système d'exploitation le permet, quels que soient ces paramètres.
Limitations et portée importantes
- Centré sur l'espace de travail : Les règles
.bobignores'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. - Portée de
execute_command: L'application de.bobignorepourexecute_commandcouvre uniquement une liste prédéfinie de commandes de lecture de fichiers. Les commandes shell arbitraires ne sont restreintes ni par.bobignoreni par le paramètre de sandbox de l'espace de travail. - Pas de sandbox complète :
.bobignorecontrôle l'accès de Bob aux fichiers via ses outils de fichiers dans l'espace de travail. Il ne crée pas de sandbox au niveau du système et ne restreint pas l'exécution de commandes shell.
Expérience utilisateur et notifications
- Indice visuel (🔒) : Dans les listes de fichiers, les fichiers ignorés par
.bobignorepeuvent être marqués d'un symbole de cadenas (🔒), selon le paramètreshowbobignoredFiles(par défauttrue). - 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.
Raccourcis clavier
Utilisez les raccourcis clavier pour rationaliser votre flux de travail et réduire la dépendance aux interactions à la souris.
Modes personnalisés
Adapte le comportement de Bob en créant des modes personnalisés avec des rôles spécialisés, des restrictions d'outils et des workflows d'équipe. Configure-les globalement ou par projet au format YAML.