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

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

# Distribution
build/
dist/
sdist/
wheels/

# uv lockfile — published MCP package, lockfile not required for reproducibility
uv.lock

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

# Type checking
.mypy_cache/
.pyre/
.pytype/

# IDE
.idea/
.vscode/
*.swp
*.swo
opencode.json
.cursorrules
.claude/
.codex/
.mcp.json
AGENTS.md

# Environment files
.env
.env.*
!.env.example

# OS files
.DS_Store
**/.DS_Store
Thumbs.db

# Notebook metadata
.ipynb_checkpoints/
*.ipynb

# Lint cache
.ruff_cache/

# Logs
*.log

# Examples / local captures
example/
examples/

# Project specific
debug_*.py
*.bak
_settings.json
_last_error.json
scopes.json
x_bpm/
.tmp*/
.servicenow_mcp/
.mfa_servicenow_mcp/

# External tool artifacts
.playwright-mcp/
.sisyphus/

# Website (GitHub Pages)
website/site/
website/.cache/

# Flow Designer network capture (contains session cookies / X-UserToken — never commit)
scripts/_cap/
scripts/processflow_capture.json
scripts/live_result.json

# Downloaded instance sources (customer code/scopes/sys_ids — NEVER commit).
# download_app_sources / download_portal_sources default to ./temp when run
# with the repo as cwd; one `git add -A` after a real download would push
# customer data to this PUBLIC repo without this guard.
temp/
