Multiplexador de terminal e gerenciador de janelas em Go, com painéis em mosaico, workspaces, sessões persistentes e uma Inbox para agentes de programação em cada painel.
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
Clone o repositório
git clone https://github.com/feder-cr/git-ai.git - 2
Entre no diretório do projeto
cd git-ai - 3
Compile o servidor, a CLI e as ferramentas
make build - 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
Serviço completo de desenvolvimento de software, escrito em Go e hospedado por conta própria, com Git, revisão de código, issues, pacotes e CI/CD.
Banco de dados SQL com operações de fork, clone, branch, merge, push e pull no estilo Git para tabelas, que se conecta como o MySQL.
Um filesystem Markdown para agentes de IA e equipes, com busca textual e vetorial, versionamento com Git e interface web integrada em um único binário Go.
Um serviço Git self-hosted e simples, escrito em Go, com issues, pull requests, wiki e webhooks, distribuído como um único binário.
A ferramenta oficial de linha de comando do GitHub para trabalhar com pull requests, issues e outros recursos do GitHub pelo terminal.