# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
# Anchored to the repo root: the bare `lib/`/`lib64/` Python-build rules were
# greedily swallowing the SvelteKit `web/viewer/src/lib/` data layer.
/lib/
/lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Logs
*.log

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# manyagent local config (committed template is manyagent.env.example)
manyagent.env

# Reference / scratch asciinema recordings dropped into the repo root
*.cast

# Rope project settings
.ropeproject

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# Ruff stuff:
.ruff_cache/

# PyPI configuration file
.pypirc

# Supabase
supabase/.temp/
supabase/.branches/

# Cloudflare Tunnel — rendered ingress configs + credentials are machine-specific
# / secret; only infra/cloudflared/README.md is committed (see Makefile *-tunnel-*).
infra/cloudflared/*.yml
infra/cloudflared/*.json
infra/cloudflared/cert.pem

# MkDocs build output
site/

# Node / SvelteKit viewer (manyagent.web; web/viewer/)
node_modules/
web/viewer/build/
web/viewer/.svelte-kit/
# legacy paths kept in ignore in case stale local artifacts exist
src/manyagent/web/app/build/
src/manyagent/web/app/.svelte-kit/

# Local artifacts
.claude/
scratch/
*.db
