# ---- Python ---------------------------------------------------------------
__pycache__/
*.py[cod]
*$py.class
*.so

# Packaging / build artifacts
*.egg-info/
*.egg
build/
dist/
.eggs/
wheels/
*.whl

# Test / type / lint caches
.pytest_cache/
.mypy_cache/
.ruff_cache/
.pyre/
.pytype/
.tox/
.nox/

# Coverage
.coverage
.coverage.*
htmlcov/
coverage.xml
*.cover

# ---- Virtual envs ---------------------------------------------------------
.venv/
venv/
env/
ENV/
.conda/

# ---- Editor / OS ----------------------------------------------------------
.vscode/
.idea/
*.iml
*.swp
*.swo
*~
.DS_Store
Thumbs.db
Desktop.ini

# ---- Secrets / local config (MUST NOT be committed) -----------------------
# Either file may contain API keys. config.yaml is user-maintained.
config.yaml
.env
.env.*
!.env.example

# ---- Runtime state --------------------------------------------------------
# Per-user data directory the Flask app writes to (uploads, job outputs,
# uploaded reviewer databases). Contents may include pre-publication PDFs.
ai-paper-review-data/
runs/
uploads/

# PDFs (pre-publication content) — allowed only under examples/
*.pdf
!examples/*.pdf

# ---- Generated artifacts / stale backups ----------------------------------
CALIBRATION_CHANGELOG.md
*.bak
*.orig

# ---- Logs -----------------------------------------------------------------
*.log
logs/

# ---- Local build outputs --------------------------------------------------
*.zip
!examples/*.zip

# ---- Jupyter / notebook scratchpads --------------------------------------
.ipynb_checkpoints/
*.ipynb_meta

CLAUDE.md

