Como construir inteligência de código em nível de repositório com Repowise usando análise de grafos, detecção de código morto, decisões e contexto de IA

Como construir inteligência de código em nível de repositório com Repowise usando análise de grafos, detecção de código morto, decisões e contexto de IA

Neste tutorial, exploramos como usar o Repowise para construir inteligência em nível de repositório para o projeto Python itsdangerous de forma prática e reproduzível. Começamos com um repositório já clonado, configuramos o Repowise usando as credenciais de LLM disponíveis e inicializamos seu pipeline de indexação. Em seguida, inspecionamos os artefatos .repowise gerados, analisamos o grafo do repositório com […] A po

Neste tutorial, exploramos como usar o Repowise para construir inteligência em nível de repositório para o projeto Python itsdangerous de forma prática e reproduzível. Começamos com um repositório já clonado, configuramos o Repowise usando as credenciais de LLM disponíveis e inicializamos seu pipeline de indexação. Em seguida, inspecionamos os artefatos .repowise gerados, analisamos o grafo do repositório com PageRank e detecção de comunidade, verificamos a inteligência do Git, executamos a detecção de código morto, capturamos decisões arquitetônicas, geramos um arquivo CLAUDE.md e interagimos com as ferramentas estilo MCP do Repowise através da CLI. Finalmente, visualizamos os nós mais importantes no grafo do repositório para entender melhor a estrutura, a influência, as dependências e as prioridades de manutenção de diferentes arquivos ou módulos. Copiar Código Copiado Usar um navegador diferente import os, sys, json, subprocess, textwrap, shutil, re from pathlib import Path TARGET = Path("/content/itsdangerous") assert TARGET.exists(), "Execute §1–§2 primeiro para clonar o repositório de destino." os.chdir(TARGET) def sh(cmd, check=False, cwd=None, timeout=None, env=None): print(f"
$ {cmd}") proc = subprocess.run( cmd, shell=True, env={**os.environ, **(env or {})}, cwd=cwd, text=True, timeout=timeout, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, ) if proc.stdout: print(proc.stdout.rstrip()) print(f" ↳ exit {proc.returncode}") if check and proc.returncode != 0: raise RuntimeError(f"comando falhou (exit {proc.returncode}): {cmd}") return proc def banner(t): print(f"
{'═'(len(t)+4)}
{t}
{'═'
(len(t)+4)}") Começamos importando as bibliotecas necessárias, definindo o caminho do repositório de destino e entrando no diretório do projeto itsdangerous. Definimos uma função auxiliar sh() reutilizável para executar comandos shell, capturar suas saídas e exibir os códigos de saída claramente. Também criamos uma função banner() para que cada seção do tutorial seja impressa com um cabeçalho legível. Copiar Código Copiado Usar um navegador diferente banner("§5 Construindo camadas de inteligência (fixas)") sh("repowise --version") sh("repowise init --help") HAS_ANTHROPIC = bool(os.environ.get("ANTHROPIC_API_KEY")) HAS_OPENAI = bool(os.environ.get("OPENAI_API_KEY")) HAS_LLM = HAS_ANTHROPIC or HAS_OPENAI if HAS_ANTHROPIC: provider, model = "anthropic", "claude-sonnet-4-5" elif HAS_OPENAI: provider, model = "openai", "gpt-4o-mini" else: provider, model = "mock", "mock" (TARGET / ".repowise").mkdir(exist_ok=True) (TARGET / ".repowise" / "config.yaml").write_text(textwrap.dedent(f""" provid

Análise de CódigoRepositóriosPython