CommunityPesquisa e Análise de Dadosgithub.com

arkapatra31/meridian

Grafo de conhecimento de código para agentes de IA. Aponte para um repositório GitHub e obtenha um grafo consultável de cada função, classe e dependência — para seu agente parar de queimar contexto (e tokens) lendo arquivos inteiros. Tree-sitter + índice de símbolos, builds incrementais. Auto-hospedado. Python/Java/JS.

O que é meridian?

Meridian, disponível como `arkapatra31/meridian`, é uma ferramenta especializada em construir um grafo de conhecimento de código-fonte voltado para agentes de IA de programação (como Claude Code, Cursor ou Codex). Em vez de ler arquivos inteiros de um repositório GitHub — o que desperdiça contexto e tokens caros — o Meridian analisa o código com o parser Tree-sitter e gera um índice de símbolos contendo cada função, classe e suas dependências. O resultado é um grafo consultável que permite ao agente navegar rapidamente pela estrutura do código, entender relações entre componentes e responder perguntas sem sobrecarregar a janela de contexto. A ferramenta suporta builds incrementais (recarregando apenas o que mudou) e é auto-hospedada, dando controle total ao usuário sobre privacidade e dados. Atualmente, oferece suporte a Python, Java e JavaScript, com planos de expansão para outras linguagens.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add arkapatra31/meridian

Installed? Explore more Pesquisa e Análise de Dados skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que meridian faz?

Grafo de conhecimento de código para agentes de IA de programação. Aponte para um repositório GitHub e obtenha um grafo consultável de cada função, classe e dependência — para seu agente parar de queimar contexto (e tokens) lendo arquivos inteiros. Tree-sitter + índice de símbolos, builds incrementais. Auto-hospedado. Python/Java/JS.

Como funciona

  1. Analise um repositório GitHub com Meridian, que usa Tree-sitter para parsear o código-fonte.
  2. Construa um grafo de conhecimento onde cada nó é uma função, classe ou arquivo, e cada aresta é uma relação (chamada de função, herança de classe, dependência de módulo).
  3. Consulte o grafo com perguntas como "Mostre todas as funções que chamam validate_input" ou "Quais classes herdam de BaseModel?"
  4. Integre com seu agente de IA (Claude Code, Cursor, Codex) para dar a ele um mapa navegável do código sem ler arquivos inteiros.

Por que usar?

  • Economia de tokens: Evita que seu agente leia arquivos completos desnecessariamente. Cada consulta ao grafo custa muito menos tokens do que ler um arquivo de 500 linhas.
  • Precisão: O grafo fornece relações exatas (chamadas, heranças, dependências), não aproximações.
  • Builds incrementais: Meridian recarrega apenas arquivos modificados, tornando a indexação de repositórios grandes rápida e eficiente.
  • Auto-hospedado: Execute localmente ou em seu servidor. Seus dados de código nunca saem do seu controle.

Plataformas suportadas

  • Agentes: Claude Code, Cursor, Codex e qualquer agente que suporte consultas a APIs ou arquivos locais.
  • Linguagens: Python, Java, JavaScript (com planos para TypeScript, Go, Rust).

Começando

# Clone o repositório
gh repo clone arkapatra31/meridian
cd meridian

# Instale dependências
pip install -r requirements.txt

# Analise um repositório (substitua pelo caminho ou URL)
python meridian.py --repo caminho/para/repo

# Construa o grafo
python meridian.py --build

# Consulte
python meridian.py --query "mostre todas as funções que chamam validate_input"

Exemplo de consulta

from meridian import Meridian

# Inicialize com um repositório já indexado
m = Meridian("caminho/para/repo")

# Obtenha todas as funções públicas
funcs = m.get_functions(visibility="public")

# Encontre dependências de uma classe
deps = m.get_dependencies("MinhaClasse")

# Consulte chamadas a uma função específica
callers = m.get_callers("process_data")

print(f"Funções públicas: {len(funcs)}")
print(f"Dependências de MinhaClasse: {deps}")
print(f"Quem chama process_data: {callers}")

Configuração

VariávelDescriçãoPadrão
MERIDIAN_REPOCaminho para o repositório a ser indexado.
MERIDIAN_PORTPorta para o servidor de consultas (opcional)8000
MERIDIAN_LANGLinguagem(s) para análise (separadas por vírgula)python,java,javascript
MERIDIAN_INCREMENTALHabilitar builds incrementaistrue

Contribuindo

Contribuições são bem-vindas! Veja o CONTRIBUTING.md para diretrizes.

Licença

MIT

Habilidades Relacionadas