# Git attributes for consistent line endings and diff behavior
# https://git-scm.com/docs/gitattributes

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

# Source code
*.js text eol=lf
*.jsx text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.json text eol=lf
*.css text eol=lf
*.scss text eol=lf
*.html text eol=lf
*.md text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.xml text eol=lf
*.svg text eol=lf

# Scripts
*.sh text eol=lf
*.bash text eol=lf
*.zsh text eol=lf
*.fish text eol=lf

# Config files
.env text eol=lf
.env.example text eol=lf
.env.local text eol=lf
.gitignore text eol=lf
.editorconfig text eol=lf
.eslintrc text eol=lf
.prettierrc text eol=lf
tsconfig.json text eol=lf
package.json text eol=lf
package-lock.json text eol=lf
yarn.lock text eol=lf
pnpm-lock.yaml text eol=lf

# Documentation
*.md text eol=lf
LICENSE text eol=lf
CHANGELOG text eol=lf
CONTRIBUTING text eol=lf
CODE_OF_CONDUCT text eol=lf

# Docker
Dockerfile text eol=lf
docker-compose.yml text eol=lf
docker-compose.yaml text eol=lf
.dockerignore text eol=lf

# Binary files (do not modify)
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.pdf binary
*.zip binary
*.gz binary
*.tar binary
*.rar binary
*.7z binary

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

# Diff behavior
*.md diff=markdown
*.json diff=json
*.sql diff=sql

# Merge behavior
package-lock.json merge=ours
yarn.lock merge=ours
pnpm-lock.yaml merge=ours
