# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
# lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
venv/
ENV/
.venv/

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

# Testing
.pytest_cache/
.pytest-tmp*/
.test-tmp/
.coverage
htmlcov/
.uv-cache/
.pip-audit-cache/

# Project specific
.visp-memory/data/
# The store this package created for itself under its previous name. Still on
# disk in some checkouts, still full of real local memories.
.llm-memory/
*.db
# SQLite's write-ahead sidecars. `*.db` alone left these stageable, so a
# `git add -A` before publication would have committed the contents of a local
# store that the line above exists to keep out.
*.db-wal
*.db-shm
*.db-journal
chroma_db/
# Local docker-compose secrets (use .env.example as the template)
.env
.env.*
!.env.example
# Exports contain local memory data, not project source.
migration-export/

# OS
.DS_Store
Thumbs.db

# Node.js / Next.js
node_modules/
.npm-cache/
.next/
out/
build/

# Agent Artifacts
.gemini/
qa-docs/
.codex-local/
plan/

# Build artifacts
src/visp_memory/server/static/
*.spec.log
# ArcadeDB embedded driver writes rotating logs here at runtime
log/
*.tar.gz
*.whl
dist-standalone/
.ruff_cache/
.playwright-cache/

# Agent tooling scratch space. Worktrees contain full repository copies and must
# never be committed.
.claude/worktrees/
.agents/
.codex/

# Per-project memory config, generated by `visp-memory init`. Tracking it pins one
# user's embedding/vector choices onto everyone who clones -- a committed
# `provider: sentence-transformers` reintroduced the missing-provider warning for
# anyone on the lean install.
visp-memory.yaml
