Ignorando arquivos
Controle quais arquivos Bob pode acessar criando um arquivo `.bobignore` no seu projeto.
O que é .bobignore?
- Propósito: Proteger informações sensíveis, prevenir mudanças acidentais em artefatos de build ou ativos grandes, e geralmente definir o escopo operacional do Bob dentro do seu espaço de trabalho.
- Como usar: Crie um arquivo chamado
.bobignoreno diretório do seu espaço de trabalho. Liste padrões neste arquivo para dizer ao Bob quais arquivos e diretórios ignorar.
Bob monitora ativamente o arquivo .bobignore. Quaisquer mudanças que você fizer são recarregadas automaticamente, garantindo que Bob sempre use as regras mais atuais. O próprio arquivo .bobignore é sempre implicitamente ignorado, então Bob não pode mudar suas próprias regras de acesso.
Sintaxe de padrões
A sintaxe para .bobignore é idêntica ao .gitignore. Aqui estão exemplos comuns:
| Exemplo | Descrição |
|---|---|
node_modules/ | Ignora todo o diretório node_modules |
*.log | Ignora todos os arquivos terminando em .log |
config/secrets.json | Ignora um arquivo específico |
!important.log | Uma exceção; Bob não ignorará este arquivo específico, mesmo se um padrão mais amplo como *.log existir |
build/ | Ignora o diretório build |
docs/**/*.md | Ignora todos os arquivos Markdown no diretório docs e seus subdiretórios |
Para aprender sobre sintaxe, consulte a documentação oficial do Git sobre .gitignore.
Como as ferramentas Bob interagem com .bobignore
As regras .bobignore são aplicadas em várias ferramentas Bob:
Aplicação rigorosa (leituras e escritas)
Essas ferramentas verificam diretamente .bobignore antes de qualquer operação de arquivo. Se um arquivo for ignorado, a operação é bloqueada:
read_file: Não lerá arquivos ignorados.write_file: Não escreverá ou criará novos arquivos ignorados.apply_diff: Não aplicará diffs a arquivos ignorados.GetSymbolsOverview: Não analisará arquivos ignorados para símbolos de código.
Ferramentas de edição de arquivo (potencial desvio de escrita)
As ferramentas insert_content e search_and_replace usam um componente interno para gerenciar mudanças.
Importante: Atualmente, a operação de escrita final realizada por essas ferramentas pode desviar das regras .bobignore. Embora tentativas iniciais de leitura possam ser bloqueadas, a ação de salvar em si não tem uma verificação explícita.
Descoberta e listagem de arquivos
- Ferramenta
list_files: Quando Bob lista arquivos, arquivos ignorados são tipicamente omitidos ou marcados com um símbolo 🔒 (veja "Experiência do Usuário" abaixo). - Detalhes do ambiente: Informações sobre seu espaço de trabalho (como abas abertas e estrutura do projeto) fornecidas ao Bob são filtradas para excluir ou marcar itens ignorados.
Execução de comandos
- Ferramenta
execute_command: Esta ferramenta verifica se um comando (de uma lista predefinida comocatougrep) tem como alvo um arquivo ignorado. Se sim, executar o comando é bloqueado.
Limitações e escopo principais
- Centrado no espaço de trabalho: As regras
.bobignorese aplicam apenas a arquivos e diretórios dentro da raiz do espaço de trabalho Bob atual. Arquivos fora deste escopo não são afetados. - Especificidade de
execute_command: A proteção paraexecute_commandé limitada a uma lista predefinida de comandos de leitura de arquivo. Scripts personalizados ou utilitários incomuns podem não ser capturados. - Operações de escrita via
insert_contentesearch_and_replace: Como observado, essas ferramentas podem ser capazes de escrever em arquivos ignorados devido a limitações atuais em seu mecanismo de salvamento. - Não é uma sandbox completa:
.bobignoreé uma ferramenta poderosa para controlar o acesso de arquivo do Bob através de suas ferramentas, mas não cria uma sandbox em nível de sistema.
Experiência do usuário e notificações
- Indicação visual (🔒): Em listagens de arquivos, arquivos ignorados por
.bobignorepodem ser marcados com um símbolo de cadeado (🔒), dependendo da configuraçãoshowbobignoredFiles(padrão étrue). - Mensagens de erro: Se uma operação de ferramenta for bloqueada, Bob recebe um erro:
"Acesso a [file_path] está bloqueado pelas configurações do arquivo .bobignore. Você deve tentar continuar na tarefa sem usar este arquivo, ou pedir ao usuário para atualizar o arquivo .bobignore." - Notificações de chat: Você normalmente verá uma notificação na interface de chat do Bob quando uma ação for bloqueada devido ao
.bobignore.
Este guia ajuda você a entender o recurso .bobignore, suas capacidades e suas limitações atuais, para que você possa gerenciar efetivamente a interação do Bob com sua base de código.
Atalhos de teclado
Use atalhos de teclado para simplificar seu fluxo de trabalho e reduzir a dependência de interações com o mouse.
Modos personalizados
Adapte o comportamento do Bob criando modos personalizados com funções especializadas, restrições de ferramentas e workflows de equipe. Configure globalmente ou por projeto usando o formato YAML.