Skip to main content
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:

Exemplo com variável de ambiente

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