Разработчик запустил форк Bun на Zig, взяв за основу последний коммит до того, как оригинал начали переписывать на Rust. Проект совсем сырой и пока не готов к продакшену. Пост на Ziggit подтолкнул автора выложить свою версию, чтобы не дублировать усилия, хотя он ещё не смотрел чужой код.
Главное достижение на старте — портирование Bun на актуальный upstream Zig с небольшими патчами для инкрементальных сборок. Весь граф сборки теперь описан в build.zig, включая вендорные исходники JavaScriptCore. Инкрементальная пересборка укладывается в доли секунды, что резко ускоряет цикл разработки. Автор целится сделать drop-in замену Bun с куда более вменяемой кодовой базой. Для этого он импортировал в проект все свежие тесты из Rust-версии Bun: многие покрывают новые фичи и багфиксы, и большинство пока валится. Предстоит бесконечная гонка за апстримом, но попутно идёт расчистка техдолга.
Уже вырезано свыше 11 000 строк мёртвого кода — автор не припомнит другого проекта, где база была бы настолько запущена. Части кодовой базы переписаны и осовременены с опорой на stdlib Zig, попутно исправлены десятки багов. Проект использует чуть пропатченный субмодуль Zig master, но и вчерашний апстримный коммит 2b1c663 должен собрать всё без проблем.
Отдельного упоминания заслуживает позиция автора насчёт AI. Он называет текущий Bun «квинтэссенцией AI-шлака» и считает, что ни один человек не должен жертвовать рассудком, распутывая 600 тысяч строк такого кода. Поэтому до тех пор, пока база не станет достаточно чистой, он не будет принимать правки, написанные людьми, и собирается активно гонять LLM. При этом обещает держать процесс под контролем: фокус на сокращении техдолга, идиоматичный Zig и нормальные практики разработки. В итоге через несколько недель или месяцев должна появиться пригодная для показа кодовая база, способная работать как замена Rust Bun 1.4.0. Те, у кого есть доступ к Sol или Fable, могут помочь ускорить этот процесс. Автор просит присылать самые вопиющие примеры «slop» в коде Bun и использует проект как способ прокачать собственные навыки Zig, надеясь, что со временем код станет настолько опрятным, что его можно будет поддерживать вообще без помощи LLM.