Help us improve
Share bugs, ideas, or general feedback.
npx claudepluginhub kingstinct/.github --plugin bunHow this skill is triggered — by the user, by Claude, or both
Slash command
/bun:bunThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Always prefer Bun over Node.js for all operations.
Bun runtime conventions, APIs, and toolchain. Invoke whenever task involves any interaction with Bun — serving HTTP, file I/O, shell scripting, testing, bundling, or package management with Bun.
Guides using Bun as JavaScript runtime, package manager, bundler, and test runner. Covers choosing Bun vs Node, Node migration, and Vercel deployment support.
Guides using Bun as runtime, package manager, bundler, and test runner for JS/TS projects with Node comparisons, migration steps, and Vercel deployment.
Share bugs, ideas, or general feedback.
Always prefer Bun over Node.js for all operations.
| Use | Instead of |
|---|---|
bun | node |
bunx | npx |
bun install | npm install, yarn, pnpm install |
bun run <script> | npm run, yarn run |
bun test | jest, vitest |
bun build | webpack, esbuild |
Prefer packageManager in package.json over other methods:
{
"packageManager": "bun@1.2.3"
}
This is the recommended approach because:
corepackThe setup script checks for Bun version in this order:
.bun-version filepackage.json → packageManager field.env.github → BUN_VERSION=x.x.xWhen setting up a new project, use packageManager in package.json.
Prefer Bun's built-in APIs:
// File I/O
const file = Bun.file('path/to/file');
const text = await file.text();
await Bun.write('output.txt', 'content');
// SQLite
import { Database } from 'bun:sqlite';
const db = new Database('app.db');
// HTTP Server
Bun.serve({
port: 3000,
fetch(req) {
return new Response('Hello');
}
});
// Shell commands
import { $ } from 'bun';
await $`ls -la`;
// Environment (auto-loaded from .env)
const apiKey = process.env.API_KEY;
dotenv - Bun auto-loads .envexpress - Use Bun.serve() with routesbetter-sqlite3 - Use bun:sqlitews - Use built-in WebSocketnode-fetch - Use native fetch