# Normalise line endings: LF in the repo, native on checkout. * text=auto # Source *.cs text diff=csharp *.csproj text *.slnx text *.props text *.targets text *.json text *.axaml text *.xaml text *.ts text *.js text *.css text *.html text *.md text *.yml text *.yaml text *.sql text # Files that must keep LF regardless of platform — shell scripts run in Linux # containers, and Dockerfiles are read by a Linux daemon. *.sh text eol=lf Dockerfile text eol=lf *.Dockerfile text eol=lf Caddyfile text eol=lf # Windows-only scripts keep CRLF *.cmd text eol=crlf *.bat text eol=crlf *.ps1 text eol=crlf # Binary — never diff or convert *.png binary *.jpg binary *.ico binary *.icns binary *.gif binary *.pdf binary *.zip binary *.gz binary *.dll binary *.so binary *.dylib binary *.pfx binary *.snk binary # Test fixtures are byte-exact contracts — never touch their line endings. tests/fixtures/** -text