codebase-management
SocratiCode Management
Set up, index, and manage SocratiCode codebase indexing, file watching, code graphs, and context artifacts.
First-Time Setup
- Check infrastructure:
codebase_health— verifies Docker, Qdrant, Ollama/embedding provider, and embedding model - Start indexing:
codebase_index— runs in background, returns immediately - Poll progress:
codebase_status— call every ~60 seconds until 100% complete- This also keeps the MCP connection alive (some hosts disconnect idle connections)
- Done: Graph auto-builds after indexing. File watcher auto-starts. Ready to search.
On first use, SocratiCode automatically pulls Docker images, starts containers, and downloads the embedding model (~5 min one-time setup).
Incremental Updates & File Watching
The file watcher keeps the index automatically updated. It auto-starts after indexing.
codebase_watch { action: "start" }— start the watcher (runs catch-up update first)codebase_watch { action: "stop" }— stop the watchercodebase_watch { action: "status" }— list watched projects (including cross-process)codebase_update— manual incremental update (only changed files, synchronous). Usually not needed if watcher is active.
Managing Indexes
codebase_stop— gracefully pause in-progress indexing. Current batch finishes and checkpoints. All progress preserved. Resume withcodebase_index.codebase_remove— delete entire index (destructive). Safely stops watcher, cancels indexing, waits for graph builds.codebase_list_projects— list all indexed projects with metadata, graph info, and artifact status.
Managing the Code Graph
The dependency graph is auto-built after indexing. Manual management is rarely needed.
codebase_graph_build— manually rebuild (background, async). Poll withcodebase_graph_status.codebase_graph_remove— delete graph (auto-rebuilds on nextcodebase_index)codebase_graph_status— check build progress or graph readiness
Context Artifacts Setup
To index non-code knowledge, create .socraticodecontextartifacts.json in the project root:
{
"artifacts": [
{
"name": "database-schema",
"path": "./docs/schema.sql",
"description": "PostgreSQL schema — all tables, indexes, constraints, foreign keys."
}
]
}
Supported types: SQL schemas, OpenAPI/Protobuf API specs, Terraform/CloudFormation configs, Kubernetes manifests, architecture docs, environment configs — any text-based file or directory.
codebase_context_index— manually index/re-index all artifacts (usually auto-triggered)codebase_context_remove— remove all indexed artifacts (blocked during indexing)
Troubleshooting
| Problem | Solution |
|---|---|
| Docker not available | Install Docker Desktop from https://docker.com, ensure it's running |
| Slow indexing on macOS/Windows | Docker can't use GPU. Install native Ollama from https://ollama.com/download for Metal/CUDA acceleration. Or use cloud embeddings. |
| Want cloud embeddings instead | Set EMBEDDING_PROVIDER=openai + OPENAI_API_KEY, or EMBEDDING_PROVIDER=google + GOOGLE_API_KEY |
| Search returns no results | Check codebase_status — project may not be indexed. Run codebase_index. |
| Stale results | Check if watcher is active (codebase_status). Run codebase_update or codebase_watch { action: "start" }. |
| Indexing was interrupted | Run codebase_index again — it resumes from the last checkpoint automatically. |
| Another process is indexing | codebase_status detects cross-process indexing. Wait for it, or use codebase_stop. |
Key Environment Variables
| Variable | Default | Description |
|---|---|---|
QDRANT_MODE |
managed |
managed (Docker) or external (remote/cloud Qdrant) |
QDRANT_URL |
— | Full URL for remote Qdrant (e.g. https://xyz.cloud.qdrant.io:6333) |
QDRANT_API_KEY |
— | API key for remote Qdrant |
EMBEDDING_PROVIDER |
ollama |
ollama, openai, or google |
OPENAI_API_KEY |
— | Required when EMBEDDING_PROVIDER=openai |
GOOGLE_API_KEY |
— | Required when EMBEDDING_PROVIDER=google |
OLLAMA_MODE |
auto |
auto (detect native, fallback Docker), docker, external |
EMBEDDING_MODEL |
nomic-embed-text |
Model name (provider-specific) |
SEARCH_DEFAULT_LIMIT |
10 |
Default result limit for codebase_search (1-50) |
SEARCH_MIN_SCORE |
0.10 |
Default minimum RRF score threshold (0-1) |
MAX_FILE_SIZE_MB |
5 |
Maximum file size for indexing in MB |
EXTRA_EXTENSIONS |
— | Additional file extensions to index (e.g. .tpl,.blade,.hbs) |
For full parameter details on every tool, see references/tool-reference.md.