# Byte-compiled / caches
__pycache__/
*.py[cod]
.pytest_cache/
.ruff_cache/
.mypy_cache/
.pyre/
.tox/
.nox/

# Virtual environments (uv creates .venv/)
.venv/
venv/

# uv: uv.lock IS committed (see pyproject/dev docs); nothing to ignore here.

# Environment / secrets
.env
.env.*
!.env.example

# Test / coverage
.coverage
coverage.xml
htmlcov/

# Build artifacts
dist/
build/
*.egg-info/

# Databases / logs
*.db
*.sqlite
*.sqlite3
*.log

# Editors / OS
.DS_Store
.idea/
.vscode/
.codex/
.agents/

# Node (openclaw plugin package)
node_modules/

# npm pack/publish artifacts (npm publish dry-runs, `npm pack`)
openclaw-plugin-telem/*.tgz
opencode-plugin-telem/*.tgz
pi_coding/*.tgz

# Docs site (Astro/Starlight) — also covered by docs-site/.gitignore, listed
# explicitly per task brief
docs-site/dist/
docs-site/node_modules/
