Konfiguracja

Ignorowanie plików

Kontroluj, do których plików Bob może uzyskać dostęp, tworząc plik `.bobignore` w swoim projekcie.

Co to jest .bobignore?

  • Cel: Ochrona wrażliwych informacji, zapobieganie przypadkowym zmianom w artefaktach kompilacji lub dużych zasobach oraz ogólne definiowanie zakresu operacyjnego Bob w Twoim obszarze roboczym.
  • Jak używać: Utwórz plik o nazwie .bobignore w katalogu swojego obszaru roboczego. Wymień wzorce w tym pliku, aby poinformować Bob, które pliki i katalogi ma ignorować.

Bob aktywnie monitoruje plik .bobignore. Wszelkie wprowadzone zmiany są automatycznie przeładowywane, zapewniając, że Bob zawsze używa najbardziej aktualnych reguł. Sam plik .bobignore jest zawsze niejawnie ignorowany, więc Bob nie może zmieniać własnych reguł dostępu.

Składnia wzorców

Składnia .bobignore jest identyczna z .gitignore. Oto typowe przykłady:

PrzykładOpis
node_modules/Ignoruje cały katalog node_modules
*.logIgnoruje wszystkie pliki kończące się na .log
config/secrets.jsonIgnoruje określony plik
!important.logWyjątek; Bob nie zignoruje tego konkretnego pliku, nawet jeśli istnieje szerszy wzorzec jak *.log
build/Ignoruje katalog build
docs/**/*.mdIgnoruje wszystkie pliki Markdown w katalogu docs i jego podkatalogach

Aby dowiedzieć się więcej o składni, zapoznaj się z oficjalną dokumentacją Git dotyczącą .gitignore.

Jak narzędzia Bob wchodzą w interakcję z .bobignore

Reguły .bobignore są egzekwowane w różnych narzędziach Bob:

Ścisłe egzekwowanie (odczyty i zapisy)

Te narzędzia bezpośrednio sprawdzają .bobignore przed każdą operacją na pliku. Jeśli plik jest ignorowany, operacja jest blokowana:

  • read_file: Nie będzie czytać ignorowanych plików.
  • write_file: Nie będzie zapisywać ani tworzyć nowych ignorowanych plików.
  • apply_diff: Nie będzie stosować różnic do ignorowanych plików.
  • GetSymbolsOverview: Nie będzie analizować ignorowanych plików w poszukiwaniu symboli kodu.

Narzędzia do edycji plików (potencjalne ominięcie zapisu)

Narzędzia insert_content i search_and_replace używają wewnętrznego komponentu do zarządzania zmianami. Ważne: Obecnie końcowa operacja zapisu wykonywana przez te narzędzia może ominąć reguły .bobignore. Podczas gdy początkowe próby odczytu mogą być zablokowane, sama akcja zapisu nie ma wyraźnego sprawdzenia.

Odkrywanie i listowanie plików

  • Narzędzie list_files: Gdy Bob wyświetla pliki, ignorowane pliki są zazwyczaj pomijane lub oznaczane symbolem 🔒 (patrz "Doświadczenie użytkownika" poniżej).
  • Szczegóły środowiska: Informacje o Twoim obszarze roboczym (takie jak otwarte karty i struktura projektu) dostarczane Bob są filtrowane, aby wykluczyć lub oznaczyć ignorowane elementy.

Wykonywanie poleceń

  • Narzędzie execute_command: To narzędzie sprawdza, czy polecenie (z predefiniowanej listy, takiej jak cat lub grep) jest skierowane do ignorowanego pliku. Jeśli tak, uruchomienie polecenia jest blokowane.

Kluczowe ograniczenia i zakres

  • Skoncentrowane na obszarze roboczym: Reguły .bobignore mają zastosowanie tylko do plików i katalogów w bieżącym katalogu głównym obszaru roboczego Bob. Pliki poza tym zakresem nie są dotknięte.
  • Specyfika execute_command: Ochrona dla execute_command jest ograniczona do predefiniowanej listy poleceń odczytujących pliki. Niestandardowe skrypty lub nietypowe narzędzia mogą nie zostać wykryte.
  • Operacje zapisu przez insert_content i search_and_replace: Jak wspomniano, te narzędzia mogą być w stanie zapisywać do ignorowanych plików z powodu obecnych ograniczeń w ich mechanizmie zapisu.
  • Nie jest pełnym piaskownicą: .bobignore to potężne narzędzie do kontrolowania dostępu Bob do plików za pomocą jego narzędzi, ale nie tworzy piaskownicy na poziomie systemu.

Doświadczenie użytkownika i powiadomienia

  • Wskazówka wizualna (🔒): Na listach plików pliki ignorowane przez .bobignore mogą być oznaczone symbolem kłódki (🔒), w zależności od ustawienia showbobignoredFiles (domyślnie true).
  • Komunikaty o błędach: Jeśli operacja narzędzia jest zablokowana, Bob otrzymuje błąd: "Dostęp do [file_path] jest zablokowany przez ustawienia pliku .bobignore. Musisz spróbować kontynuować zadanie bez używania tego pliku lub poprosić użytkownika o aktualizację pliku .bobignore."
  • Powiadomienia czatu: Zazwyczaj zobaczysz powiadomienie w interfejsie czatu Bob, gdy akcja jest zablokowana z powodu .bobignore.

Ten przewodnik pomaga zrozumieć funkcję .bobignore, jej możliwości i obecne ograniczenia, dzięki czemu możesz skutecznie zarządzać interakcją Bob z Twoją bazą kodu.

Jak oceniasz ten temat?