# Secrets / credentials
.env
scripts/config/elevenlabs.txt
scripts/config/ee-geodetic.json
scripts/config/*.json
scripts/config/*.txt
*-service-account*.json
# conf/ holds a Google service-account key with a private_key field. The rules
# above only covered scripts/config/, so a `git add .` here would have
# committed it to a public repo. Match the filename anywhere, not just one dir.
conf/
ee-geodetic.json
**/ee-geodetic.json

# Raw satellite inputs (large / licensed) — keep the folder's README
data/*
!data/README.md

# Generated change-detection result images (reproduce with detect.py)
images/deforestation_*
images/mining_*
images/urbanization_*
images/urban-trend_*
images/flood_*
images/burn_*
images/water_*

# Per-run change-detection outputs (detect.py writes output/<run-id>/)
output/

# Generated map products (reproduce with detect.py --map / make_map.py)
maps/

# Large binary outputs (regenerate with scripts)
audio/
scenes/
*.mp4
*.mp3

# Temp files
/tmp/
*.pyc
__pycache__/

# macOS
.DS_Store

# Python packaging build artifacts
build/
dist/
*.egg-info/
.eggs/

# ...but reveal.js ships its core CSS and JS in a directory called dist/, and
# the blanket rule above silently swallowed it. The published deck then loaded
# as an unstyled single-page document -- every slide stacked vertically, no
# reveal.js at all -- while rendering perfectly from the local filesystem,
# because the files WERE on disk and only missing from the repository.
# Negate the directory itself: git will not descend into an excluded directory,
# so re-including only the files inside it would not work.
!docs/gee-js/site_libs/revealjs/dist/
!docs/gee-js/site_libs/revealjs/dist/**

# API docs are generated in CI (pdoc) and deployed by the docs workflow
docs/api/
grok_understand.md
.gstack/

# Stray R session history, swept in by a directory-wide git add
.Rhistory
.RData
.Rproj.user/
