Bun is an all-in-one JavaScript/TypeScript runtime and toolkit designed as a drop-in replacement for Node.js. It's 4x faster startup than Node.js, powered by JavaScriptCore engine, written in Zig. Single executable with no dependencies.
Installation: curl -fsSL https://bun.com/install | bash (macOS/Linux), powershell -c "irm bun.sh/install.ps1|iex" (Windows). Upgrade: bun upgrade. Docker: docker pull oven/bun.
Running code: bun run file.ts or just bun file.ts. Supports TypeScript, JSX, TSX out of the box with native transpiler (no typechecking). Watch mode: bun --watch run file.ts. Run package.json scripts: bun run scriptname (28x faster than npm run).
Package manager: bun install (25x faster than npm), bun add pkg, bun remove pkg. Uses global cache at ~/.bun/install/cache/ with hardlinks/copy-on-write for disk efficiency. Lockfile: bun.lock. Workspaces supported in package.json. For CI: bun ci (frozen lockfile). Installation strategies: hoisted (default) or isolated (`--linker