Ignorare file
Controlla a quali file Bob può accedere creando un file `.bobignore` nel tuo progetto.
Cos'è .bobignore?
- Scopo: Proteggere informazioni sensibili, prevenire modifiche accidentali ad artefatti di build o asset di grandi dimensioni e definire generalmente l'ambito operativo di Bob all'interno del tuo workspace.
- Utilizzo: Crea un file chiamato
.bobignorenella directory del tuo workspace. Elenca i pattern in questo file per dire a Bob quali file e directory ignorare.
Bob monitora attivamente il file .bobignore. Tutte le modifiche che apporti vengono ricaricate automaticamente, quindi Bob utilizza sempre le regole più aggiornate. Il file .bobignore stesso è sempre implicitamente ignorato, quindi Bob non può modificare le proprie regole di accesso.
Sintassi dei pattern
La sintassi per .bobignore è identica a .gitignore. Ecco esempi comuni:
| Esempio | Descrizione |
|---|---|
node_modules/ | Ignora l'intera directory node_modules |
*.log | Ignora tutti i file che terminano con .log |
config/secrets.json | Ignora un file specifico |
!important.log | Un'eccezione; Bob non ignorerà questo file specifico, anche se esiste un pattern più ampio come *.log |
build/ | Ignora la directory build |
docs/**/*.md | Ignora tutti i file Markdown nella directory docs e nelle sue sottodirectory |
Per saperne di più sulla sintassi, leggi la documentazione ufficiale Git su .gitignore.
Come gli strumenti di Bob interagiscono con .bobignore
Le regole di .bobignore vengono applicate attraverso vari strumenti di Bob:
Applicazione rigorosa (Lettura e Scrittura)
Questi strumenti controllano .bobignore direttamente prima di ogni operazione su file. Se un file è ignorato, l'operazione viene bloccata:
read_file: Non legge file ignorati.write_file: Non scrive in file ignorati o crea nuovi file ignorati.apply_diff: Non applica diff a file ignorati.GetSymbolsOverview: Non analizza file ignorati per simboli di codice.
Strumenti di modifica file (potenziale bypass di scrittura)
Gli strumenti insert_content e search_and_replace utilizzano un componente interno per gestire le modifiche.
Importante: Attualmente, l'operazione di scrittura finale eseguita da questi strumenti potrebbe bypassare le regole di .bobignore. Mentre i tentativi di lettura iniziali potrebbero essere bloccati, l'azione di salvataggio stessa non ha un controllo esplicito.
Rilevamento ed elenco file
- Strumento
list_files: Quando Bob elenca i file, i file ignorati vengono normalmente omessi o contrassegnati con un simbolo 🔒 (vedi "Esperienza utente" sotto). - Dettagli ambiente: Le informazioni sul tuo workspace (come schede aperte e struttura del progetto) fornite a Bob vengono filtrate per escludere o contrassegnare elementi ignorati.
Esecuzione comandi
- Strumento
execute_command: Questo strumento controlla se un comando (da un elenco predefinito comecatogrep) punta a un file ignorato. Se sì, l'esecuzione del comando viene bloccata.
Limitazioni importanti e ambito
- Centrato sul workspace: Le regole di
.bobignoresi applicano solo a file e directory all'interno della radice del workspace Bob corrente. I file al di fuori di questo ambito non sono interessati. - Specificità di
execute_command: La protezione perexecute_commandè limitata a un elenco predefinito di comandi di lettura file. Script personalizzati o utility insolite potrebbero non essere catturati. - Operazioni di scrittura tramite
insert_contentesearch_and_replace: Come menzionato, questi strumenti potrebbero essere in grado di scrivere in file ignorati a causa delle attuali limitazioni nel loro meccanismo di salvataggio. - Nessuna sandbox completa:
.bobignoreè uno strumento potente per controllare l'accesso ai file di Bob tramite i suoi strumenti, ma non crea una sandbox a livello di sistema.
Esperienza utente e notifiche
- Indicatore visivo (🔒): Negli elenchi di file, i file ignorati da
.bobignorepossono essere contrassegnati con un simbolo di lucchetto (🔒), a seconda dell'impostazioneshowbobignoredFiles(predefinita ètrue). - Messaggi di errore: Quando un'operazione di strumento viene bloccata, Bob riceve un errore:
"L'accesso a [file_path] è bloccato dalle impostazioni del file .bobignore. Devi provare a continuare l'attività senza usare questo file, o chiedere all'utente di aggiornare il file .bobignore." - Notifiche chat: Normalmente vedrai una notifica nell'interfaccia chat di Bob quando un'azione viene bloccata a causa di
.bobignore.
Questa guida ti aiuta a comprendere la funzionalità .bobignore, le sue capacità e le sue attuali limitazioni, in modo da poter gestire efficacemente l'interazione di Bob con la tua codebase.
Scorciatoie da tastiera
Usa le scorciatoie da tastiera per semplificare il tuo flusso di lavoro e ridurre la dipendenza dalle interazioni con il mouse.
Modalità personalizzate
Personalizza il comportamento di Bob creando modalità personalizzate con ruoli specializzati, restrizioni degli strumenti e flussi di lavoro di team. Configurale globalmente o per progetto usando il formato YAML.