Multiplexor de terminal y gestor de ventanas en Go con paneles en mosaico, espacios de trabajo, sesiones persistentes y una bandeja de entrada para agentes de programación.
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
Clona el repositorio
git clone https://github.com/feder-cr/git-ai.git - 2
Entra en el directorio del proyecto
cd git-ai - 3
Compila el servidor, la CLI y las herramientas
make build - 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
Servicio de desarrollo de software integral y autohospedado, escrito en Go, que ofrece alojamiento Git, revisión de código, seguimiento de incidencias, paquetes y CI/CD.
Una base de datos SQL compatible con MySQL que permite bifurcar, clonar, crear ramas, fusionar, enviar y obtener cambios en tablas al estilo de Git.
Un filesystem Markdown para agentes de IA y equipos, con búsqueda de texto completo y vectorial, control de versiones con Git e interfaz web integrada en un único binario de Go.
Un servicio Git autohospedado, sencillo y escrito en Go, con issues, pull requests, wiki y webhooks, distribuido como un único binario.
La herramienta oficial de línea de comandos de GitHub para trabajar con pull requests, issues y otras funciones de GitHub desde la terminal.