claude-md-filename-case-sensitive
Filename differs only in case from another file, causing conflicts on case-insensitive filesystems
Rule Details
On case-insensitive filesystems like macOS (HFS+/APFS) and Windows (NTFS), files named Rules.md and rules.md resolve to the same file. However, on Linux (ext4), they are distinct files. When a CLAUDE.md import tree contains paths that differ only in case, the project will behave differently depending on the operating system. This rule recursively walks the import tree and tracks all resolved paths in a case-insensitive map. If two imports resolve to paths that differ only in case, an error is reported.
Incorrect
Two imports that differ only in case
# CLAUDE.md
@import .claude/rules/Git-Workflow.md
@import .claude/rules/git-workflow.mdCorrect
Imports with consistent, unique casing
# CLAUDE.md
@import .claude/rules/git-workflow.md
@import .claude/rules/code-style.mdHow To Fix
Rename one of the conflicting files so the names are distinct even when compared case-insensitively. Use a consistent naming convention (e.g., all lowercase with hyphens) for all imported files.
Options
This rule does not have any configuration options.
When Not To Use It
Disable this rule only if your project exclusively targets Linux and you intentionally maintain files that differ only in case. This is rare and generally discouraged.
Related Rules
Resources
Version
Available since: v0.2.0