# ─── Secrets — NEVER commit these ─────────────────────────────────────────── # Copy .env.example to .env and fill in real values locally. # The .env file must never be committed; it contains credentials that, once # in git history, cannot be fully removed without a full history rewrite. .env .env.* !.env.example # ─── Python ────────────────────────────────────────────────────────────────── __pycache__/ *.py[cod] *.pyo *.pyd *.so *.egg *.egg-info/ dist/ build/ .eggs/ pip-wheel-metadata/ # ─── Virtual environments ───────────────────────────────────────────────────── venv/ .venv/ env/ ENV/ # ─── Flask / application runtime ───────────────────────────────────────────── instance/ *.db *.sqlite *.sqlite3 # ─── Uploaded files (user content — not source code) ───────────────────────── app/static/uploads/ # ─── Logs ──────────────────────────────────────────────────────────────────── logs/ *.log # ─── OS / editor artefacts ─────────────────────────────────────────────────── .DS_Store Thumbs.db .idea/ .vscode/ *.swp *.swo *~ # ─── pytest / coverage ─────────────────────────────────────────────────────── .pytest_cache/ .coverage htmlcov/