O time de engenharia do editor Zed, liderado por Conrad Irwin, apresentou publicamente o Corgi (corgi-build). Trata-se de uma ferramenta de compilação determinística e orientada a conteúdo (content-addressed) projetada para sanar os gargalos de recompilação frequente enfrentados por repositórios médios e grandes escritos em Rust.

O Corgi funciona como um substituto transparente dos comandos convencionais do Cargo no fluxo diário de desenvolvimento.

O que torna o Corgi diferente do Cargo tradicional?

  • Sandbox Estrita para build.rs e Macros: Scripts de compilação rodam sem variáveis de ambiente implícitas e sem acesso irrestrito à rede ou ao sistema de arquivos, evitando que pequenas alterações quebrem o cache local.
  • Cache Unificado por Máquina: Em vez de isolar o cache por árvore de trabalho (worktree), os artefatos já compilados são reaproveitados entre branches locais.
  • Dependências Externas Declaradas: Ferramentas auxiliares como o protoc são fixadas no arquivo corgi.toml com hash SHA-256 e baixadas previamente pelo utilitário.
  • Testes Paralelos com Cache: Execuções de testes unitários bem-sucedidas são armazenadas em cache, executando novamente apenas suítes alteradas.
  • Compatibilidade: O Corgi mantém o Cargo para a resolução de dependências no Cargo.lock, permitindo adoção local sem exigir reescritas na infraestrutura de CI.
A declaração explícita de ferramentas e variáveis no corgi.toml garante reprodutibilidade rigorosa entre compilações.

O utilitário já roda em macOS e NixOS (com suporte para outras distribuições Linux e Windows em andamento) e pode ser instalado via Cargo ou inspecionado no repositório no GitHub.