Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 95 additions & 17 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,27 +1,105 @@
# Auto detect text files
# Normalize line endings for all text files
* text=auto

# Custom for Visual Studio
*.cs diff=csharp text=auto eol=lf
*.vb diff=csharp text=auto eol=lf
*.fs diff=csharp text=auto eol=lf
*.fsi diff=csharp text=auto eol=lf
*.fsx diff=csharp text=auto eol=lf
*.sln text eol=crlf merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union
###############################
# .NET Language Files
###############################
# Force LF for source code files to ensure consistency across platforms
*.cs diff=csharp text eol=lf
*.vb diff=csharp text eol=lf
*.fs diff=csharp text eol=lf
*.fsi diff=csharp text eol=lf
*.fsx diff=csharp text eol=lf

###############################
# .NET Project Files
###############################
# Force LF for cross-platform compatibility
*.sln text eol=lf merge=union
*.csproj text eol=lf merge=union
*.vbproj text eol=lf merge=union
*.fsproj text eol=lf merge=union
*.dbproj text eol=lf merge=union
*.props text eol=lf
*.targets text eol=lf

###############################
# Windows Scripts
###############################
# Force CRLF for Windows batch files and scripts
*.cmd text eol=crlf
*.bat text eol=crlf

###############################
# Unix/Linux Scripts
###############################
# Force LF for shell scripts
*.sh text eol=lf

# Standard to msysgit
*.doc diff=astextplain
###############################
# Configuration Files
###############################
# Configuration and data files should use LF
*.json text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.xml text eol=lf
*.config text eol=lf
*.md text eol=lf
*.html text eol=lf
*.css text eol=lf
*.js text eol=lf
*.ts text eol=lf

###############################
# Binary Files - Git LFS
###############################
# Images
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.bmp filter=lfs diff=lfs merge=lfs -text
*.ico filter=lfs diff=lfs merge=lfs -text
Comment on lines +58 to +63
Copy link

Copilot AI Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Git LFS must be installed and initialized in the repository before these filter rules take effect. Consider adding installation/setup instructions to the README or documenting this requirement in the PR description to prevent confusion when team members encounter LFS pointer files instead of actual binary content.

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added note to PR description about Git LFS installation requirement. Teams will need to run git lfs install and git lfs track commands before these filter rules take effect in new repositories.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot you need to update the README's under Content/Library and Content/Console. Don't rely on the PR for documenting this.

*.svg text eol=lf

# Documents
*.pdf filter=lfs diff=lfs merge=lfs -text
*.doc filter=lfs diff=lfs merge=lfs -text
*.docx filter=lfs diff=lfs merge=lfs -text
*.xls filter=lfs diff=lfs merge=lfs -text
*.xlsx filter=lfs diff=lfs merge=lfs -text
*.ppt filter=lfs diff=lfs merge=lfs -text
*.pptx filter=lfs diff=lfs merge=lfs -text

# Archives
*.zip filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.7z filter=lfs diff=lfs merge=lfs -text

# Native Libraries (excluding .NET build artifacts)
*.so filter=lfs diff=lfs merge=lfs -text
*.dylib filter=lfs diff=lfs merge=lfs -text
*.lib filter=lfs diff=lfs merge=lfs -text
*.a filter=lfs diff=lfs merge=lfs -text

# Media Files
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.avi filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text

###############################
# Legacy Binary Handling
###############################
# Fallback for document types that might not use LFS
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
*.rtf diff=astextplain
112 changes: 95 additions & 17 deletions Content/Console/.gitattributes
Original file line number Diff line number Diff line change
@@ -1,27 +1,105 @@
# Auto detect text files
# Normalize line endings for all text files
* text=auto

# Custom for Visual Studio
*.cs diff=csharp text=auto eol=lf
*.vb diff=csharp text=auto eol=lf
*.fs diff=csharp text=auto eol=lf
*.fsi diff=csharp text=auto eol=lf
*.fsx diff=csharp text=auto eol=lf
*.sln text eol=crlf merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union
###############################
# .NET Language Files
###############################
# Force LF for source code files to ensure consistency across platforms
*.cs diff=csharp text eol=lf
*.vb diff=csharp text eol=lf
*.fs diff=csharp text eol=lf
*.fsi diff=csharp text eol=lf
*.fsx diff=csharp text eol=lf

###############################
# .NET Project Files
###############################
# Force LF for cross-platform compatibility
*.sln text eol=lf merge=union
*.csproj text eol=lf merge=union
*.vbproj text eol=lf merge=union
*.fsproj text eol=lf merge=union
*.dbproj text eol=lf merge=union
*.props text eol=lf
*.targets text eol=lf

###############################
# Windows Scripts
###############################
# Force CRLF for Windows batch files and scripts
*.cmd text eol=crlf
*.bat text eol=crlf

###############################
# Unix/Linux Scripts
###############################
# Force LF for shell scripts
*.sh text eol=lf

# Standard to msysgit
*.doc diff=astextplain
###############################
# Configuration Files
###############################
# Configuration and data files should use LF
*.json text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.xml text eol=lf
*.config text eol=lf
*.md text eol=lf
*.html text eol=lf
*.css text eol=lf
*.js text eol=lf
*.ts text eol=lf

###############################
# Binary Files - Git LFS
###############################
# Images
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.bmp filter=lfs diff=lfs merge=lfs -text
*.ico filter=lfs diff=lfs merge=lfs -text
*.svg text eol=lf

# Documents
*.pdf filter=lfs diff=lfs merge=lfs -text
*.doc filter=lfs diff=lfs merge=lfs -text
*.docx filter=lfs diff=lfs merge=lfs -text
*.xls filter=lfs diff=lfs merge=lfs -text
*.xlsx filter=lfs diff=lfs merge=lfs -text
*.ppt filter=lfs diff=lfs merge=lfs -text
*.pptx filter=lfs diff=lfs merge=lfs -text

# Archives
*.zip filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.7z filter=lfs diff=lfs merge=lfs -text

# Native Libraries (excluding .NET build artifacts)
*.so filter=lfs diff=lfs merge=lfs -text
*.dylib filter=lfs diff=lfs merge=lfs -text
*.lib filter=lfs diff=lfs merge=lfs -text
*.a filter=lfs diff=lfs merge=lfs -text

# Media Files
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.avi filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text

###############################
# Legacy Binary Handling
###############################
# Fallback for document types that might not use LFS
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
*.rtf diff=astextplain
12 changes: 12 additions & 0 deletions Content/Console/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,23 @@ Make sure the following **requirements** are installed on your system:

- [dotnet SDK](https://www.microsoft.com/net/download/core) 3.0 or higher
- [Mono](http://www.mono-project.com/) if you're on Linux or macOS.
- [Git LFS](https://git-lfs.com/) for handling binary assets

or

- [VSCode Dev Container](https://code.visualstudio.com/docs/remote/containers)

#### Git LFS Setup

This project uses Git LFS to handle binary assets efficiently. After cloning the repository, initialize Git LFS:

```sh
git lfs install
git lfs pull
```

The `.gitattributes` file is already configured to track binary files (images, documents, archives, etc.) with LFS automatically.


---

Expand Down
112 changes: 95 additions & 17 deletions Content/Library/.gitattributes
Original file line number Diff line number Diff line change
@@ -1,27 +1,105 @@
# Auto detect text files
# Normalize line endings for all text files
* text=auto

# Custom for Visual Studio
*.cs diff=csharp text=auto eol=lf
*.vb diff=csharp text=auto eol=lf
*.fs diff=csharp text=auto eol=lf
*.fsi diff=csharp text=auto eol=lf
*.fsx diff=csharp text=auto eol=lf
*.sln text eol=crlf merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union
###############################
# .NET Language Files
###############################
# Force LF for source code files to ensure consistency across platforms
*.cs diff=csharp text eol=lf
*.vb diff=csharp text eol=lf
*.fs diff=csharp text eol=lf
*.fsi diff=csharp text eol=lf
*.fsx diff=csharp text eol=lf

###############################
# .NET Project Files
###############################
# Force LF for cross-platform compatibility
*.sln text eol=lf merge=union
*.csproj text eol=lf merge=union
*.vbproj text eol=lf merge=union
*.fsproj text eol=lf merge=union
*.dbproj text eol=lf merge=union
*.props text eol=lf
*.targets text eol=lf

###############################
# Windows Scripts
###############################
# Force CRLF for Windows batch files and scripts
*.cmd text eol=crlf
*.bat text eol=crlf

###############################
# Unix/Linux Scripts
###############################
# Force LF for shell scripts
*.sh text eol=lf

# Standard to msysgit
*.doc diff=astextplain
###############################
# Configuration Files
###############################
# Configuration and data files should use LF
*.json text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.xml text eol=lf
*.config text eol=lf
*.md text eol=lf
*.html text eol=lf
*.css text eol=lf
*.js text eol=lf
*.ts text eol=lf

###############################
# Binary Files - Git LFS
###############################
# Images
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.bmp filter=lfs diff=lfs merge=lfs -text
*.ico filter=lfs diff=lfs merge=lfs -text
*.svg text eol=lf

# Documents
*.pdf filter=lfs diff=lfs merge=lfs -text
*.doc filter=lfs diff=lfs merge=lfs -text
*.docx filter=lfs diff=lfs merge=lfs -text
*.xls filter=lfs diff=lfs merge=lfs -text
*.xlsx filter=lfs diff=lfs merge=lfs -text
*.ppt filter=lfs diff=lfs merge=lfs -text
*.pptx filter=lfs diff=lfs merge=lfs -text

# Archives
*.zip filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.7z filter=lfs diff=lfs merge=lfs -text

# Native Libraries (excluding .NET build artifacts)
*.so filter=lfs diff=lfs merge=lfs -text
*.dylib filter=lfs diff=lfs merge=lfs -text
*.lib filter=lfs diff=lfs merge=lfs -text
*.a filter=lfs diff=lfs merge=lfs -text

# Media Files
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.avi filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text

###############################
# Legacy Binary Handling
###############################
# Fallback for document types that might not use LFS
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
*.rtf diff=astextplain
Loading
Loading