GitHub concluiu a migração do núcleo da ferramenta de linha de comando do Copilot, do app para desktop e do SDK de TypeScript/Node.js para Rust. A reescrita substituiu cerca de 800 mil linhas de código de produção e contou com a ajuda de código gerado por IA. A mudança reduziu o tempo de inicialização de um cliente do Copilot de 5,25 segundos para 292 milissegundos quando o runtime é executado no mesmo processo.
Como foi feita a migração
GitHub adotou uma abordagem incremental. Pequenos trechos em TypeScript foram substituídos por versões em Rust, enquanto uma camada temporária de compatibilidade permitia que as duas linguagens se comunicassem. Assim, a suíte de testes existente pôde continuar sendo executada durante todo o trabalho, que durou 14,5 semanas. Ao todo, foram publicados 128 pull requests e 135 versões (35 estáveis e 100 de pré-lançamento) durante a migração.
O que isso significa para desenvolvedores
O novo runtime em Rust pode ser incorporado diretamente a aplicativos hospedeiros por meio de uma ABI C, eliminando a necessidade de um processo separado do Node.js e seu consumo de memória de cerca de 100 MB. O modo fora do processo continua disponível para os casos em que o isolamento é necessário. O SDK do Copilot continua oferecendo suporte a TypeScript, Python, Go, .NET, Java e agora também Rust.
Por que importa
Para quem usa o Copilot, a inicialização mais rápida significa menos espera e fluxos de trabalho mais fluidos. O menor consumo de memória torna a ferramenta mais adequada para máquinas com poucos recursos ou pipelines de CI. A possibilidade de incorporar o runtime diretamente também abre caminho para integrações mais estreitas com extensões de IDE personalizadas.