# ── Secret sauce: reverse-engineering toolchain — NEVER commit ──────────────
reversal/
*.apk
**/apk/
**/smali/

# ── Private runtime data (PII / tokens) ─────────────────────────────────────
.env
.env.*
*.db
*.sqlite3
hinge.db
hinge_sessions/
prompts_cache.json
session*.json
recommendations_*.json
captures/
# NOTE: do NOT blanket-ignore *.json — src/hinge/data/catalog.json and
# tests/**/fixtures/*.json are tracked, shipped data.
# Re-include test fixtures even if they match a private pattern above
# (e.g. recommendations_response.json vs recommendations_*.json).
!tests/fixtures/
!tests/fixtures/**

# ── Python ──────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
dist/
develop-eggs/
.eggs/
sdist/
wheels/
*.egg-info/
*.egg
MANIFEST

# ── Test / coverage / type / lint caches ────────────────────────────────────
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
coverage.xml
*.cover
.cache
.hypothesis/
.pytest_cache/
.ruff_cache/
.mypy_cache/
.dmypy.json

# ── Virtualenvs ─────────────────────────────────────────────────────────────
.venv/
venv/
env/
ENV/

# ── OS / editor ─────────────────────────────────────────────────────────────
.DS_Store

# JetBrains: ignore all but shared project config
.idea/*
!.idea/codeStyles/
!.idea/inspectionProfiles/
!.idea/misc.xml
!.idea/modules.xml
!.idea/vcs.xml
!.idea/encodings.xml
.idea/workspace.xml
.idea/tasks.xml
.idea/dataSources/
.idea/dataSources.local.xml

# ── Packaging / publish ─────────────────────────────────────────────────────
.pypirc
# uv.lock is intentionally committed (reproducible builds) — not ignored.
