2.9 KiB
2.9 KiB
Here’s a polished README.md
for your project CodeRecall:
🧠 CodeRecall
Context-aware local AI assistant for developers using Ollama, ChromaDB, and VS Code’s Continue extension.
CodeRecall ingests your entire codebase — including Git history and diffs — into a local vector database (ChromaDB), enabling RAG-augmented queries via Ollama models right inside VS Code.
No cloud APIs. No latency. Full control.
🚀 Features
- 🔍 Semantic code search across multiple languages
- 📜 Git commit + diff embedding for code evolution awareness
- 🤖 RAG integration with local Ollama models (e.g. LLaMA 3)
- 💻 VS Code Continue extension support
- ⚙️ Configurable with a simple
config.ini
🧩 Project Structure
CodeRecall/
├── chroma_ingest.py # Ingest codebase + Git into ChromaDB
├── chroma_context_provider.py # VS Code Continue context provider
├── config.ini # Ollama + Chroma settings
├── chroma-db/ # ChromaDB persistence directory
└── config.json # Continue extension config
🔧 Setup
1. Install dependencies
pip install chromadb requests
Make sure you have:
- 🦙 Ollama installed and running
- ✅ Continue Extension for VS Code
- 🐙 Git repo initialized (optional but recommended)
2. Configure config.ini
[ollama]
url = http://localhost:11434
[chroma]
persist_directory = ./chroma-db
📥 Ingest your project
python chroma_ingest.py
This loads:
- Source code in common languages
- Markdown and text docs
- Git commit messages and full diffs
🧠 Add as a VS Code Context Provider
config.json
for Continue
{
"models": [
{
"title": "LLaMA 3 (Ollama)",
"provider": "ollama",
"model": "llama3",
"apiBase": "http://localhost:11434"
}
],
"contextProviders": [
{
"title": "ChromaDB Search",
"provider": "custom",
"path": "./chroma_context_provider.py"
}
]
}
✨ Usage
- Launch VS Code.
- Open the Continue sidebar.
- Set
"ChromaDB Search"
as your context provider. - Ask your model questions about your codebase, architecture, or commits.
Example prompt:
“How does the Git ingestion pipeline work?”
📌 Notes
- Default embedding model is
nomic-embed-text
(via Ollama). - Change
n_results
inchroma_context_provider.py
for broader/narrower context. - Works offline, no API keys required.
🧪 Roadmap Ideas
- Add OpenAPI spec ingestion
- Enable full-text search fallback
- Support for multi-repo ingestion
- Optional chunking for large diffs or files
🛡 License
Creative Commons Attribution-NonCommercial 4.0 International license.