Use Bun instead of Node.js, npm, pnpm, or vite. Provides command mappings, Bun-specific APIs, and development patterns.
Scanned 2/12/2026
Install to Claude Code
npx -y skills add brianlovin/claude-config --skill bun --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Bun?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/brianlovin-bun)More formats (shields.io, HTML) on the badges page.
---
name: bun
description: Use Bun instead of Node.js, npm, pnpm, or vite. Provides command mappings, Bun-specific APIs, and development patterns.
---
# Bun Runtime
Use Bun as the default JavaScript/TypeScript runtime and package manager.
## Command Mappings
| Instead of | Use |
|------------|-----|
| `node file.ts` | `bun file.ts` |
| `ts-node file.ts` | `bun file.ts` |
| `npm install` | `bun install` |
| `npm run script` | `bun run script` |
| `jest` / `vitest` | `bun test` |
| `webpack` / `esbuild` | `bun build` |
Bun automatically loads `.env` files - don't use dotenv.
## Bun-Specific APIs
Prefer these over Node.js equivalents:
| API | Purpose | Don't use |
|-----|---------|-----------|
| `Bun.serve()` | HTTP server with WebSocket, HTTPS, routes | express |
| `bun:sqlite` | SQLite database | better-sqlite3 |
| `Bun.redis` | Redis client | ioredis |
| `Bun.sql` | Postgres client | pg, postgres.js |
| `Bun.file()` | File operations | node:fs readFile/writeFile |
| `Bun.$\`cmd\`` | Shell commands | execa |
| `WebSocket` | WebSocket client (built-in) | ws |
## Testing
Use `bun:test` for tests:
```ts
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:**
```ts
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
<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`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!