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

# Virtual environments
.venv/
venv/
env/

# Sieve secrets & data
*.db
*.db-wal
*.db-shm
*.db-journal
*.db.enc
.sieve_key
*.sieve_key
sieve.yaml
audit.log

# Sieve runtime dir (user-local; never committed)
.sieve/

# Backups
*.bak
sieve_backup_*

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

# Test / tooling caches
.pytest_cache/
.ruff_cache/
.mypy_cache/
.coverage
htmlcov/

# Build artefacts
*.whl

# MkDocs build output
site/

# asciinema recordings — never committed to the public repo
*.cast

# Benchmark reports (generated by tests/test_benchmarks.py)
benchmarks/

# uv lockfile — this is a library/CLI repo, so downstream resolvers
# should pin their own versions. Keep the repo clean of the generated
# file.
uv.lock

# Local Claude Code worktrees + state (never tracked)
.claude/
