Visão geral

O Cursor lê e indexa o código do teu projeto para dar suporte aos recursos dele. Controla quais diretórios e arquivos o Cursor pode acessar usando um arquivo .cursorignore no diretório raiz. O Cursor bloqueia o acesso a arquivos listados em .cursorignore em:
Chamadas de ferramentas iniciadas pelo Agent, como terminal e servidores MCP, não conseguem bloquear o acesso a código regido por .cursorignore

Por que ignorar arquivos?

Segurança: Restringe o acesso a chaves de API, credenciais e segredos. Embora o Cursor bloqueie arquivos ignorados, a proteção total não é garantida por conta da imprevisibilidade dos LLMs. Desempenho: Em codebases grandes ou monorepos, exclui partes irrelevantes para acelerar a indexação e tornar a descoberta de arquivos mais precisa.

Arquivos globais de ignore

Define padrões de ignore para todos os projetos nas configurações do usuário, pra excluir arquivos sensíveis sem precisar configurar por projeto.
Lista global de ignore do Cursor
Os padrões predefinidos incluem:
  • Arquivos de ambiente: **/.env, **/.env.*
  • Credenciais: **/credentials.json, **/secrets.json
  • Chaves: **/*.key, **/*.pem, **/id_rsa

Configurando .cursorignore

Cria um arquivo .cursorignore no diretório raiz usando a sintaxe do .gitignore.

Exemplos de padrões

config.json      # Arquivo específico
dist/           # Diretório
*.log           # Extensão de arquivo
**/logs         # Diretórios aninhados
!app/           # Remover da lista de ignorados (negação)

Ignorar hierárquico

Ativa Cursor Settings > Features > Editor > Hierarchical Cursor Ignore para procurar por arquivos .cursorignore nos diretórios superiores. Notas: Comentários começam com #. Padrões posteriores substituem os anteriores. Os padrões são relativos ao caminho do arquivo.

Limitar a indexação com .cursorindexingignore

Usa .cursorindexingignore para excluir arquivos apenas da indexação. Esses arquivos continuam acessíveis pelos recursos de IA, mas não vão aparecer nas buscas na base de código.

Arquivos ignorados por padrão

O Cursor ignora automaticamente os arquivos no .gitignore e na lista padrão de ignorados abaixo. Dá para sobrescrever usando o prefixo ! no .cursorignore.

Limitações de padrões de negação

Ao usar padrões de negação (prefixados com !), tu não podes reincluir um arquivo se um diretório pai tiver sido excluído via *.
# Ignora todos os arquivos na pasta public
public/*

# ✅ Isto funciona, pois o arquivo está no nível superior
!public/index.html

# ❌ Isto não funciona — não dá para reincluir arquivos de diretórios aninhados
!public/assets/style.css
Solução alternativa: excluir explicitamente os diretórios aninhados:
public/assets/*
!public/assets/style.css # Este arquivo agora está acessível
Diretórios excluídos não são percorridos por questões de desempenho, então padrões aplicados a arquivos contidos neles não têm efeito. Isso corresponde à implementação do .gitignore para padrões de negação em diretórios aninhados. Para mais detalhes, confere a documentação oficial do Git sobre padrões de gitignore.

Solução de problemas

Testa os padrões com git check-ignore -v [file].