O ChatCLI suporta um sistema de exclusão de arquivos inspirado no .gitignore. Isso permite que você refine o contexto enviado para a IA, evitando arquivos irrelevantes como testes, logs, dependências e builds.
Por que filtrar arquivos?
O arquivo .chatignore
A sintaxe é idêntica à do .gitignore:
- Linhas que começam com
# são comentários
- Para ignorar um diretório inteiro, adicione o nome seguido de
/ (ex: docs/)
- Use padrões glob (wildcards) para ignorar arquivos (ex:
*_test.go, *.log)
Exemplo prático
Hierarquia de precedência
O ChatCLI procura por um arquivo de ignore em uma ordem específica. O primeiro encontrado é utilizado e os demais são ignorados:
As regras não são mescladas. Apenas o primeiro arquivo de ignore encontrado na hierarquia é utilizado. Se você definir CHATCLI_IGNORE, os arquivos .chatignore do projeto e do diretório global serão ignorados.
Regras padrão
Quando nenhum arquivo .chatignore é encontrado, o ChatCLI usa regras internas que já ignoram automaticamente:
.git/
node_modules/
vendor/
__pycache__/
.idea/, .vscode/
- Arquivos binários e compilados
Dicas de uso
- Crie um
.chatignore na raiz de cada projeto para regras específicas
- Use o
~/.chatcli/.chatignore global para regras universais (ex: .DS_Store, Thumbs.db)
- Combine com
@file --mode smart para que a IA selecione apenas os arquivos mais relevantes dentro do escopo já filtrado