Repository
Codebase Indexing RepoRequirements
Environment Variables
In each of the respective directories, you will need to create a.env
file and add the following environment variables.
Codebase Indexer
MCP Server
Frontend
For the frontend, you can set the following environment variables depending on the provider you are using.HelixDB
You will need to have a HelixDB instance running. Go to the root of this repository and run the following command to deploy the HelixDB instance:Rust & Cargo
You will need to have Rust and Cargo installed. Then, you can install the dependencies for the codebase indexer with the following command:Python
You will need to have Python installed. Create a new virtual environment and install the dependencies. You can do this with uv:Node.js
You will need to have Node.js installed. Then you can install the dependencies for the frontend with the following command:Running the Codebase Indexer
Clone the Codebase
The current implementation requires your codebase to be cloned into thesrc
folder inside the codebase_index
directory.
Custom Code Entities (Optional)
You can include custom code entities for supported languages in thecodebase_index/src/index-types.json
file.
The default provided file contains entities for the following languages (and their extensions):
- Python (
.py
) - JavaScript (
.js
,.jsx
,.mjs
,.cjs
, etc.) - TypeScript (
.ts
,.tsx
,.mts
,.cts
, etc.) - C (
.c
) - C++ (
.cpp
,.hpp
,.h
, etc.) - Rust (
.rs
) - Zig (
.zig
)
Custom File Extensions (Optional)
You can include custom file extensions in thecodebase_index/src/file_types.json
file.
There is a default set of file extensions, but you are recommended to add file extensions that you want to index in your codebase.
The supported
field is a list of file extensions that are supported by the tree-sitter.
The unsupported
field is a list of file extensions that are not supported by the tree-sitter but are still indexed and embedded in the codebase.
Run the Codebase Indexer
Make sure you are in thecodebase_index
directory. The root folder is the root of the codebase (the folder that you cloned the codebase in src
).
- Ingest the codebase (1)
- Update the codebase (2)
- Exit (3)
Running the MCP Server
Make sure you are in themcp_server
directory.
http://localhost:8000
.
Cursor
Go to Cursor’s settings and add the following to themcp.json
file:
Windsurf
Go to Windsurf’s Casecade chat and click on the mcp server icon under the chat box, then clickConfigure
.
Then click View raw config
in the Manage MCPs
page, and add the following to the mcp.json
file:
Manage MCPs
page and click Refresh
to reload the MCPs, and you should see the codebase-index
MCP server listed.
Make sure your MCP server is running before you refresh the MCPs.
Useful IDE Rules
Here are some useful rules you can use to improve your experience:Running the Frontend Chat UI
Make sure you are in thefrontend
directory and have the MCP server running.
http://localhost:3000
.