mac-apfs-case-insensitive-git-tracking

Diagnose macOS APFS case mismatch issues in git file tracking.

2|Updated May 10, 2026
One-click install
npx skills add https://github.com/freedomw1987/tree_monstor --skill mac-apfs-case-insensitive-git-tracking
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mac-apfs-case-insensitive-git-tracking
Source: https://github.com/freedomw1987/tree_monstor/tree/main/skills/mac-apfs-case-insensitive-git-tracking
Command: npx skills add https://github.com/freedomw1987/tree_monstor --skill mac-apfs-case-insensitive-git-tracking

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill addresses confusing case mismatch issues that arise when developing on macOS's default case-insensitive APFS filesystem, where git tracks files under their originally committed case (often lowercase) even when you write to a path with different casing (like docs/API.md instead of the tracked docs/api.md). This is especially problematic for cross-platform projects using Linux Docker containers or CI/CD pipelines, where case-sensitive filesystems can cause build failures or file not found errors.

Core Features & Use Cases

  • Non-destructive diagnostics: Provides step-by-step checks to confirm if a file write succeeded by verifying git tracked case, filesystem inode equivalence, and diff content without making harmful changes.
  • Mistake prevention: Explicitly warns against ad-hoc case-only git renames that break git history and cause compatibility issues on Linux hosts.
  • Prevention conventions: Defines best practices to avoid case mismatch traps, such as matching tracked case in patch paths and verifying writes via inode checks.
  • Use case: Ideal for developers working on monorepos with uppercase documentation files (API.md, PRD.md etc.) who see unexpected lowercase paths in git status after successful write operations, or who encounter case-related build failures in Docker/CI environments.

Quick Start

Use the mac-apfs-case-insensitive-git-tracking skill to diagnose why your recent write to docs/API.md is showing as modified api.md in git status and confirm if the change was applied correctly without making any harmful file renames.

Frequently Asked Questions about mac-apfs-case-insensitive-git-tracking

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does git status show a lowercase filename modified after I wrote to an uppercase path on macOS?

macOS APFS is case-insensitive, so git tracks files under their originally committed case, often lowercase. When you write to a path with different casing like docs/API.md, git status shows the tracked lowercase path modified instead of creating a new file.

How do I verify a file write succeeded on macOS when git status shows a case mismatch?

To verify case mismatch file writes on macOS, perform non-destructive diagnostics by checking git tracked case, filesystem inode equivalence, and diff content. This confirms the write was applied correctly without making harmful file renames.

Can I fix git case mismatches by doing a case-only git mv rename?

No, avoid ad-hoc case-only git renames on macOS APFS. Case-only git renames break version history and cause compatibility issues on Linux hosts, especially in Docker containers or CI/CD pipelines with case-sensitive filesystems.

How do I prevent git tracking case mismatches in a cross-platform monorepo?

To prevent git case mismatches in cross-platform monorepos, establish conventions matching tracked case in patch paths and verifying writes via inode checks. This avoids casing conflicts that trigger build failures on Linux hosts.

Does macOS APFS case-insensitivity cause build failures in Docker or CI/CD pipelines?

Yes, macOS APFS case-insensitivity causes build failures in Docker or CI/CD pipelines. Linux containers use case-sensitive filesystems, so inconsistent file path casing committed from macOS triggers file not found errors during builds.