# 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
MANIFEST

# Virtual env
.venv/
venv/
env/
ENV/

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/
.hypothesis/

# Node (from praxis template; harmless to keep)
node_modules/
*.tsbuildinfo
npm-debug.log*

# Local operator state
.env
.env.local
*.local
.DS_Store
Thumbs.db

# Editor
.vscode/*
!.vscode/settings.json
!.vscode/extensions.json
.idea/
*.swp
*.swo

# Logs
*.log

# Assets inbox (ephemeral drops per praxis convention)
assets/inbox/*
!assets/inbox/.gitkeep
!assets/inbox/README.md

# Claude settings (local overrides)
.claude/settings.local.json

# Local scratch
scratch/
*.local.md

# Operator-private (praxis + Claude Code harness)
CLAUDE.md
.claude/
.githooks/
.praxis-tickets.json
.praxis-version
docs/
sources/
assets/
