# === Dependencies ===
node_modules/
vendor/
.venv/
venv/
__pycache__/
*.pyc

# === IDE & Editors ===
.idea/
.vscode/
*.swp
*.swo
*~
.DS_Store
Thumbs.db

# === OS Files ===
.DS_Store
.AppleDouble
.LSOverride
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Desktop.ini

# === Environment & Secrets ===
.env
.env.*
!.env.example
*.pem
*.key
*.cert

# === Build & Dist ===
dist/
build/
out/
*.min.json

# === Research source PDFs (extract to .txt; never commit the PDF) ===
research/**/*.pdf

# === Research scratch: raw source dumps & landscape notes ===
# Per-sector scratch, kept local until promoted to a tracked provenance dir.
# Since 2026-08-03 canonical raw captures are COMMITTED under sources/ (see
# sources/README.md); packages migrate there as they are touched. Until a
# package migrates, its raw pulls stay in these ignored research/ dirs.
research/_landscape/
research/_next-dataset/
research/formation-professionnelle/
research/mobilis/
research/mosquees/
research/ooredoo/
research/pharmacies/
research/sante/
research/tourisme/
# Local bus feasibility pulls stay scratch until reviewed and promoted through
# the canonical sources/buses source-store workflow.
research/buses/osm/
# Local reverse-engineering and OSM extracts are reproducible working inputs,
# not reviewable Source captures.
research/buses/agents/apk-audit/**/extracted/
research/stations-services/osm/extracts/
# The commune-centre audit's raw Overpass responses (55 MB of way-member lists and
# full boundary geometry). The reviewable capture next to them, admin-relations.json
# plus containment.json, is committed; the raw is a reproducible working input.
research/_commune-centres/osm-*/overpass-raw.json
research/_commune-centres/osm-*/overpass-geometry-raw.json
# _pharma-landscape/ is a tracked provenance dir — ignore only its raw scratch files
research/_pharma-landscape/mip-distribution-gros.txt
research/_pharma-landscape/mip-exploitation.txt
research/_pharma-landscape/mip-importation.txt
research/_pharma-landscape/mip-promotion.txt
research/_pharma-landscape/unresolved-for-research.json

# === Logs ===
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# === Claude Code & AI ===
.claude/
.agents/
CLAUDE.md
.cursorrules
.cursor/
.aider*
.copilot/

# === Generated release/marketing artifacts ===
.release-notes/

# === Local dev docs (never publish) ===
.local/
docs/drafts/
notes/
*.memo
MEMORY.md

# === Temporary local plans; durable issues live in private GitHub ===
.scratch/

# Service-account keys live in the workspace-level keys/ folder; never in a repo
keys/
*.iam.gserviceaccount.json
