# Python __pycache__/ *.py[cod] *$py.class *.so .Python build/ dist/ *.egg-info/ .eggs/ *.egg # Virtual environments venv/ env/ .venv/ ENV/ # Environment & secrets .env .env.* !.env.example "API KEY.txt" API\ KEY.txt # IDE .idea/ .vscode/ *.swp *.swo # Claude/Cursor worktrees (local-only) .claude/ # Testing .pytest_cache/ .coverage htmlcov/ .mypy_cache/ .ruff_cache/ # Databases *.db *.sqlite *.sqlite3 # DB backups (e.g. dev.db.bak-20260424-142846) — must NEVER be committed. # These contain real tenant data and would expose it permanently in git history. *.db.bak *.db.bak-* *.sqlite.bak *.sqlite.bak-* *.sqlite3.bak *.sqlite3.bak-* *.bak *.bak-* *.backup # Uploads & generated artefacts mnt/data/uploads/ /tmp/section_cache/ chroma_data/ faiss_index/ mock_survey_*.docx # Per-section report photos (stored under user upload_dir by default, but ignore in case of local overrides) report_photos/ **/report_photos/ # RICS survey document corpora (local-only; never commit) Behrang RICS Documents/ RAW Context/ # Temporary analysis outputs (local-only) tmp_*.txt tmp_*.json eval_runs/ # Runtime logs *.log # Server log dumps that masquerade as .txt (e.g. uvicorn_log.txt, uvicorn_stdout.txt) # — `*.log` doesn't catch these, so add explicit patterns to keep them out of commits. uvicorn_*.txt uvicorn_*.log *_log.txt *_stdout.txt *_stderr.txt