# Framework (Privacy-First Mode)
# ================================================================================
# This project uses Framework's privacy-first structure.
# All */private/ directories are gitignored by default.
# Only */public/ directories can be committed after explicit review.
#
# WORKFLOW:
#   1. Sensitive/raw data goes in */private/ directories (NEVER committed)
#   2. De-identified/aggregated data goes in */public/ directories (safe to commit)
#   3. Analysis scripts are committed, but outputs are carefully controlled
#
# CRITICAL: Private directories are NEVER committed to version control.
# ================================================================================

# ============================================================================
# SENSITIVE DATA - NEVER COMMIT
# ============================================================================

# Private directories - explicit paths for this project type
/inputs/private/
/reference/private/
/outputs/private/

# Generic private directory patterns (defense-in-depth)
**/private/**
**/*_private/**
**/sensitive/**

# Allow structure documentation (README and .gitkeep files in private dirs)
!/inputs/**/README.md
!/inputs/**/.gitkeep
!/reference/**/README.md
!/reference/**/.gitkeep
!/outputs/**/README.md
!/outputs/**/.gitkeep

# ============================================================================
# SECRETS AND CREDENTIALS - NEVER COMMIT
# ============================================================================

.env
.env.local
.env.*.local
.Renviron
.httr-oauth
**/credentials/**
**/secrets/**
*.key
*.pem
*.p12
*.pfx

# ============================================================================
# UTILITY & CACHE - SAFE TO IGNORE
# ============================================================================

# Temporary processing directories
**/cache/**
**/scratch/**
**/tmp/**
**/temp/**

# ============================================================================
# R ENVIRONMENT
# ============================================================================

# R session files
.Rproj.user/
.Rhistory
.RData
.Ruserdata
.Rapp.history
.Rprofile

# renv (package management)
# NOTE: Consider committing renv.lock for reproducibility
renv/library/
renv/local/
renv/cellar/
renv/lock/
renv/python/
renv/sandbox/
renv/staging/

# ============================================================================
# FRAMEWORK INTERNALS
# ============================================================================

framework.db
framework.db-wal
framework.db-shm
.initiated
.framework_renv_enabled
.framework_scaffolded

# ============================================================================
# QUARTO / RMARKDOWN ARTIFACTS
# ============================================================================

.quarto/
_freeze/
*_cache/
*_files/

# ============================================================================
# PYTHON (if using reticulate)
# ============================================================================

__pycache__/
.ipynb_checkpoints/
*.pyc
.pytest_cache/
venv/
.venv/

# ============================================================================
# IDE & SYSTEM FILES
# ============================================================================

# IDE - personal settings only (commit workspace settings if desired)
.idea/
.vscode/.history/
.positron/.history/
.history/

# macOS
.DS_Store
.AppleDouble
.LSOverride

# Windows
Thumbs.db
ehthumbs.db

# Linux
*~

# ============================================================================
# CLOUD/AWS CONFIG
# ============================================================================

.aws/
.config/

# ============================================================================
# TEMPORARY FILES
# ============================================================================

*.tmp
*.log
*.bak
*.swp
*~
