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

# Frontend (excluded from this remote per project policy)
# frontend/

# Python
.venv/
venv/
.conda-worker/
__pycache__/
*.py[cod]
*$py.class
*.egg-info/
.eggs/
dist/
*.egg
.pytest_cache/
.mypy_cache/
.ruff_cache/
htmlcov/
.coverage
*.log

# IDE / tooling
.cursor/
.idea/
.vscode/

# OS
.DS_Store

# Model cache (runtime artifacts)
shared/resources/models/.locks/
shared/resources/models/**/.no_exist/
shared/resources/models/**/blobs/
shared/resources/models/**/snapshots/

# Generated gRPC/protobuf code (source of truth is proto/symba/v1/*.proto;
# regenerated by `make proto`). Keep the package __init__.py, ignore stubs.
src/symba/v1/*_pb2.py
src/symba/v1/*_pb2.pyi
src/symba/v1/*_pb2_grpc.py

# Local dev compose override (host port remaps to avoid clashes; not for CI/prod)
docker-compose.override.yml

# Build / misc
node_modules/

# Tooling / workspace
.antigravitycli/
.opencode/
.project-memory/
.sisyphus/
*.code-workspace

# Audit / analysis output
bandit_results.json

# Personal scratch files
rainer-bugs.md
docs/skill-requirements.md
docs/graph_build_and_benchmark_899443d7.plan.md
scripts/batch_upload.sh
