# SnatchGame - GitIgnore
# Comprehensive ignore file for Node.js, Vue 3, TypeScript, Docker project

# ===== DEPENDENCIES =====
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# ===== BUILD OUTPUTS =====
# Client build
client/dist/
client/build/

# Server build
server/lib/
server/build/
server/dist/

# Admin build
admin/dist/
admin/build/

# ===== ENVIRONMENT & CONFIG =====
# Environment files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Runtime data
pids/
*.pid
*.seed
*.pid.lock

# Coverage directory used by tools like istanbul
coverage/
*.lcov

# ===== LOGS =====
logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# ===== TYPESCRIPT =====
# TypeScript cache
*.tsbuildinfo

# TypeScript compiled output
*.js.map
*.d.ts

# ===== VUE SPECIFIC =====
# Vue build outputs
dist/
dist-ssr/
*.local

# Vue CLI generated files
.DS_Store
thumbs.db

# ===== VITE =====
# Vite cache
.vite/

# ===== IDE / EDITORS =====
# VSCode
.vscode/
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/settings.json

# WebStorm / IntelliJ
.idea/
*.swp
*.swo

# Sublime Text
*.sublime-workspace
*.sublime-project

# Vim
*.swp
*.swo
*~

# Emacs
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*

# ===== OPERATING SYSTEMS =====
# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
*.lnk

# macOS
.DS_Store
.AppleDouble
.LSOverride
Icon
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

# Linux
*~
.fuse_hidden*
.directory
.Trash-*
.nfs*

# ===== DOCKER =====
# Docker
.dockerignore
docker-compose.override.yml

# ===== TESTING =====
# Test coverage
coverage/
.nyc_output/

# Jest
coverage/
*.lcov
.jest/

# Cypress
cypress/videos/
cypress/screenshots/

# ===== TEMPORARY FILES =====
# Temporary folders
tmp/
temp/
.tmp/

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# ===== CACHE =====
# Cache directories
.cache/
.parcel-cache/
.eslintcache

# ===== COLYSEUS SPECIFIC =====
# Colyseus build artifacts
*.arena.env

# ===== PROJECT SPECIFIC =====
# Generated types (these are auto-generated)
client/src/types/Player.ts
client/src/types/GameState.ts
admin/src/types/Player.ts
admin/src/types/GameState.ts

# Development databases
*.db
*.sqlite
*.sqlite3

# Documentation that shouldn't be tracked
/docs/generated/

# Backup files
*.backup
*.bak
*.orig

# ===== SECURITY =====
# Sensitive files
*.pem
*.key
*.cert
*.crt
.env.*.local
secrets/

# ===== PACKAGE MANAGERS =====
# Yarn
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# PNPM
.pnpm-store/

# ===== MISCELLANEOUS =====
# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test
.env.production

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*