better-code-review-graph

Grafo de conhecimento para revisões de código com eficiência de tokens, utilizando parsing Tree-sitter, incorporação de modo duplo (ONNX + LiteLLM) e análise de raio de impacto via ferramentas MCP.

Documentação

Better Code Review Graph

Renomeado (2026-09-13): o repositório agora é crg — prioridade para CLI (comando crg). O pacote PyPI permanece better-code-review-graph; o servidor MCP é uma superfície secundária.

mcp-name: io.github.n24q02m/better-code-review-graph

Grafo de conhecimento para revisões de código eficientes em tokens — busca semântica e resolução de grafo de chamadas em todo o seu código.

Mode CI codecov PyPI License: Apache-2.0

Python MCP semantic-release Renovate

Projetos irmãos de n24q02m (clique para expandir)
ProjetoTaglineTag
agent-chat-pluginAgentes de IA pares conversam em uma pasta compartilhada — sem retransmissão humana, sem orquestrador, fun...Ferramenta
better-code-review-graphGrafo de conhecimento para revisões de código eficientes em tokens — busca semântica e resolução de cha...MCP
better-driveSincronização bidirecional com Google Drive com filtro .driveignore — mecanismo rclone, bandeja do WindowsFerramenta
better-email-mcpE-mail IMAP/SMTP para agentes de IA — ler, enviar, organizar pastas e gerenciar anex...MCP
better-godot-mcpServidor MCP composto para Godot Engine — 17 ferramentas compostas para jogos assistidos por IA...MCP
better-notion-mcpNotion com prioridade para Markdown para agentes de IA — páginas, bancos de dados, blocos e comentários...MCP
better-semantic-releaseFork substituto do python-semantic-release com proteções de segurança de release integradas (orp...)Ferramenta
better-telegram-mcpTelegram para agentes de IA — mensagens, conversas, mídia e contatos em ambos os bo...MCP
better-workspace-mcpServidor MCP do Google Workspace (Docs/Drive/Calendar/Gmail/Sheets/Slides/Tasks/Ch...)MCP
claude-pluginsMarketplace de plugins do Claude Code para os servidores MCP da n24q02m — instale busca we...Marketplace
imagine-mcpCompreensão de imagem e vídeo + geração para agentes de IA — em Gemini, Op...MCP
jules-task-archiverExtensão do Chrome para operações em lote em tarefas do Jules via API batchexecute — a...Ferramenta
mcp-coreFundação compartilhada para construir servidores MCP — transporte HTTP Streamable, OAut...MCP
mnemo-mcpMemória persistente de IA com busca híbrida e sincronização incorporada. Aberto, gratuito, ilimit...MCP
fastretrievalRuntime rápido de recuperação multimodelo para embeddings ONNX e GGUF, reordenação e contratos de modeloBiblioteca
skretSegredos sem o servidor.CLI
tacetUma cascata neuro-simbólica autodestilante que amortiza o custo de LLM em conheci...Ferramenta
web-corePacote compartilhado de infraestrutura web para busca, raspagem, segurança HTTP e st...Biblioteca
wet-mcpServidor MCP de código aberto para agentes de IA: busca web, extração de conteúdo e lib...MCP
better-code-review-graph MCP server

Um servidor MCP que analisa seu código com Tree-sitter, constrói um grafo estrutural de funções/classes/importações e dá ao Claude (ou a qualquer cliente MCP) contexto preciso para que ele leia apenas o que importa, em vez da árvore inteira. A busca semântica é executada por meio do registro local de modelos ONNX do fastretrieval por padrão (zero configuração, sem chave de API), com uma cadeia opcional de embeddings em nuvem. Fork do code-review-graph com busca multipalavra corrigida, resolução qualificada de chamadas, embeddings de modo duplo, paginação de saída e CI/CD de produção.

Migração v2.0 (QUEBRA)

A v2.0 adiciona colunas temporais (valid_from_sha / valid_to_sha em cada nó + aresta) e um scanner de segurança opcional. A migração de esquema é aplicada automaticamente na primeira abertura do GraphStore, e um backup do banco de dados pré-2.0 é salvo em <graph_db>.pre-2.0.bak para que você possa reverter. Consulte BREAKING_CHANGES.md para a lista completa de mudanças de esquema, mudanças de comportamento, requisitos de ambiente e o procedimento de downgrade (CRG_DOWNGRADE_TO_1_X=1 uv run better-code-review-graph).

Sumário

Instalação

Para OMP e outros harnesses locais de codificação, a superfície principal é o CLI do pacote mais os fluxos de trabalho skills/ incluídos. As skills invocam o CLI diretamente e não exigem um mapeamento de servidor MCP.

# Run without a persistent install (short `crg` script; PyPI package name stays
# better-code-review-graph, so `uvx` needs the explicit --from form)
uvx --python 3.13 --from better-code-review-graph crg graph build --full-rebuild \
  --repo-root /path/to/repo
uvx --python 3.13 --from better-code-review-graph crg graph stats \
  --repo-root /path/to/repo

# Or install the console scripts (installs both `crg` and the legacy long name)
pip install better-code-review-graph
crg query search --search-query "authentication" \
  --repo-root /path/to/repo

O mecanismo opcional Semgrep para varreduras de segurança mais profundas é um extra separado:

pip install 'better-code-review-graph[security]'

O MCP stdio permanece um adaptador de protocolo secundário para clientes que o exigem:

{
  "mcpServers": {
    "better-code-review-graph": {
      "command": "uvx",
      "args": ["--python", "3.13", "better-code-review-graph"],
      "env": { "MCP_TRANSPORT": "stdio" }
    }
  }
}

Matriz de instalação (stdio, salvo indicação em contrário; o uso com prioridade para CLI acima permanece a superfície principal):

ClienteInstalação
Claude Code (plugin)/plugin marketplace add n24q02m/claude-plugins e depois /plugin install better-code-review-graph@n24q02m-plugins
Claude Code (stdio)claude mcp add better-code-review-graph -- uvx --python 3.13 better-code-review-graph
Codexregistre o comando stdio uvx --python 3.13 better-code-review-graph em mcp_servers no ~/.codex/config.toml
Gemini CLIadicione o JSON mcpServers acima em ~/.gemini/settings.json
Cursor / Windsurfadicione o JSON mcpServers acima por meio das configurações de MCP do cliente (mcp.json)
Qualquer cliente (HTTP self-host)aponte o cliente para https://<your-host>/mcp (MCP_TRANSPORT=http) — somente self-host, sem endpoint hospedado

Instale com um agente de IA — cole isto no seu agente de codificação de IA:

Instale o servidor MCP better-code-review-graph seguindo os passos em https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/better-code-review-graph/setup-with-agent.md

O uso completo do CLI está em CLI. A configuração opcional de MCP por cliente está em mcp.n24q02m.com/servers/better-code-review-graph/setup/.

Limite local-first

O CRG é local-first para fluxos de trabalho de codificação:

  • CLI e Skills incluídas são as superfícies principais para construção/consulta de grafo, análise de impacto, contexto de revisão, varreduras de segurança e integração de repositório.
  • MCP stdio é o adaptador de protocolo secundário sobre os mesmos serviços locais de domínio; ele não mantém uma implementação de grafo separada.
  • O estado do grafo permanece em <repo>/.better-code-review-graph/graph.db a menos que uma configuração explícita multiusuário/self-host selecione outro diretório de dados.
  • PyPI, CI, varredura de segurança, releases do GitHub e publicação elegível de MCP Registry estável permanecem ativos. Tags OCI públicas históricas são mantidas, mas novas imagens públicas do Docker Hub/GHCR não são mais publicadas.
  • O CRG não tem runtime Cloudflare hospedado na topologia alvo.

Smithery

O repositório inclui um smithery.yaml para que o servidor possa ser compilado e executado por meio do Smithery. Ele é implantado via stdio e não precisa de configuração de inicialização — o esquema de configuração está vazio, e quaisquer chaves opcionais de embedding/resumo em nuvem são fornecidas em tempo de execução por meio do fluxo de configuração do próprio servidor (consulte Configuração abaixo). O comando de inicialização é a mesma invocação uvx de uma instalação local:

startCommand:
  type: stdio
  commandFunction: |-
    (config) => ({ command: 'uvx', args: ['--python', '3.13', 'better-code-review-graph'] })

Configuração

Tudo funciona pronto para uso com zero configuração — a busca semântica usa o registro local ONNX do fastretrieval (Qwen3-Embedding-0.6B é a entrada de referência integrada atual, ~570 MB baixados na primeira graph embed). Esta entrada de referência não é um limite exclusivo do Qwen: qualquer ID de registro integrado ou manifesto de artefato não-Qwen válido segue o mesmo resolvedor. Todas as variáveis de ambiente abaixo são opcionais e só são necessárias para embeddings em nuvem, resumos de LLM ou um artefato local BYO explícito.

Seleção de modelo

Embeddings selecionam a primeira entrada provider/model em EMBEDDING_MODELS; entradas posteriores são mantidas como configuração, mas não são fallbacks em tempo de execução. Resumos selecionam a primeira entrada SUMMARY_MODELS também, sem fallback em tempo de execução. Provedores são inferidos a partir de prefixos de modelo e usam o <PROVIDER>_API_KEY correspondente.

VariávelFinalidadeVazio (padrão)
EMBEDDING_MODELSSeleção de embedding em nuvem; a primeira entrada está ativaRegistro local fastretrieval
SUMMARY_MODELSSeleção de modelo de conclusão para graph(action="summarize")Resumos desativados

Cohere embed-v4.0 solicita e armazena 1024 dimensões; outros backends mantêm armazenamento de 768 dimensões. O CRG nunca divide, preenche ou aceita silenciosamente uma largura diferente de provedor. O modelo e a largura em bytes da linha de embedding devem corresponder antes da reutilização. Execute graph(action="embed") após alterar modelos ou atualizar um índice Cohere antigo de 768 de largura. Buscas rejeitam larguras incompatíveis antes de uma chamada de provedor; nós do grafo são mantidos e o re-embedding substitui apenas vetores obsoletos.

Chaves de API do provedor

Modelos em nuvem precisam da chave do provedor para o prefixo de modelo selecionado. Chaves sozinhas nunca selecionam modelos: uma cadeia de embeddings vazia permanece local, e uma cadeia de resumos vazia permanece desativada. Um erro de nuvem configurado não faz fallback para local ou outro provedor. Sumarizadores exigem um modelo de conclusão de chat.

Prefixo de modeloVariável de env da chave de APIObter uma chave
jina_ai/JINA_AI_API_KEYhttps://jina.ai/api-key
gemini/GEMINI_API_KEY (ou GOOGLE_API_KEY)https://aistudio.google.com/apikey
openai/ (ou text-embedding-* simples)OPENAI_API_KEYhttps://platform.openai.com/api-keys
cohere/COHERE_API_KEYhttps://dashboard.cohere.com/api-keys
openrouter/OPENROUTER_API_KEYhttps://openrouter.ai/settings/keys
vertex_express/GOOGLE_VERTEX_EXPRESS_API_KEYhttps://cloud.google.com/vertex-ai/generative-ai/docs/start/express-mode/overview

Avançado

VariávelFinalidade
EMBEDDING_API_BASEEndpoint compatível com provedor para embedding em nuvem, incluindo CF AI Gateway (protegido contra SSRF)
LLM_API_BASEURL base compatível com provedor para o sumarizador, incluindo CF AI Gateway (protegido contra SSRF)
DISABLE_LOCAL_EMBEDPular o download local do ONNX; embedding fica indisponível a menos que uma cadeia em nuvem esteja configurada
LOCAL_EMBEDDING_MODELID de modelo integrado fastretrieval, ou um diretório local contendo fastretrieval-manifest.json
LOCAL_RERANK_MODELID de modelo TextCrossEncoder do Fastretrieval para reordenação semântica limitada
LOCAL_EMBEDDING_DIMDimensão necessária para um ID de modelo externo sem manifesto
LOCAL_EMBEDDING_MODEL_FILECaminho do arquivo ONNX dentro de um diretório de artefato com manifesto
LOCAL_EMBEDDING_POOLINGPooling explícito para um ID externo sem manifesto: CLS, MEAN, LAST_TOKEN ou DISABLED
LOCAL_EMBEDDING_NORMALIZENormalização L2 explícita para um ID externo sem manifesto
CRG_DATA_DIRSubstituir o diretório de dados por usuário (padrão ~/.crg) usado para grafos e credenciais por usuário no modo HTTP multiusuário
EMBEDDING_BACKEND / EMBEDDING_MODEL / SUMMARY_MODELObsoletas variáveis singulares, honradas por um release com aviso — migre para as cadeias *_MODELS
Quando LOCAL_RERANK_MODEL está configurado, a busca vetorial semântica recupera um
pool candidato limitado de min(max(limit * 4, limit), 100) linhas, aplica os
filtros existentes de kind, repo e linhas ativas, depois reordena esse pool e retorna
no máximo limit linhas. A resposta usa search_mode="semantic_reranked" e
adiciona rerank_score preservando similarity_score. Em branco mantém o
caminho vetorial existente de limit * 2 e search_mode="semantic". Falhas
configuradas no reordenador retornam um erro explícito; o CRG não faz fallback silencioso para
resultados vetoriais ou de palavras-chave. Buscas por palavras-chave, incluindo snapshots de as_of, não
invocam o reordenador.

Exemplo -- embeddings em nuvem + resumos

{
  "mcpServers": {
    "better-code-review-graph": {
      "command": "uvx",
      "args": ["--python", "3.13", "better-code-review-graph"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "EMBEDDING_MODELS": "cohere/embed-v4.0",
        "SUMMARY_MODELS": "openrouter/minimax/minimax-m3:free",
        "EMBEDDING_API_BASE": "https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/cohere/v2/embed",
        "LLM_API_BASE": "https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/openrouter/v1",
        "COHERE_API_KEY": "<cohere-key>",
        "OPENROUTER_API_KEY": "<openrouter-key>"
      }
    }
  }
}

O embedding da Cohere é pago. Autorize um orçamento limitado antes de um índice/consulta ao vivo; a escolha de conclusão sem Minimax não torna os embeddings gratuitos. Este exemplo não adiciona uma substituição de modelo em todo o processo: credenciais de assunto ausentes falham de forma fechada em vez de herdar o ambiente do servidor.

O CRG atualmente não tem chamada de reordenação em nuvem: LOCAL_RERANK_MODEL é seu único caminho de reordenação. Definir RERANK_MODELS ou RERANK_API_BASE não habilita uma.

Ferramentas

Seis ferramentas, cada uma agrupando ações relacionadas para manter a superfície de ferramentas pequena.

graph -- Ciclo de vida do grafo

Ações: build | update | stats | embed | export | summarize

AçãoDescrição
buildConstrução de grafo completa ou incremental. Defina full_rebuild=true para reanalisar todos os arquivos; passe roots para federar diretórios de repositório extras em um único grafo.
updateAlias para build com full_rebuild=false (incremental).
statsTamanho do grafo, idiomas, detalhamento de nós/arestas, contagem de embeddings.
embedCalcula embeddings vetoriais para busca semântica. Modo duplo: ONNX local ou cadeia em nuvem.
exportExporta o grafo como graphml / json-ld / dot / cypher. Em linha ou para output_path.
summarizeDocstrings de um parágrafo geradas por LLM para nós de Function (via a primeira entrada explícita de SUMMARY_MODELS; sem operação quando nenhum modelo é selecionado). Chamadas limitadas por max_nodes.

query -- Consultas ao grafo

Ações: query | search | impact | large_functions | spot_check | renamed_in_diff | diff

AçãoDescrição
queryPadrões predefinidos: callers_of, callees_of, imports_of, importers_of, children_of, tests_for, inheritors_of, file_summary.
searchBusca entidades de código por nome/palavra-chave ou similaridade semântica.
impactRaio de impacto de arquivos alterados. Detecta automaticamente a partir do git diff. Paginado com max_results.
large_functionsEncontra funções/classes que excedem um limite de contagem de linhas.
spot_checkTrechos aleatórios de locais de chamada do último resultado de callers_of/callees_of/inheritors_of/importers_of.
renamed_in_diffSímbolos cuja linha de local de chamada mudou em relação a uma referência base.
diffNós adicionados/removidos/modificados entre dois SHAs de commit (from_sha, to_sha).

A maioria das ações de leitura aceita as_of=<sha> para snapshots temporais (ponto no tempo) e repo=<repo_id> para escopar um grafo federado de múltiplos repositórios.

review -- Contexto de revisão de código

Ações: context (padrão) | delta

Contexto de revisão otimizado para tokens com resumo estrutural, nós impactados, trechos de código e orientação de revisão. context detecta automaticamente arquivos alterados a partir do git diff; delta (com from_sha/to_sha, show_line_shifts opcional) superficializa movimentos de refatoração entre dois commits.

config -- Configuração do servidor e configuração de credenciais

Ações: status | set | cache_clear | setup_status | setup_start | setup_skip | setup_reset | setup_complete

AçãoDescrição
statusInformações do servidor: versão, caminho do grafo, contagens de nós/arestas, backend de embeddings, contagem de embeddings.
setAtualiza uma configuração de tempo de execução (key=log_level).
cache_clearRemove todos os embeddings calculados.
setup_statusMostra o estado atual das credenciais e quais células de modelo têm chaves.
setup_startExplica onde o host configura chaves de API (células de modelo de propriedade do host).
setup_skipDefine o modo local (embedding ONNX local, sem células em nuvem).
setup_resetRedefine o estado para local; a configuração do host é re-resolvida na próxima chamada.
setup_completeRe-resolve o estado das credenciais a partir da configuração do host.

security -- Varredura de segurança

Ações: scan | report | suppress | rule_list

AçãoDescrição
scanExecuta uma varredura de segurança (engine='heuristic' padrão = 5 regras regex, ou 'semgrep'). Descobertas persistem em nodes.security_tags.
reportReemite descobertas em cache como JSON (format='json') ou SARIF v2.1.0 (format='sarif').
suppressSuprime uma descoberta por rule_id (ou remove=true para desfazer a supressão).
rule_listLista as regras disponíveis para um mecanismo.

O mecanismo semgrep requer o extra [security] e executa o pacote de registro p/auto do Semgrep mais uma sobreposição curada de 3 regras.

help -- Documentação completa

Tópicos: graph | query | review | config | security | recipes

Retorna documentação completa para cada ferramenta. Use quando as descrições comprimidas acima forem insuficientes.

CLI

O pacote instala dois scripts de console: crg (principal) e better-code-review-graph (nome longo legado). Executar qualquer um deles sem argumentos inicia o servidor MCP via stdio; um argumento posicional inicial roteia para um subcomando CLI local que chama os mesmos serviços de domínio usados pelo adaptador MCP. Execute-os diretamente após pip install, ou sem uma instalação persistente via uvx --python 3.13 --from better-code-review-graph crg ....

# Start the MCP server over stdio (default -- no subcommand)
crg

# Build, inspect, and embed the local graph
crg graph build
crg graph stats
crg graph embed

# Query relationships and impact
crg query query \
  --pattern callers_of --target "path/to/module.py::function"
crg query search --search-query "authentication"
crg query impact --changed-files src/app.py

# Produce review context and run a local security scan
crg review context --base HEAD~1
crg security scan --engine heuristic
ComandoDescrição
graph buildConstrução de grafo completa ou incremental. --full-rebuild reanalisa cada arquivo; --base <ref> define a referência de diff incremental; --repo-root <path> substitui a detecção automática.
graph embedCalcula embeddings vetoriais usando ONNX local ou a cadeia em nuvem configurada.
graph stats / graph export / graph import / graph summarizeInspeciona, exporta/importa um grafo portátil de crg ou resume funções.
query query / query searchExecuta padrões de relacionamento ou busca por palavra-chave/semântica.
query impact / query large_functionsAnalisa o raio de impacto de arquivos alterados ou encontra nós superdimensionados.
query spot_check / query renamed_in_diff / query diffInspeciona locais de chamada, mudanças de linha ou mudanças de grafo entre commits.
review context / review deltaGera contexto de revisão ou buckets de diff para uma mudança de código.
security scan / security report / security suppress / security rule_listExecuta e gerencia descobertas de segurança heurísticas/Semgrep.

Subcomandos CLI imprimem JSON estruturado e saem com código não zero em caso de erro.

Recursos

O que este fork corrige em relação ao upstream code-review-graph:

Recursocode-review-graphbetter-code-review-graph
Busca multi-palavraQuebrada (substring literal)Divisão de palavras com lógica AND
callers_of/callees_ofResultados vazios (alvos de nome simples)Resolução de nome qualificado + fallback simples
Embeddingsentence-transformers + torch (1,1 GB)fastretrieval ONNX + nuvem (200 MB), modo duplo
Tamanho da saídaIlimitado (500K+ caracteres)Paginado (max_results, flag truncado)
Design de ferramentas9 ferramentas individuais6 ferramentas agrupadas: grafo + consulta + revisão + configuração + segurança + ajuda
Hooks de pluginPostEdit/PostGit inválidosPostToolUse válido

Comparação

Como o better-code-review-graph se compara aos concorrentes diretos em cada pilar:

Capacidadebetter-code-review-graphGreptileSourcegraph (Cody / MCP)CodeGraph (colbymchenry)
Grafo de conhecimento do códigoSim (Tree-sitter, 14 idiomas, SQLite)Sim (funções/classes/deps)Sim (indexação precisa de código)Sim (Tree-sitter, 20+ idiomas, SQLite)
Atualizações incrementais persistentesSim (git-diff + reanálise por hash de arquivo)?Sim (indexação contínua)Sim (observador de arquivos do SO com debounce)
Resolução qualificada de chamadas (callers/callees)Sim (resolução de chamadas simples no mesmo arquivo + fallback)?Sim (ir para definição / encontrar referências)Sim (callers / callees / impacto)
Busca semântica / embeddingsSim (registro local fastretrieval + Jina/Gemini/OpenAI/Cohere em nuvem)?Sim (semântica + palavra-chave + regex)Não (somente texto completo FTS5)
Contexto de revisão otimizado para tokensSim (ferramenta review, escopo por git-diff)Sim (comentários de revisão de PR)Não (assistente de contexto de código)Não (camada de contexto, não revisão)
Varredura de segurançaSim (Semgrep p/auto + sobreposição de 3 regras, SARIF)??Não
Auto-hospedávelSim (stdio padrão, vinculado à máquina)Sim (Docker / K8s / air-gapped)Sim (instância auto-hospedada)Sim (100% local, sem chaves de API)
Gratuito / código abertoSim (Apache-2.0)Não (SaaS proprietário; camada OSS gratuita)Não (licença Enterprise, código privado)Sim (MIT)

Fontes: Greptile · Preços do Greptile · Sourcegraph MCP · CodeGraph. Células marcadas com ? são capacidades que o concorrente não documenta publicamente, não ausências confirmadas.

Segurança

  • Seleção explícita -- Erros de embedding em nuvem são relatados; o tempo de execução não troca silenciosamente de modelo nem faz fallback para ONNX local.
  • Tratamento de erros -- Ferramentas retornam strings de erro com sugestões de correção, nunca travam.
  • Montagem somente leitura -- O modo Docker monta o repositório como :ro (somente leitura).
  • Endpoints protegidos contra SSRF -- URLs personalizadas de EMBEDDING_API_BASE / LLM_API_BASE são validadas antes de qualquer chamada de saída.

Para relatar uma vulnerabilidade, consulte SECURITY.md.

Compilar a partir do código-fonte

git clone https://github.com/n24q02m/crg
cd better-code-review-graph
uv sync --group dev
uv run pytest
uv run better-code-review-graph

Requisitos: Python 3.13, uv.

Modelo de confiança

Este plugin implementa TC-Local (vinculado à máquina, principal de confiança único). Consulte o modelo de confiança do mcp-core para a classificação completa.

ModoBanco de dados do grafoCredenciais em nuvemQuem pode ler seus dados?
stdio (padrão)<repo>/.better-code-review-graph/graph.db (ignorado pelo git)~/.better-code-review-graph-mcp/config.json (AES-GCM, chave vinculada à máquina)Somente seu usuário do SO
HTTP auto-hospedado (multi-usuário)~/.crg/subs/<sub>/graph.db por usuário~/.crg/subs/<sub>/config.json por usuárioSomente o usuário autenticado

Migração e changelog

O grafo, o cache de varredura de segurança e o estado de supressão agora usam o diretório .better-code-review-graph/ de propriedade do pacote. Execute graph(action="build", full_rebuild=true) uma vez após a atualização, seguido por graph(action="embed") se a busca semântica for necessária. Os caminhos antigos ambíguos .code-review-graph/ e .code-review-graph.db e seus sidecars SQLite são deixados intocados: eles podem pertencer ao pacote upstream separado. Revise e reaplique quaisquer regras de supressão desejadas explicitamente.

O lançamento v2.0 adicionou colunas temporais (valid_from_sha / valid_to_sha em cada nó e aresta) além de um scanner de segurança opcional. A migração de esquema é aplicada automaticamente na primeira abertura de GraphStore, e um backup do banco de dados pré-2.0 é gravado em <graph_db>.pre-2.0.bak. Para fazer downgrade e restaurá-lo:

CRG_DOWNGRADE_TO_1_X=1 uvx better-code-review-graph

Lista completa de mudanças de esquema, mudanças de comportamento e procedimento de rollback: BREAKING_CHANGES.md. Histórico de lançamentos: CHANGELOG.md.

Documentação

Documentação completa em mcp.n24q02m.com/servers/better-code-review-graph/setup/:

Use a ferramenta help de qualquer cliente MCP para referência inline por ferramenta.

Licença

Apache-2.0 -- Consulte LICENSE.