GitHub a achevé la migration vers Rust du cœur de son outil en ligne de commande Copilot, de l’application de bureau et du SDK, auparavant écrits en TypeScript/Node.js. Cette réécriture, réalisée avec l’aide de code généré par IA, a remplacé environ 800 000 lignes de code en production. Elle a réduit le temps de démarrage d’un client Copilot de 5,25 secondes à 292 millisecondes lorsque le runtime s’exécute dans le même processus.
Comment la migration s’est déroulée
GitHub a procédé par étapes. De petits éléments en TypeScript ont été remplacés par des versions en Rust, tandis qu’une couche de compatibilité temporaire permettait aux deux langages de communiquer. La suite de tests existante a ainsi pu continuer à fonctionner pendant toute la migration, qui a duré 14,5 semaines. Au total, 128 pull requests et 135 versions (35 stables et 100 préliminaires) ont été publiées au fil de la migration.
Ce que cela change pour les développeurs
Le nouveau runtime Rust peut être intégré directement aux applications hôtes via une ABI C, ce qui évite d’avoir à lancer un processus Node.js distinct et d’utiliser ses quelque 100 MB de mémoire. Un mode hors processus reste disponible lorsque l’isolation est nécessaire. Le SDK Copilot prend toujours en charge TypeScript, Python, Go, .NET, Java et désormais Rust.
Pourquoi c'est important
Pour les développeurs qui utilisent Copilot, un démarrage plus rapide signifie moins d’attente et des tâches qui s’enchaînent plus facilement. La baisse de la consommation mémoire rend l’outil mieux adapté aux machines aux ressources limitées et aux pipelines CI. La possibilité d’intégrer directement le runtime permet aussi de créer des intégrations plus poussées avec des extensions d’IDE personnalisées.