# ── Secrets — never commit ────────────────────────────────────────────────────
# Live PyPI API token used by dev/publish-*.bat
**/dev/token.txt
**/token.txt
*.pem
*.key
.env
.env.*

# ── Virtual environments ──────────────────────────────────────────────────────
.venv/
venv/
env/
**/.venv/

# ── Python build / cache ──────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*.egg-info/
build/
dist/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# ── Atlas debug session logs ──────────────────────────────────────────────────
# Bug reports are per-session working files, not source. README.md is kept.
debug/atlas-*.jsonl
debug/atlas-*.md
debug/latest.md

# ── Large test / sample data — on disk, not in history ────────────────────────
# 364 MB of Bakken + Vaca Muerta shapefiles. Git is not a data store; keeping
# these out is what makes the repo clonable. They stay on disk untouched.
incubator/testing-data/
**/TestingData/
*.duckdb
*.zip

# Parked experiments (see CLAUDE.md) — ~58 MB, mostly binary assets.
# Untracked, not deleted. Remove this line if you want them versioned.
incubator/archive/

# Base-data build inputs and outputs — 2.5 GB: a 2.4 GB file geodatabase of PRISM land grids,
# a 119 MB counties shapefile and the 144 MB GeoPackage built from them. There is no source in
# this folder, only data; the scripts that build it live with the experiment. Same rule as
# testing-data above — git is not a data store, and this alone would make the repo unclonable.
incubator/env-base-data/

# Probe output from the flex-detect experiment. The BRIEF and README are the work; these are
# 3.3 MB of intermediate rasters and screenshots regenerated by running the probes.
incubator/flex-detect/probe_*.tif
incubator/flex-detect/probe_*.png

# Screenshots dropped in while reporting a bug. Same class as the debug/atlas-* rule above:
# per-session working files, not source.
debug/*.png

# 19 exported map PDFs, 15 MB of output with no source beside them. Same rule as
# env-base-data and testing-data above — the outputs of an experiment, not the experiment.
# They sit with the .pagx study that produced them.
archive/atlas-mapping/exports/

# NOT ignored, deliberately: incubator/aix-integration/aix-files/ — the three real ArcGIS Pro
# exports plus one companion PDF, 5.9 MB. Every claim about the format is checked against them and
# the conformance test diffs our output against them, so they are the ground truth rather than
# sample data. Losing them would mean losing the ability to verify anything.
#
# Which is exactly why the well data they were drawn from does NOT live in there: 590 MB of
# Eagle Ford lateral, DSU and inventory shapefiles were sitting inside that not-ignored folder,
# one `git add` away from being in the history permanently. They are in source-data/ now, and
# nothing in the study needs them — verifying the format needs the .aix, not its subject.
incubator/aix-integration/source-data/

# Output from the .aix inspector, regenerated by running it.
incubator/aix-integration/**/stream_*.bin

# ── Deck generator dependencies ──────────────────────────────────────────────────
# docs/enablement-presentation/ holds the .pptx and nothing else; everything used to
# build it is in working/. pptxgenjs is restored with `npm install pptxgenjs` there.
node_modules/
package-lock.json
docs/enablement-presentation/working/render/

# ── Editor / OS ───────────────────────────────────────────────────────────────
.idea/
.vscode/
*.swp
Thumbs.db
desktop.ini
$RECYCLE.BIN/

# ── Claude Code working state ─────────────────────────────────────────────────
.claude/worktrees/
.claude/shell-snapshots/
.claude/statsig/
.claude/todos/

# ── Scratch output ────────────────────────────────────────────────────────────
*.atlas.json.bak
*.bak-*

# ── Virtual environments the skill creates ────────────────────────────────────
# preflight.py builds skill/venv on the user's machine; it is platform-specific and large.
skill/venv/

# ── Handoff artifacts ─────────────────────────────────────────────────────────
# The .skill is rebuilt by package_skill.py and already versioned in releases/.
handoff/*.skill

# ── Model binaries in the incubator ───────────────────────────────────────────
# Esri .dlpk study material: 1.8 GB for ~600 MB of content, because every model is present
# three times (extracted + .dlpk + .zip). Reference only — never part of a release.
incubator/DeepLearningModelsESRI/
*.dlpk
*.pth
*.pt

