__pycache__/
.pytest_cache/
.learnings/
.venv-task-rag-server/
.venv/
venv/
scripts/__pycache__/
tests/__pycache__/

# LightRAG runtime data
kv_store_*.json
vdb_*.json
graph_chunk_entity_relation.graphml

# Runtime data
tasks/rag/containers/
# Runtime config / token / queue DBs (config_kv holds Fernet-encrypted api_keys;
# token DB holds usage). Never commit local run artifacts.
tasks/rag/*.db
tasks/rag/*.db-wal
tasks/rag/*.db-shm
memory/
memory_archive/

# Environment
.env

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

# Dashboard (Vite/pnpm) build artifacts
node_modules/
*.tsbuildinfo

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

# OS
.DS_Store
Thumbs.db

# Coverage
htmlcov/
.coverage
coverage.xml

# Secrets (defensive)
.env.*
!.env.example
*.pem
*.key

# Local dev notes (never publish)
.local/
.notes/
.drafts/
DEPLOY_ISSUES_*.md

# Host-specific compose override (auto-loaded by docker compose). The
# tracked .example.yml template is exempt — operators copy it on first install.
docker-compose.override.yml
docker-compose.override.*.yml
!docker-compose.override.example.yml

# v0.7.0+ multi-embedding config — references env names, but operators may
# inadvertently inline secrets; the example template is the only tracked form.
/config/profiles.yaml

# E2E test results / screenshots
test-results/
dashboard/test-results/

# uv lockfile — project deps are pinned via pyproject + pip in the Dockerfile
# (no `uv sync --frozen` in build/CI); a uv.lock only appears when an ad-hoc
# `uv run` test env materialises one. Untracked artifact, not a deliverable.
uv.lock

