Graphify em projeto legado: ele ajuda o Claude Code a entender um código que ninguém mais entende?

Graphify Claude Code gerando grafo de arquitetura de um projeto legado
Resposta rápida

Rodar o Graphify no Claude Code em base legada serve pra uma coisa bem específica: ganhar orientação rápida sobre um código que ninguém no time entende inteiro. O parsing é local, com tree-sitter, sem conta e sem chave de API pra parte estrutural, e a saída cai em graphify-out/ com grafo interativo, relatório de arquitetura e JSON. O relatório aponta god nodes, comunidades e conexões cruzadas inesperadas, e cada aresta vem etiquetada como EXTRACTED, INFERRED ou AMBIGUOUS. O que ele não entrega: intenção de negócio, motivo histórico da gambiarra e busca difusa em texto corrido, que segue sendo território de embeddings

Fala aí, beleza? Todo mundo já pegou aquele repositório: dez anos de camadas, três gerações de dev que já saíram, README de 2019 mentindo sobre como sobe o projeto

Aí você abre o Claude Code, joga uma pergunta e ele faz o que dá: lê alguns arquivos, chuta um caminho, às vezes acerta

O Graphify propõe outra entrada nesse problema: em vez de reler a base a cada pergunta, ele constrói um grafo do código, lido localmente, e deixa esse mapa disponível pro assistente consultar

O projeto foi criado por Safi Shamsi e hoje é mantido pela Graphify Labs, empresa fundada por ele e aceita no batch S26 da Y Combinator

Um detalhe que anda circulando errado por aí: Andrej Karpathy NÃO é autor nem mantenedor disso

Ele publicou a ideia de usar LLM como compilador de conhecimento (transformar documento bruto em base estruturada e navegável, em vez de refazer busca a cada pergunta) e o Graphify apareceu depois como uma implementação dessa ideia, feita por terceiros

A pergunta do post é essa: num legado sem documentação, esse mapa ajuda mesmo? E o que ele NÃO resolve?

Domine o Claude Code do básico ao avançado
Pré-inscrição Formação Claude Code

Domine o Claude Code do básico ao avançado

Você vai aprender a criar sistemas completos com Claude Code, sem precisar ser programador. Inscreva-se para ter acesso a um desconto de lançamento e bônus especiais!

Dor do projeto legado x o que o mapa do Graphify entrega

Antes do como, o porquê: cada dor clássica de legado tem (ou não tem) um artefato correspondente ali

Dor no legado O que o Graphify entrega O que sai disso na prática
Não sei por onde começar graphify-out/GRAPH_REPORT.md com perguntas sugeridas sobre a base Um roteiro de leitura pronto, em vez de abrir arquivo no chute
Onde mora a lógica central? God nodes (os nós mais conectados) e a ferramenta god_nodes no MCP Lista curta de pontos que concentram conexão, ótimo ponto de partida
O que conversa com o que? Comunidades (clusters indexados por tamanho) e get_community Divide a base em blocos com sentido, em vez de pasta por pasta
Esse módulo devia mesmo falar com aquele? Conexões cruzadas inesperadas entre comunidades Acoplamento suspeito aparece explicitamente no relatório
O que quebra se eu mexer aqui? get_node e get_neighbors O nó em si e a vizinhança direta dele, com citação de arquivo e linha
Como o A chega no B? shortest_path O caminho entre dois pontos, sem você caçar chamada por chamada
Quero ver o desenho geral graphify-out/graph.html Grafo interativo pra olhar com olho humano mesmo
Quero cruzar isso com script graphify-out/graph.json Versão legível por máquina do mesmo grafo
Qual o tamanho da coisa? graph_stats e query_graph Consulta direta no grafo pelo cliente MCP
Chegou PR de gente que já saiu list_prs, get_pr_impact e triage_prs Três ferramentas de PR expostas pelo MCP, ao lado das de grafo

São dez ferramentas no total no servidor MCP, chamadas nativamente pelo cliente

E tem um ponto que importa MUITO em legado: as respostas voltam como contexto em texto, com citação file:line, e cada aresta carrega sua etiqueta de confiança

Ou seja, dá pra desconfiar da resposta olhando a procedência, não só a prosa 🙂

Quatro situações de base legada em que o grafo muda o dia

1. Primeiro contato com o repositório

Você acabou de herdar a base e não tem ninguém pra perguntar

Aqui o GRAPH_REPORT.md funciona como sumário executivo da arquitetura: god nodes, comunidades por tamanho, conexões cruzadas inesperadas, auditoria de confiança e as perguntas sugeridas sobre a base

Essas perguntas sugeridas valem como pauta da primeira conversa com o assistente, e combinam bem com o roteiro que já rolou por aqui sobre entender um projeto legado herdado

2. Avaliar impacto antes de encostar num arquivo central

O clássico: o arquivo tem 3 mil linhas, todo mundo tem medo dele e ninguém sabe quem depende dali

Em vez de abrir e rezar, você pergunta e o assistente percorre o grafo: god_nodes pra confirmar se aquilo é mesmo um centro de gravidade, get_neighbors pra ver quem encosta nele, shortest_path pra entender como a chamada chega lá de outro canto do sistema

O ganho não é "a IA decide por você", é você chegar na revisão sabendo o raio de explosão

3. Revisar mudança que veio de terceiro

O MCP também expõe list_prs, get_pr_impact e triage_prs

São ferramentas de PR listadas ao lado das de grafo, voltadas justamente pra olhar mudança e impacto

Na prática isso significa que a conversa sobre um PR acontece no mesmo lugar em que o mapa da base já vive, com as mesmas citações file:line e as mesmas etiquetas de confiança

4. Juntar o código com o que NÃO é código

Essa parte é interessante e pouca gente nota

O código é lido localmente com tree-sitter, parsing determinístico de AST, com 36 linguagens empacotadas, sem chamada de modelo e sem mandar o fonte pra fora

Já o que não é código (documento, PDF, schema SQL, Postgres ao vivo, Terraform) passa por uma etapa semântica que roda pelo backend de modelo que você já tem configurado, não pelo parser local

Então são dois regimes diferentes de confiança e de privacidade dentro da mesma ferramenta, e vale saber disso antes de apontar pra um repo de cliente

O que o Graphify não substitui no entendimento do legado

Agora a parte honesta, que é onde a maioria dos posts sobre a ferramenta some

O mapa resolve Continua sendo trabalho seu (ou de outra ferramenta)
Aresta EXTRACTED: veio direto da AST Saber se aquela relação faz sentido arquitetural, o parser só diz que ela existe
Aresta INFERRED: o modelo ligou os pontos É julgamento marcado como julgamento, então confere no código antes de agir
Aresta AMBIGUOUS: evidência não resolvida Ela é mantida e sinalizada em vez de chutada, mas quem resolve é você
Estrutura estática do código Despacho dinâmico, reflexão e ligação feita por configuração ou import montado em string ficam sinalizados como incertos
Relação estrutural entre partes Busca difusa em texto corrido: a própria documentação assume que aí embeddings continuam sendo a ferramenta certa
Onde a coisa está e com quem ela fala Por que ela foi feita assim: intenção, regra de negócio e o motivo histórico da gambiarra não estão no grafo

Repara na última linha, porque ela é a mais importante em legado

O grafo te diz que o PedidoService conversa com sete lugares

Ele não te diz que aquele if esquisito existe porque em 2021 um cliente grande exigiu uma exceção fiscal e ninguém documentou

Pra esse tipo de contexto que vive em documento solto, ata e PDF, a saída costuma ser outra: dá pra usar o NotebookLM pra ler documentação e tirar dúvida em cima do material antigo, enquanto o grafo cuida da estrutura

Ferramenta diferente pra pergunta diferente, beleza?

Como apontar o Graphify para um repositório legado

Bora ver na prática? São poucos passos, e dois deles têm pegadinha

  1. Instale a CLI. A via recomendada é o uv
uv tool install graphifyy

Alternativas: pipx install graphifyy ou pip install graphifyy

O erro comum deste passo: o pacote no PyPI é graphifyy, com dois yy, enquanto o comando no terminal é graphify, com um só. Trocar isso é o erro número um da instalação

  1. Ligue a skill no assistente
graphify install

É esse comando que copia a skill /graphify pra configuração do assistente. No Claude Code, ele detecta o cliente e liga tanto a skill quanto o servidor MCP do Graphify

E não é exclusividade do Claude Code: a skill /graphify funciona também em Cursor, Codex e Gemini CLI, além do acesso por MCP e pela CLI

O erro comum deste passo: achar que instalar o pacote já habilitou a skill. Não habilita. Pacote instalado e assistente configurado são duas coisas separadas

  1. Se você não quer sujar seu perfil de usuário, prenda a skill só naquele repositório
graphify install --project

Útil quando o legado é de cliente e você não quer aquilo ligado em tudo

  1. Dentro da sessão, dispare o mapeamento apontando pra pasta
/graphify .
  1. Leia o que caiu em graphify-out/

São três arquivos: graph.html (grafo interativo), GRAPH_REPORT.md (o relatório de arquitetura) e graph.json (versão legível por máquina)

Começa pelo GRAPH_REPORT.md, é o que tem god nodes, comunidades, conexões cruzadas e as perguntas sugeridas

  1. Mantenha o mapa vivo sem refazer tudo

A flag --update reprocessa só o que mudou, usando cache SHA256 por arquivo

  1. Ou deixe rodando enquanto você trabalha
graphify watch .

Esse reconstrói o grafo ao salvar, o que faz sentido quando você já está mexendo na base e não quer consultar mapa vencido

Vale usar o Graphify no seu legado? Veredito

Vou ser direto

Vale pra quem chega em base grande, antiga e sem documentação e precisa de orientação: onde olhar primeiro, o que é centro de gravidade, o que conversa com o que

O custo de entrada é baixo pro que ele entrega: a parte estrutural é puro parsing on-device, sem conta e sem API key, e o fonte não sai da sua máquina nesse trecho

Não vale se a sua pergunta é sobre intenção, regra de negócio ou busca difusa em texto corrido

Nesse caso o grafo vai te dar estrutura bonita e resposta rasa, e a própria documentação admite que ali embeddings seguem sendo a escolha certa

Sobre maturidade: o projeto está na série 0.9.x, com releases publicadas ao longo de agosto de 2026 (a v0.9.47 entre elas), licença Apache 2.0 (antes era MIT) e cerca de 108 mil estrelas no GitHub

Leia isso como o que é: tração alta e produto ainda em movimento rápido, então não conte com API congelada

Conclusão

A régua é essa: o mapa acelera a ORIENTAÇÃO, ele não entrega compreensão pronta

Quem confundir as duas coisas vai sair refatorando em cima de aresta INFERRED e depois culpar a IA, e aí não foi a IA, foi a leitura ruim do sinal 😀

Próximo passo prático, se quiser tirar a limpo: roda o mapeamento em UM módulo do legado, não na base inteira

Lê o GRAPH_REPORT.md prestando atenção nas etiquetas de confiança, e usa as perguntas sugeridas como pauta da primeira conversa com o Claude Code sobre aquele código

Se der certo nesse módulo, aí sim você amplia

Pra ir mais fundo, a documentação fica em graphify.com/docs e o repositório na organização Graphify-Labs

Até o próximo post!

Perguntas frequentes

O Graphify manda o código para algum servidor externo?

Não, na parte estrutural. O código é lido localmente com tree-sitter, parsing determinístico de AST, sem chamada de modelo e sem enviar o código-fonte para fora. Já o que não é código, como documentos, PDFs, schemas SQL e Terraform, passa por uma etapa semântica que roda pelo backend de modelo que você já tem configurado, não pelo parser local.

Como instalar o Graphify no Claude Code?

A instalação recomendada da CLI é via uv, com o comando uv tool install graphifyy (o pacote no PyPI tem dois yy, o comando no terminal é graphify). Depois roda graphify install, que copia a skill /graphify e liga o servidor MCP do Graphify no Claude Code. Se quiser instalar só no repositório atual em vez do perfil do usuário, usa a flag –project.

Preciso de conta ou API key para gerar o grafo do código?

Para a parte estrutural, não. O grafo é puro parsing on-device com tree-sitter, sem conta e sem API key. A conta ou chave só entra em cena indiretamente, na etapa semântica sobre o que não é código, porque ali quem processa é o backend de modelo que você já configurou.

Qual a diferença entre as tags EXTRACTED, INFERRED e AMBIGUOUS no grafo?

EXTRACTED é a aresta que veio direto da AST, ou seja, o parser confirmou a relação no código. INFERRED é quando o modelo ligou os pontos, marcado explicitamente como julgamento. AMBIGUOUS é a evidência que o Graphify não conseguiu resolver, mantida e sinalizada em vez de chutada, como acontece com despacho dinâmico, reflexão e ligação feita por configuração.

O Graphify funciona só no Claude Code?

Não, a skill /graphify também funciona em Cursor, Codex e Gemini CLI, além do acesso via MCP e CLI. No Claude Code especificamente, o graphify install liga tanto a skill quanto o servidor MCP com as dez ferramentas sobre o grafo.

Como atualizar o grafo depois de mudar o código, sem reprocessar tudo de novo?

Tem duas formas. O –update reprocessa só o que mudou, usando cache SHA256 por arquivo, e o graphify watch . reconstrói o grafo automaticamente a cada save. Nenhum dos dois exige remapear a base inteira do zero.



Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares