# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
# Anchored to the repo root on purpose. Unanchored, `lib/` also matches
# `ui/src/lib/`, which silently kept the web UI's entire API client and helpers
# out of git — the build then worked locally, from files on disk, and failed in
# CI from a clean checkout. The same trap applies to `build/`, `dist/` and `var/`.
/build/
/develop-eggs/
/dist/
/downloads/
/eggs/
/.eggs/
/lib/
/lib64/
/parts/
/sdist/
/var/
/wheels/
*.egg-info/
.installed.cfg
*.egg

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

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

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

# minilake specific
data/
.certs/
certs/
*.duckdb
*.duckdb.wal
*.db

# Environment
.env
.env.local
.env.*.local

# Terraform
.terraform/
*.tfstate
*.tfstate.*
.terraform.lock.hcl

# Docker
docker-compose.override.yml

# OS
.DS_Store
Thumbs.db

# Claude Code local settings (machine-specific; .claude/CLAUDE.md IS tracked)
.claude/settings.local.json
.claude/scheduled_tasks.lock

# Built web UI, staged into the package by `cd ui && pnpm build` (see docs/ui.md)
src/minilake/ui_static/

# Local agent tooling, alongside .claude/ and .mcp.json — not project configuration
.agents/
