CLI tool for code repository indexing to enhance LLM prompting
Top 56.6% on sourcepulse
VectorCode is a command-line tool and Neovim plugin designed to enhance Large Language Model (LLM) interactions with codebases. It indexes code repositories, allowing users to programmatically inject relevant context into LLM prompts, thereby improving output quality and reducing hallucinations for closed-source, niche, or cutting-edge projects.
How It Works
VectorCode leverages a vector database (ChromaDB) to store embeddings of code chunks. It supports various embedding engines, with SentenceTransformer being the default. The tool offers features like configurable chunking, metadata inclusion, and smarter, syntax-aware chunking using py-tree-sitter
. It also respects .gitignore
and uses project root anchors for better detection.
Quick Start & Requirements
pip install vectorcode
Highlighted Details
py-tree-sitter
..gitignore
support for indexing.Maintenance & Community
The project acknowledges contributions from @milanglacier and @olimorris. Discussions are available for questions and usage sharing.
Licensing & Compatibility
The repository does not explicitly state a license in the provided README. Users should verify licensing for commercial or closed-source integration.
Limitations & Caveats
The project is in beta quality with basic retrieval and embedding functionalities. Remote ChromaDB support with authentication is not yet implemented, and there's no current method to view or delete individual files within a collection without re-vectorizing the entire project.
16 hours ago
1 day