Visão geral

O Cursor lê e indexa o código do teu projeto para alimentar seus recursos. Controla quais diretórios e arquivos o Cursor pode acessar usando um arquivo .cursorignore no teu diretório raiz. O Cursor bloqueia o acesso a arquivos listados em .cursorignore em:
Chamadas de ferramenta iniciadas pelo Agent, como o 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, não há garantia de proteção completa devido à 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 projeto por projeto.
Lista global de ignore do Cursor
Os padrões incluídos por padrão são:
  • Arquivos de ambiente: **/.env, **/.env.*
  • Credenciais: **/credentials.json, **/secrets.json
  • Chaves: **/*.key, **/*.pem, **/id_rsa

Configurando .cursorignore

Cria um arquivo .cursorignore no teu 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 ignore (negação)

Ignore hierárquico

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

Limita a indexação com .cursorindexingignore

Usa .cursorindexingignore pra excluir arquivos só da indexação. Esses arquivos continuam acessíveis pros recursos de IA, mas não vão aparecer nas buscas do codebase.

Arquivos ignorados por padrão

O Cursor ignora automaticamente os arquivos no .gitignore e na lista padrão abaixo. Para sobrescrever, usa o prefixo ! em .cursorignore.

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

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

# ✅ Funciona, pois o arquivo existe no nível superior
!public/index.html

# ❌ Não funciona — não dá para voltar a incluir arquivos de diretórios aninhados
!public/assets/style.css
Solução alternativa: Exclui 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 performance, então padrões aplicados a arquivos contidos não têm efeito. Isso corresponde à implementação do .gitignore para padrões de negação em diretórios aninhados. Para mais detalhes, vê 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].