Configurazione

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 .bobignore nella 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:

EsempioDescrizione
node_modules/Ignora l'intera directory node_modules
*.logIgnora tutti i file che terminano con .log
config/secrets.jsonIgnora un file specifico
!important.logUn'eccezione; Bob non ignorerà questo file specifico, anche se esiste un pattern più ampio come *.log
build/Ignora la directory build
docs/**/*.mdIgnora 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 (come cat o grep) 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 .bobignore si 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 .bobignore per execute_command copre solo un elenco predefinito di comandi di lettura file. I comandi shell arbitrari non sono limitati da .bobignore né dall'impostazione sandbox del workspace.
  • Nessuna sandbox completa: .bobignore controlla 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 .bobignore possono essere contrassegnati con un simbolo di lucchetto (🔒), a seconda dell'impostazione showbobignoredFiles (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.

Come valuti questo argomento?