Repolode
feder-cr

feder-cr/git-ai

Servidor y CLI en Go que reimplementan un diseño de Git centrado en el servidor y orientado a agentes, con cambios aplicados mediante compare-and-swap y resolución de conflictos con IA.

Estrellas
1,280
Forks
124
Issues abiertos
2
Último commit
hace 10 horas

¿Qué es?

gitai es una implementación independiente y de código abierto de un sistema de control de versiones centrado en el servidor y pensado para agentes de programación. En lugar de que cada cliente clone un repositorio completo y haga push después de largas sesiones de trabajo, los clientes permanecen conectados, obtienen solo los objetos y las rutas dispersas que necesitan y consultan al servidor sobre el historial, por ejemplo, para averiguar quién modificó una línea, consultar el historial de una ruta o buscar código. El estado del repositorio se almacena internamente en repositorios Git convencionales.

Para las escrituras concurrentes, los cambios se rebasan sobre el extremo actual de la rama y se aplican mediante compare-and-swap, en lugar de pasar por una cola de merges; además, las aplicaciones simultáneas en una rama se agrupan en una sola actualización de referencia. Los conflictos se pueden derivar a un solucionador intercambiable (un proveedor de LLM, una herramienta determinista o ninguno). La resolución propuesta por un modelo solo se aplica si un comando de verificación configurado se ejecuta correctamente sobre el árbol resultante exacto.

El proyecto también incluye un registro de changesets que los clientes pueden consultar o seguir, tokens por agente y políticas de ramas, reglas de revisión semántica y un núcleo de almacenamiento que puede usar SQLite o PostgreSQL para los metadatos, junto con almacenamiento de objetos en archivos o en S3, GCS o Azure. El servidor basado en Go y la CLI graft se compilan con make y requieren Linux o macOS.

Funciones clave

  • 01Los clientes obtienen objetos individuales y árboles dispersos en lugar de clonar repositorios completos.
  • 02El servidor gestiona blame, el historial de rutas, la ascendencia y la búsqueda de código, y almacena los resultados en caché por commit.
  • 03Los cambios se rebasan sobre el extremo de la rama y se aplican mediante compare-and-swap; las aplicaciones concurrentes se agrupan.
  • 04Los conflictos se pueden resolver con un solucionador intercambiable, y las propuestas de los modelos se verifican mediante un comando configurado.
  • 05Almacena metadatos en SQLite o PostgreSQL y packs en almacenamiento de objetos en archivos o en S3, GCS o Azure.

Casos de uso

  • Ejecutar muchos agentes de programación que hacen commits en las mismas ramas al mismo tiempo.
  • Alojar un servicio Git autogestionado en el que los agentes necesiten checkouts dispersos.
  • Experimentar con la resolución de conflictos de merge asistida por IA, sujeta a una verificación obligatoria.
  • Añadir un registro de changesets auditable que indique quién modificó cada referencia.

Inicio rápido

  1. 1

    Clona el repositorio

    git clone https://github.com/feder-cr/git-ai.git
  2. 2

    Entra en el directorio del proyecto

    cd git-ai
  3. 3

    Compila el servidor, la CLI y las herramientas

    make build
  4. 4

    Ejecuta el ejemplo de inicio rápido, que inicia un servidor, un daemon de caché, dos agentes y un land en un directorio temporal

    examples/graft/quickstart.sh

Antes de usarlo

  • Solo es compatible con Linux y macOS.
  • Para compilarlo, se necesitan Go 1.26, una cadena de herramientas C, Meson y Ninja, ya que compila una versión de Git incluida.
  • Versión 0.3.0; las interfaces aún pueden cambiar antes de la versión 1.0.
  • Aún no se han implementado carencias conocidas, como la recolección de basura de packs en el núcleo de almacenamiento.

Temas

Preguntas frecuentes

¿Qué es git-ai?
Servidor y CLI en Go que reimplementan un diseño de Git centrado en el servidor y orientado a agentes, con cambios aplicados mediante compare-and-swap y resolución de conflictos con IA. gitai es una implementación independiente y de código abierto de un sistema de control de versiones centrado en el servidor y pensado para agentes de programación. En lugar de que cada cliente clone un repositorio completo y haga push después de largas sesiones de trabajo, los clientes permanecen conectados, obtienen solo los objetos y las rutas dispersas que necesitan y consultan al servidor sobre el historial, por ejemplo, para averiguar quién modificó una línea, consultar el historial de una ruta o buscar código. El estado del repositorio se almacena internamente en repositorios Git convencionales.
¿git-ai es gratuito? ¿Qué licencia tiene?
git-ai es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿git-ai sigue mantenido?
Mantenimiento activo. El último commit de git-ai fue el 21 oct 2026.
¿Para qué puedo usar git-ai?
Ejecutar muchos agentes de programación que hacen commits en las mismas ramas al mismo tiempo. Alojar un servicio Git autogestionado en el que los agentes necesiten checkouts dispersos. Experimentar con la resolución de conflictos de merge asistida por IA, sujeta a una verificación obligatoria. Añadir un registro de changesets auditable que indique quién modificó cada referencia.
¿Cómo se instala git-ai?
Clona el repositorio: git clone https://github.com/feder-cr/git-ai.git Entra en el directorio del proyecto: cd git-ai Compila el servidor, la CLI y las herramientas: make build Ejecuta el ejemplo de inicio rápido, que inicia un servidor, un daemon de caché, dos agentes y un land en un directorio temporal: examples/graft/quickstart.sh
¿Dónde consigo git-ai?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/feder-cr/git-ai

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

Proyectos relacionados