Dateien ignorieren
Kontrollieren Sie, auf welche Dateien Bob zugreifen kann, indem Sie eine `.bobignore`-Datei in Ihrem Projekt erstellen.
Was ist .bobignore?
- Zweck: Sensible Informationen schützen, versehentliche Änderungen an Build-Artefakten oder großen Assets verhindern und generell Bobs Betriebsbereich innerhalb Ihres Workspace definieren.
- Verwendung: Erstellen Sie eine Datei namens
.bobignoreim Verzeichnis Ihres Workspace. Listen Sie Muster in dieser Datei auf, um Bob mitzuteilen, welche Dateien und Verzeichnisse ignoriert werden sollen.
Bob überwacht die .bobignore-Datei aktiv. Alle Änderungen, die Sie vornehmen, werden automatisch neu geladen, sodass Bob immer die aktuellsten Regeln verwendet. Die .bobignore-Datei selbst wird immer implizit ignoriert, sodass Bob seine eigenen Zugriffsregeln nicht ändern kann.
Mustersyntax
Die Syntax für .bobignore ist identisch mit .gitignore. Hier sind häufige Beispiele:
| Beispiel | Beschreibung |
|---|---|
node_modules/ | Ignoriert das gesamte node_modules-Verzeichnis |
*.log | Ignoriert alle Dateien, die auf .log enden |
config/secrets.json | Ignoriert eine bestimmte Datei |
!important.log | Eine Ausnahme; Bob wird diese spezifische Datei nicht ignorieren, selbst wenn ein breiteres Muster wie *.log existiert |
build/ | Ignoriert das build-Verzeichnis |
docs/**/*.md | Ignoriert alle Markdown-Dateien im docs-Verzeichnis und seinen Unterverzeichnissen |
Um mehr über die Syntax zu erfahren, lesen Sie die offizielle Git-Dokumentation zu .gitignore.
Wie Bob-Werkzeuge mit .bobignore interagieren
.bobignore-Regeln werden über verschiedene Bob-Werkzeuge hinweg durchgesetzt:
Strikte Durchsetzung (Lesen & Schreiben)
Diese Werkzeuge prüfen .bobignore direkt vor jeder Dateioperation. Wenn eine Datei ignoriert wird, wird die Operation blockiert:
read_file: Liest ignorierte Dateien nicht.write_file: Schreibt nicht in ignorierte Dateien oder erstellt keine neuen ignorierten Dateien.apply_diff: Wendet keine Diffs auf ignorierte Dateien an.GetSymbolsOverview: Parst ignorierte Dateien nicht nach Code-Symbolen.
Dateibearbeitungswerkzeuge (potenzielle Schreibumgehung)
Die Werkzeuge insert_content und search_and_replace verwenden eine interne Komponente zur Verwaltung von Änderungen.
Wichtig: Derzeit könnte die finale Schreiboperation, die von diesen Werkzeugen durchgeführt wird, .bobignore-Regeln umgehen. Während anfängliche Leseversuche blockiert werden könnten, hat die Speicheraktion selbst keine explizite Prüfung.
Dateierkennung und -auflistung
list_files-Werkzeug: Wenn Bob Dateien auflistet, werden ignorierte Dateien normalerweise weggelassen oder mit einem 🔒-Symbol markiert (siehe "Benutzererfahrung" unten).- Umgebungsdetails: Informationen über Ihren Workspace (wie geöffnete Tabs und Projektstruktur), die Bob bereitgestellt werden, werden gefiltert, um ignorierte Elemente auszuschließen oder zu markieren.
Befehlsausführung
execute_command-Werkzeug: Dieses Werkzeug prüft, ob ein Befehl (aus einer vordefinierten Liste wiecatodergrep) auf eine ignorierte Datei abzielt. Wenn ja, wird die Ausführung des Befehls blockiert.
Wichtige Einschränkungen und Umfang
- Workspace-zentriert:
.bobignore-Regeln gelten nur für Dateien und Verzeichnisse innerhalb des aktuellen Bob-Workspace-Stamms. Dateien außerhalb dieses Bereichs sind nicht betroffen. execute_command-Spezifität: Der Schutz fürexecute_commandist auf eine vordefinierte Liste von Dateilesebefehlen beschränkt. Benutzerdefinierte Skripte oder ungewöhnliche Dienstprogramme werden möglicherweise nicht erfasst.- Schreiboperationen über
insert_content&search_and_replace: Wie bereits erwähnt, könnten diese Werkzeuge aufgrund aktueller Einschränkungen in ihrem Speichermechanismus in ignorierte Dateien schreiben können. - Keine vollständige Sandbox:
.bobignoreist ein leistungsstarkes Werkzeug zur Kontrolle von Bobs Dateizugriff über seine Werkzeuge, erstellt jedoch keine Sandbox auf Systemebene.
Benutzererfahrung und Benachrichtigungen
- Visueller Hinweis (🔒): In Dateiauflistungen können Dateien, die von
.bobignoreignoriert werden, mit einem Schlosssymbol (🔒) markiert werden, abhängig von der EinstellungshowbobignoredFiles(Standard isttrue). - Fehlermeldungen: Wenn eine Werkzeugoperation blockiert wird, erhält Bob einen Fehler:
"Der Zugriff auf [file_path] wird durch die .bobignore-Dateieinstellungen blockiert. Sie müssen versuchen, die Aufgabe ohne Verwendung dieser Datei fortzusetzen, oder den Benutzer bitten, die .bobignore-Datei zu aktualisieren." - Chat-Benachrichtigungen: Sie sehen normalerweise eine Benachrichtigung in der Bob-Chat-Oberfläche, wenn eine Aktion aufgrund von
.bobignoreblockiert wird.
Dieser Leitfaden hilft Ihnen, die .bobignore-Funktion, ihre Fähigkeiten und ihre aktuellen Einschränkungen zu verstehen, damit Sie Bobs Interaktion mit Ihrer Codebasis effektiv verwalten können.
Tastaturkürzel
Verwenden Sie Tastaturkürzel, um Ihren Workflow zu optimieren und die Abhängigkeit von Mausinteraktionen zu reduzieren.
Benutzerdefinierte Modi
Passe Bobs Verhalten an, indem du benutzerdefinierte Modi mit spezialisierten Rollen, Werkzeugeinschränkungen und Team-Workflows erstellst. Konfiguriere sie global oder pro Projekt im YAML-Format.