# Exclude everything first
*

# Then include only what we need
!composer.json
!src/
!public/index.php
!public/.htaccess
!config/
!routes/
!resources/views/
!resources/lang/
!app.php
!index.php
!*.php

# Include docker configuration files
!docker/php/

# Exclude everything in src except PHP files
src/**/*
!src/**/*.php

# Exclude everything in public except essential files
public/*
!public/index.php
!public/.htaccess

# Exclude binary files even if they match the whitelist
*.jpg
*.jpeg
*.png
*.gif
*.bmp
*.tiff
*.ico
*.webp
*.pdf
*.zip
*.tar.gz
*.rar
*.7z
*.exe
*.dll
*.so
*.dylib
*.bin
*.dat
# Git und Entwicklungstools
.git
.gitignore
.editorconfig

# Node.js
node_modules
npm-debug.log
package-lock.json

# PHP
vendor
composer.lock
.php-cs-fixer.cache

# Umgebungsdateien
.env*
!.env.example

# Cache und temporäre Dateien
storage/logs
storage/cache
storage/sessions
*.log
*.cache
*.tmp

# Datenbank
*.sqlite
*.db

# Build-Dateien
*.md
Makefile
build.sh
deploy.sh

# IDE
.vscode
.idea
*.swp
*.swo

# OS
.DS_Store
Thumbs.db

# Spezifische Dateien dieses Projekts
m
ms
qodana.yaml
phpunit.xml
# Exclude directories that might contain problematic files
.git/
node_modules/
vendor/
storage/
cache/
tmp/
temp/
logs/
.vscode/
.idea/
*.log
.env*
.DS_Store
Thumbs.db
