Sobre o projeto
gwz-core serve como o motor Rust fundamental para o sistema Git Workspace Zone (GWZ), projetado para coordenar múltiplos repositórios Git comuns em um único workspace reprodutível e inspecionável. Ao contrário de ferramentas de linha de comando, este crate é uma biblioteca incorporável que lida com a lógica complexa de política entre repositórios e gerenciamento de workspace atrás de uma fronteira de mensagem de serviço tipada.
A arquitetura é neutra em relação ao transporte, o que significa que não inicia um servidor ou daemon por si só. Em vez disso, suporta padrões de integração flexíveis: adaptadores locais podem chamar o motor diretamente no processo, enquanto adaptadores remotos podem transmitir as mesmas operações tipadas usando CBOR determinístico ou JSON orientado por esquema. Esse design garante que o comportamento do workspace seja consistente, seja incorporado em um CLI, uma UI, um agente ou um serviço de backend.
Recursos principais incluem uma fronteira de mensagem tipada que carrega erros estruturados, metadados de operação e eventos de streaming. O sistema gerencia artefatos de workspace, como manifestos, locks, snapshots e markers, por meio de uma fronteira de política unificada, mantendo tags como referências reais de Git. As interações com Git são isoladas atrás de uma abstração `GitBackend`, com a implementação padrão suportando repositórios locais, SSH e HTTPS. Essa separação permite que clientes compartilhem o mesmo modelo de operação, independentemente de o core estar vinculado localmente ou hospedado remotamente.
Desenvolvedores podem usar gwz-core para construir ferramentas que requerem operações de workspace sem reimplementar lógica complexa entre repositórios. A biblioteca é projetada para estar pronta para CLI e UI, permitindo que clientes de nível superior utilizem os mesmos handlers diretamente. A documentação cobre o modelo de produto, guias de incorporação, detalhes do protocolo e um catálogo de mensagens gerado.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.