July 23, 2026
Bun fight: now with extra crumbs
Cruller: Bun's Zig Runtime, Continued on Zig 0.16
A stripped-down Bun comeback has fans cheering, skeptics rolling their eyes, and everyone arguing why it exists
TLDR: Cruller is a lighter spin-off of Bun meant only to run finished server apps, not replace Bun itself, and it’s smaller while performing about the same in early tests. The comments instantly turned it into a messy debate over whether it’s a clever deployment tool, a pointless fork, or just another doomed community split.
A niche coding project somehow turned into a full-on comment-section showdown. Cruller is basically a slimmed-down version of an older Bun runtime, rebuilt so it can keep running already-made JavaScript server apps on newer Zig tools. In plain English: it keeps the “run the app” part, throws out the “build, test, install everything” part, and ends up about 18% smaller than the official Bun binary while landing roughly the same speed in an early benchmark. That’s the boring factual bit. The fun part? The internet immediately started asking, “But... why?”
The loudest critics were brutal. One commenter basically said the whole point of Bun is all the stuff Cruller removed, so without that, why not just use Node instead? Another called the port a “heroic effort” but suggested it might’ve been easier to start over from scratch, which is the programmer version of saying, “Congrats, but also, are you okay?” Then came the classic fork doom-posting: most community breakaway projects die anyway, so why get attached?
But defenders jumped in to stop the chaos. They argued people were missing the point completely: Cruller is not trying to replace Bun, it’s a deployment tool, a sidekick, not the main character. And when someone tried to turn this into a “Zig is desperate without Bun” narrative, another commenter swatted that away fast, pointing out Zig has plenty of life beyond Bun. So yes, the code got smaller—but the opinions got much, much bigger.
Key Points
- •Cruller is a fork of the last Zig-based Bun release, narrowed to running already-built production JavaScript servers and ported to vanilla Zig 0.16.
- •The project retains runtime features such as JavaScriptCore, Bun.serve, HTTP/1-3, WebSockets, fetch, streams, Blob, Request/Response, static serving, and module resolution for pre-built JavaScript.
- •It removes development-oriented subsystems including the package manager, bundler/transpiler, shell, test runner, most CLI dispatch, N-API, SQL clients, and archive support.
- •Cruller now uses a vanilla Zig 0.16 build graph with compatibility shims for Zig API changes and a generated-code embedding module for portable release builds.
- •On Linux x64, the article reports a 73.0 MiB stripped Cruller runtime versus 88.5 MiB for official Bun, about an 18% reduction, with benchmark performance reported as roughly at parity.