Sobre o projeto

O GitGalaxy é uma ferramenta que constrói um grafo estrutural agnóstico de linguagem de um repositório inteiro diretamente a partir do texto-fonte, sem exigir uma etapa de build ou toolchains por linguagem. Ele é voltado para repositórios poliglotas, parcialmente quebrados, legados, com muitos componentes de terceiros ou, de outra forma, difíceis de analisar por fluxos de trabalho que começam pelo build. Em vez de um parser separado por linguagem, o GitGalaxy extrai um vocabulário comum de assinaturas estruturais — funções, classes, argumentos, fluxo de controle, mutação de estado, I/O, APIs, dependências — e as normaliza em um único modelo determinístico de repositório. Esse modelo alimenta análise de arquitetura, priorização de exposição a risco, geração de SBOM, análise de refatoração e propriedade, contexto de base de código orientado a IA e gates de CI/CD. Um único comando (`galaxyscope path/to/repo`) produz seis saídas coordenadas: - Um resumo de arquitetura para LLM (um relatório Markdown compacto para engenheiros ou agentes de IA) - SARIF para integração com CI/painéis de segurança - SBOM CycloneDX para inventário/conformidade de dependências - SQLite para um grafo de conhecimento de repositório consultável - Dados de auditoria JSON para fluxos forenses/automatizados - Dados de visualização 3D para topologia interativa do repositório O resumo de arquitetura inclui equações de risco, um prompt de interpretação embutido, estado macro e composição de linguagens, topologia de rede (modularidade, pontos de articulação, densidade cíclica), gargalos de dependência, funções e arquivos mais pesados, assinaturas estruturais por arquivo com raio de impacto PageRank, listas de acertos de risco direcionadas e cumulativas, auditorias de cadeia de suprimentos, alvos de refatoração e uma lista itemizada de cada arquivo que se recusou a escanear e o motivo. O GitGalaxy é comparado com Tree-sitter e Universal Ctags em um corpus fixado (Language Crucible). Nesse corpus, a precisão validada de funções é de 100% em todas as 31 linguagens comparáveis ao tree-sitter, e ele nunca é a ferramenta considerada errada em uma classe ou argumento validado em discordância. O grafo de imports é medido em 20 de 59 linguagens; nomes de chamados em 11; resolução de chamadas em 3 (Python, TypeScript, Java), com precisão entre 92,7% e 99,9%, mas recall entre 41% e 57,1%, portanto fan-in em nível de função e PageRank são um limite inferior. Um programa de consistência entre linguagens (Keyword Rosetta) insere o mesmo programa de 12 sondas em todas as 50 linguagens suportadas, com contagens de sinal exatas e conhecidas. Em média, 94% das linguagens ficam dentro de ±25% da mediana entre linguagens por métrica controlada, e a parcela de defeitos abertos é de 0,0% (1 de 2.844 células comparáveis). Escala do mundo real: escanear o Kubernetes (~1,39 milhão de linhas) leva cerca de 51 segundos. O tempo de escaneamento segue um modelo ajustado de dois regimes. Os 13 vetores por arquivo foram originalmente chamados de `risk_*` e descritos como medições de exposição a risco. Um programa de validação temporal (~3.550 snapshots escaneados, dois repositórios, três famílias de rótulos, testes pré-registrados) descobriu que o risco estrutural permanente por arquivo não prevê defeitos — ele se reduz a uma contagem de linhas. Duas métricas de histórico foram validadas: reincidência (o arquivo que recebeu a última correção recebe a próxima) e entropia de mudança (Hassan HCM). Os vetores agora são chamados de Structural Surface Profile; `risk_*` permanece como coluna do banco de dados/chave JSON por compatibilidade. O GitGalaxy foi projetado para operação local e em ambientes isolados: o código-fonte não é enviado a um serviço em nuvem, o escaneamento e a vetorização ocorrem localmente, o scanner não tem requisito de rede em tempo de execução e a execução em CI/CD pode permanecer dentro do ambiente do usuário. Instalação: `pip install gitgalaxy` (zero dependências de instalação) ou `pip install "gitgalaxy[full]"` para pacotes opcionais adicionais. A suíte de testes padrão tem 7.043 testes, dos quais 6.165 são testes por assinatura em todas as 45 linguagens com assinaturas estruturais. O GitGalaxy não substitui a análise profunda de fluxo de dados do CodeQL, o ecossistema de regras do Semgrep, bancos de dados de CVE de dependências, uma prova de explorabilidade, um analisador de runtime ou um parser completo de linguagem. Ele responde: "Como este repositório inteiro se parece, estruturalmente, e para onde a atenção deve ir primeiro?"