# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg-info/
*.egg
dist/
build/
.eggs/

# Virtual environments
.venv/
venv/
env/

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# Testing
.coverage
htmlcov/
.pytest_cache/
.mypy_cache/

# Environment
.env
.env.local
.env.*.local

# OS
.DS_Store
Thumbs.db
desktop.ini

# Node (frontend)
node_modules/
.next/
out/
.turbo/

# Static-site build output (regenerated by scripts/build_site.py) — ignore the whole
# tree EXCEPT the vault-derived, CI-guarded artifacts: the knowledge-graph
# (scripts/build_graph.py --check) and the autonomy counters
# (scripts/build_autonomy.py --check). These are the only site/ files whose source is the
# vault rather than a brief page, so they are versioned the way vault/02 Briefs/README.md
# (the brief index) is — diff-visible and verifiable on a fresh checkout. Without this,
# the corresponding `--check` guards fail every CI run (no baseline to compare against).
site/*
!site/graph.json
!site/graph.html
!site/autonomy.json
!site/autonomy.html
_site/

# Logs
*.log
logs/

# Docker
.docker/

# Misc
*.bak
*.tmp
.cache/

# Smoke artifacts (regenerated by scripts/smoke_whatif.py)
_smoke/

# Owner-private / machine-local — NEVER ship to the public repo (privacy gate C1b).
# settings.local.json carries this box's absolute hook paths (lean-ctx, package-cooldown);
# dependency-cooldown-policy.md is HemySphere-internal fleet doctrine inherited from the
# project-template scaffold, unrelated to azimuth's public demonstrator purpose.
.claude/settings.local.json
.claude/dependency-cooldown-policy.md
