# Auto detect text files and perform LF normalization
* text=auto

# Source code files
*.swift text eol=lf
*.kt text eol=lf
*.kts text eol=lf
*.java text eol=lf
*.go text eol=lf
*.py text eol=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

# Configuration files
*.json text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.toml text eol=lf
*.xml text eol=lf
*.plist text eol=lf
*.properties text eol=lf
*.gradle text eol=lf
*.md text eol=lf

# Shell scripts
*.sh text eol=lf
*.bash text eol=lf
*.zsh text eol=lf

# Windows batch files
*.bat text eol=crlf
*.cmd text eol=crlf

# Binary files
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.webp binary
*.pdf binary
*.zip binary
*.tar binary
*.gz binary
*.jar binary
*.aar binary
*.apk binary
*.ipa binary
*.xcassets binary
*.ttf binary
*.otf binary
*.woff binary
*.woff2 binary
*.eot binary

# Xcode files
*.pbxproj merge=union
*.xcworkspacedata text eol=lf
*.xcscheme text eol=lf

# Gradle wrapper
gradlew text eol=lf
gradlew.bat text eol=crlf
gradle-wrapper.jar binary

# Lock files
*.lock text -diff
package-lock.json text -diff
pnpm-lock.yaml text -diff

# Documentation
LICENSE text eol=lf
README.md text eol=lf
