# .gitattributes — normalização de line endings cross-platform.
#
# Motivação: esta CLI claim universal cross-platform (Linux/macOS/Windows).
# Sem isto, um `git clone` no Windows com `core.autocrlf=true` converteria
# `\n` para `\r\n` em arquivos que esperam LF puro (fixtures HTML, scripts shell,
# configs YAML/TOML), quebrando testes ou execução.

# Default: git normaliza entre text e binary baseado no conteúdo detectado.
* text=auto

# Código Rust: sempre LF no repositório (rustfmt assume LF).
*.rs text eol=lf
*.toml text eol=lf

# Scripts shell: DEVEM ser LF sempre — CRLF quebra a shebang `#!/usr/bin/env bash`.
*.sh text eol=lf

# YAML (workflows GitHub Actions, dependabot, issue templates): LF obrigatório.
*.yml text eol=lf
*.yaml text eol=lf

# Markdown: LF (consistência com GitHub).
*.md text eol=lf

# Fixtures HTML/JSON de teste: LF (alguns parsers de conteúdo são sensíveis).
*.html text eol=lf
*.json text eol=lf

# Arquivos explicitamente binários — nunca deixar git converter.
*.png binary
*.jpg binary
*.ico binary
*.woff binary
*.woff2 binary

# Arquivos gerados ou de terceiros — excluir de estatísticas de linguagem do GitHub.
Cargo.lock linguist-generated=true
target/** linguist-generated=true
