Labsco
davidvc logo

Code Knowledge Tool

โ˜… 23

from davidvc

A knowledge management tool for code repositories using vector embeddings, powered by a local Ollama service.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

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.

Integration with RooCode/Cline

  1. Copy the MCP configuration to your settings:

For Cline (VSCode):

# Open the settings file
open ~/Library/Application\ Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json

Add this configuration:

{
  "mcpServers": {
    "code_knowledge": {
      "command": "python",
      "args": ["-m", "code_knowledge_tool.mcp_tool"],
      "env": {
        "PYTHONPATH": "${workspaceFolder}"
      }
    }
  }
}

For RooCode:

# Open the settings file
open ~/Library/Application\ Support/RooCode/roocode_config.json

Add the same configuration as above.

  1. 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:

  1. Copy the provided template to your project:
cp clinerules_template.md /path/to/your/project/.clinerules
  1. 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

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:

  1. MCP Contract Tests

    • Tool registration and execution
    • Resource management
    • Knowledge operations
    • Error handling
  2. Package Build Tests

    • Installation verification
    • Dependency resolution
    • MCP server initialization
    • Basic functionality

To run the tests:

# Install test dependencies
pip install -e ".[dev]"

# Run all tests
pytest

# Run specific test suites
pytest tests/integration/test_mcp_contract.py -v  # MCP functionality
pytest tests/integration/test_package_build.py -v  # Installation verification

Test Environment Requirements:

# Ensure Ollama is running
ollama serve

The tests use a temporary directory (test_knowledge_store) that is cleaned up automatically between test runs.

For more details on the testing strategy and patterns, see the documentation in docs/.

Future Distribution

If you want to make this package available through pip (i.e., pip install code-knowledge-tool), you would need to:

  1. Register an account on PyPI
  2. Install twine: pip install twine
  3. Upload your distribution: twine upload dist/*

However, for now, use the local build and installation methods described above.