bun-runtime

Bun JavaScript runtime, bundler, and package manager. Covers Bun.serve() HTTP server, Bun.file() I/O, SQLite, password hashing, Bun.build() bundler, bun:test runner, and package management. Use when building with Bun APIs, running scripts with Bun, bundling code, managing packages with bun install/add, or writing tests with bun:test.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bun-runtime" with this command: npx skills add oakoss/agent-skills/oakoss-agent-skills-bun-runtime

Bun Runtime

Overview

Bun is an all-in-one JavaScript and TypeScript runtime that includes a fast package manager, bundler, test runner, and Node.js-compatible APIs. It natively executes TypeScript and JSX without a separate compilation step.

When to use: Fast server-side JavaScript, TypeScript-first projects, replacing Node.js for better startup performance, built-in SQLite, password hashing, file I/O, HTTP servers, bundling, and testing without external tooling.

When NOT to use: Projects requiring full Node.js ecosystem compatibility (some native modules unsupported), production environments needing battle-tested stability of Node.js, or browser-only code that does not need a runtime.

Quick Reference

PatternAPIKey Points
HTTP serverBun.serve({ routes, fetch })Route-based, static/dynamic routes, per-method handlers
File readBun.file(path)Lazy BunFile (Blob), .text(), .json(), .stream()
File writeBun.write(dest, data)Accepts string, Blob, Response, BunFile
SQLitenew Database(path) from bun:sqliteSynchronous queries, prepared statements, WAL mode
Password hashBun.password.hash(pw)Argon2id default, bcrypt option, async and sync variants
Password verifyBun.password.verify(pw, hash)Auto-detects algorithm from hash format
BundlerBun.build({ entrypoints, outdir })Tree-shaking, code splitting, plugins, multiple targets
Test runnerimport { test, expect } from "bun:test"Jest-compatible, mocking, snapshots, watch mode
Install packagesbun installFast lockfile resolution, npm-compatible
Add packagebun add <pkg>-d for dev, -g for global
Run scriptbun run <script>Runs package.json scripts or files directly
Execute binarybunx <pkg>Like npx, runs without installing
S3 clientnew S3Client(opts) / s3.file(key)Built-in S3-compatible storage client
HTML importsimport page from './index.html'Fullstack: import HTML as route handler

Common Mistakes

MistakeCorrect Pattern
Using fetch handler only without routesUse routes object for static/dynamic routing (Bun v1.2.3+), fetch as fallback
Forgetting await on Bun.write()Bun.write() is async, always await it
Using Bun.file(path).text() without await.text(), .json(), .arrayBuffer() all return Promises
Creating SQLite database without WAL modeEnable WAL for concurrent reads: db.exec("PRAGMA journal_mode = WAL")
Using bun install without --frozen-lockfile in CIUse bun install --frozen-lockfile for reproducible CI builds
Importing jest globals in Bun testsImport from bun:test, not @jest/globals or vitest
Using node_modules/.bin/ directlyUse bunx or bun run instead of referencing bin paths
Expecting Bun.build() to throw on failureCheck result.success boolean, errors are in result.logs
Using --target node when deploying to BunUse --target bun for Bun-specific optimizations and bytecode
Synchronous password hashing in request handlersUse await Bun.password.hash() async variant in servers

Delegation

  • Project scaffolding: Use Explore agent
  • Performance profiling: Use Task agent
  • Code review: Delegate to code-reviewer agent

If the typescript-patterns skill is available, delegate advanced TypeScript typing questions to it.

References

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

github-cli

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

tanstack-cli

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

typescript-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

tanstack-devtools

No summary provided by upstream source.

Repository SourceNeeds Review