返回 CodeWhale
.gitattributes
根目录 / .gitattributes
1 # Ensure LF line endings for files consumed by include_str!() on all platforms.
2 # include_str!() preserves raw bytes; CRLF breaks substring assertions and
3 # produces different compiled binaries on Windows vs Linux/macOS.
4 # Cover nested mode/approval/personality prompts — a top-level *.md glob alone
5 # left modes/*.md on CRLF under Windows autocrlf and blew the agent token budget.
6 crates/tui/src/prompts/**/*.md text eol=lf
7 crates/tui/src/prompts/*.md text eol=lf
8 crates/tui/src/prompts/*.txt text eol=lf
9
10 # The rest of the include_str!() inputs. `* text=auto` below converts these to
11 # CRLF on a Windows checkout, which is invisible for the ones that are only
12 # parsed or substring-matched and fatal for the one that is compared byte for
13 # byte: crates/telemetry/tests/golden/v1.json is asserted against
14 # serde_json::to_string_pretty output, which always emits LF, so Windows CI
15 # failed `golden_payload_v1` with a pure \r\n diff.
16 crates/telemetry/tests/golden/*.json text eol=lf
17 # Tideline component goldens (crates/tui/src/tui/goldens/*.txt) are
18 # fs::read_to_string'd and compared byte for byte against buffer dumps that
19 # always join rows with LF (golden_harness.rs::render_golden_text), so a
20 # CRLF checkout failed all eight Windows golden tests with a pure \r\n diff.
21 crates/tui/src/tui/goldens/*.txt text eol=lf
22 # FEAT-025 baseline export goldens (crates/tui/src/commands/fixtures/*.md) are
23 # include_str!()'d and compared byte for byte against a document the exporter
24 # builds with LF, so a CRLF checkout failed the four Windows golden tests with a
25 # pure \r\n diff (Windows CI caught this; Linux cannot see it).
26 crates/tui/src/commands/fixtures/*.md text eol=lf
27 crates/*/assets/**/*.json text eol=lf
28 crates/*/assets/**/*.md text eol=lf
29 crates/*/locales/*.json text eol=lf
30 workflows/*.js text eol=lf
31 # The dsh bundle scene is include_str!() into the generated client.js and
32 # hashed for stale detection; CRLF would change both across platforms.
33 crates/tui/src/integrations/dsh/*.js text eol=lf
34
35 # Rustfmt writes LF; keep Rust sources stable across Windows/Linux/macOS.
36 *.rs text eol=lf
37
38 # Release shell scripts are invoked directly by bash on Windows
39 # checkouts; CRLF turns `set -euo pipefail` into an invalid option.
40 scripts/release/*.sh text eol=lf
41
42 # Keep repository attributes themselves stable on every platform.
43 .gitattributes text eol=lf
44
45 # Everything else auto-detects (default).
46 * text=auto
47
48 # Preserve the qualified upstream font license, including its trailing space.
49 web/public/brand/fonts/OFL.txt text eol=lf whitespace=-blank-at-eol
50
50 lines Plain Text