Code Knowledge Tool
Uma ferramenta de gestão de conhecimento para repositórios de código usando embeddings vetoriais, alimentada por um serviço local Ollama.
Documentação
Code Knowledge Tool
Uma ferramenta de gerenciamento de conhecimento para repositórios de código usando embeddings vetoriais. Esta ferramenta ajuda a manter e consultar conhecimento sobre sua base de código usando técnicas avançadas de embedding.
Construindo e Instalando
1. Construa o Pacote
Primeiro, você precisa construir os arquivos de distribuição:
# Clone the repository
git clone https://github.com/yourusername/code-knowledge-tool.git
cd code-knowledge-tool
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate
# Install build tools
python -m pip install --upgrade pip build
# Build the package
python -m build
Isso criará dois arquivos no diretório dist/:
- code_knowledge_tool-0.1.0-py3-none-any.whl (arquivo wheel para instalação)
- code_knowledge_tool-0.1.0.tar.gz (distribuição de código-fonte)
2. Instale o Pacote
Pré-requisitos
- Certifique-se de que o Ollama está instalado e em execução:
# Install Ollama (if not already installed)
curl https://ollama.ai/install.sh | sh
# Start Ollama service
ollama serve
- Instale o pacote:
Opção 1: Instalar a partir do arquivo wheel (recomendado para uso)
# Navigate to where you built the package
cd /path/to/code_knowledge_tool
# Install from the wheel file
pip install dist/code_knowledge_tool-0.1.0-py3-none-any.whl
Opção 2: Instalar em modo editável (recomendado para desenvolvimento)
Esta opção é melhor se você quiser modificar a ferramenta ou contribuir para seu desenvolvimento:
# Assuming you're already in the code-knowledge-tool directory
# and have activated your virtual environment
# Install in editable mode with development dependencies
pip install -e ".[dev]"
Integração com RooCode/Cline
- Copie a configuração do MCP para suas configurações:
Para Cline (VSCode):
# Open the settings file
open ~/Library/Application\ Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
Adicione esta configuração:
{
"mcpServers": {
"code_knowledge": {
"command": "python",
"args": ["-m", "code_knowledge_tool.mcp_tool"],
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
}
}
}
Para RooCode:
# Open the settings file
open ~/Library/Application\ Support/RooCode/roocode_config.json
Adicione a mesma configuração acima.
- Reinicie o RooCode/Cline para carregar a nova ferramenta.
Usando como Banco de Memória e Provedor de Contexto RAG
Esta ferramenta pode servir como banco de memória do seu projeto e provedor de contexto RAG. Para configurar isso:
- Copie o modelo fornecido para seu projeto:
cp clinerules_template.md /path/to/your/project/.clinerules
- Personalize as regras e padrões em .clinerules para as necessidades do seu projeto
O modelo inclui instruções abrangentes para:
- Gerenciamento da base de conhecimento
- Fluxos de trabalho de desenvolvimento baseados em RAG
- Diretrizes de qualidade de código
- Práticas de gerenciamento de memória
Consulte clinerules_template.md para a configuração completa e detalhes de uso.
Recursos
- Armazenamento vetorial local para conhecimento de código
- Geração eficiente de embeddings usando Ollama
- Suporte para múltiplos tipos de arquivo
- Compreensão de código sensível ao contexto
- Integração com RooCode e Cline via MCP
- Aumento de contexto baseado em RAG
- Armazenamento persistente de conhecimento
Requisitos
- Python 3.8 ou superior
- Serviço Ollama em execução localmente
- chromadb para operações vetoriais
Desenvolvimento
Executando Testes
O projeto segue uma abordagem de teste com foco em integração, priorizando funcionalidade de ponta a ponta e conformidade com o contrato MCP. A suíte de testes consiste em:
-
Testes de Contrato MCP
- Registro e execução de ferramentas
- Gerenciamento de recursos
- Operações de conhecimento
- Tratamento de erros
-
Testes de Construção do Pacote
- Verificação de instalação
- Resolução de dependências
- Inicialização do servidor MCP
- Funcionalidade básica
Para executar os testes:
# 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
Requisitos do Ambiente de Teste:
# Ensure Ollama is running
ollama serve
Os testes usam um diretório temporário (test_knowledge_store) que é limpo automaticamente entre execuções de teste.
Para mais detalhes sobre a estratégia e padrões de teste, consulte a documentação em docs/.
Distribuição Futura
Se você quiser disponibilizar este pacote via pip (ou seja, pip install code-knowledge-tool), você precisaria:
- Registrar uma conta no PyPI
- Instalar twine:
pip install twine - Enviar sua distribuição:
twine upload dist/*
No entanto, por enquanto, use os métodos de construção e instalação locais descritos acima.
Licença
Licença MIT