# Auto-detect text files and normalize line endings to LF on commit
* text=auto eol=lf

# Source code
*.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
*.css       text eol=lf
*.scss      text eol=lf
*.html      text eol=lf
*.md        text eol=lf
*.mdx       text eol=lf
*.yml       text eol=lf
*.yaml      text eol=lf
*.toml      text eol=lf
*.xml       text eol=lf
*.svg       text eol=lf

# Prisma
*.prisma    text eol=lf

# Config & env
*.env       text eol=lf
.env*       text eol=lf
.editorconfig text eol=lf
.gitignore  text eol=lf
.gitattributes text eol=lf
.prettierrc text eol=lf
.eslintrc*  text eol=lf

# Shell scripts (always LF)
*.sh        text eol=lf
*.bash      text eol=lf

# Windows scripts (always CRLF)
*.bat       text eol=crlf
*.cmd       text eol=crlf
*.ps1       text eol=crlf

# Binary files (no line ending conversion)
*.png       binary
*.jpg       binary
*.jpeg      binary
*.gif       binary
*.ico       binary
*.webp      binary
*.avif      binary
*.pdf       binary
*.woff      binary
*.woff2     binary
*.ttf       binary
*.eot       binary
*.otf       binary
*.zip       binary
*.gz        binary
*.tar       binary
*.7z        binary
*.mp4       binary
*.mp3       binary
*.wav       binary
