# Normalize line endings to LF in the repo and on checkout. A CRLF checkout
# (Git for Windows' core.autocrlf=true default) breaks the Docker entrypoint —
# `exec /usr/local/bin/entrypoint.sh: no such file or directory`, because the
# shebang gains a trailing \r and the kernel looks for an interpreter that ends
# in one. Shell scripts stay LF regardless of platform.
* text=auto eol=lf
*.sh   text eol=lf
*.bash text eol=lf

# Fuzz seed corpora — byte-exact inputs, never normalize. Several seeds encode CRLF, a
# lone CR, or a \v on purpose because the parser under test branches on the line-ending
# shape; `text=auto` above would rewrite those to LF and silently delete the coverage.
# They survive today only because auto-detection happens to classify them -text, which is
# a property of their current contents: edit one to drop its lone CR and the CRLF case
# disappears from the next fresh clone with nothing to show it ever existed.
fuzz/seeds/** -text

# Binary assets — never normalize.
*.png   binary
*.jpg   binary
*.ico   binary
*.woff  binary
*.woff2 binary
*.gz    binary
*.zip   binary
