VectorCode logo

VectorCode

by Davidyz

VectorCode is a code repository indexing tool that helps you write better prompts for coding LLMs. It indexes and provides information about the code repository you're working on.

View on GitHub

Last updated: N/A

What is VectorCode?

VectorCode is a tool designed to enhance the capabilities of Large Language Models (LLMs) when working with code repositories. It indexes the code, providing context to the LLM for more accurate and relevant code completion and suggestions.

How to use VectorCode?

VectorCode can be used as a command-line tool or as a Neovim plugin. The CLI documentation provides instructions for setting up and using the command-line tool, while the Neovim plugin documentation details the setup for Neovim users. The tool vectorizes your code and stores it in a vector database, which is then queried by the LLM to provide context-aware suggestions.

Key features of VectorCode

  • Code repository indexing

  • RAG (Retrieval-Augmented Generation) for LLMs

  • CLI tool

  • Neovim plugin

  • Chunking support

  • Respects .gitignore

  • Project root detection

Use cases of VectorCode

  • Improving code completion accuracy with LLMs

  • Providing context to LLMs for closed-source or less-known projects

  • Generating more relevant code suggestions

  • Assisting with code understanding and navigation

  • Integrating with AI completion and chat plugins

FAQ from VectorCode

What vector database does VectorCode use?

VectorCode uses ChromaDB as its vector database backend.

Which embedding engines are supported?

While developed using SentenceTransformer, ChromaDB supports multiple embedding engines. Users are encouraged to report issues with other embedding functions.

How do I contribute to VectorCode?

Refer to the contribution guide for basic guidelines and helpful tips.

Does VectorCode respect .gitignore?

Yes, VectorCode respects the .gitignore file to exclude specified files and directories from indexing.

How does VectorCode detect the project root?

VectorCode uses project-level .vectorcode/ and .git directories as root anchors for automatic project-root detection.