# Ensure all text files use LF for line endings
* text eol=lf

# Binary files should not be modified by Git
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.webp binary
*.svg binary

# Fonts
*.woff binary
*.woff2 binary
*.ttf binary
*.otf binary
*.eot binary

# Videos
*.mp4 binary
*.mov binary
*.avi binary
*.mkv binary
*.webm binary

# Audio
*.mp3 binary
*.wav binary
*.ogg binary
*.flac binary

# Archives and compressed files
*.zip binary
*.gz binary
*.tar binary
*.7z binary
*.rar binary

# PDF and documents
*.pdf binary
*.doc binary
*.docx binary
*.xls binary
*.xlsx binary
*.ppt binary
*.pptx binary

# Exclude JSON and other data files from text processing, if necessary
*.json text
*.xml text
*.csv text

# Scripts and code files should maintain LF endings
*.js text eol=lf
*.jsx text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.css text eol=lf
*.scss text eol=lf
*.html text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.md text eol=lf
*.sh text eol=lf
*.py text eol=lf
*.rb text eol=lf
*.java text eol=lf
*.php text eol=lf

# Git configuration files
.gitattributes text eol=lf
.gitignore text eol=lf
*.gitattributes text eol=lf

# Exclude some other potential binary files
*.db binary
*.sqlite binary
*.exe binary
*.dll binary
