# Default behavior
* text=auto eol=lf

# Force LF for cross-platform source
*.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
*.yml       text eol=lf
*.yaml      text eol=lf
*.md        text eol=lf
*.css       text eol=lf
*.scss      text eol=lf
*.html      text eol=lf
*.sh        text eol=lf

# Force CRLF for Windows-native files
*.ps1       text eol=crlf
*.psm1      text eol=crlf
*.psd1      text eol=crlf
*.cmd       text eol=crlf
*.bat       text eol=crlf
*.cs        text eol=crlf
*.csproj    text eol=crlf
*.sln       text eol=crlf

# Binary
*.png       binary
*.jpg       binary
*.jpeg      binary
*.gif       binary
*.ico       binary
*.webp      binary
*.pdf       binary
*.zip       binary
*.gz        binary
*.tar       binary
*.woff      binary
*.woff2     binary
*.ttf       binary
*.otf       binary

# Generated / collapsed in diffs
pnpm-lock.yaml      linguist-generated=true -diff
package-lock.json   linguist-generated=true -diff
*.generated.json    linguist-generated=true -diff
