Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 30 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ repository you're working on. This repository also contains the corresponding
neovim plugin because that's what I used to write this tool.

> [!NOTE]
> This project is in beta quality and only implements very basic retrieval and
> embedding functionalities. There are plenty of rooms for improvements and any
> help is welcomed.
> This project is in beta quality and is undergoing rapid iterations.
> I know there are plenty of rooms for improvements, and any help is welcomed.

> [!NOTE]
> [Chromadb](https://www.trychroma.com/), the vector database backend behind
Expand All @@ -24,8 +23,10 @@ neovim plugin because that's what I used to write this tool.

* [Why VectorCode?](#why-vectorcode)
* [Documentation](#documentation)
* [About Versioning](#about-versioning)
* [TODOs](#todos)
* [Credit](#credit)
* [Star History](#star-history)

<!-- mtoc-end -->

Expand Down Expand Up @@ -59,6 +60,23 @@ If you're trying to contribute to this project, take a look at [the contribution
guide](./docs/CONTRIBUTING.md), which contains information about some basic
guidelines that you should follow and tips that you may find helpful.

### About Versioning

This project follows an adapted semantic versioning:

- Until 1.0.0 is released, the _major version number_ stays 0 which indicates that
this project is still in early stage, and features/interfaces may change from
time to time;
- The _minor version number_ indicates __breaking changes__. When I decide to remove a
feature/config option, the actual removal will happen when I bump the minor
version number. Therefore, if you want to avoid breaking a working setup, you
may choose to use a version constraint like `"vectorcode<0.7.0"`;
- The _patch version number_ indicates __non-breaking changes__. This can include new
features and bug fixes. When I decide to deprecate things, I will make a new
release with bumped patch version. Until the minor version number is bumped,
the deprecated feature will still work but you'll see a warning. It's
recommended to update your setup to adapt the new features.

## TODOs
- [x] query by ~file path~ excluded paths;
- [x] chunking support;
Expand All @@ -72,14 +90,17 @@ guidelines that you should follow and tips that you may find helpful.
been indexed~ Returns empty array instead;
- [x] job pool for async caching;
- [x] [persistent-client](https://docs.trychroma.com/docs/run-chroma/persistent-client);
- [-] proper [remote Chromadb](https://docs.trychroma.com/production/administration/auth) support (with authentication, etc.);
- [ ] proper [remote Chromadb](https://docs.trychroma.com/production/administration/auth) support (with authentication, etc.);
- [x] respect `.gitignore`;
- [x] implement some sort of project-root anchors (such as `.git` or a custom
`.vectorcode.json`) that enhances automatic project-root detection.
**Implemented project-level `.vectorcode/` and `.git` as root anchor**
- [ ] ability to view and delete files in a collection (atm you can only `drop`
and `vectorise` again);
- [x] joint search (kinda, using codecompanion.nvim/MCP).
- [x] joint search (kinda, using codecompanion.nvim/MCP);
- [ ] Nix support (#144);
- [ ] Query rewriting (#124).


## Credit

Expand All @@ -89,3 +110,7 @@ guidelines that you should follow and tips that you may find helpful.
when this project made initial attempts at tool-calling;
- Thank [@ravitemer](https://github.com/ravitemer) for the help to interface
VectorCode with [MCP](https://modelcontextprotocol.io/introduction).

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=Davidyz/VectorCode&type=Date)](https://www.star-history.com/#Davidyz/VectorCode&Date)
8 changes: 4 additions & 4 deletions doc/VectorCode.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ Table of Contents *VectorCode-table-of-contents*

INSTALLATION *VectorCode-neovim-plugin-installation*

Use your favourite plugin manager.
Use your favorite plugin manager.

>lua
{
"Davidyz/VectorCode",
version = "*", -- optional, depending on whether you're on nightly or release
version = "<0.7.0", -- optional, depending on whether you're on nightly or release
dependencies = { "nvim-lua/plenary.nvim" },
cmd = "VectorCode", -- if you're lazy-loading VectorCode
}
Expand All @@ -79,8 +79,8 @@ you can use the following plugin spec:
>lua
{
"Davidyz/VectorCode",
version = "*", -- optional, depending on whether you're on nightly or release
build = "pipx upgrade vectorcode", -- optional but recommended if you set `version = "*"`
version = "*",
build = "pipx upgrade vectorcode", -- recommended if you set `version = "*"` or follow the main branch
dependencies = { "nvim-lua/plenary.nvim" },
}
<
Expand Down
4 changes: 4 additions & 0 deletions docs/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,10 @@ The JSON configuration file may hold the following values:
to automatically detect the encoding, but this is not very accurate,
especially on small files.

See
[the wiki](https://github.com/Davidyz/VectorCode/wiki/Default-Configuration#default-cli-configuration)
for an example of the default configuration.

### Vectorising Your Code

Run `vectorcode vectorise <path_to_your_file>` or `vectorcode vectorise
Expand Down
8 changes: 4 additions & 4 deletions docs/neovim.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@
<!-- mtoc-end -->

## Installation
Use your favourite plugin manager.
Use your favorite plugin manager.

```lua
{
"Davidyz/VectorCode",
version = "*", -- optional, depending on whether you're on nightly or release
version = "<0.7.0", -- optional, depending on whether you're on nightly or release
dependencies = { "nvim-lua/plenary.nvim" },
cmd = "VectorCode", -- if you're lazy-loading VectorCode
}
Expand All @@ -69,8 +69,8 @@ you can use the following plugin spec:
```lua
{
"Davidyz/VectorCode",
version = "*", -- optional, depending on whether you're on nightly or release
build = "pipx upgrade vectorcode", -- optional but recommended if you set `version = "*"`
version = "*",
build = "pipx upgrade vectorcode", -- recommended if you set `version = "*"` or follow the main branch
dependencies = { "nvim-lua/plenary.nvim" },
}
```
Expand Down