# Shell scripts must keep LF line endings cross-platform. Without this,
# Git on Windows checks them out with CRLF and bash chokes on the `\r`
# characters (silent syntax errors / non-zero exits with empty stderr).
hooks/session-start text eol=lf
*.sh text eol=lf

# The cmd.exe/sh polyglot hooks carry a POSIX branch, so the same rule applies
# to them even though the extension says Windows: a CRLF checkout would break
# `case "$payload" in` with a `\r` syntax error the moment the file is run on
# POSIX (WSL, or a Windows clone shared with Git Bash). cmd.exe reads LF batch
# files fine, and `tests/test_route_qa_runners.py` pins the LF requirement.
*.cmd text eol=lf

# Python sources stay LF too for consistency with Black/ruff defaults.
*.py text eol=lf
