Bun Runtime
SkillDocs & knowledgeThis is a reference guide that gives your AI working knowledge of Bun, a tool for running, installing, bundling, and testing JavaScript projects. Once it is added, your AI can help you build and run projects with Bun and decide when Bun is a better choice than Node. It also includes notes on migrating existing Node projects and on Vercel support.
Available today. Use it from your connected AI after setup.
No other account needed.
After adding the skill, ask your AI to set up, run, or test a JavaScript project with Bun, or to help you migrate an existing Node project.
Then ask your AI: use the Bun Runtime skill
What your AI can do with it
- Run JavaScript projects using Bun as the runtime
- Install project packages with Bun's package manager
- Bundle JavaScript projects with Bun
- Run tests using Bun's built-in test runner
- Decide when Bun is a better fit than Node for a project
- Plan the steps to move an existing Node project over to Bun
What this skill tells your AI
The instructions your AI receives, as published by affaan-m/ecc in skills/bun-runtime/SKILL.md and read by ahel’s review.
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.ts
Scripts and env
bun run --env-file=.env dev
FOO=bar bun run script.ts
Testing
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.
Signals
- GitHub stars
- 258k
- Forks
- 39k
- Last commit
- Sep 2026
ahel recommends instead
Advanced
- Catalog kind
- skill
- Gateway key
bun-runtime- Source
- github.com/affaan-m/ecc