# Python
__pycache__/
*.py[cod]
*.pyo
*.pyd
.Python
*.egg-info/
dist/
build/
.eggs/
*.egg
*.whl

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

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

# Type checking
.mypy_cache/

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

# OS
.DS_Store
Thumbs.db

# Distribution
dist/
*.tar.gz

# Jupyter
.ipynb_checkpoints/
*.ipynb
!demo.ipynb
!examples/openpkflow_tour.ipynb

# Local config/secrets
.env
*.local

# Claude / CommandCode local files
.claude/
.commandcode/

# Session context (auto-generated)
handout/

# Reports generated during tests (but allow templates and docs)
*.pdf
*.html
*.docx
*.xlsx
!src/**/*.html
!examples/**/*.html
!docs/**
!webapp/index.html

# MkDocs generated site
site/
!site/
site/*
!site/app/
!site/app/index.html

# Uploaded images
*.png
!docs/**/*.png

# Frontend tooling (never ship in sdist)
webapp/node_modules/
webapp/test-results/
webapp/playwright-report/
webapp/vite-dev.log
**/node_modules/

# Cloudflare / Wrangler local state (account metadata)
.wrangler/
wrangler.toml.bak

# Local handoff archives / extraction (not package source)
Untitled-handoff.zip
untitled-handoff-extracted/
*-handoff.zip
*-handoff-extracted/
