# Default behaviour: detect text files and normalise line endings to LF on commit
* text=auto eol=lf

# ── Documentation ────────────────────────────────────────────────────────────
*.md        text eol=lf
*.mdx       text eol=lf
*.txt       text eol=lf
*.rst       text eol=lf
*.adoc      text eol=lf

# ── Data / config ─────────────────────────────────────────────────────────────
*.json      text eol=lf
*.jsonc     text eol=lf
*.yaml      text eol=lf
*.yml       text eol=lf
*.toml      text eol=lf
*.ini       text eol=lf
*.cfg       text eol=lf
*.env       text eol=lf
*.xml       text eol=lf
*.csv       text eol=lf

# ── Source code ───────────────────────────────────────────────────────────────
*.py        text eol=lf
*.js        text eol=lf
*.mjs       text eol=lf
*.cjs       text eol=lf
*.ts        text eol=lf
*.tsx       text eol=lf
*.jsx       text eol=lf
*.sh        text eol=lf
*.bash      text eol=lf
*.ps1       text eol=crlf
*.psm1      text eol=crlf
*.psd1      text eol=crlf
*.sql       text eol=lf
*.go        text eol=lf
*.rs        text eol=lf
*.java      text eol=lf
*.c         text eol=lf
*.cpp       text eol=lf
*.h         text eol=lf
*.cs        text eol=lf

# ── Web / markup ──────────────────────────────────────────────────────────────
*.html      text eol=lf
*.htm       text eol=lf
*.css       text eol=lf
*.scss      text eol=lf
*.sass      text eol=lf
*.svg       text eol=lf

# ── Build / tooling ───────────────────────────────────────────────────────────
Makefile    text eol=lf
Dockerfile  text eol=lf
*.dockerfile text eol=lf
.gitignore  text eol=lf
.gitattributes text eol=lf

# ── Binary files (no line-ending normalisation, no diffing by default) ────────
*.png       binary
*.jpg       binary
*.jpeg      binary
*.gif       binary
*.ico       binary
*.webp      binary
*.bmp       binary
*.tiff      binary
*.tif       binary
*.pdf       binary
*.zip       binary
*.tar       binary
*.gz        binary
*.bz2       binary
*.7z        binary
*.rar       binary
*.exe       binary
*.dll       binary
*.so        binary
*.dylib     binary
*.whl       binary
*.pyc       binary
*.pyd       binary
*.db        binary
*.sqlite    binary
*.sqlite3   binary
*.ttf       binary
*.otf       binary
*.woff      binary
*.woff2     binary
*.eot       binary
*.mp3       binary
*.mp4       binary
*.wav       binary
*.ogg       binary
*.webm      binary
