# Normalize line endings for text files
* text=auto

# PHP / web source files should use LF
*.php     text eol=lf
*.phtml   text eol=lf
*.inc     text eol=lf
*.html    text eol=lf
*.htm     text eol=lf
*.css     text eol=lf
*.scss    text eol=lf
*.sass    text eol=lf
*.less    text eol=lf
*.js      text eol=lf
*.ts      text eol=lf
*.json    text eol=lf
*.xml     text eol=lf
*.yml     text eol=lf
*.yaml    text eol=lf
*.md      text eol=lf
*.txt     text eol=lf
*.sql     text eol=lf
*.sh      text eol=lf

# Windows scripts should keep CRLF
*.bat     text eol=crlf
*.cmd     text eol=crlf
*.ps1     text eol=crlf

# Prevent Git from treating binary files as text
*.png     binary
*.jpg     binary
*.jpeg    binary
*.gif     binary
*.webp    binary
*.ico     binary
*.svg     text eol=lf
*.pdf     binary
*.zip     binary
*.gz      binary
*.tar     binary
*.tgz     binary
*.7z      binary
*.rar     binary
*.woff    binary
*.woff2   binary
*.ttf     binary
*.eot     binary

# Office documents
*.doc     binary
*.docx    binary
*.xls     binary
*.xlsx    binary
*.ppt     binary
*.pptx    binary

# Composer lock file should be treated as text
composer.json text eol=lf
composer.lock text eol=lf

# Environment/example files
.env.example text eol=lf