Feature: Support .claude/rules.local/ for project-specific gitignored rules
Summary
Claude Code already has a consistent pattern for local (gitignored) overrides at every level — except for the rules directory:
| File/Directory | Scope | Committed? |
|---|---|---|
| CLAUDE.md | Project instructions | ✅ Yes |
| CLAUDE.local.md | Project instructions | ❌ No (gitignored) |
| .claude/rules/ | Project rules | ✅ Yes |
| .claude/rules.local/ | Project rules | ❌ Missing |
| .claude/settings.json | Project settings | ✅ Yes |
| .claude/settings.local.json | Project settings | ❌ No (gitignored) |
Problem
There's no way to have project-specific rules that stay local and don't get committed to the repo. The only current workaround is putting everything in CLAUDE.local.md, which mixes instructions with rules and doesn't support the file-path scoping that .claude/rules/ provides.
Proposed Solution
Add support for .claude/rules.local/ — a directory that behaves exactly like .claude/rules/ but is automatically gitignored, just like CLAUDE.local.md and .claude/settings.local.json.
This would allow developers to have personal, project-scoped rules (e.g., local DB paths, personal preferences, machine-specific config) without polluting the shared repo config.
Why This Matters
The pattern is already established in the codebase. This is just the missing piece that completes the symmetry.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗