# ============================================
# Git Attributes — Cross-platform EOL normalization
# ============================================
# Standardized across Zuga-luga studios

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

# ============================================
# Shell & Scripts
# ============================================
*.sh text eol=lf

# Batch files must use CRLF (Windows)
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf

# ============================================
# Backend (Python)
# ============================================
*.py text eol=lf
*.pyi text eol=lf
*.pyx text eol=lf

# ============================================
# Frontend (TypeScript/Vue)
# ============================================
*.ts text eol=lf
*.tsx text eol=lf
*.js text eol=lf
*.jsx text eol=lf
*.vue text eol=lf
*.mjs text eol=lf
*.cjs text eol=lf

# Styles
*.css text eol=lf
*.scss text eol=lf
*.sass text eol=lf
*.less text eol=lf

# Templates
*.html text eol=lf
*.htm text eol=lf

# ============================================
# Config Files
# ============================================
*.toml text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.json text eol=lf
*.jsonc text eol=lf
*.xml text eol=lf
*.ini text eol=lf
*.cfg text eol=lf
*.conf text eol=lf
*.env.example text eol=lf

# ============================================
# Documentation
# ============================================
*.md text eol=lf
*.mdx text eol=lf
*.txt text eol=lf
*.rst text eol=lf
LICENSE text eol=lf
README* text eol=lf
CHANGELOG* text eol=lf

# ============================================
# Docker & Infrastructure
# ============================================
Dockerfile text eol=lf
Dockerfile.* text eol=lf
.dockerignore text eol=lf
docker-compose*.yml text eol=lf
*.dockerfile text eol=lf

# Railway / Heroku / Nixpacks
Procfile text eol=lf
railway.toml text eol=lf
nixpacks.toml text eol=lf

# ============================================
# Database
# ============================================
*.sql text eol=lf

# ============================================
# Binary Files (no normalization)
# ============================================
# Images
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.webp binary
*.svg text eol=lf

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

# Archives
*.zip binary
*.tar binary
*.gz binary
*.7z binary

# Audio / Video
*.mp3 binary
*.wav binary
*.ogg binary
*.mp4 binary
*.webm binary

# ML Models
*.onnx binary
*.pt binary
*.pth binary
*.h5 binary
*.pkl binary

# 3D Meshes
*.stl binary

# Compiled Python
*.pyc binary

# SQLite databases
*.db binary
*.sqlite binary
*.sqlite3 binary

# PDFs
*.pdf binary

# ============================================
# Lock Files (text but never diffed — autogenerated, huge)
# ============================================
package-lock.json text eol=lf -diff
pnpm-lock.yaml text eol=lf -diff
yarn.lock text eol=lf -diff
poetry.lock text eol=lf -diff
Pipfile.lock text eol=lf -diff

# ============================================
# Special Files
# ============================================
.gitattributes text eol=lf
.gitignore text eol=lf
.editorconfig text eol=lf
Makefile text eol=lf
*.joblib binary
