mcpField
B
bun

bun

github.com/brianlovinDevelopment3792.8k installsUpdated 31w ago
Repository

About bun

A skill that guides JavaScript and TypeScript projects to use Bun as their runtime and package manager. It maps common Node.js, package, test, and build commands to Bun alternatives and outlines Bun-specific APIs.

Key features

  1. 01Map common commands to Bun
  2. 02Use Bun-specific runtime APIs
  3. 03Run tests with bun:test
  4. 04Serve frontend files with Bun
  5. 05Load .env files automatically

Use cases

  1. 01Run TypeScript files with Bun
  2. 02Install dependencies and run scripts
  3. 03Test projects using bun:test
  4. 04Build a frontend with Bun.serve()

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/brianlovin/agent-config --skill bun

After installing, type/bunin Claude Code to confirm it loaded.

Details

From the project README

Bun Runtime

Use Bun as the default JavaScript/TypeScript runtime and package manager.

Command Mappings

Instead ofUse
node file.tsbun file.ts
ts-node file.tsbun file.ts
npm installbun install
npm run scriptbun run script
jest / vitestbun test
webpack / esbuildbun build

Bun automatically loads .env files - don't use dotenv.

Bun-Specific APIs

Prefer these over Node.js equivalents:

APIPurposeDon't use
Bun.serve()HTTP server with WebSocket, HTTPS, routesexpress
bun:sqliteSQLite databasebetter-sqlite3
Bun.redisRedis clientioredis
Bun.sqlPostgres clientpg, postgres.js
Bun.file()File operationsnode:fs readFile/writeFile
Bun.$\cmd``Shell commandsexeca
WebSocketWebSocket client (built-in)ws

Testing

Use bun:test for tests:

import { test, expect } from "bun:test";

test("description", () => {
  expect(1).toBe(1);
});

Run with bun test.

Frontend Development

Use HTML imports with Bun.serve() instead of Vite. Supports React, CSS, Tailwind.

Server:

import index from "./index.html"

Bun.serve({
  routes: {
    "/": index,
    "/api/users/:id": {
      GET: (req) => Response.json({ id: req.params.id }),
    },
  },
  development: { hmr: true, console: true }
})

HTML file:

<html>
  <body>
    <script type="module" src="./app.tsx"></script>
  </body>
</html>

Bun's bundler transpiles .tsx, .jsx, .js automatically. CSS is bundled via <link> tags.

Run with bun --hot ./server.ts for HMR.

Documentation

For detailed API docs, see node_modules/bun-types/docs/**.md.

Comments

Markdown supported