Ignorare file
Controlla a quali file Bob Shell può accedere creando un file `.bobignore` nel tuo progetto.
Panoramica
| Funzionalità | Descrizione | Vantaggio |
|---|---|---|
| Esclusione percorsi | Impedisce a Bob Shell di accedere a file o directory specifici | Protegge le informazioni sensibili |
| Corrispondenza pattern | Usa pattern glob per corrispondere a più file | Esclude i tipi di file in modo efficiente |
| Supporto negazione | Sostituisce le esclusioni per file specifici | Controllo granulare |
| Specifico del progetto | Ogni progetto può avere le proprie regole di esclusione | Personalizzato in base alle esigenze del progetto |
Perché usare .bobignore?
- Protezione della privacy: Mantieni privati i file sensibili come le API key e le credenziali
- Miglioramento delle prestazioni: Escludi i file binari di grandi dimensioni o le directory che rallentano le operazioni
- Riduzione del rumore: Rimuovi i file irrilevanti dal contesto di Bob Shell
- Controllo del focus: Indirizza l'attenzione di Bob Shell alle parti più rilevanti del tuo codebase
Come funziona .bobignore
.bobignore controlla solo l'accesso in lettura. Bob Shell esclude i file corrispondenti dalle operazioni di lettura, listing e ricerca. Gli strumenti di scrittura come write_file, apply_diff, insert_content e search_and_replace non sono limitati da .bobignore e possono scrivere su qualsiasi percorso consentito dal sistema operativo.
Quando aggiungi percorsi al tuo file .bobignore, gli strumenti di Bob Shell che rispettano questo file escluderanno automaticamente i file e le directory corrispondenti dalle loro operazioni. Per esempio, quando si usa il comando read_many_files, tutti i percorsi nel tuo file .bobignore verranno ignorati.
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ I tuoi file │────▶│ .bobignore │────▶│ File a cui Bob │
│ di progetto │ │ filtro │ │ Shell può │
│ │ │ │ │ accedere │
└─────────────────┘ └─────────────────┘ └─────────────────┘Le modifiche al tuo file .bobignore richiedono il riavvio della sessione di Bob Shell per avere effetto.
Sintassi dei pattern
Il file .bobignore segue la stessa sintassi dei pattern di .gitignore:
| Pattern | Descrizione | Esempio |
|---|---|---|
file.txt | Corrisponde a un file specifico | apikeys.txt |
*.ext | Corrisponde a tutti i file con l'estensione | *.log |
/dir/ | Corrisponde a una directory | /node_modules/ |
/path/to/file | Ancora il percorso alla radice | /src/config/secrets.json |
!pattern | Nega un pattern precedente | !important.md |
# | Riga di commento | # API credentials |
Per iniziare
Creare un file .bobignore
- Crea un file chiamato
.bobignorenella radice della directory del tuo progetto - Aggiungi pattern per i file e le directory che vuoi escludere
- Salva il file e riavvia la sessione di Bob Shell
# Dalla radice del tuo progetto
touch .bobignore
echo "# Files to ignore" > .bobignore
echo "secrets/" >> .bobignorePattern di esclusione comuni
Ecco alcuni pattern comuni che potresti voler aggiungere al tuo file .bobignore:
# Informazioni sensibili
.env
secrets/
*password*
*credential*
*apikey*
# Directory di grandi dimensioni
node_modules/
.git/
dist/
build/
# File binari e multimediali
*.zip
*.tar.gz
*.mp4
*.jpg
*.png
# File di log
*.log
logs/Esempi di pattern
Escludere directory specifiche
Per escludere intere directory e il loro contenuto:
# Escludi la directory packages e tutto il suo contenuto
/packages/
# Escludi tutte le directory node_modules ovunque nel progetto
**/node_modules/
# Escludi la directory dist ma solo al livello radice
/dist/Usare i caratteri jolly
I caratteri jolly ti permettono di corrispondere a più file con pattern simili:
# Escludi tutti i file markdown
*.md
# Escludi tutti i file JavaScript nella directory src
/src/**/*.js
# Escludi tutti i file con "test" nel nome
*test*Usare la negazione
Puoi sostituire le esclusioni per file specifici:
# Escludi tutti i file markdown
*.md
# Ma includi README.md
!README.md
# E includi tutti i file markdown nella directory docs
!docs/*.mdUtilizzo avanzato
Combinare i pattern
Puoi creare regole di esclusione sofisticate combinando i pattern:
# Escludi tutti i file JavaScript
*.js
# Ma includi tutti i file nella directory src
!src/**/*.js
# Eccetto i file di test nella directory src
src/**/*.test.jsDebug del file .bobignore
Se Bob Shell sembra ignorare i file a cui vuoi che acceda, o accedere a file che vuoi che ignori:
- Controlla il tuo file
.bobignoreper pattern in conflitto - Ricorda che i pattern più specifici (come le negazioni) devono venire dopo i pattern generali
- Riavvia la sessione di Bob Shell dopo aver apportato modifiche
- Usa percorsi assoluti se i percorsi relativi non funzionano come previsto
Best practice
- Inizia semplice: Inizia con pochi pattern essenziali e aggiungine altri man mano che ne hai bisogno
- Commenta i tuoi pattern: Aggiungi commenti per spiegare perché certi file sono esclusi
- Sii specifico: Usa pattern precisi per evitare di escludere accidentalmente file importanti
- Considera la sicurezza: Escludi sempre i file contenenti informazioni sensibili
- Mantieni regolarmente: Aggiorna il tuo file
.bobignoreman mano che il tuo progetto si evolve
Persona agenti
Crea file di persona riutilizzabili che definiscono il ruolo, il focus e l'accesso ai tool di un subagent. Definisci cosa cerca un subagent, come formatta il suo output e cosa non può fare.
Dati di telemetria
Scopri i dati di telemetria che Bob Shell può raccogliere, come vengono utilizzati per migliorare il prodotto e come abilitare o disabilitare la raccolta dei dati.