VectorCode
@Davidyz
A code repository indexing tool to supercharge your LLM experience.
Overview
What is VectorCode?
VectorCode is a code repository indexing tool that helps build better prompts for coding LLMs by indexing and providing information about the code repository you are working on. It is aimed at developers who want to inject task-relevant project context into LLM prompts.
How to use VectorCode?
Install the Python package from PyPI, then use the command-line tool or configure the provided neovim plugin. Detailed setup and usage instructions are available in the CLI documentation and the neovim plugin documentation.
Key features of VectorCode
- Indexes code repositories for LLM context injection.
- Supports syntax/semantics-aware chunking via tree-sitter.
- Respects
.gitignorefiles during indexing. - Uses ChromaDB persistent client for vector storage.
- Includes a neovim plugin with Lua API.
- Integrates with the Model Context Protocol (MCP).
Use cases of VectorCode
- Improve LLM outputs on closed-source or obscure codebases.
- Reduce hallucination by providing relevant code context to the model.
- Enhance AI coding assistants in neovim with repository-aware retrieval.
- Browse, view, and delete indexed files within a collection.
FAQ from VectorCode
What runtime does VectorCode require?
VectorCode is a Python package available on PyPI. It also provides a neovim plugin that interfaces with the command-line tool.
Is VectorCode stable?
No, the project is in beta quality and undergoing rapid iterations. Versioning uses an adapted semantic versioning until 1.0.0.
What vector database does VectorCode use?
It uses ChromaDB with a persistent client for storing and retrieving code embeddings.
How does VectorCode detect the project root?
It uses .git directories or a custom .vectorcode.json file as project-root anchors.
Does VectorCode respect .gitignore?
Yes, files and directories listed in .gitignore are excluded from indexing.