forked from melodic-software/claude-code-plugins
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitattributes
More file actions
174 lines (153 loc) · 4.02 KB
/
.gitattributes
File metadata and controls
174 lines (153 loc) · 4.02 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
# .gitattributes for onboarding repository
# This file controls line ending behavior across all platforms
#
# Official Documentation: https://git-scm.com/docs/gitattributes
# ===========================
# Line Ending Normalization
# ===========================
# Default behavior: Let Git detect text files and normalize line endings
# LF in repository, appropriate line endings in working directory based on platform
* text=auto
# Documentation files - normalize to LF in repository
*.md text eol=lf
*.txt text eol=lf
*.adoc text eol=lf
# Configuration files - normalize to LF (cross-platform compatibility)
*.json text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.toml text eol=lf
*.ini text eol=lf
.editorconfig text eol=lf
.gitignore text eol=lf
.gitattributes text eol=lf
# Shell scripts - must be LF (Unix tools require it)
*.sh text eol=lf
*.bash text eol=lf
*.zsh text eol=lf
*.fish text eol=lf
# PowerShell scripts - CRLF in repository (Windows standard)
*.ps1 text eol=crlf
*.psm1 text eol=crlf
*.psd1 text eol=crlf
# Windows batch files - CRLF in repository
# Note: Git patterns are case-sensitive on Linux, case-insensitive on Windows
# Use lowercase extensions as standard (Windows matches any case automatically)
# On Linux, Windows batch files should use lowercase extensions by convention
*.cmd text eol=crlf
*.bat text eol=crlf
# Calendar files - CRLF (Windows standard for .ics files)
*.ics text eol=crlf
# Docker and container files - LF (Unix-based)
Dockerfile text eol=lf
*.dockerfile text eol=lf
docker-compose*.yml text eol=lf
# CI/CD configuration files - LF (usually run in Linux containers)
.gitlab-ci.yml text eol=lf
.travis.yml text eol=lf
.appveyor.yml text eol=lf
*.jenkinsfile text eol=lf
# Web files - LF (cross-platform standard)
*.html text eol=lf
*.css text eol=lf
*.scss text eol=lf
*.js text eol=lf
*.ts text eol=lf
*.jsx text eol=lf
*.tsx text eol=lf
*.vue text eol=lf
# Source code - LF (cross-platform standard)
*.c text eol=lf
*.cpp text eol=lf
*.h text eol=lf
*.cs text eol=lf
*.java text eol=lf
*.py text eol=lf
*.rb text eol=lf
*.go text eol=lf
*.rs text eol=lf
# .NET project files - CRLF (Windows standard, though works with LF)
*.csproj text eol=crlf
*.vbproj text eol=crlf
*.fsproj text eol=crlf
*.sln text eol=crlf
*.props text eol=crlf
*.targets text eol=crlf
# Binary files - ensure these are never converted
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.svg binary
*.bmp binary
*.tiff binary
*.webp binary
# Archives and compressed files
*.zip binary
*.7z binary
*.tar binary
*.gz binary
*.tgz binary
*.rar binary
# Executables and libraries
*.exe binary
*.dll binary
*.so binary
*.dylib binary
*.a binary
*.lib binary
*.obj binary
*.o binary
# Documents
*.pdf binary
*.doc binary
*.docx binary
*.xls binary
*.xlsx binary
*.ppt binary
*.pptx binary
# Fonts
*.ttf binary
*.otf binary
*.woff binary
*.woff2 binary
*.eot binary
# Database files
*.db binary
*.sqlite binary
*.sqlite3 binary
# Other binary formats
*.class binary
*.jar binary
*.war binary
*.ear binary
*.pyc binary
*.pyo binary
# ===========================
# Git Large File System (LFS)
# ===========================
#
# Git LFS stores binary files separately to prevent repository bloat.
# This is a DOCUMENTATION-ONLY repository with small binary files (screenshots, diagrams).
# Therefore, Git LFS is NOT enabled - standard binary marking is sufficient.
#
# For repositories with large binaries (>1MB images, videos, datasets, large PDFs):
# Install Git LFS: https://git-lfs.github.com/
# Then uncomment patterns below and replace "binary" with LFS pattern.
#
# Git LFS pattern syntax:
# *.extension filter=lfs diff=lfs merge=lfs -text
#
# Example (if we enabled LFS for images):
# *.png filter=lfs diff=lfs merge=lfs -text
# *.jpg filter=lfs diff=lfs merge=lfs -text
# *.pdf filter=lfs diff=lfs merge=lfs -text
#
# GitHub LFS limits:
# - Free tier: 1GB bandwidth/month
# - Paid ($5/month): 50GB bandwidth/month
#
# Official LFS Documentation: https://git-lfs.github.com/
#
# Decision: NOT using LFS in this repo (small docs, unnecessary complexity)