# ── Python ────────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*.pyd
*.pyo
*.egg-info/
*.egg
.eggs/
dist/
build/
*.spec

# ── Virtual Environments ──────────────────────────────────────────────────────
venv/
env/
.env
.venv/

# ── MT5 Optimizer Runtime Files ───────────────────────────────────────────────
# Don't commit generated run data or reports (can be large)
runs/
Reports/

# Keep the optimizer database (optional — remove this line to commit it)
optimizer.db

# ── Sensitive Config (DO NOT COMMIT — contains API keys) ────────────────────
# Users copy config.example.yaml → config.yaml and fill in their key locally.
config.yaml
.env
.env.local
*.secret.yaml
*.secret.yml
config.secret.yaml

# ── EA Registry (machine-specific paths) ─────────────────────────────────────
ea_registry.yaml

# ── Generated set files ──────────────────────────────────────────────────────
*.set
!**/templates/*.set

# ── Screenshots scratch (Playwright debug + health-test artifacts) ──────────
screenshots/health_*.png
screenshots/health_*.json
screenshots/debug*.png
screenshots/playwright_*.png
screenshots/*.py
screenshots/crop_*.png

# ── Claude session artifacts ─────────────────────────────────────────────────
Claude_Code_session*
.claude/sessions/

# ── Logs ──────────────────────────────────────────────────────────────────────
*.log
logs/

# ── OS Files ──────────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db
desktop.ini

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

# ── PyInstaller ───────────────────────────────────────────────────────────────
*.exe
*.zip
dist/

# ── Data files ────────────────────────────────────────────────────────────────
*.parquet
*.csv
