360 Secure SkillHub
360 安全技能中心

bun

该 Skill 是一份 Bun 使用指南,说明如何用 Bun 替代 Node.js、npm、pnpm 或 Vite,并给出命令映射、Bun 专属 API、bun:test 测试和 Bun.serve 前端开发模式。它属于参考型开发文档,不包含可执行脚本或完整 API 文档。

brianlovin
热度 0.00
最近更新 2026-10-19 02:09:58
分类:开发依赖:纯提示词应用场景:代码生成 / API 集成 / DevOps

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add brianlovin/agent-config/bun
Metadata
name
bun
description
Use Bun instead of Node.js, npm, pnpm, or vite. Provides command mappings, Bun-specific APIs, and development patterns.

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.