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
.bobignorew 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ład | Opis |
|---|---|
node_modules/ | Ignoruje cały katalog node_modules |
*.log | Ignoruje wszystkie pliki kończące się na .log |
config/secrets.json | Ignoruje określony plik |
!important.log | Wyjątek; Bob nie zignoruje tego konkretnego pliku, nawet jeśli istnieje szerszy wzorzec jak *.log |
build/ | Ignoruje katalog build |
docs/**/*.md | Ignoruje 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 jakcatlubgrep) jest skierowane do ignorowanego pliku. Jeśli tak, uruchomienie polecenia jest blokowane.
Kluczowe ograniczenia i zakres
- Skoncentrowane na obszarze roboczym: Reguły
.bobignoremają 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 dlaexecute_commandjest ograniczona do predefiniowanej listy poleceń odczytujących pliki. Niestandardowe skrypty lub nietypowe narzędzia mogą nie zostać wykryte. - Operacje zapisu przez
insert_contentisearch_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ą:
.bobignoreto 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
.bobignoremogą być oznaczone symbolem kłódki (🔒), w zależności od ustawieniashowbobignoredFiles(domyślnietrue). - 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.
Skróty klawiszowe
Używaj skrótów klawiszowych, aby usprawnić przepływ pracy i zmniejszyć zależność od interakcji myszą.
Niestandardowe tryby
Dostosuj działanie Bob, tworząc niestandardowe tryby ze specjalizowanymi rolami, ograniczeniami narzędzi i zespołowymi workflow. Konfiguruj je globalnie lub dla konkretnego projektu w formacie YAML.