# Build outputs
/bin/
/obj/
**/bin/
**/obj/
/out/
/output/
/publish/

# User-specific files
*.user
*.userosscache
*.suo
*.userprefs

# Rider / JetBrains
.idea/
*.sln.iml

# Visual Studio / VS Code
.vs/
.vscode/
*.swp
*.sln.ide

# Test results
/TestResults/
*.trx
*.coverage
*.coveragexml
*.coveragejson
*.dotCover
*.TestResults.xml

# NuGet packages
/packages/
*.nupkg
*.snupkg
packages/
!packages.config

# Global tool store
.tools/

# Node / frontend (if any SPA in Presentation layer)
/node_modules/
npm-debug.log
yarn-error.log
package-lock.json
yarn.lock

# Environment config
appsettings.Development.json
appsettings.Production.json
appsettings.Staging.json
*.secrets.json
secrets.json
*.local.json
.env
.env.*
!.env.example

# Logs
/logs/
*.log
*.logs

# Temp files
*.tmp
*.temp
*.cache
*.pid

# Diagnostic files
*.pidb
*.heapsnapshot
*.heapsnapshot.*
*.vsp
*.vspx

# Benchmark results
BenchmarkDotNet.Artifacts/

# Entity Framework migrations snapshot (keep only initial files if desired)
/Migrations/*.Designer.cs
!Migrations/*.Designer.cs
# Optionally exclude all migration files (if you prefer)
# /Migrations/*.cs

# Coverage reports
/coverage/
/coverlet/
*.opencover.xml

# Generated documentation
/Documentation/
*.xml

# Docker
.dockerignore
docker-compose.override.yml
docker-compose.*.override.yml

# Web publish profiles
*.pubxml
*.pubxml.user
*.Publish.xml

# Build artifacts
artifacts/
build/

# Localization data
*.resx
!**/Resources/*.resx

# StyleCop / Roslyn analyzer
*.ncrunchproject
*.DotSettings

# Code coverage filter files
*.runsettings
*.runsettings.user

# SonarQube
.sonarqube/

# Azure Functions
.local/

# Publish profiles in Azure
Properties/PublishProfiles/*.pubxml
Properties/PublishProfiles/*.pubxml.user

# Mac OS
.DS_Store
.AppleDouble
.LSOverride

# Windows
Thumbs.db
desktop.ini
$RECYCLE.BIN/

# Linux
*~
.directory