# Project Brief: Chat with Code Repository Tool
## Core Mission
Create a Python-based tool that enables conversational interaction with local code repositories through vector embeddings, exposed as an MCP tool for Cline and RooCode integration.
## Key Requirements
### Must Have
- Local file system repository access
- Local embedding engine (Ollama with Llama-3)
- Local vector database (Chroma)
- MCP tool integration with Cline and RooCode
### Technical Scope
- Language: Python 3.8+
- Core Dependencies:
- chromadb for vector operations
- Integration with local Ollama service
- MCP protocol implementation
### Key Constraints
- Repository access limited to local file system
- All components (embedding engine, vector DB) must run locally
- Response time < 5 seconds for typical queries
- Memory usage < 1GB for typical repositories
- Support repositories up to 100MB in size
## Success Criteria
1. Allows Cline and RooCode to incrementally add knowledge about a codebase to it's memory bank db
2. Allows the memory bank of the project requirements and status to not have to be included in
every LLM query. Instead it can pick the context it needs out of the memory bank db and include
that in the query.
5. Provides clear, relevant responses to code queries