From 6ea3e419e3790a9b673402e01928a16c9812fa5c Mon Sep 17 00:00:00 2001 From: Kpa-clawbot Date: Mon, 30 Mar 2026 18:39:17 -0700 Subject: [PATCH] fix: enforce LF line endings to prevent CRLF diff churn (#299) ## Fix: Enforce LF line endings repo-wide ### Problem Windows-based agents produce CRLF line endings, causing git diffs to show every line as changed (1000+ line "rewrites" that are actually 20-line patches). This has hit us on `manage.sh`, `deploy.yml`, and multiple PRs. ### Fix Added `* text=auto eol=lf` to `.gitattributes`. Git will now: - Store all text files as LF in the repo - Convert CRLF to LF on commit (regardless of OS) - Check out as LF on all platforms Also marks common binary formats explicitly. ### Impact Existing files with CRLF will be normalized on their next commit. No functional changes. Co-authored-by: Kpa-clawbot <259247574+Kpa-clawbot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .gitattributes | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gitattributes b/.gitattributes index a6c3c3ad..93e0825b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,12 @@ +# Force LF line endings for all text files (prevents CRLF churn from Windows agents) +* text=auto eol=lf + +# Explicitly mark binary files +*.png binary +*.jpg binary +*.ico binary +*.db binary + # Squad: union merge for append-only team state files .squad/decisions.md merge=union .squad/agents/*/history.md merge=union