A repository-aware code intelligence engine powered by call graphs, repository maps, and vector search.
RepoMind analyzes a full codebase and builds a structured understanding of it using:
- Static repository structure analysis
- Function-level call graph extraction
- Semantic code search (Qdrant)
- LLM-based reasoning over code context
Currently optimized for local LLM inference via LM Studio.
- 📁 Repository structure mapping (modules, files, importance scoring)
- 🔗 Static call graph generation (cross-file function tracking)
- 🧠 Semantic code search using embeddings
- 💬 LLM-powered chat over codebase
- ⚡ Incremental indexing support
- 📦 Local-first architecture (no cloud dependency required)
RepoMind is still in early development.
- ❗ Only works with LM Studio (OpenAI-compatible local API)
- ❗ No OpenAI / cloud API support yet
- ❗ Requires Qdrant running locally
- ❗ No UI (CLI-only experience)
RepoMind builds 3 intelligence layers:
- File & folder structure
- Module classification
- Importance scoring
- Function-level relationships
- Cross-file dependencies
- Execution flow inference
- Unresolved edges tracking
- Code chunk embeddings
- Semantic retrieval
- Context ranking for LLM prompts
src/
│
├── chat.py # Main Q&A interface
├── indexer.py # Embedding + Qdrant indexing
├── repo_map.py # Repository structure analysis
├── call_graph.py # Static function call graph
├── search.py # Semantic search engine
├── reranker.py # Context reranking
├── memory.py # Chat memory layer
├── config.py # Local config (ignored by git)
├── config.example.py # Example config for setup
│
├── cache/ # Generated artifacts
└── workspace/ # Cloned repositories
- Python 3.10+
pip install -r requirements.txtdocker pull qdrant/qdrantdocker run -p 6333:6333 -p 6334:6334 -v qdrant_storage:/qdrant/storage qdrant/qdrantcp src/config.example.py src/config.pyEdit only this line:
REPO_URL = "https://github.com/your-username/your-repo.git"RepoMind currently uses LM Studio as the only supported LLM backend.
Make sure:
- LM Studio is running
- Server is enabled
- API endpoint is:
http://localhost:1234/v1
In config.py:
LMSTUDIO_URL = "http://localhost:1234/v1"
LMSTUDIO_KEY = "lm-studio"python -m src.repo_mapOutput:
src/cache/repo_map.json
python -m src.call_graphOutput:
src/cache/call_graph.json
python -m src.indexerThis step:
- Clones repo
- Chunks code
- Generates embeddings
- Stores vectors in Qdrant
python -m src.chatTry:
Explain websocket flow step by step
Trace login request from client to server response
Where is authentication handled in the system?
How does call graph resolve cross-file functions?
RepoMind combines:
- 📁 Structural understanding (repo map)
- 🔗 Execution relationships (call graph)
- 🔍 Semantic search (vector DB)
- 🧠 LLM reasoning (LM Studio)
This creates a multi-layer code reasoning system.
config.pyis ignored in git (contains local settings)cache/is auto-generatedworkspace/contains cloned repositories- Always run from project root
- First run may take time due to indexing
Planned improvements:
- Multi-repo support
- OpenAI / Claude backend support
- Web UI (graph + chat)
- Real-time AST-based call graph
- Incremental background indexing
- Better unresolved call resolution
MIT