mirror of
https://github.com/garrytan/gbrain.git
synced 2026-08-14 00:48:18 +00:00
30 lines
1.5 KiB
Plaintext
30 lines
1.5 KiB
Plaintext
# Line-ending policy.
|
|
#
|
|
# Shell scripts MUST be checked out with LF endings on every platform.
|
|
# Git for Windows installs with `core.autocrlf=true` by default, which
|
|
# rewrites LF -> CRLF on checkout. A strict bash (WSL, Linux CI, macOS)
|
|
# then chokes on the trailing CR:
|
|
#
|
|
# scripts/run-unit-parallel.sh: line 23: $'\r': command not found
|
|
# scripts/run-unit-parallel.sh: line 24: set: pipefail : invalid option name
|
|
# scripts/run-unit-parallel.sh: line 32: syntax error near unexpected token `$'{\r''
|
|
#
|
|
# That silently disabled `bun run test`, `bun run verify`, `bun run ci:local`
|
|
# and `bun run test:e2e` for Windows contributors, since all four dispatch
|
|
# through bash. `eol=lf` pins the checkout regardless of the user's
|
|
# core.autocrlf setting.
|
|
*.sh text eol=lf
|
|
|
|
# Markdown gets the same pin, for a different failure mode: the frontmatter
|
|
# parsers anchor on LF. Under a CRLF checkout the opening fence becomes
|
|
# "---\r\n", which an LF-only /^---\n/ (or a startsWith("---\n")) does not
|
|
# match, so a well-formed document silently parses as having no frontmatter.
|
|
# There is no error -- the field just comes back empty. That has surfaced as
|
|
# blank skill descriptions, a fixer inserting its banner above the
|
|
# frontmatter instead of below it, resolver trigger extraction dropping
|
|
# entries, and a generated-doc freshness check reporting every line as
|
|
# drifted. The parsers stay CR-tolerant on their own merits (gbrain reads
|
|
# Markdown it does not own), but pinning this repo's own .md checkout to LF
|
|
# removes the whole class for anyone working here.
|
|
*.md text eol=lf
|