bun
Installation
SKILL.md
Bun
Overview
Bun is an all-in-one JavaScript/TypeScript runtime that replaces Node.js, npm, webpack, and Jest with a single binary. It provides native TypeScript support, a high-performance HTTP server (Bun.serve()), a fast package manager, a bundler, and a Jest-compatible test runner with dramatically faster performance.
Instructions
- When creating HTTP servers, use
Bun.serve()which handles 100K+ req/s with built-in WebSocket support, TLS, and streaming responses. - When managing packages, use
bun install(10-30x faster than npm),bun add,bun remove, and preferbun.lock(text format) for readable git diffs. - When bundling, use
Bun.build()with appropriate target ("browser","bun","node"), enable code splitting withsplitting: true, and configure tree shaking. - When writing tests, use
bun testwith Jest-compatible API (describe,it,expect), snapshot testing, mocking withmock.module(), and--coveragefor code coverage. - When doing file I/O, prefer
Bun.file()andBun.write()over Node.jsfsfor significantly faster file operations, and useBun.Globfor pattern matching. - When handling authentication, use
Bun.password.hash()andBun.password.verify()for bcrypt/argon2 instead of npm packages. - When migrating from Node.js, replace
nodewithbunin scripts, keeppackage.jsonunchanged, and note that most npm packages work without modifications. Usebun:sqlitefor embedded databases instead of SQLite npm packages.
Examples
Example 1: Build a high-performance API server
Related skills