Repolode
feder-cr

feder-cr/git-ai

Servidor e CLI em Go que reimplementam um sistema Git centrado no servidor e voltado a agentes, com alterações aplicadas por compare-and-swap e resolução de conflitos com IA.

Estrelas
1,280
Forks
124
Issues abertas
2
Último commit
há 10 horas

O que é?

gitai é uma implementação independente e de código aberto de um sistema de controle de versão centrado no servidor para agentes de programação. Em vez de cada cliente clonar um repositório inteiro e fazer push depois de longas sessões de trabalho, os clientes permanecem online, buscam apenas os objetos e caminhos esparsos de que precisam e consultam o servidor sobre o histórico, com perguntas como blame, histórico de caminhos e busca de código. Por baixo, o estado do repositório é armazenado em repositórios Git convencionais.

Para gravações concorrentes, as alterações são rebaseadas sobre o topo atual da branch e aplicadas por compare-and-swap, em vez de passarem por uma fila de merge; alterações aplicadas simultaneamente na mesma branch são agrupadas em uma única atualização de referência. Os conflitos podem ser encaminhados a um resolvedor intercambiável (um provedor de LLM, uma ferramenta determinística ou nenhum). A resolução proposta por um modelo só é aplicada se um comando de verificação configurado passar na árvore resultante exata.

O projeto também inclui um log de changesets que os clientes podem listar ou acompanhar, tokens por agente e políticas de branch, regras semânticas de revisão e um núcleo de armazenamento que pode usar SQLite ou PostgreSQL para metadados, com armazenamento de objetos em arquivo, S3, GCS ou Azure. O servidor em Go e a CLI graft são compilados com make e exigem Linux ou macOS.

Recursos principais

  • 01Os clientes buscam objetos individuais e árvores esparsas, em vez de clonar repositórios inteiros.
  • 02Blame, histórico de caminhos, ancestralidade e busca de código são executados no servidor e armazenados em cache por commit.
  • 03As alterações são rebaseadas sobre o topo da branch e aplicadas por compare-and-swap, com alterações concorrentes agrupadas.
  • 04Os conflitos podem ser resolvidos por um resolvedor intercambiável; propostas de modelos são verificadas por um comando configurado.
  • 05Armazena metadados em SQLite ou PostgreSQL e pacotes em armazenamento de objetos em arquivo, S3, GCS ou Azure.

Casos de uso

  • Executar vários agentes de programação que fazem commits simultaneamente nas mesmas branches.
  • Hospedar um serviço Git autogerenciado em que os agentes precisam de checkouts esparsos.
  • Experimentar a resolução de conflitos de merge assistida por IA, com uma etapa de verificação obrigatória.
  • Adicionar um log auditável de changesets que registre quem alterou cada referência.

Início rápido

  1. 1

    Clone o repositório

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

    Entre no diretório do projeto

    cd git-ai
  3. 3

    Compile o servidor, a CLI e as ferramentas

    make build
  4. 4

    Execute o exemplo de início rápido, que inicia um servidor, um daemon de cache, dois agentes e um land em um diretório temporário

    examples/graft/quickstart.sh

Antes de usar

  • Compatível apenas com Linux e macOS.
  • Para compilar, é necessário ter Go 1.26, uma toolchain C, Meson e Ninja, pois o Git incluído é compilado.
  • Versão 0.3.0; as interfaces ainda podem mudar antes da versão 1.0.
  • Lacunas conhecidas, como a coleta de lixo de packs no núcleo de armazenamento, ainda não foram implementadas.

Tópicos

Perguntas frequentes

O que é git-ai?
Servidor e CLI em Go que reimplementam um sistema Git centrado no servidor e voltado a agentes, com alterações aplicadas por compare-and-swap e resolução de conflitos com IA. gitai é uma implementação independente e de código aberto de um sistema de controle de versão centrado no servidor para agentes de programação. Em vez de cada cliente clonar um repositório inteiro e fazer push depois de longas sessões de trabalho, os clientes permanecem online, buscam apenas os objetos e caminhos esparsos de que precisam e consultam o servidor sobre o histórico, com perguntas como blame, histórico de caminhos e busca de código. Por baixo, o estado do repositório é armazenado em repositórios Git convencionais.
git-ai é gratuito? Qual é a licença?
git-ai é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
git-ai ainda é mantido?
Manutenção ativa. O último commit de git-ai foi em 21 de out. de 2026.
Para que posso usar git-ai?
Executar vários agentes de programação que fazem commits simultaneamente nas mesmas branches. Hospedar um serviço Git autogerenciado em que os agentes precisam de checkouts esparsos. Experimentar a resolução de conflitos de merge assistida por IA, com uma etapa de verificação obrigatória. Adicionar um log auditável de changesets que registre quem alterou cada referência.
Como instalar git-ai?
Clone o repositório: git clone https://github.com/feder-cr/git-ai.git Entre no diretório do projeto: cd git-ai Compile o servidor, a CLI e as ferramentas: make build Execute o exemplo de início rápido, que inicia um servidor, um daemon de cache, dois agentes e um land em um diretório temporário: examples/graft/quickstart.sh
Onde consigo git-ai?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/feder-cr/git-ai

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados