# Enforce LF for source files regardless of platform (Windows autocrlf safe)
* text=auto eol=lf

# Source code - always LF
*.ts    text eol=lf
*.tsx   text eol=lf
*.js    text eol=lf
*.jsx   text eol=lf
*.mjs   text eol=lf
*.cjs   text eol=lf
*.json  text eol=lf
*.jsonc text eol=lf
*.html  text eol=lf
*.css   text eol=lf
*.scss  text eol=lf
*.md    text eol=lf
*.yml   text eol=lf
*.yaml  text eol=lf
*.toml  text eol=lf
*.rs    text eol=lf
*.sh    text eol=lf

# Windows-only - keep CRLF
*.bat   text eol=crlf
*.cmd   text eol=crlf
*.ps1   text eol=crlf
*.nsh   text eol=crlf

# Lockfiles - text, generated
pnpm-lock.yaml -diff linguist-generated
Cargo.lock     -diff linguist-generated

# Binaries
*.png   binary
*.jpg   binary
*.jpeg  binary
*.gif   binary
*.ico   binary
*.icns  binary
*.woff  binary
*.woff2 binary
*.ttf   binary
*.otf   binary
*.pdf   binary
