# Python
__pycache__/
*.py[cod]
*.egg-info/
dist/
build/
.eggs/
*.egg
.venv/
venv/

# Node
node_modules/
frontend/dist/

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

# OS
.DS_Store
Thumbs.db

# Environment
.env
.env.local
.env.production

# Database
*.db
*.db-shm
*.db-wal
*.sqlite3
openestimate.db*

# Docker volumes
pg_data/
minio_data/
qdrant_data/

# Testing
htmlcov/
.coverage
coverage.xml
.pytest_cache/
frontend/test-results/
frontend/e2e-results/
frontend/e2e/v1.9/.auth-token.txt
frontend/e2e/v1.9/.auth-state.json
*.trace.zip
frontend/video-output/
frontend/playwright.video.config.ts
frontend/e2e/_*.spec.ts
frontend/e2e/*-diagnostic.spec.ts

# Dev / debug artefacts
backend/audit_output.txt
backend/data/bim_samples/
backend/app/scripts/seed_demo_v*.py
backend/app/scripts/seed_*school*.py
backend/app/scripts/seed_*technical*.py
backend/app/scripts/audit_*.py
backend/app/scripts/demo_seed_issues.md

# Build
*.tar.gz
*.whl
frontend/stats.html

# Logs
*.log
logs/

# Generated
backend/locales/
i18n-audit/
translation_keys.txt

# Per-tenant runtime data — uploads, processed BIM blobs, generated
# exports, debug artifacts. Never committed; lives only on the host.
data/bim/
data/exports/
data/cwicr/cache/
frontend/debug-bim/

# Claude Code / MCP — keep instruction files (.claude/*.md) but
# ignore session cache, temp data, and MCP artifacts
.claude/tmp/
.claude/cache/
.claude/projects/
.claude/worktrees/
.claude/scheduled_tasks.lock
*.claude-session
.mcp.json
.playwright-mcp/

# TS incremental build cache
**/tsconfig.tsbuildinfo

# QA / Dev artifacts
screenshots/
!docs/screenshots/
qa-tests/
ux-review/
QA_*.md
UX_*.md
TESTING_PLAN.md
TAKEOFF_TESTING_PLAN.md
IMPROVEMENTS_TODO.md
AUDIT_*.md
REVIEW_PROGRESS.md
test-screenshots/

# Dev screenshots & images
*.png
*.jpeg
*.jpg
!frontend/public/favicon.png
!frontend/public/logo.png
!docs/screenshots/*.png
!frontend/public/og-image.png
!frontend/public/*.jpg
!frontend/public/*.jpeg

# QA test scripts (contain demo credentials)
backend/qa_*.py
backend/tmp_*.json

# LanceDB local data
lancedb_data/
*.lance

# Cached data
*.parquet
.openestimator/

# Desktop build
desktop/dist/
desktop/build/
desktop/src-tauri/target/
desktop/src-tauri/binaries/

# Backup files
*.backup.*
backend/data/dwg_uploads/
