Repolode
Ataraxy-Labs

Ataraxy-Labs/weave

Un controlador de merge de Git a nivel de entidad que combina código por funciones, clases y claves en lugar de por líneas, y evita conflictos falsos entre cambios independientes.

Estrellas
1,351
Forks
49
Issues abiertos
2
Último commit
anteayer

¿Qué es?

Weave reemplaza el merge de tres vías por líneas de Git por un merge a nivel de entidad. Analiza las versiones base, ours y theirs de un archivo con tree-sitter, relaciona funciones, clases y claves entre versiones por nombre, tipo y ámbito, y combina esas entidades. Los cambios en entidades distintas se resuelven automáticamente, mientras que los cambios en una misma entidad solo generan un conflicto si son realmente incompatibles.

El problema que aborda se hace más evidente cuando varios agentes de IA o desarrolladores editan el mismo archivo a la vez. Git informa de un conflicto cuando dos ramas agregan funciones diferentes una junto a la otra, aunque en realidad no haya ninguna colisión. Weave se instala como controlador de merge mediante `weave setup`, y los conflictos que no puede resolver se muestran con contexto a nivel de entidad, por ejemplo, qué función se modificó en un lado y se eliminó en el otro.

El proyecto también incluye `weave land` para controlar y publicar merges de agentes, `weave check` y `weave explain` para revisar las resoluciones, un servidor MCP para frameworks de agentes y una configuración de Jujutsu. Admite alrededor de 38 lenguajes y recurre al merge por líneas de Git para archivos no compatibles o muy grandes.

Funciones clave

  • 01Combina funciones, clases y claves como entidades, de modo que las adiciones independientes a un mismo archivo no generan conflictos.
  • 02Usa gramáticas de tree-sitter para analizar unos 38 lenguajes, incluidos TypeScript, Python, Go, Rust y JSON.
  • 03Muestra los conflictos con contexto a nivel de entidad, como el tipo de entidad y qué lado la modificó o eliminó.
  • 04Se instala como controlador de merge de Git con `weave setup`, de forma global o por repositorio.
  • 05Incluye `weave check`, `weave explain` y `weave preview` para revisar las resoluciones antes de confirmar los cambios.
  • 06Incluye un servidor MCP para que los frameworks de agentes puedan usar sus herramientas de merge, edición y verificación.

Casos de uso

  • Permitir que varios agentes de programación con IA trabajen en el mismo archivo de código fuente sin tener que resolver conflictos manualmente.
  • Reducir los conflictos falsos de merge cuando muchos desarrolladores editan el mismo módulo grande o archivo de configuración.
  • Añadir un paso de verificación estructural antes de publicar en una rama un merge automatizado de agentes.

Inicio rápido

  1. 1

    Instala weave (en la sección Install del README encontrarás los detalles)

  2. 2

    Activa weave en el repositorio para que git lo use al hacer merge

    weave setup
  3. 3

    Ejecuta un merge; los conflictos reales aparecen como marcadores con una línea refused_by

    git merge <branch>
  4. 4

    Verifica el árbol de trabajo resuelto comparándolo con las etapas del merge

    weave check

Antes de usarlo

  • La fusión a nivel de entidad puede generar conflictos en casos que Git fusionaría sin problemas, como muestran las regresiones en varios repositorios de sus propias pruebas de rendimiento.
  • weave no fusiona deliberadamente archivos Vue, Svelte, ERB ni Haskell, que se procesan mediante otros mecanismos.
  • El proyecto está en la versión 0.5.x y los veredictos de fusión han cambiado entre versiones.

En colecciones

Temas

Preguntas frecuentes

¿Qué es weave?
Un controlador de merge de Git a nivel de entidad que combina código por funciones, clases y claves en lugar de por líneas, y evita conflictos falsos entre cambios independientes. Weave reemplaza el merge de tres vías por líneas de Git por un merge a nivel de entidad. Analiza las versiones base, ours y theirs de un archivo con tree-sitter, relaciona funciones, clases y claves entre versiones por nombre, tipo y ámbito, y combina esas entidades. Los cambios en entidades distintas se resuelven automáticamente, mientras que los cambios en una misma entidad solo generan un conflicto si son realmente incompatibles.
¿weave es gratuito? ¿Qué licencia tiene?
weave es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿weave sigue mantenido?
Mantenimiento activo. El último commit de weave fue el 4 nov 2026.
¿Para qué puedo usar weave?
Permitir que varios agentes de programación con IA trabajen en el mismo archivo de código fuente sin tener que resolver conflictos manualmente. Reducir los conflictos falsos de merge cuando muchos desarrolladores editan el mismo módulo grande o archivo de configuración. Añadir un paso de verificación estructural antes de publicar en una rama un merge automatizado de agentes.
¿Cómo se instala weave?
Instala weave (en la sección Install del README encontrarás los detalles) Activa weave en el repositorio para que git lo use al hacer merge: weave setup Ejecuta un merge; los conflictos reales aparecen como marcadores con una línea refused_by: git merge <branch> Verifica el árbol de trabajo resuelto comparándolo con las etapas del merge: weave check
¿Dónde consigo weave?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Ataraxy-Labs/weave

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados