cat > .gitignore <<'EOF'
# macOS
.DS_Store

# Python
__pycache__/
*.py[cod]

# Virtualenv
.venv/

# IDEs
.idea/
.vscode/

# Ruff
.ruff_cache/

# Pytest
.pytest_cache/

# Build artifacts
dist/
build/
*.egg-info/
EOF
__pycache__/ *.pyc
__pycache__/
*.pyc
