# OS files
.DS_Store
Thumbs.db

# Editor/IDE files
.cursor/
*.swp
*.swo
*~
.idea/
.vscode/

# Claude Code session state — never check in
.claude/*.lock
.claude/settings.local.json

# Environment files
.env
.env.*
!.env.example

# Per-developer dev-box lifecycle state (written by deploy/*/deploy-qemu-dev.sh)
deploy/**/.qemu-dev-state-*

# Python
__pycache__/
*.pyc
*.pyo
*.egg-info/
.pytest_cache/

# Node
node_modules/

# api-edge Workers Assets — copied from web/dist at deploy time. Source of truth lives in web/.
cloudflare-workers/api-edge/assets/

# Build artifacts
dist/
# Built dashboard SPA bundle served by the api-edge Worker — produced by
# `vite build` in web/, copied here by the deploy script. Never check in.
cloudflare-workers/api-edge/assets/

# Compiled binaries
bin/
opensandbox-worker
/worker

# Worker env (secrets)
worker.env
caddy.env

# Loom demo (private)
sdks/typescript/examples/loom/

# Media files
*.mp4
*.gif

# Terraform
deploy/terraform/.terraform/
deploy/terraform/.terraform.lock.hcl
deploy/terraform/terraform.tfstate*
deploy/terraform/terraform.tfvars

# Dev environment state
deploy/ec2/.dev-env-state*
deploy/ec2/*.pem

# Temp files
*.tmp
*.log
delme
deploy/azure/.dev-env-state-*
deploy/azure/.dev-env-secrets*
!deploy/azure/.dev-env-secrets.example
deploy/azure/.dev-vector-token-*
/server
/seed-dev-secrets
/backfill
