# Environment variables (contains API keys, passwords)
.env
scraper/.env

# Python
__pycache__/
*.py[cod]
*$py.class
venv/
.venv/
.venv312/
*.egg-info/
.coverage
.pytest_cache/
.ruff_cache/

# Scraper caches (regeneratable)
scraper/cache/
scraper/artists/
scraper/.http_cache/
scraper/probe_results/
scraper/.api_pipeline.lock
scraper/.pipeline_run_stats_cache_*.pkl
scraper/.backfill_images_rotation.json

# Scraper runtime artifacts
scraper/ml/artifacts/*.pkl
scraper/ml/artifacts/*.json
!scraper/ml/artifacts/.gitkeep
scraper/dns_report.json
scraper/disabled_scrapers.json
scraper/logs/
scraper/venues/_dead/
scraper/audit_results.json
scraper/.pipeline.lock
scraper/.enrich.lock
scraper/.enrich_pipeline.lock
scraper/.healthcheck_state
scraper/.orchestrator_state.json
scraper/.geocode_failures.json
scraper/.url_validation_pending.json
scraper/pipeline_state.txt
scraper/venue_discovery/.budget_tracker.json
scraper/venue_discovery/.search_history.json

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

# Keys
*.pem

# Claude — track rules, skills, settings; ignore the rest
.claude/*
!.claude/rules/
!.claude/skills/
!.claude/settings.json
CLAUDE.local.md

# WordPress probe results (regeneratable, large)
scraper/wordpress_venues.json
scraper/probe_results

# Git worktrees
.worktrees/

# Auto-build runtime artifacts
scraper/.auto_build.pid
scraper/data/.cache/

# Runtime batch/probe data (regeneratable)
.batch*.json
.scraper_batch*.json
.probe_results.json

# Audit step outputs — the scripts live in audit/, their JSON/TSV dumps
# are regenerated on every run and should never be committed.
audit/*.json
audit/*.tsv

# accuracy audit runtime artifacts (keep only ACCURACY_REPORT.md)
scraper/audit_output/*.csv
scraper/audit_output/*.log
scraper/audit_output/backfill_v2/
.env.local
.env.local
