Ctrl + K
DocumentationLog inGet started

bun

tessl install github:brianlovin/claude-config --skill bun
github.com/brianlovin/claude-config

Use Bun instead of Node.js, npm, pnpm, or vite. Provides command mappings, Bun-specific APIs, and development patterns.

Review Score

82%

Validation Score

11/16

Implementation Score

100%

Activation Score

55%

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.