From 84a97bc700961eb67bba7e3a65bfe76071d460b7 Mon Sep 17 00:00:00 2001 From: Nikolai Emil Damm Date: Thu, 25 Jun 2026 11:23:34 +0200 Subject: [PATCH] chore: enforce LF line endings via .gitattributes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The .editorconfig already declares end_of_line = lf, but that is only an editor hint. Without a .gitattributes, a contributor whose Git has core.autocrlf=true could still commit CRLF, and every instance scaffolded from this template would inherit the inconsistency. Add `* text=auto eol=lf` so LF is enforced at the Git level on commit and checkout, regardless of the contributor's platform. Churn-free: all 404 tracked files are already LF (verified via git ls-files --eol), so `git add --renormalize .` stages nothing but the new file — no existing content changes. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitattributes | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..cd8510f --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +# Normalize line endings for the whole scaffold. The .editorconfig declares +# `end_of_line = lf`, but that is only an editor hint — without this file a +# contributor whose Git has `core.autocrlf=true` could still commit CRLF, and +# every instance created from the template would inherit the inconsistency. +# `* text=auto` lets Git auto-detect text vs. binary; `eol=lf` guarantees LF in +# the repository and on checkout regardless of the contributor's platform. The +# scaffold is YAML/JSON/Markdown only today, so this is churn-free (every tracked +# file is already LF); `text=auto` keeps it correct if a binary asset is ever added. +* text=auto eol=lf