Ignorer des fichiers
Contrôle les fichiers auxquels Bob Shell peut accéder en créant un fichier `.bobignore` dans ton projet.
Vue d'ensemble
| Fonctionnalité | Description | Avantage |
|---|---|---|
| Exclusion de chemin | Empêche Bob Shell d'accéder à des fichiers ou répertoires spécifiques | Protège les informations sensibles |
| Correspondance de modèles | Utilise des modèles glob pour correspondre à plusieurs fichiers | Exclure efficacement des types de fichiers |
| Support de négation | Remplace les exclusions pour des fichiers spécifiques | Contrôle précis |
| Spécifique au projet | Chaque projet peut avoir ses propres règles d'exclusion | Personnalisé selon les besoins du projet |
Pourquoi utiliser .bobignore ?
- Protection de la confidentialité : Garde les fichiers sensibles comme les clés API et les identifiants privés
- Amélioration des performances : Exclut les gros fichiers binaires ou répertoires qui ralentissent les opérations
- Réduction du bruit : Supprime les fichiers non pertinents du contexte de Bob Shell
- Contrôle du focus : Dirige l'attention de Bob Shell vers les parties les plus pertinentes de ta base de code
Comment fonctionne .bobignore
Quand tu ajoutes des chemins à ton fichier .bobignore, les outils Bob Shell qui respectent ce fichier excluront automatiquement les fichiers et répertoires correspondants de leurs opérations. Par exemple, lors de l'utilisation de la commande read_many_files, les chemins dans ton fichier .bobignore seront ignorés.
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ Your project │────▶│ .bobignore │────▶│ Files Bob Shell │
│ files │ │ filter │ │ can access │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘Les modifications apportées à ton fichier .bobignore nécessitent de redémarrer ta session Bob Shell pour prendre effet.
Syntaxe des modèles
Le fichier .bobignore suit la même syntaxe de modèles que .gitignore :
| Modèle | Description | Exemple |
|---|---|---|
file.txt | Correspond à un fichier spécifique | apikeys.txt |
*.ext | Correspond à tous les fichiers avec l'extension | *.log |
/dir/ | Correspond à un répertoire | /node_modules/ |
/path/to/file | Ancre le chemin à la racine | /src/config/secrets.json |
!pattern | Annule un modèle précédent | !important.md |
# | Ligne de commentaire | # API credentials |
Démarrage
Créer un fichier .bobignore
- Crée un fichier nommé
.bobignoreà la racine du répertoire de ton projet - Ajoute des modèles pour les fichiers et répertoires que tu veux exclure
- Sauvegarde le fichier et redémarre ta session Bob Shell
# Depuis la racine de ton projet
touch .bobignore
echo "# Files to ignore" > .bobignore
echo "secrets/" >> .bobignoreModèles d'exclusion courants
Voici quelques modèles courants que tu pourrais vouloir ajouter à ton fichier .bobignore :
# Sensitive information
.env
secrets/
*password*
*credential*
*apikey*
# Large directories
node_modules/
.git/
dist/
build/
# Binary and media files
*.zip
*.tar.gz
*.mp4
*.jpg
*.png
# Log files
*.log
logs/Exemples de modèles
Exclure des répertoires spécifiques
Pour exclure des répertoires entiers et leur contenu :
# Exclude the packages directory and all its contents
/packages/
# Exclude all node_modules directories anywhere in the project
**/node_modules/
# Exclude the dist directory but only at the root level
/dist/Utiliser des caractères génériques
Les caractères génériques te permettent de correspondre à plusieurs fichiers avec des modèles similaires :
# Exclude all markdown files
*.md
# Exclude all JavaScript files in the src directory
/src/**/*.js
# Exclude all files with "test" in their name
*test*Utiliser la négation
Tu peux remplacer les exclusions pour des fichiers spécifiques :
# Exclude all markdown files
*.md
# But include README.md
!README.md
# And include all markdown files in the docs directory
!docs/*.mdUtilisation avancée
Combiner des modèles
Tu peux créer des règles d'exclusion sophistiquées en combinant des modèles :
# Exclude all JavaScript files
*.js
# But include all files in the src directory
!src/**/*.js
# Except for test files in the src directory
src/**/*.test.jsDéboguer ton fichier .bobignore
Si Bob Shell semble ignorer des fichiers auxquels tu veux qu'il accède, ou accède à des fichiers que tu veux ignorer :
- Vérifie ton fichier
.bobignorepour les modèles conflictuels - Rappelle-toi que les modèles plus spécifiques (comme les négations) doivent venir après les modèles généraux
- Redémarre ta session Bob Shell après avoir effectué des modifications
- Utilise des chemins absolus si les chemins relatifs ne fonctionnent pas comme prévu
Bonnes pratiques
- Commence simplement : Commence avec quelques modèles essentiels et en ajoute d'autres selon les besoins
- Commente tes modèles : Ajoute des commentaires pour expliquer pourquoi certains fichiers sont exclus
- Sois précis : Utilise des modèles précis pour éviter d'exclure accidentellement des fichiers importants
- Pense à la sécurité : Exclut toujours les fichiers contenant des informations sensibles
- Maintiens régulièrement : Mets à jour ton fichier
.bobignoreau fur et à mesure que ton projet évolue
Personas d'agents
Crée des fichiers de persona réutilisables qui définissent le rôle, le focus et l'accès aux tools d'un subagent. Définis ce qu'un subagent recherche, comment il formate ses résultats et ce qu'il n'est pas autorisé à faire.
Données de télémétrie
Découvrez les données de télémétrie que Bob Shell peut collecter, comment elles sont utilisées pour améliorer le produit et comment activer ou désactiver la collecte de données.