Skip to content

oven-sh/bun's Claude Code Plugin for Bun Contributors

By Flowy · Updated 2026-08-28

The oven-sh/bun plugin packages 6 Claude Code commands and 8 skills taken from Bun's own repository, for people changing Bun's runtime itself: upgrading its BoringSSL and WebKit forks, writing native JavaScriptCore bindings in C++ or Rust, chasing garbage collector bugs, and writing bundler and dev server tests. It does not help with using Bun in a project.

What is the oven-sh/bun plugin, actually

oven-sh/bun is the source repository for Bun, which describes itself as an incredibly fast JavaScript runtime, bundler, test runner, and package manager in one tool, with 95,761 GitHub stars behind it. Inside that same repository sits a small Claude Code plugin: 6 commands and 8 skills that Bun's own contributors use while working on the runtime itself, not tools for running Bun in your own project.

This is not a plugin for building or running a JavaScript or TypeScript app, installing packages, or bundling code with Bun. It is procedural knowledge for people changing Bun's own C++ and Rust internals, keeping its vendored forks current, or writing its own test suite, so if you are not editing Bun's source tree, none of the 14 components here apply to you.

What do the six commands do

Three of them are GitHub triage for Bun's own repository. find-duplicate-prs looks for open pull requests that may duplicate a given PR. find-issues looks for GitHub issues that a PR might fix. dedupe looks for duplicate GitHub issues. All three read Bun's issue and PR queue rather than touch code, the kind of thing a maintainer runs before reviewing or closing something.

The other three keep Bun's vendored, forked dependencies current by hand. upgrade-boringssl brings Bun's BoringSSL fork up to the latest upstream Google BoringSSL. upgrade-webkit brings Bun's WebKit fork up to the latest upstream WebKit. upgrade-nodejs walks through raising the Node.js version that Bun reports, for compatibility with Node packages and native addons. Bun forks and pins these projects instead of pulling them in as ordinary dependencies, so someone has to do this work by hand on a schedule, and these three commands are that work.

What do the eight skills cover

Four of them are about wiring new behavior into Bun's engine. implementing-jsc-classes-cpp is for implementing JavaScript classes in C++ using JavaScriptCore, with C++ bindings, prototypes, or constructors. implementing-jsc-classes-rust does the same job through Bun's own Rust bindings generator, for new JS APIs written in Rust with JavaScriptCore integration. javascriptcore-garbage-collector is a reference for Bun's garbage collector work: use-after-free bugs, JS object leaks, objects that get collected too early, and the write barrier and root-tracking calls that come up while debugging them. rust-system-calls guides file operations and file descriptor handling in Rust through Bun's own system call helper, instead of reaching for the Rust standard library or libc directly.

The remaining four cover testing and verification. writing-dev-server-tests guides writing hot module reloading and dev server tests in Bun's own dev server test directory. writing-bundler-tests guides writing bundler tests with Bun's own bundler test helpers, for changes to the bundler, transpiler, or code transformation. verify drives Bun's debug binary end to end to check that a runtime change actually works. slowest-tests pulls the slowest test files from a recent CI run and can post the results to a chat channel as a table, for anyone asking what is making CI slow.

Who reaches for this, and who doesn't

Every one of these 14 components is scoped to Bun's own codebase in its own description. They pay off if you have Bun's source checked out and you are upgrading a forked dependency, adding a native binding, chasing a garbage collector bug, or writing a bundler or dev server test. If you are only using Bun to run a script, install packages, or bundle your own app, this plugin has nothing for you: none of its parts touch your project's code, they touch Bun's own C++, Rust, and test suite. Flowy indexes it as contributor tooling for the Bun project, separate from Bun the runtime you would otherwise reach for on the command line.

How do I install it

Flowy indexes oven-sh/bun from its public GitHub repository. Install it from the listing page linked at the top of this guide, and the 6 commands and 8 skills described above become available in that session.

Common questions

What does the oven-sh/bun Claude Code plugin do?
It packages 6 commands and 8 skills taken from Bun's own repository for people working on Bun's runtime itself. The commands cover GitHub issue and PR triage plus upgrading Bun's vendored BoringSSL and WebKit forks and its reported Node.js version. The skills cover native JavaScriptCore bindings in C++ and Rust, a garbage collector reference, a Rust system calls guide, and writing or running Bun's own tests.
Is this plugin useful if I just want to use Bun in my own project?
No. None of its 14 components touch your project's code, they are written for someone changing Bun's own C++ and Rust internals, tests, or vendored dependencies. Running scripts, installing packages, or bundling your own app with Bun does not need this plugin at all.
What is the difference between implementing-jsc-classes-cpp and implementing-jsc-classes-rust?
implementing-jsc-classes-cpp is for implementing a new JavaScript class in C++ using JavaScriptCore, with C++ bindings, prototypes, or constructors. implementing-jsc-classes-rust does the same job through Bun's own Rust bindings generator, for a new JS API written in Rust with JavaScriptCore integration.
What does the javascriptcore-garbage-collector skill help debug?
It is a JavaScriptCore garbage collector reference written for Bun's own codebase. It covers use-after-free bugs, JS object leaks, objects that get collected too early, and the collector's write barrier and root-tracking calls, such as WriteBarrier, visitChildren, and JSC::Strong or Weak references.
How many components does Flowy index for oven-sh/bun, and what kind are they?
Flowy indexes 14 components for oven-sh/bun: 6 commands and 8 skills, with no agents, MCP servers, or hooks in this listing. The commands handle GitHub triage and dependency upgrades, and the skills cover native bindings, garbage collector debugging, and Bun's own test suites.