OpenClaw
Deploy a managed OpenClaw agent in 60 seconds
Launch on Hostinger →
Hermes Agent
Run your Hermes agent, fully managed
Launch on Hostinger →
Apify
6,000+ web scrapers for your agent, free to start
Try Apify free →
Firecrawl
Crawl and scrape any site into clean data
Try Firecrawl free →
Context.dev
One API to scrape, enrich, and extract the web
Start building free →
SetupClaw
Done-for-you OpenClaw for founders and teams
Get it set up for you →
DataForSEO
SEO data APIs for your agent, $1 free credit
Try DataForSEO free →
Your product here
Reach thousands of AI builders a month
Learn more →
Claude Market
Menu
SkillsMCPPluginsSubmit MCPSkillPluginMCPMCP, plugin, or skillAdvertise
Claude Market
SkillsMCPPluginsSubmit MCPSkillPluginMCPMCP, plugin, or skillAdvertise
Skills/bun.sh/bun
B

bun

bun.sh
3K installs
Run it on Hostinger, 20% off →Your friend gets 20% off too, using this linkFree API →|View on GitHub|Create your own skill →

Installation

npx skills add https://bun.sh --skill bun

Summary

Use when building JavaScript/TypeScript applications, running scripts, managing dependencies, bundling code, or testing. Bun is an all-in-one toolkit that replaces Node.js, npm, webpack, and Jest with a single fast binary.

SKILL.md

Bun Skill

Product summary

Bun is an all-in-one JavaScript/TypeScript toolkit that ships as a single executable. It includes a runtime (drop-in Node.js replacement), package manager (faster than npm), bundler (faster than esbuild), and test runner (Jest-compatible). The runtime uses JavaScriptCore and is written in Zig, delivering 4x faster startup than Node.js.

Key files and commands:

  • bunfig.toml — Configuration file (optional, zero-config by default)
  • bun run <file> — Execute JavaScript/TypeScript files with native transpilation
  • bun install — Install dependencies 25x faster than npm
  • bun build <entry> — Bundle for browser or server
  • bun test — Run Jest-compatible tests
  • package.json — Standard Node.js package manifest (fully compatible)

Primary docs: https://bun.com/docs

---

When to use

Reach for this skill when:

  • Running scripts or servers — bun run is 28x faster than npm run; use for any TypeScript/JSX execution
  • Installing dependencies — bun install is 25x faster; works in existing Node.js projects
  • Bundling for production — bun build bundles JS/TS/JSX/CSS for browsers or servers; 1.75x faster than esbuild
  • Testing — bun test runs Jest-compatible tests with TypeScript support, snapshots, mocking, and watch mode
  • Building full-stack apps — HTML imports + Bun.serve enable bundling frontend and backend in one command
  • Migrating from Node.js — Bun is a drop-in replacement; most Node.js code works without changes
  • Optimizing startup time — Bun's transpiler and runtime eliminate overhead; ideal for CLI tools and serverless functions

---

Quick reference

Essential commands

CommandPurpose
bun run <file>Execute JS/TS/JSX/TSX file
bun run <script>Run package.json script
bun installInstall all dependencies
bun add <pkg>Add a package
bun remove <pkg>Remove a package
bun build <entry> --outdir ./outBundle for production
bun testRun all tests
bun initCreate new Bun project

File conventions

PatternBehavior
.test.ts, .test.jsTest files (auto-discovered)
_test.ts, .spec.tsAlternative test patterns
bunfig.tomlConfiguration (optional)
bun.lockLockfile (text format, commit to version control)
.envEnvironment variables (auto-loaded)

Configuration in bunfig.toml

# Runtime
[run]
shell = "bun"  # or "system"
bun = true     # alias node to bun in scripts

# Package manager
[install]
linker = "hoisted"  # or "isolated" for monorepos
dev = true
optional = true
production = false

# Test runner
[test]
root = "."
coverage = false
timeout = 5000

# Server
[serve]
port = 3000

Common procedures

Initialize a project:

bun init my-app
cd my-app
bun run index.ts

Add a dependency:

bun add react
bun add -d typescript  # dev dependency

Run a script from package.json:

bun run dev
bun run build

Bundle for production:

bun build ./src/index.tsx --outdir ./dist --minify

Run tests with coverage:

bun test --coverage

Create an HTTP server:

const server = Bun.serve({
  port: 3000,
  routes: {
    "/": () => new Response("Hello"),
    "/api/users/:id": (req) => new Response(`User ${req.params.id}`),
  },
});
console.log(`Server at ${server.url}`);

---

Decision guidance

When to use bun run vs bun build

Use bun runUse bun build
Development, scripts, one-off executionProduction bundles, browser code, optimization
Direct file execution with transpilationMinification, tree-shaking, code splitting
Testing, debugging, local developmentDeployment, distribution, performance-critical

When to use hoisted vs isolated linker

HoistedIsolated
Traditional npm behavior, flat node_modulesStrict dependency isolation, prevents phantom deps
Single-package projects (default)Monorepos, workspaces (default)
Faster installs, simpler resolutionStricter, more predictable, pnpm-like

When to use Bun.serve vs framework

Bun.serveFramework (Express, Elysia, Hono)
Simple APIs, minimal dependenciesComplex routing, middleware, plugins
Maximum performance, zero overheadDeveloper experience, ecosystem
Built-in routing, WebSocket, streamingType safety, validation, decorators

When to use bun test vs external test runner

bun testJest/Vitest
TypeScript out of box, no configMature ecosystem, more plugins
Fast, Jest-compatible APIBetter IDE integration in some cases
Built-in mocking, snapshots, watchMore customization options

---

Workflow

Typical task: Build and deploy a full-stack app

  1. Initialize project
   bun init my-app
   cd my-app
  1. Create server code (server.ts)
   import index from "./index.html";
   
   Bun.serve({
     routes: {
       "/": index,
       "/api/data": () => Response.json({ data: [] }),
     },
   });
  1. Create frontend (index.html with React/TypeScript)
   <!DOCTYPE html>
   <html>
     <head><title>App</title></head>
     <body>
       <div id="root"></div>
       <script type="module" src="./client.tsx"></script>
     </body>
   </html>
  1. Install dependencies
   bun add react react-dom
   bun add -d @types/bun
  1. Test locally
   bun run server.ts
   # Visit http://localhost:3000
  1. Build for production
   bun build ./server.ts --target bun --outfile ./dist/server
  1. Deploy (e.g., to Vercel, Railway, or Docker)
   # Dockerfile
   FROM oven/bun
   COPY . /app
   WORKDIR /app
   RUN bun install
   CMD ["bun", "run", "server.ts"]

Typical task: Add tests to existing project

  1. Create test file (math.test.ts)
   import { test, expect } from "bun:test";
   
   test("addition", () => {
     expect(2 + 2).toBe(4);
   });
  1. Run tests
   bun test
  1. Add coverage
   bun test --coverage
  1. Watch mode
   bun test --watch

Typical task: Migrate from npm to Bun

  1. Check compatibility — Most Node.js projects work as-is
  2. Replace npm with bun
   rm -rf node_modules package-lock.json
   bun install  # Creates bun.lock
  1. Update CI/CD — Replace npm install with bun install, npm run with bun run
  2. Test thoroughly — Run your test suite with bun test
  3. Commit lockfile — bun.lock should be committed to version control

---

Common gotchas

  • TypeScript errors on Bun global — Install @types/bun and configure tsconfig.json with "lib": ["ESNext"]
  • Lifecycle scripts disabled by default — Add trusted packages to trustedDependencies in package.json to allow postinstall scripts
  • Auto-install can mask missing dependencies — Use --frozen-lockfile in CI to catch mismatches
  • Bundler always bundles — Use Bun.Transpiler if you need per-file transpilation without bundling
  • bun run flags must come after bun, not after script name — bun --watch run dev ✓, bun run dev --watch ✗
  • Environment variables not inlined by default — Use env: "inline" in bun build or --env inline CLI flag
  • Monorepo linker defaults differ — New workspaces use isolated, existing projects use hoisted; explicitly set in bunfig.toml to avoid surprises
  • Node.js compatibility is ongoing — Check /runtime/nodejs-compat for unsupported APIs; some Node.js modules may not work
  • Bun.serve routes are static — Use fetch() handler for dynamic routing; routes object is for static paths and parameters
  • Test discovery is automatic — No need to specify test files; bun test finds all *.test.ts files recursively

---

Verification checklist

Before submitting work with Bun:

  • [ ] Dependencies installed — Run bun install and verify bun.lock is created
  • [ ] Code runs locally — bun run <entry> executes without errors
  • [ ] Tests pass — bun test shows all tests passing
  • [ ] TypeScript compiles — No type errors in editor or from bun check (if available)
  • [ ] Bundler output valid — bun build completes without errors; output files exist
  • [ ] Environment variables set — .env file exists or CI/CD has required vars
  • [ ] Lockfile committed — bun.lock is in version control (not .gitignored)
  • [ ] No Node.js-specific APIs — If targeting Bun, avoid unsupported Node.js modules
  • [ ] Trusted dependencies declared — If using postinstall scripts, add to trustedDependencies
  • [ ] Performance verified — For production, confirm bundle size and startup time are acceptable

---

Resources

Comprehensive navigation: https://bun.com/docs/llms.txt

Critical pages:

  • Runtime overview — Execute files, run scripts, environment
  • Package manager — Install, add, remove, workspaces
  • Bundler — Build for browser and server, code splitting, plugins
  • Test runner — Write tests, mocking, snapshots, coverage
  • HTTP server — Bun.serve, routing, WebSocket, TLS

---

For additional documentation and navigation, see: https://bun.com/docs/llms.txt

Score

0–100
60/ 100

Grade

C

Popularity21/30

2,998 installs — solid traction.

Completeness27/30

Documented: full SKILL.md body, description, one-line install. Missing: category/license metadata.

Trust6/25

Limited provenance information — review the source before installing.

Freshness6/15

No update timestamp is tracked for this skill in our catalog.

Scored automatically from popularity, completeness, trust, and freshness — computed only from data in our catalog, never fabricated.

Bun FAQ

How do I install the Bun skill?

Run “npx skills add https://bun.sh --skill bun” in your terminal. The skill is added to your agent's skills directory and picked up automatically on the next run — no restart or extra configuration needed.

What does the Bun skill do?

Use when building JavaScript/TypeScript applications, running scripts, managing dependencies, bundling code, or testing. Bun is an all-in-one toolkit that replaces Node.js, npm, webpack, and Jest with a single fast binary. The full SKILL.md on this page shows the exact instructions the skill gives your agent.

Is the Bun skill free?

Yes. Bun is a free, open-source skill published from bun.sh. As with any third-party skill, review the source repository before installing it into an agent with sensitive access.

Does Bun work with Claude Code and OpenClaw?

Yes. Skills use the portable SKILL.md format, so Bun works with Claude Code, OpenClaw, Codex, Hermes, and any other agent that reads SKILL.md skills.

Recommended skills

Browse all →
find-skills logo

find-skills

vercel-labs/skills

2.8M installsInstall
grill-me logo

grill-me

mattpocock/skills

752K installsInstall
frontend-design logo

frontend-design

anthropics/skills

741K installsInstall
grill-with-docs logo

grill-with-docs

mattpocock/skills

639K installsInstall
agent-browser logo

agent-browser

vercel-labs/agent-browser

627K installsInstall
improve-codebase-architecture logo

improve-codebase-architecture

mattpocock/skills

615K installsInstall

Related guides

Hand-picked reading to help you choose, install, and use agent skills.

GuideBest Testing Skills For AI AgentsGuide10 Openclaw Skills Every Nextjs Developer NeedsGuideHow To Build Your First Openclaw Skill

Skills by category

FrontendBackend & APIsTesting & QASecurityDevOps & CI/CDMCP & ToolingAutomationData & Analysis+20 more

MCP servers by category

AI & MLDeveloper ToolsVector & MemoryFiles & DocsDatabasesFinance & PaymentsBrowser & ScrapingCommunication+8 more

Plugins by category

developmentproductivitycommunicationdesignsecuritydatabaseworkflowcompliance+34 more

The Agent Stack

Weekly Claude Code, Agent SDK, and MCP moves worth your time — free.

Claude Market

AI agent skills directory, marketplace, and workflow hub for OpenClaw, Hermes Agent, Claude Code, Codex, and MCP-powered operator stacks.

Independent project, not affiliated with Anthropic.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Plugins

More

  • Submit a Tool
  • Create a Skill
  • Advertise
  • Free Tools
  • API
  • Shipping
  • Contact
  • Terms
  • Privacy
© 2026 Claude Market · Not affiliated with Anthropic
Fazier badgeFeatured on Twelve ToolsFeatured on Wired BusinessRemote OpenClaw - Featured on AI Agents DirectoryListed on Turbo0Featured on Uneed