# ContextFS Configuration
# Copy to .env and modify as needed
# =============================================================================
# STORAGE BACKEND SELECTION
# =============================================================================
# Options: sqlite (default), postgres, sqlite+falkordb, postgres+falkordb
# - sqlite: Local SQLite + ChromaDB (default, zero config)
# - postgres: PostgreSQL with pgvector + Apache AGE (unified)
# - sqlite+falkordb: SQLite + ChromaDB + FalkorDB graph
# - postgres+falkordb: PostgreSQL + FalkorDB graph
CONTEXTFS_BACKEND=sqlite
# =============================================================================
# DATA DIRECTORY (for sqlite/chromadb backends)
# =============================================================================
CONTEXTFS_DATA_DIR=~/.contextfs
# =============================================================================
# SQLITE CONFIGURATION
# =============================================================================
# Database filename (relative to DATA_DIR)
CONTEXTFS_SQLITE_FILENAME=context.db
# =============================================================================
# POSTGRESQL CONFIGURATION
# =============================================================================
# Connection string format: postgresql://user:password@host:port/database
CONTEXTFS_POSTGRES_URL=postgresql://contextfs:contextfs@localhost:5432/contextfs
# Enable pgvector extension for semantic search
CONTEXTFS_POSTGRES_PGVECTOR=true
# Enable Apache AGE extension for graph operations
CONTEXTFS_POSTGRES_AGE=true
# =============================================================================
# CHROMADB CONFIGURATION
# =============================================================================
# Embedding model for semantic search
CONTEXTFS_EMBEDDING_MODEL=all-MiniLM-L6-v2
# Embedding backend: auto (fastembed if installed, else sentence_transformers),
# fastembed (ONNX, faster), or sentence_transformers
CONTEXTFS_EMBEDDING_BACKEND=auto
# GPU acceleration: true, false, or empty for auto-detect
CONTEXTFS_USE_GPU=
# Parallel workers for embedding (empty = auto)
CONTEXTFS_EMBEDDING_PARALLEL_WORKERS=
# ChromaDB collection name
CONTEXTFS_CHROMA_COLLECTION=contextfs_memories
# ChromaDB server mode (optional, for remote ChromaDB)
# Leave empty for embedded mode
CONTEXTFS_CHROMA_HOST=
CONTEXTFS_CHROMA_PORT=8000
# =============================================================================
# FALKORDB CONFIGURATION (Graph Backend)
# =============================================================================
# Enable FalkorDB for advanced graph operations
CONTEXTFS_FALKORDB_ENABLED=false
# FalkorDB connection settings
CONTEXTFS_FALKORDB_HOST=localhost
CONTEXTFS_FALKORDB_PORT=6379
CONTEXTFS_FALKORDB_PASSWORD=
CONTEXTFS_FALKORDB_GRAPH_NAME=contextfs_memory
# =============================================================================
# MEMORY LINEAGE SETTINGS
# =============================================================================
# Enable automatic lineage tracking on memory updates
CONTEXTFS_LINEAGE_AUTO_TRACK=true
# Default merge strategy: union, intersection, latest, oldest
CONTEXTFS_LINEAGE_MERGE_STRATEGY=union
# Preserve tags when evolving memories
CONTEXTFS_LINEAGE_PRESERVE_TAGS=true
# =============================================================================
# SEARCH SETTINGS
# =============================================================================
# Default number of search results
CONTEXTFS_DEFAULT_SEARCH_LIMIT=10
# Minimum similarity score for semantic search (0.0-1.0)
CONTEXTFS_MIN_SIMILARITY_SCORE=0.3
# =============================================================================
# INDEXING SETTINGS
# =============================================================================
# Maximum git commits to index per repo (0 = unlimited)
CONTEXTFS_MAX_COMMITS=100
# =============================================================================
# SESSION SETTINGS
# =============================================================================
# Auto-save sessions on exit
CONTEXTFS_AUTO_SAVE_SESSIONS=true
# Session timeout in minutes
CONTEXTFS_SESSION_TIMEOUT_MINUTES=60
# =============================================================================
# API KEYS (Optional - for LLM-powered features)
# =============================================================================
CONTEXTFS_ANTHROPIC_API_KEY=
CONTEXTFS_OPENAI_API_KEY=
# Default AI model for summaries: claude or openai
CONTEXTFS_DEFAULT_AI_MODEL=claude
CONTEXTFS_CLAUDE_MODEL=claude-3-sonnet-20240229
CONTEXTFS_OPENAI_MODEL=gpt-3.5-turbo
# =============================================================================
# MCP SERVER SETTINGS
# =============================================================================
# Enable MCP server
CONTEXTFS_MCP_ENABLED=true
# MCP server port (for HTTP mode)
CONTEXTFS_MCP_PORT=3000
# =============================================================================
# LOGGING
# =============================================================================
# Log level: DEBUG, INFO, WARNING, ERROR
CONTEXTFS_LOG_LEVEL=INFO
# Log file (empty for stdout only)
CONTEXTFS_LOG_FILE=
# =============================================================================
# DEVELOPMENT / TESTING
# =============================================================================
# Enable debug mode
CONTEXTFS_DEBUG=false
# Test mode (uses in-memory databases)
CONTEXTFS_TEST_MODE=false