# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
# The licensing web app (web/) has its own TypeScript lib/ — the Python `lib/` rule
# above must NOT ignore it (else the app is missing modules on clone/deploy).
!web/lib/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Virtual Environment
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
.uv/

# IDE - VSCode
.vscode/
*.code-workspace
.history/

# IDE - PyCharm
.idea/
*.iml
*.iws
*.ipr
.idea_modules/

# IDE - Jupyter Notebook
.ipynb_checkpoints
*.ipynb

# Testing
.coverage
htmlcov/
.pytest_cache/
.tox/
.nox/
coverage.xml
*.cover
.hypothesis/

# Logs
*.log
logs/
log/

# GIS specific
*.shp
*.shx
*.dbf
*.prj
*.cpg
*.geojson
*.gpkg
*.tif
*.tiff
*.img
*.hdf
*.h5
*.nc
*.gdb/
*.mdb
*.sqlite
*.db

# OS specific
.DS_Store
Thumbs.db
desktop.ini

# Project specific
.cursor/
.claude/
CLAUDE.md
mcp.json
*.env
.env.local
.env.*.local

# Distribution
dist/
build/
*.egg-info/
*.egg

# Documentation
docs/_build/
site/
agents/OpenAI-Node/.env
agents/OpenAI-Node/node_modules/

# Cache
.cache/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# Temporary files
*.swp
*.swo
*~
*.bak
*.tmp
*.temp

# uv
uv.lock
.mcp.json
.agentsroom/handoff-transcript-*.txt
.agentsroom/handoff-summary-*.md

# Staging .mcpb bundle (plan/staging_environment.md §6.3) — built locally by
# make-staging-manifest.mjs, never checked in (only the production bundle is).
installer/mcpb/.staging-build/
installer/mcpb/*-staging*.mcpb

# Stray build artifacts that keep reappearing in the working tree.
# - a `mcpb pack` output copied to the repo root (`pub.mcpb`): the real bundle
#   is installer/mcpb/geoedge-mcp.mcpb, and a stale root copy is exactly the
#   kind of blob that gets published by mistake (see handoff.md's S-6).
# - favicon.ico dropped into the pack directory: .mcpbignore excludes *.ico,
#   but only after one shipped 114 KB of dead weight to every user. The icon
#   sources live in logo/.
/*.mcpb
installer/mcpb/*.ico

# Downloaded icon-set archives; their contents are unpacked into logo/ already.
logo/*.zip
