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 narzędziach plikowych Bob:
Narzędzia do odczytu i zapisu
Te narzędzia sprawdzają .bobignore przed każdą operacją na pliku. Jeśli plik pasuje do ignorowanego wzorca, operacja jest blokowana:
read_file: Nie czyta ignorowanych plików.write_file: Nie zapisuje ani nie tworzy ignorowanych plików.apply_diff: Nie stosuje różnic do ignorowanych plików.insert_content: Nie wstawia zawartości do ignorowanych plików.search_and_replace: Nie modyfikuje ignorowanych plików.GetSymbolsOverview: Nie analizuje ignorowanych plików w poszukiwaniu symboli kodu.
Odkrywanie i listowanie plików
- Narzędzie
list_files: Ignorowane pliki są pomijane na listach lub oznaczane symbolem 🔒 (patrz "Doświadczenie użytkownika" poniżej). - Szczegóły środowiska: Informacje o obszarze roboczym przekazywane Bob, takie jak otwarte karty i struktura projektu, są filtrowane, aby wykluczyć lub oznaczyć ignorowane elementy.
Wykonywanie poleceń
- Narzędzie
execute_command: Bob sprawdza, czy polecenie z predefiniowanej listy (takie jakcatlubgrep) jest skierowane do ignorowanego pliku. Jeśli tak, polecenie jest blokowane. Polecenia spoza tej predefiniowanej listy nie są sprawdzane pod kątem.bobignore.
Ograniczenie: .bobignore i ustawienie piaskownicy obszaru roboczego ("Allow outside workspace tool requests") to dwie oddzielne kontrole. .bobignore ogranicza, do których plików w obszarze roboczym mogą uzyskać dostęp narzędzia plikowe Bob. Ustawienie piaskownicy obszaru roboczego kontroluje, czy narzędzia plikowe mogą działać poza katalogiem głównym obszaru roboczego. Żadna z tych kontroli nie ogranicza execute_command dla dowolnych operacji powłoki; polecenie powłoki nadal może tworzyć, modyfikować lub usuwać pliki w dowolnym miejscu, na które pozwala system operacyjny, niezależnie od tych ustawień.
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. - Zakres
execute_command: Egzekwowanie.bobignoredlaexecute_commandobejmuje tylko predefiniowaną listę poleceń odczytujących pliki. Dowolne polecenia powłoki nie są ograniczane przez.bobignoreani przez ustawienie piaskownicy obszaru roboczego. - Nie jest pełną piaskownicą:
.bobignorekontroluje dostęp narzędzi plikowych Bob w obszarze roboczym. Nie tworzy piaskownicy na poziomie systemu i nie ogranicza wykonywania poleceń powłoki.
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.