
Bun Runtime
- 1.4k installs
- 238k repo stars
- Updated August 5, 2026
- affaan-m/ecc
This is a copy of bun-runtime by affaan-m - installs and ranking accrue to the original listing.
bun-runtime is an agent skill that explains when to adopt Bun as an all-in-one JavaScript runtime, package manager, bundler, and test runner—including Node migration notes and Vercel support—for developers evaluating fas
About
bun-runtime is an ECC agent skill for Bun as a unified JavaScript toolkit: runtime, package manager, bundler, and test runner in one binary. It clarifies when to prefer Bun—new JS/TS projects, speed-sensitive scripts, Vercel deployments with Bun runtime, and single-toolchain workflows—and when to stay on Node for maximum ecosystem compatibility or legacy tooling dependencies. Developers reach for bun-runtime when adopting Bun, migrating from Node, debugging Bun-specific behavior, or configuring install, run, test, and build commands under one runtime.
- All-in-one toolkit: runtime, package manager, bundler, and test runner
- Significantly faster install and run times than npm or Yarn
- Drop-in Node-compatible runtime built on JavaScriptCore and Zig
- bun.lock text lockfile with full npm compatibility for most packages
- Supports new JS/TS projects, Vercel Bun runtime, and one-command scripts
Bun Runtime by the numbers
- 1,420 all-time installs (skills.sh)
- +87 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/affaan-m/ecc --skill bun-runtimeAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.4k |
|---|---|
| repo stars | ★ 238k |
| Last updated | August 5, 2026 |
| Repository | affaan-m/ecc ↗ |
When should you choose Bun over Node.js?
Replace Node with a faster all-in-one JavaScript runtime, package manager, bundler, and test runner for new projects and Vercel deployments.
Who is it for?
JavaScript and TypeScript developers starting new projects or migrating scripts where install and run speed matter and Vercel Bun runtime is an option.
Skip if: Codebases blocked by Node-only legacy dependencies with known Bun incompatibilities and no migration bandwidth.
When should I use this skill?
User asks about Bun runtime, migrating from Node, Bun versus Node tradeoffs, or Vercel Bun deployment setup.
What you get
Bun toolchain configuration, Node-to-Bun migration notes, and Vercel runtime deployment guidance.
- Bun toolchain setup
- Node migration checklist
- Vercel Bun runtime configuration
Files
Bun Runtime
Bun is a fast all-in-one JavaScript runtime and toolkit: runtime, package manager, bundler, and test runner.
When to Use
- Prefer Bun for: new JS/TS projects, scripts where install/run speed matters, Vercel deployments with Bun runtime, and when you want a single toolchain (run + install + test + build).
- Prefer Node for: maximum ecosystem compatibility, legacy tooling that assumes Node, or when a dependency has known Bun issues.
Use when: adopting Bun, migrating from Node, writing or debugging Bun scripts/tests, or configuring Bun on Vercel or other platforms.
How It Works
- Runtime: Drop-in Node-compatible runtime (built on JavaScriptCore, implemented in Zig).
- Package manager:
bun installis significantly faster than npm/yarn. Lockfile isbun.lock(text) by default in current Bun; older versions usedbun.lockb(binary). - Bundler: Built-in bundler and transpiler for apps and libraries.
- Test runner: Built-in
bun testwith Jest-like API.
Migration from Node: Replace node script.js with bun run script.js or bun script.js. Run bun install in place of npm install; most packages work. Use bun run for npm scripts; bun x for npx-style one-off runs. Node built-ins are supported; prefer Bun APIs where they exist for better performance.
Vercel: Set runtime to Bun in project settings. Build: bun run build or bun build ./src/index.ts --outdir=dist. Install: bun install --frozen-lockfile for reproducible deploys.
Examples
Run and install
# Install dependencies (creates/updates bun.lock or bun.lockb)
bun install
# Run a script or file
bun run dev
bun run src/index.ts
bun src/index.tsScripts and env
bun run --env-file=.env dev
FOO=bar bun run script.tsTesting
bun test
bun test --watch// test/example.test.ts
import { expect, test } from "bun:test";
test("add", () => {
expect(1 + 2).toBe(3);
});Runtime API
const file = Bun.file("package.json");
const json = await file.json();
Bun.serve({
port: 3000,
fetch(req) {
return new Response("Hello");
},
});Best Practices
- Commit the lockfile (
bun.lockorbun.lockb) for reproducible installs. - Prefer
bun runfor scripts. For TypeScript, Bun runs.tsnatively. - Keep dependencies up to date; Bun and the ecosystem evolve quickly.
interface:
display_name: "Bun Runtime"
short_description: "Bun runtime, package manager, and test runner"
brand_color: "#FBF0DF"
default_prompt: "Use $bun-runtime to choose and apply Bun runtime workflows."
policy:
allow_implicit_invocation: true
Related skills
How it compares
Use bun-runtime for Bun adoption decisions; use Node-specific skills when compatibility constraints mandate staying on Node.
FAQ
What roles does Bun serve in bun-runtime guidance?
bun-runtime treats Bun as an all-in-one toolkit—JavaScript runtime, package manager, bundler, and test runner—so teams can consolidate install, run, test, and build workflows.
When does bun-runtime recommend staying on Node?
bun-runtime recommends Node when maximum ecosystem compatibility is required, legacy tooling assumes Node APIs, or a dependency has known Bun issues that block migration.