Indexa uma base de código em um grafo de conhecimento com dependências, cadeias de chamadas e fluxos de execução, e o disponibiliza a agentes de programação com IA por meio de ferramentas MCP.
Ataraxy-Labs/weave
Um driver de merge do Git no nível de entidades, que combina código por funções, classes e chaves em vez de linhas e evita conflitos falsos entre alterações independentes.
- Estrelas
- 1,352
- Forks
- 49
- Issues abertas
- 2
- Último commit
- há 16 horas
O que é?
Weave substitui o merge de três vias baseado em linhas do Git por um merge no nível de entidades. Ele analisa as versões base, ours e theirs de um arquivo com tree-sitter, associa funções, classes e chaves entre as versões por nome, tipo e escopo e combina essas entidades. Alterações em entidades diferentes são resolvidas automaticamente, enquanto alterações na mesma entidade só entram em conflito quando são realmente incompatíveis.
O problema que a ferramenta resolve fica mais evidente quando vários agentes de IA ou desenvolvedores editam o mesmo arquivo ao mesmo tempo. O Git aponta um conflito quando duas branches adicionam funções diferentes lado a lado, mesmo que elas não colidam de fato. Weave é instalado como driver de merge por meio de `weave setup`, e os conflitos que não consegue resolver são registrados com contexto no nível da entidade, como qual função foi modificada de um lado e excluída do outro.
O projeto também inclui `weave land` para controlar e publicar merges de agentes, `weave check` e `weave explain` para revisar as resoluções, um servidor MCP para frameworks de agentes e uma configuração para Jujutsu. Ele oferece suporte a cerca de 38 linguagens e usa o merge por linhas do Git como alternativa para arquivos sem suporte ou muito grandes.
Recursos principais
- 01Combina funções, classes e chaves como entidades, para que adições independentes a um mesmo arquivo não entrem em conflito.
- 02Usa gramáticas tree-sitter para analisar cerca de 38 linguagens, incluindo TypeScript, Python, Go, Rust e JSON.
- 03Aponta conflitos com contexto no nível da entidade, como o tipo da entidade e qual lado a modificou ou excluiu.
- 04Instala-se como driver de merge do Git com `weave setup`, globalmente ou por repositório.
- 05Oferece `weave check`, `weave explain` e `weave preview` para revisar as resoluções antes de fazer o commit.
- 06Inclui um servidor MCP para que frameworks de agentes possam chamar suas ferramentas de merge, edição e verificação.
Casos de uso
- Permitir que vários agentes de programação com IA trabalhem no mesmo arquivo-fonte sem precisar resolver conflitos manualmente.
- Reduzir conflitos falsos de merge quando muitos desenvolvedores editam o mesmo módulo grande ou arquivo de configuração.
- Adicionar uma etapa de verificação estrutural antes de publicar em uma branch um merge automatizado feito por um agente.
Início rápido
- 1
Instale o weave (a seção Install do README contém os detalhes)
- 2
Ative o weave no repositório para que o git o use ao fazer merge
weave setup - 3
Execute um merge; conflitos reais aparecem como marcadores com uma linha refused_by
git merge <branch> - 4
Confira a árvore de trabalho resolvida comparando-a com os estágios do merge
weave check
Antes de usar
- A mesclagem em nível de entidade pode gerar conflitos em casos que o Git mesclaria sem problemas, como mostram as regressões em vários repositórios nos próprios benchmarks do projeto.
- Arquivos Vue, Svelte, ERB e Haskell não são mesclados deliberadamente pelo weave e são encaminhados para outros métodos de tratamento.
- O projeto está na versão 0.5.x, e os veredictos de mesclagem mudaram entre versões.
Em coleções
Tópicos
Perguntas frequentes
- O que é weave?
- Um driver de merge do Git no nível de entidades, que combina código por funções, classes e chaves em vez de linhas e evita conflitos falsos entre alterações independentes. Weave substitui o merge de três vias baseado em linhas do Git por um merge no nível de entidades. Ele analisa as versões base, ours e theirs de um arquivo com tree-sitter, associa funções, classes e chaves entre as versões por nome, tipo e escopo e combina essas entidades. Alterações em entidades diferentes são resolvidas automaticamente, enquanto alterações na mesma entidade só entram em conflito quando são realmente incompatíveis.
- weave é gratuito? Qual é a licença?
- weave é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- weave ainda é mantido?
- Manutenção ativa. O último commit de weave foi em 7 de nov. de 2026.
- Para que posso usar weave?
- Permitir que vários agentes de programação com IA trabalhem no mesmo arquivo-fonte sem precisar resolver conflitos manualmente. Reduzir conflitos falsos de merge quando muitos desenvolvedores editam o mesmo módulo grande ou arquivo de configuração. Adicionar uma etapa de verificação estrutural antes de publicar em uma branch um merge automatizado feito por um agente.
- Como instalar weave?
- Instale o weave (a seção Install do README contém os detalhes) Ative o weave no repositório para que o git o use ao fazer merge: weave setup Execute um merge; conflitos reais aparecem como marcadores com uma linha refused_by: git merge <branch> Confira a árvore de trabalho resolvida comparando-a com os estágios do merge: weave check
- Onde consigo weave?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Ataraxy-Labs/weave
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Motor local de inteligência de código que indexa vários repositórios em um grafo de conhecimento e o disponibiliza a agentes de programação com IA e IDEs via CLI, servidor MCP e API.
Servidor MCP que indexa código, documentação e infraestrutura em um grafo de conhecimento local para que agentes de programação com IA consultem a estrutura sem reler arquivos.
Camada de contexto de código auto-hospedada que indexa repositórios em diferentes hosts para que desenvolvedores e agentes de IA possam pesquisá-los e navegar por eles.
CLI e servidor MCP em C++23, sem dependências, que fornecem a agentes de programação um mapa classificado do código e verificam o impacto, os testes necessários e regressões de qualidade das alterações.
Jujutsu (jj) é um sistema de controle de versão compatível com Git que registra as alterações na cópia de trabalho como commits e acompanha todas as operações para permitir desfazê-las.