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 agli strumenti per i file di Bob:
Strumenti di lettura e scrittura
Questi strumenti controllano .bobignore prima di ogni operazione su file. Se un file corrisponde a un pattern ignorato, l'operazione viene bloccata:
read_file: Non legge file ignorati.write_file: Non scrive in file ignorati e non li crea.apply_diff: Non applica diff a file ignorati.insert_content: Non inserisce contenuto in file ignorati.search_and_replace: Non modifica file ignorati.GetSymbolsOverview: Non analizza file ignorati per simboli di codice.
Rilevamento ed elenco file
- Strumento
list_files: I file ignorati vengono omessi dagli elenchi o contrassegnati con un simbolo 🔒 (vedi "Esperienza utente" sotto). - Dettagli ambiente: Le informazioni sul workspace fornite a Bob, come le schede aperte e la struttura del progetto, vengono filtrate per escludere o contrassegnare gli elementi ignorati.
Esecuzione comandi
- Strumento
execute_command: Bob controlla se un comando di un elenco predefinito (comecatogrep) punta a un file ignorato. Se sì, il comando viene bloccato. I comandi al di fuori di questo elenco predefinito non vengono controllati rispetto a.bobignore.
Restrizione: .bobignore e l'impostazione sandbox del workspace ("Allow outside workspace tool requests") sono due controlli separati. .bobignore limita a quali file possono accedere gli strumenti per i file di Bob all'interno del workspace. L'impostazione sandbox del workspace controlla se gli strumenti per i file possono operare al di fuori della radice del workspace. Nessuno dei due controlli limita execute_command per operazioni shell arbitrarie; un comando shell può comunque creare, modificare o eliminare file ovunque il sistema operativo lo consenta, indipendentemente da queste impostazioni.
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. - Ambito di
execute_command: L'applicazione di.bobignoreperexecute_commandcopre solo un elenco predefinito di comandi di lettura file. I comandi shell arbitrari non sono limitati da.bobignorené dall'impostazione sandbox del workspace. - Nessuna sandbox completa:
.bobignorecontrolla l'accesso di Bob ai file tramite i suoi strumenti all'interno del workspace. Non crea una sandbox a livello di sistema e non limita l'esecuzione di comandi shell.
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.