# Hemmer - Git Attributes Configuration
#
# This file ensures consistent line endings across all platforms (Windows, macOS, Linux)
# and defines how Git should handle different file types.

# Default behavior: Auto-detect text files and normalize to LF
* text=auto

# Source code - always LF in repository, CRLF on Windows checkout
*.rs text eol=lf
*.toml text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.json text eol=lf
*.md text eol=lf
*.txt text eol=lf
*.jcf text eol=lf
*.jcl text eol=lf

# Shell scripts must always use LF (even on Windows)
*.sh text eol=lf
*.bash text eol=lf

# Configuration files
.gitignore text eol=lf
.gitattributes text eol=lf
.editorconfig text eol=lf
Cargo.lock text eol=lf -diff

# Documentation
*.html text eol=lf
*.css text eol=lf
*.js text eol=lf

# GitHub-specific files
/.github/** text eol=lf

# Binary files - never modify
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.pdf binary
*.zip binary
*.tar binary
*.gz binary
*.tgz binary
*.so binary
*.dylib binary
*.dll binary
*.exe binary
*.wasm binary

# Archives generated by provider builds
*.tar.gz binary
*.wasm binary

# Lock files generated by Cargo
Cargo.lock linguist-generated=true
