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 Bobs Datei-Werkzeuge hinweg durchgesetzt:
Lese- und Schreib-Werkzeuge
Diese Werkzeuge prüfen .bobignore vor jeder Dateioperation. Wenn eine Datei einem ignorierten Muster entspricht, 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.insert_content: Fügt keinen Inhalt in ignorierte Dateien ein.search_and_replace: Ändert ignorierte Dateien nicht.GetSymbolsOverview: Parst ignorierte Dateien nicht nach Code-Symbolen.
Dateierkennung und -auflistung
list_files-Werkzeug: Ignorierte Dateien werden aus Auflistungen weggelassen oder mit einem 🔒-Symbol markiert (siehe "Benutzererfahrung" unten).- Umgebungsdetails: Workspace-Informationen, die Bob bereitgestellt werden, wie geöffnete Tabs und Projektstruktur, werden gefiltert, um ignorierte Elemente auszuschließen oder zu markieren.
Befehlsausführung
execute_command-Werkzeug: Bob prüft, ob ein Befehl aus einer vordefinierten Liste (wiecatodergrep) auf eine ignorierte Datei abzielt. Wenn ja, wird der Befehl blockiert. Befehle außerhalb dieser vordefinierten Liste werden nicht gegen.bobignoregeprüft.
Einschränkung: .bobignore und die Workspace-Sandbox-Einstellung ("Tool-Anfragen außerhalb des Workspace erlauben") sind zwei separate Steuerungen. .bobignore schränkt ein, auf welche Dateien Bobs Datei-Werkzeuge innerhalb des Workspace zugreifen können. Die Workspace-Sandbox-Einstellung steuert, ob Datei-Werkzeuge außerhalb des Workspace-Stammverzeichnisses operieren können. Keine der beiden Steuerungen schränkt execute_command für beliebige Shell-Operationen ein; ein Shell-Befehl kann Dateien überall erstellen, ändern oder löschen, wo das Betriebssystem es erlaubt, unabhängig von diesen Einstellungen.
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-Umfang: Die.bobignore-Durchsetzung fürexecute_commandumfasst nur eine vordefinierte Liste von Dateilesebefehlen. Beliebige Shell-Befehle werden weder durch.bobignorenoch durch die Workspace-Sandbox-Einstellung eingeschränkt.- Keine vollständige Sandbox:
.bobignoresteuert Bobs Datei-Werkzeugzugriff innerhalb des Workspace. Es erstellt keine Sandbox auf Systemebene und schränkt die Shell-Befehlsausführung nicht ein.
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.