A knowledge management tool for code repositories using vector embeddings.
Created byApr 23, 2025
Code Knowledge Tool
A knowledge management tool for code repositories using vector embeddings. This tool helps maintain and query knowledge about your codebase using advanced embedding techniques.
Building and Installing
1. Build the Package
First, you need to build the distribution files:
This will create two files in the dist/ directory:
code_knowledge_tool-0.1.0-py3-none-any.whl (wheel file for installation)
Option 1: Install from wheel file (recommended for usage)
Option 2: Install in editable mode (recommended for development)
This option is best if you want to modify the tool or contribute to its development:
Integration with RooCode/Cline
Copy the MCP configuration to your settings:
For Cline (VSCode):
Add this configuration:
For RooCode:
Add the same configuration as above.
Restart RooCode/Cline to load the new tool.
Using as Memory Bank and RAG Context Provider
This tool can serve as your project's memory bank and RAG context provider. To set this up:
Copy the provided template to your project:
Customize the rules and patterns in .clinerules for your project's needs
The template includes comprehensive instructions for:
Knowledge base management
RAG-based development workflows
Code quality guidelines
Memory management practices
See clinerules_template.md for the full configuration and usage details.
Features
Local vector storage for code knowledge
Efficient embedding generation using Ollama
Support for multiple file types
Context-aware code understanding
Integration with RooCode and Cline via MCP
RAG-based context augmentation
Persistent knowledge storage
Requirements
Python 3.8 or higher
Ollama service running locally
chromadb for vector operations
Development
Running Tests
The project follows an integration-first testing approach, focusing on end-to-end functionality and MCP contract compliance. The test suite consists of: