# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
*.so

# Distribution / packaging
build/
dist/
*.egg-info/
*.egg

# Virtual environments
.venv/
venv/
env/
.Python

# Local secrets — copy .env.template to .env and never commit the real values
.env
.env.*
!.env.template

# Test & tooling caches
.pytest_cache/
.mypy_cache/
.ruff_cache/
.hypothesis/
htmlcov/
.coverage
.coverage.*
coverage.xml
*.cover

# Generated gate artifacts (verify_wiring.py --json writes this alongside stdout)
wiring_report.json

# Wrangler's local cache — holds the Cloudflare account id and the operator's
# account email, and is regenerated by any `wrangler` invocation. Nothing here
# belongs in a repository, least of all a public one.
.wrangler/

# Docs build output
site/

# Logs & runtime state
logs/
*.log

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

# OS
.DS_Store
Thumbs.db
