# GILabs Data Center - Root .gitignore

# ====================
# Dependencies
# ====================

# Node.js / Frontend
node_modules/
.pnp
.pnp.*

# Yarn v4 (berry)
.yarn/cache/
**/.yarn/install-state.gz
.yarn/build-state.yml
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

# Python / Backend
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
/lib/
/lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual Environment
venv/
.venv/
env/
ENV/
backend/venv/
frontend/.venv/

# ====================
# Build Outputs
# ====================

# Next.js
.next/
out/
build/
.next-turbo/

# React Native
*.jsbundle
*.jsbundle.map
*.hbc

# ====================
# Environment Files
# ====================

# Local environment files (never commit these)
.env
.env.local
.env.*.local
backend/.env
frontend/.env.local
mobile-frontend/.env
mobile-frontend/.env.*
!mobile-frontend/.env.example
mobile-ego-frontend/.env
mobile-ego-frontend/.env.*
!mobile-ego-frontend/.env.example
mobile-ego-companion/.env
mobile-ego-companion/.env.*
!mobile-ego-companion/.env.example

# Keep example files
!.env.example
!backend/.env.example
!frontend/.env.example
!supabase/.env.example

# ====================
# Database
# ====================

*.db
*.sqlite
*.sqlite3

# ====================
# IDE / Editor
# ====================

.vscode/
.idea/
*.swp
*.swo
*~
*.sublime-project
*.sublime-workspace
.DS_Store
Thumbs.db

# ====================
# Testing & Coverage
# ====================

coverage/
.nyc_output/
.pytest_cache/
.mypy_cache/
.ruff_cache/
htmlcov/
.coverage
*.cover
e2e/artifacts/

# ====================
# Cache & Temp
# ====================

.turbo
.cache
.eslintcache
.babel-cache/
.metro/
.metro-health-check*
.pnpm-debug.log*
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
*.tmp
*.temp

# ====================
# Storage & Uploads
# ====================

storage/recordings/*
storage/exports/*
!storage/recordings/.gitkeep
!storage/exports/.gitkeep

# ====================
# TypeScript
# ====================

*.tsbuildinfo
next-env.d.ts

# ====================
# Docker
# ====================

# Keep Dockerfiles but ignore build contexts
*.dockerfile
docker-compose.override.yml

# ====================
# Vercel / Deployment
# ====================

.vercel

# ====================
# OS Files
# ====================

.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# ====================
# Lock Files
# ====================

# pnpm-lock.yaml
# package-lock.json
# yarn.lock is committed per-project (frontend/, mobile-frontend/)

# ====================
# Root-level Yarn artifacts
# ====================
# Prevent accidental root-level files from running `yarn` outside
# of frontend/ or mobile-frontend/
/yarn.lock

# ====================
# Claude Code
# ====================
# Skills under .claude/skills/ ARE committed (team-shared).
# Local-only / runtime files are not.
.claude/scheduled_tasks.lock
.claude/settings.local.json

# ====================
# Expo
# ====================

.expo/
mobile-frontend/.expo/
mobile-ego-frontend/.expo/
mobile-ego-companion/.expo/

# ====================
# iOS (React Native)
# ====================

mobile-frontend/ios/Pods/
mobile-frontend/ios/build/
mobile-frontend/ios/*.xcworkspace/xcuserdata/
mobile-frontend/ios/*.xcodeproj/xcuserdata/
mobile-frontend/ios/DerivedData/
mobile-frontend/ios/.xcode.env.local
mobile-ego-frontend/ios/Pods/
mobile-ego-frontend/ios/build/
mobile-ego-frontend/ios/*.xcworkspace/xcuserdata/
mobile-ego-frontend/ios/*.xcodeproj/xcuserdata/
mobile-ego-frontend/ios/DerivedData/
mobile-ego-frontend/ios/.xcode.env.local
mobile-ego-companion/ios/Pods/
mobile-ego-companion/ios/build/
mobile-ego-companion/ios/*.xcworkspace/xcuserdata/
mobile-ego-companion/ios/*.xcodeproj/xcuserdata/
mobile-ego-companion/ios/DerivedData/
mobile-ego-companion/ios/.xcode.env.local

# Xcode artifacts
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xccheckout
*.moved-aside
*.hmap
*.ipa
*.xcuserstate

# ====================
# Android (React Native)
# ====================

mobile-frontend/android/.gradle/
mobile-frontend/android/app/build/
mobile-frontend/android/build/
mobile-frontend/android/local.properties
mobile-frontend/android/captures/
mobile-frontend/android/app/.cxx/
mobile-frontend/android/.kotlin/
mobile-ego-frontend/android/.gradle/
mobile-ego-frontend/android/app/build/
mobile-ego-frontend/android/build/
mobile-ego-frontend/android/local.properties
mobile-ego-frontend/android/captures/
mobile-ego-frontend/android/app/.cxx/
mobile-ego-frontend/android/.kotlin/
mobile-ego-companion/android/.gradle/
mobile-ego-companion/android/app/build/
mobile-ego-companion/android/build/
mobile-ego-companion/android/local.properties
mobile-ego-companion/android/captures/
mobile-ego-companion/android/app/.cxx/
mobile-ego-companion/android/.kotlin/

# Android artifacts
*.iml
*.hprof

# Signing keys
*.jks
*.keystore
!debug.keystore

# ====================
# Supabase
# ====================

supabase/.branches
supabase/.temp
supabase/.env.keys

# ====================
# Fastlane
# ====================

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/
fastlane/test_output/

# ====================
# Misc
# ====================

*.pem
*.lock-wscript
frontend/tsconfig.typecheck.json
