Bun support is now limited and deprecated
yt-dlp maintainers have decided to cap and deprecate support for the Bun JavaScript runtime after Bun’s core was rapidly rewritten from Zig to Rust using Anthropic’s Claude, raising concerns about unreviewed “vibe-coded” AI-generated code. Commenters debate whether this is a prudent, risk-averse dependency decision or an overreaction driven by ideology rather than observed bugs, touching on broader questions of trust, governance, and how much critical software should rely on large, machine-generated rewrites. Many argue that while AI-assisted coding can be useful, a million-line rewrite merged in days without exhaustive human review is an unacceptable liability for downstream projects.
Context: yt-dlp deprecating Bun support
- yt-dlp will only support Bun up to the last Zig-based release; future Bun versions (post Rust/AI rewrite) are not supported.
- Bun was never the primary JS runtime for yt-dlp; Deno and Node are more common, and there’s plugin support for other runtimes anyway.
- Many commenters note that dropping an optional backend with limited real-world use is a reasonable scope-control choice for a volunteer project.
Concerns about Bun’s Rust rewrite and “vibe coding”
- Bun’s core was ported from Zig to Rust via LLM-assisted translation in roughly a week, with ~1M lines changed in a single PR.
- Critics argue this cannot have been meaningfully code-reviewed; they see a new, effectively unproven runtime with no production history.
- Some point out the rewrite was merged after earlier messaging that it was “just an experiment,” and that it has already been reverted once from a canary build.
- Supporters say it’s mostly a mechanical translation guided by existing architecture and tests, more akin to a transpile than a fresh rewrite.
Debate over AI-generated code (“vibe coding”)
- “Vibe coding” is used loosely as a slur for LLM-heavy workflows; some insist there’s a difference between disciplined AI-assisted work and blind “slop.”
- Pro‑AI voices claim large productivity gains and argue that tests and tooling can manage quality; opponents emphasize hallucinations, “cheating” to satisfy tests, and long‑term maintainability.
- Several note that a huge LLM-generated codebase that no human understands is qualitatively different from traditionally grown code, even if both are imperfect.
Trust, governance, and dependency selection
- Many frame yt-dlp’s choice as risk management: you avoid being the beta-tester for a dependency that just did a million‑line rewrite in days.
- Others call the move “political” or ideological—rejecting AI on vibes rather than on observed regressions.
- Counterargument: all dependency decisions are speculative; process and governance (sudden rewrites, conflicting statements, ownership by a large AI company) are legitimate technical risk signals.
Community and meta
- Some criticize the hostility toward yt-dlp maintainers, noting no one is volunteering to maintain Bun support themselves.
- Others see the reaction as part of a broader culture war over AI in software, with strong emotions on both sides.