Feature: Support .claude/rules.local/ for project-specific gitignored rules

Resolved 💬 2 comments Opened Apr 25, 2026 by txny34 Closed May 29, 2026

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.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗