# Python
__pycache__/
*.py[cod]
*$py.class
*.egg-info/
*.egg
.eggs/
build/
dist/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# Environments
.venv/
venv/
env/
.python-version

# Local Claude context (machine-specific pointers; not committed)
CLAUDE.local.md

# IDEs
.vscode/
.idea/
*.swp
*.swo

# OS
.DS_Store
Thumbs.db

# Local staging — everything not for the public mirror lives here.
# Anything under _local/ is checkout-local: benchmarks, scratch experiments,
# personal migration scripts, internal working docs, VISION.md, etc.
_local/

# Defensive: catch directories that historically held private content if
# they get recreated at the repo root by mistake (real copies live under
# _local/ now).
benchmarks/
bench_competitors/
archive/
scratch/screenshots/

# Working docs for AI build sessions — kept alongside the code so
# sessions can find them via Glob/Grep, but not part of the public
# surface.
scripts/docs/
scripts/test_authoring/

# Local storage (ChromaDB + FTS5 + WAL)
.rev-engram/
engram_data/
*.db
*.db-journal
*.db-wal
*.db-shm

# Secrets
.env
.env.local
*.key
*.pem

# Claude Code local state
.claude/
