# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
.venv/
venv/
ENV/

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

# OS
.DS_Store
Thumbs.db

# Logs
*.log

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

# Cache
.cache/
*.cache

# Evidence (local only)
.claude/evidence/

# Temporary files
tmp/
temp/

# Local-only artifacts (never ship stale SBOMs as truth)
artifacts/
memory/

# Tool Caches
.ruff_cache/
.mypy_cache/
.playwright-cli/
output/playwright/

# Databases
*.sqlite3
chroma_db/
.pytest_cache/
.hypothesis/

# Coverage (regenerate locally; never track)
.coverage
.coverage.*
htmlcov/

# Agent worktrees (Orca/Claude scaffolding — never track)
.claude/worktrees/

# Artifacts
*.backup
*.egg-info/
*.db
# Generated local demo evidence; regenerate before use.
docs/DEMO_DRY_RUN_LATEST.md

# .hyodo/ mixes team-shared policy with per-machine runtime state; ignore
# everything except the policy files (see docs/CONNECT.md "What to commit").
.hyodo/*
!.hyodo/policy.toml
!.hyodo/gates.toml

# Mutation testing
cosmic-ray.session
mutants/
.mutmut-cache

# hyodo.app site (Astro/Starlight) build output and caches
site/node_modules/
site/dist/
site/.astro/

site/verify-output/
.seals/
