Add **/*.local to default Global Cursor Ignore List

Feature Request: Add **/*.local to Default Global Cursor Ignore List

Summary

Add **/*.local to the default Global Cursor Ignore List to automatically exclude files using the .local suffix convention.

Background

The .local suffix is a widely-used convention in dotfiles and configuration management for files that should stay private to a specific machine. These files typically contain:

  • Secrets and API keys
  • Machine-specific paths
  • Work-related configurations
  • Personal credentials

Common Examples

File Purpose
~/.zshrc.local Machine-specific shell config, often containing secrets
~/.bashrc.local Same for bash users
~/.gitconfig.local Local git settings (work email, signing keys)
config.local Local overrides for app configs

How the Convention Works

The main config file (tracked in git) sources the .local variant if it exists:

# In ~/.zshrc (shared/tracked)
[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local
# In ~/.zshrc.local (private/untracked)
export API_KEY="sk-..."
export WORK_PATH="/path/to/work"

Rationale

The entire purpose of .local files is to hold private, machine-specific content. This makes them a natural fit for the default ignore list alongside other sensitive patterns like:

  • **/.env
  • **/.env.*
  • **/*.pem
  • **/*.key
  • **/credentials.json

Low False-Positive Risk

If a file ends in .local, it’s almost certainly intentionally private. This pattern has minimal risk of accidentally ignoring legitimate files that users would want AI assistance with.

Prior Discussion

This relates to existing user confusion around ignored files. In this forum thread, a user was surprised that .env.local was automatically ignored and had trouble figuring out how to manage the ignore list.

While that thread is about removing a file from the ignore list (the user wanted AI access to their .env.local), it highlights that:

  1. Users expect clear conventions for what gets ignored
  2. The .local suffix pattern is already partially covered by **/.env.*
  3. Extending this to **/*.local would be consistent and predictable

For users who intentionally use the .local convention for private files, having it in the default ignore list means they don’t have to manually add it to every project’s .cursorignore.

Suggested Addition

**/*.local

This single glob pattern would cover all .local files across any directory depth.