Repository navigation
Expand file tree
/
Copy path.gitattributes
More file actions
63 lines (56 loc) · 2.53 KB
/
Copy path.gitattributes
File metadata and controls
63 lines (56 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Force LF on text files we parse with `\n`-anchored regexes (frontmatter,
# YAML, markdown structure tests). Without this, Windows checkouts with
# core.autocrlf=true convert these to CRLF and break tests that match
# /^---\n...\n---/ against SKILL.md.tmpl frontmatter, etc.
*.md text eol=lf
*.tmpl text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.json text eol=lf
*.toml text eol=lf
*.txt text eol=lf
# Bash scripts must always use LF — CRLF in bash scripts produces bizarre
# "Bad interpreter" / "command not found" errors on Linux runners.
*.sh text eol=lf
*.bash text eol=lf
# Extensionless executables (top-level setup script + bin/gstack-* helpers).
# These are bash scripts checked into git without a `.sh` suffix. Without
# explicit eol=lf, Windows checkout with core.autocrlf=true converts them
# to CRLF and breaks both `\n`-anchored regex tests (test/setup-codesign.test.ts)
# and shebang resolution if the script is ever executed on Linux.
setup text eol=lf
bin/* text eol=lf
**/scripts/* text eol=lf
# Nested executables (#3110). A pattern containing a slash is anchored at the
# repository root, so `bin/*` above covers only the top-level bin/. These are
# bash or sh entry points too; a Windows checkout wrote them with CRLF, and a
# Linux bash reading that checkout (a synced tree, WSL, a bind mount) failed
# with `set: pipefail: invalid option name`. setup's CRLF repair rewrites
# copies an older checkout already left with CRLF.
**/bin/* text eol=lf
hosts/*/hooks/* text eol=lf
lib/cso/images/* text eol=lf
scripts/app/* text eol=lf
browse/test/fixtures/mock-claude/* text eol=lf
# Dockerfiles build on Linux, and test/ci-image-cli-pin.test.ts joins their
# `\`-continued RUN lines with a `\\\n` match; CRLF left each RUN split.
Dockerfile* text eol=lf
# TypeScript/JavaScript: LF for portability across the bun toolchain.
*.ts text eol=lf
*.tsx text eol=lf
*.js text eol=lf
*.mjs text eol=lf
*.cjs text eol=lf
# Binary files — never touch.
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.pdf binary
*.icns binary
# The committed diagram-render bundle is hash-pinned (BUILD_INFO sha256);
# a CRLF rewrite on Windows checkout would break the drift test and change
# the content-addressed staged filename.
lib/diagram-render/dist/*.html text eol=lf
lib/diagram-render/dist/*.json text eol=lf