Konfiguration

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 .bobignore im 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:

BeispielBeschreibung
node_modules/Ignoriert das gesamte node_modules-Verzeichnis
*.logIgnoriert alle Dateien, die auf .log enden
config/secrets.jsonIgnoriert eine bestimmte Datei
!important.logEine Ausnahme; Bob wird diese spezifische Datei nicht ignorieren, selbst wenn ein breiteres Muster wie *.log existiert
build/Ignoriert das build-Verzeichnis
docs/**/*.mdIgnoriert 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 wie cat oder grep) 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ür execute_command ist 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: .bobignore ist 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 .bobignore ignoriert werden, mit einem Schlosssymbol (🔒) markiert werden, abhängig von der Einstellung showbobignoredFiles (Standard ist true).
  • 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 .bobignore blockiert 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.

Wie ist dieses Thema?