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:
- Users expect clear conventions for what gets ignored
- The
.localsuffix pattern is already partially covered by**/.env.* - Extending this to
**/*.localwould 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.