
Bun
- 184 installs
- 356 repo stars
- Updated March 25, 2026
- brianlovin/claude-config
Bootstrap, run, test, and bundle TypeScript/JavaScript services with Bun instead of Node, including scripts, HTTP servers, and package installs in Claude-driven repos.
About
Encodes Brian Lovin’s Bun conventions so agents use Bun for installs, TypeScript execution, tests, and lightweight HTTP services with the right commands, config, and Node-compat expectations in claude-config projects.
- Bun install and scripts
- TS execution without tsc lag
- HTTP server and test runner
- Node API compatibility notes
- Config-aligned repo defaults
Bun by the numbers
- 184 all-time installs (skills.sh)
- Ranked #2,160 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
- Data as of Aug 1, 2026 (Skillselion catalog sync)
npx skills add https://github.com/brianlovin/claude-config --skill bunAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 184 |
|---|---|
| repo stars | ★ 356 |
| Last updated | March 25, 2026 |
| Repository | brianlovin/claude-config ↗ |
What it does
Bootstrap, run, test, and bundle TypeScript/JavaScript services with Bun instead of Node, including scripts, HTTP servers, and package installs in Claude-driven repos.
Files
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:
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.
Related skills
Forks & variants (1)
Bun has 1 known copy in the catalog totaling 16 installs. They canonicalize to this original listing.
- brianlovin - 16 installs