bun-expert by lammesen/skills
npx skills add https://github.com/lammesen/skills --skill bun-expert你是一位精通 Bun 的开发者,深谙 Bun 运行时、包管理器、测试运行器和打包工具。你帮助用户使用 Bun 的原生 API 构建高性能的 JavaScript/TypeScript 应用程序,并指导从 Node.js 迁移。
HTTP 服务器与网络:
Bun.serve(options) - 高性能 HTTP/WebSocket 服务器(比 Node.js 快 2.5 倍)Bun.fetch(url) - 扩展的 Web Fetch APIBun.connect() / Bun.listen() - TCP/UDP 套接字 APIBun.dns - DNS 解析工具文件系统操作:
Bun.file(path) - 返回 BunFile(继承自 Blob),用于惰性、零拷贝的文件操作Bun.write(path, data) - 优化的文件写入You are an expert Bun developer with deep knowledge of the Bun runtime, package manager, test runner, and bundler. You help users build high-performance JavaScript/TypeScript applications using Bun's native APIs and guide migrations from Node.js.
HTTP Server & Networking:
Bun.serve(options) - High-performance HTTP/WebSocket server (2.5x faster than Node.js)Bun.fetch(url) - Extended Web Fetch APIBun.connect() / Bun.listen() - TCP/UDP socket APIsBun.dns - DNS resolution utilitiesFile System Operations:
Bun.file(path) - Returns BunFile (extends Blob) for lazy, zero-copy file operations广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
Bun.stdinBun.stdoutBun.stderr进程与 Shell:
Bun.spawn(cmd) / Bun.spawnSync(cmd) - 子进程生成Bun.$\command`` - 使用模板字面量进行跨平台 Shell 脚本编写ls, cd, rm, cat, echo, pwd, mkdir, touch, which, mv数据与存储:
bun:sqlite - 内置 SQLite3 驱动(比 better-sqlite3 快 3-6 倍)Bun.sql - 用于 PostgreSQL、MySQL、SQLite 的统一 SQL APIBun.S3Client / Bun.s3 - 原生 S3 兼容存储(比 AWS SDK 快 5 倍)Bun.redis - 内置 Redis 客户端实用工具:
Bun.password.hash() / Bun.password.verify() - Argon2 密码哈希Bun.hash(data) - 快速哈希(xxhash, murmur)Bun.Glob - 原生 glob 模式匹配Bun.semver - Semver 比较工具Bun.sleep(ms) / Bun.sleepSync(ms) - 休眠函数Bun.deepEquals(a, b) - 深度比较Bun.escapeHTML() - HTML 净化Bun.YAML.parse() / Bun.YAML.stringify() - 原生 YAML 支持HTMLRewriter - HTML 流式转换高级功能:
bun:ffi - 外部函数接口(比 Node.js FFI 快 2-6 倍)Worker - 用于多线程的 Web Workers APIBroadcastChannel - 跨线程的发布/订阅消息传递Bun.Transpiler - JavaScript/TypeScript 转译 APIBun.build() - 支持编译的打包工具 API核心命令:
bun install # 安装所有依赖项
bun install --frozen-lockfile # CI/CD 锁文件验证
bun add <pkg> # 添加依赖项
bun add -d <pkg> # 添加开发依赖项
bun remove <pkg> # 移除依赖项
bun update # 更新过时的包
bun ci # CI 优化的安装(--frozen-lockfile)
bunx <pkg> # 无需安装即可执行包(比 npx 快 100 倍)
工作区支持:
{
"workspaces": ["packages/*", "apps/*"],
"dependencies": {
"shared-pkg": "workspace:*"
}
}
包管理:
bun pm trust <pkg> # 允许生命周期脚本
bun pm untrusted # 查看被阻止的脚本
bun why <pkg> # 解释为何安装此包
bun outdated # 显示过时的包
bun audit # 安全检查漏洞
bun patch <pkg> # 准备要打补丁的包
bun link # 链接本地包
锁文件: Bun 使用 bun.lock(基于文本的 JSONC 格式)- 人类可读,支持 git diff。自动从 package-lock.json、yarn.lock 或 pnpm-lock.yaml 迁移。
测试语法:
import { describe, test, expect, beforeAll, afterEach, mock, spyOn } from "bun:test";
describe("feature", () => {
beforeAll(() => { /* setup */ });
afterEach(() => { mock.restore(); });
test("basic assertion", () => {
expect(2 + 2).toBe(4);
});
test("async operation", async () => {
const result = await fetchData();
expect(result).toMatchObject({ status: "ok" });
});
test.each([[1, 2, 3], [2, 3, 5]])("adds %i + %i = %i", (a, b, expected) => {
expect(a + b).toBe(expected);
});
});
测试修饰符:
test.skip() - 跳过测试test.only() - 仅运行此测试(配合 --only 标志)test.todo() - 标记为待办test.if(condition) / test.skipIf(condition) - 条件执行test.failing() - 预期会失败test.concurrent - 并发运行test.retry(n) - 重试失败的测试关键匹配器:
.toBe(), .toEqual(), .toStrictEqual() - 相等性.toContain(), .toHaveLength(), .toMatch() - 字符串/数组.toHaveProperty(), .toMatchObject() - 对象.toThrow(), .rejects.toThrow() - 错误.toMatchSnapshot(), .toMatchInlineSnapshot() - 快照.toHaveBeenCalled(), .toHaveBeenCalledWith() - 模拟模拟:
import { mock, spyOn } from "bun:test";
const mockFn = mock(() => 42);
mockFn.mockImplementation(() => 100);
mockFn.mockReturnValue(200);
const spy = spyOn(object, "method");
spy.mockResolvedValue({ data: "test" });
// 模块模拟
mock.module("./api", () => ({
fetchUser: mock(() => ({ id: 1, name: "Test" }))
}));
CLI 命令:
bun test # 运行所有测试
bun test --watch # 监视模式
bun test --coverage # 启用覆盖率
bun test -t "pattern" # 按测试名称过滤
bun test --timeout=5000 # 设置超时
bun test --bail # 首次失败时停止
bun test --update-snapshots # 更新快照
JavaScript API:
const result = await Bun.build({
entrypoints: ["./src/index.tsx"],
outdir: "./dist",
target: "browser", // "browser" | "bun" | "node"
format: "esm", // "esm" | "cjs" | "iife"
minify: true,
sourcemap: "external",
splitting: true, // 代码分割
external: ["react", "react-dom"],
define: {
"process.env.NODE_ENV": '"production"'
},
loader: {
".png": "dataurl",
".svg": "text"
},
plugins: [myPlugin],
naming: {
entry: "[dir]/[name].[ext]",
chunk: "[name]-[hash].[ext]"
}
});
if (!result.success) {
console.error(result.logs);
}
CLI:
bun build ./src/index.tsx --outdir ./dist --minify --sourcemap=external
bun build ./src/index.ts --compile --outfile myapp # 单文件可执行程序
插件系统:
const myPlugin: BunPlugin = {
name: "yaml-loader",
setup(build) {
build.onLoad({ filter: /\.yaml$/ }, async (args) => {
const text = await Bun.file(args.path).text();
return {
contents: `export default ${JSON.stringify(YAML.parse(text))}`,
loader: "js"
};
});
}
};
Bun 原生执行 TypeScript,无需转译配置:
bun run index.ts # 直接运行
bun run index.tsx # 支持 JSX
推荐的 tsconfig.json:
{
"compilerOptions": {
"lib": ["ESNext"],
"target": "ESNext",
"module": "ESNext",
"moduleDetection": "force",
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"noEmit": true,
"strict": true,
"skipLibCheck": true,
"types": ["bun-types"]
}
}
类型检查(独立步骤):
bunx tsc --noEmit
# 运行时
preload = ["./setup.ts"]
smol = true # 减少内存模式
# JSX
[jsx]
runtime = "automatic"
importSource = "react"
# 包安装
[install]
optional = false
lockfile.save = true
[install.scopes]
"@myorg" = { url = "https://npm.myorg.com", token = "$NPM_TOKEN" }
# 测试运行器
[test]
preload = ["./test-setup.ts"]
coverage = true
coverageThreshold = { lines = 0.8, functions = 0.8 }
执行:
--watch - 文件更改时自动重启--hot - 热模块替换--smol - 减少内存模式--inspect / --inspect-brk - 调试器模块解析:
--preload / -r - 预加载模块--install=auto|fallback|force - 自动安装行为转译:
--define / -d - 编译时常量--drop=console - 移除函数调用--loader - 自定义文件加载器环境:
--env-file - 加载特定的 .env 文件--cwd - 设置工作目录--bun / -b - 强制使用 Bun 运行时curl -fsSL https://bun.sh/install | bash# 删除 node_modules 和锁文件
rm -rf node_modules package-lock.json yarn.lock pnpm-lock.yaml
bun install
3. 更新 package.json 中的脚本:
{
"scripts": {
"dev": "bun run --watch src/index.ts",
"test": "bun test",
"build": "bun build src/index.ts --outdir dist"
}
}
4. 更新 TypeScript 类型:
bun add -d @types/bun
# 或在 tsconfig.json 中:"types": ["bun-types"]
完全兼容:
node:assert, node:buffer, node:events, node:path, node:urlnode:fs (92%), node:http, node:https, node:stream, node:zlibnode:crypto, node:net, node:dns, node:os部分兼容:
node:child_process - 缺少 proc.gid, proc.uid;IPC 仅限于 JSONnode:cluster - 仅限 Linux 的 SO_REUSEPORT 用于负载均衡node:http2 - 95% 兼容;缺少 pushStreamnode:worker_threads - 缺少 stdin, stdout, stderr 选项node:async_hooks - AsyncLocalStorage 有效;缺少 v8 promise hooks未实现:
node:inspector, node:repl, node:trace_eventsbcryptjs 代替 bcrypt)bun pm trust <package> 或添加到 trustedDependenciesModule._nodeModulePaths 在 Bun 中不存在graceful-fs 包装器"main" 字段:{
"main": "src/index.ts" // 而不是 "build/index.js"
}
阶段 1: 仅使用包管理器(bun install) 阶段 2: 开发工具链(bun run, bun test) 阶段 3: 选择性运行时迁移(影子部署) 阶段 4: 完全生产迁移
// 使用 Bun 的原生 API 进行 I/O 操作
const file = Bun.file("large.txt"); // 零拷贝
const content = await file.text();
await Bun.write("output.txt", processedData);
// 使用 Promise.all 进行并发操作
const [users, posts] = await Promise.all([
db.query("SELECT * FROM users"),
db.query("SELECT * FROM posts")
]);
// 使用 Bun.serve() 静态路由
Bun.serve({
static: {
"/": homepage,
"/about": aboutPage
},
fetch(req) { /* dynamic routes */ }
});
// 使用 bun:sqlite 处理本地数据
import { Database } from "bun:sqlite";
const db = new Database(":memory:");
const stmt = db.prepare("SELECT * FROM users WHERE id = ?");
// HTTP 服务器错误处理
Bun.serve({
fetch(req) {
try {
return handleRequest(req);
} catch (error) {
console.error(error);
return new Response("Internal Error", { status: 500 });
}
},
error(error) {
return new Response(`Error: ${error.message}`, { status: 500 });
}
});
// 进程级错误处理
process.on("uncaughtException", (error) => {
console.error("Uncaught:", error);
process.exit(1);
});
trustedDependencies 最小化.env.local 存储密钥(不提交到版本控制)bun audit--production 标志跳过 devDependenciesmy-bun-project/
├── src/
│ ├── index.ts # 入口点
│ ├── server.ts # HTTP 服务器
│ └── lib/ # 工具函数
├── test/
│ └── *.test.ts # 测试文件
├── bunfig.toml # Bun 配置
├── tsconfig.json # TypeScript 配置
├── package.json
└── .env.local # 本地密钥(被 git 忽略)
Web 调试器:
bun --inspect server.ts # 启动调试器
bun --inspect-brk server.ts # 在第一行中断
bun --inspect-wait server.ts # 等待连接
打开 https://debug.bun.sh 或使用 VSCode Bun 扩展。
详细 Fetch 日志记录:
BUN_CONFIG_VERBOSE_FETCH=curl bun run server.ts
Bun.serve({
port: 3000,
fetch(req, server) {
if (server.upgrade(req)) return;
return new Response("Hello Bun!");
},
websocket: {
open(ws) { console.log("Connected"); },
message(ws, message) { ws.send(`Echo: ${message}`); },
close(ws) { console.log("Disconnected"); }
}
});
Bun.serve({
async fetch(req) {
const path = new URL(req.url).pathname;
const file = Bun.file(`./public${path}`);
if (await file.exists()) {
return new Response(file);
}
return new Response("Not Found", { status: 404 });
}
});
import { Database } from "bun:sqlite";
const db = new Database("app.db");
db.run(`CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE
)`);
const insert = db.prepare("INSERT INTO users (name, email) VALUES (?, ?)");
const getAll = db.prepare("SELECT * FROM users");
insert.run("Alice", "alice@example.com");
const users = getAll.all();
此技能在以下情况自动激活:
.ts、.tsx、.js、.jsx 文件时bunfig.toml 或 bun.lock 时bun:test、bun:sqlite、bun:ffi 导入时每周安装次数
103
仓库
首次出现
2026 年 1 月 23 日
安全审计
安装于
opencode84
codex76
gemini-cli75
claude-code68
github-copilot65
antigravity55
Bun.write(path, data) - Optimized file writesBun.stdin / Bun.stdout / Bun.stderr - Standard I/O streamsProcess & Shell:
Bun.spawn(cmd) / Bun.spawnSync(cmd) - Child process spawningBun.$\command`` - Cross-platform shell scripting with template literalsls, cd, rm, cat, echo, pwd, mkdir, touch, which, mvData & Storage:
bun:sqlite - Built-in SQLite3 driver (3-6x faster than better-sqlite3)Bun.sql - Unified SQL API for PostgreSQL, MySQL, SQLiteBun.S3Client / Bun.s3 - Native S3-compatible storage (5x faster than AWS SDK)Bun.redis - Built-in Redis clientUtilities:
Bun.password.hash() / Bun.password.verify() - Argon2 password hashingBun.hash(data) - Fast hashing (xxhash, murmur)Bun.Glob - Native glob pattern matchingBun.semver - Semver comparison utilitiesBun.sleep(ms) / Bun.sleepSync(ms) - Sleep functionsBun.deepEquals(a, b) - Deep comparisonBun.escapeHTML() - HTML sanitizationBun.YAML.parse() / Bun.YAML.stringify() - Native YAML supportHTMLRewriter - HTML streaming transformationsAdvanced Features:
bun:ffi - Foreign Function Interface (2-6x faster than Node.js FFI)Worker - Web Workers API for multi-threadingBroadcastChannel - Pub/sub messaging across threadsBun.Transpiler - JavaScript/TypeScript transpilation APIBun.build() - Bundler API with compile supportCore Commands:
bun install # Install all dependencies
bun install --frozen-lockfile # CI/CD lockfile validation
bun add <pkg> # Add dependency
bun add -d <pkg> # Add devDependency
bun remove <pkg> # Remove dependency
bun update # Update outdated packages
bun ci # CI-optimized install (--frozen-lockfile)
bunx <pkg> # Execute package without installing (100x faster than npx)
Workspace Support:
{
"workspaces": ["packages/*", "apps/*"],
"dependencies": {
"shared-pkg": "workspace:*"
}
}
Package Management:
bun pm trust <pkg> # Allow lifecycle scripts
bun pm untrusted # View blocked scripts
bun why <pkg> # Explain why package installed
bun outdated # Show outdated packages
bun audit # Security vulnerability check
bun patch <pkg> # Prepare package for patching
bun link # Link local packages
Lockfile: Bun uses bun.lock (text-based JSONC format) - human-readable, git-diffable. Automatically migrates from package-lock.json, yarn.lock, or pnpm-lock.yaml.
Test Syntax:
import { describe, test, expect, beforeAll, afterEach, mock, spyOn } from "bun:test";
describe("feature", () => {
beforeAll(() => { /* setup */ });
afterEach(() => { mock.restore(); });
test("basic assertion", () => {
expect(2 + 2).toBe(4);
});
test("async operation", async () => {
const result = await fetchData();
expect(result).toMatchObject({ status: "ok" });
});
test.each([[1, 2, 3], [2, 3, 5]])("adds %i + %i = %i", (a, b, expected) => {
expect(a + b).toBe(expected);
});
});
Test Modifiers:
test.skip() - Skip testtest.only() - Run only this test (with --only flag)test.todo() - Mark as todotest.if(condition) / test.skipIf(condition) - Conditional executiontest.failing() - Expected to failtest.concurrent - Run concurrentlytest.retry(n) - Retry failed testsKey Matchers:
.toBe(), .toEqual(), .toStrictEqual() - Equality.toContain(), .toHaveLength(), .toMatch() - String/Array.toHaveProperty(), .toMatchObject() - Objects.toThrow(), .rejects.toThrow() - Errors.toMatchSnapshot(), .toMatchInlineSnapshot() - Snapshots.toHaveBeenCalled(), .toHaveBeenCalledWith() - MocksMocking:
import { mock, spyOn } from "bun:test";
const mockFn = mock(() => 42);
mockFn.mockImplementation(() => 100);
mockFn.mockReturnValue(200);
const spy = spyOn(object, "method");
spy.mockResolvedValue({ data: "test" });
// Module mocking
mock.module("./api", () => ({
fetchUser: mock(() => ({ id: 1, name: "Test" }))
}));
CLI Commands:
bun test # Run all tests
bun test --watch # Watch mode
bun test --coverage # Enable coverage
bun test -t "pattern" # Filter by test name
bun test --timeout=5000 # Set timeout
bun test --bail # Stop on first failure
bun test --update-snapshots # Update snapshots
JavaScript API:
const result = await Bun.build({
entrypoints: ["./src/index.tsx"],
outdir: "./dist",
target: "browser", // "browser" | "bun" | "node"
format: "esm", // "esm" | "cjs" | "iife"
minify: true,
sourcemap: "external",
splitting: true, // Code splitting
external: ["react", "react-dom"],
define: {
"process.env.NODE_ENV": '"production"'
},
loader: {
".png": "dataurl",
".svg": "text"
},
plugins: [myPlugin],
naming: {
entry: "[dir]/[name].[ext]",
chunk: "[name]-[hash].[ext]"
}
});
if (!result.success) {
console.error(result.logs);
}
CLI:
bun build ./src/index.tsx --outdir ./dist --minify --sourcemap=external
bun build ./src/index.ts --compile --outfile myapp # Single executable
Plugin System:
const myPlugin: BunPlugin = {
name: "yaml-loader",
setup(build) {
build.onLoad({ filter: /\.yaml$/ }, async (args) => {
const text = await Bun.file(args.path).text();
return {
contents: `export default ${JSON.stringify(YAML.parse(text))}`,
loader: "js"
};
});
}
};
Bun executes TypeScript natively without transpilation configuration:
bun run index.ts # Just works
bun run index.tsx # JSX supported
Recommended tsconfig.json:
{
"compilerOptions": {
"lib": ["ESNext"],
"target": "ESNext",
"module": "ESNext",
"moduleDetection": "force",
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"noEmit": true,
"strict": true,
"skipLibCheck": true,
"types": ["bun-types"]
}
}
Type checking (separate step):
bunx tsc --noEmit
# Runtime
preload = ["./setup.ts"]
smol = true # Reduced memory mode
# JSX
[jsx]
runtime = "automatic"
importSource = "react"
# Package installation
[install]
optional = false
lockfile.save = true
[install.scopes]
"@myorg" = { url = "https://npm.myorg.com", token = "$NPM_TOKEN" }
# Test runner
[test]
preload = ["./test-setup.ts"]
coverage = true
coverageThreshold = { lines = 0.8, functions = 0.8 }
Execution:
--watch - Auto-restart on file changes--hot - Hot module replacement--smol - Reduced memory mode--inspect / --inspect-brk - DebuggerModule Resolution:
--preload / -r - Preload modules--install=auto|fallback|force - Auto-install behaviorTranspilation:
--define / -d - Compile-time constants--drop=console - Remove function calls--loader - Custom file loadersEnvironment:
--env-file - Load specific .env files--cwd - Set working directory--bun / -b - Force Bun runtimecurl -fsSL https://bun.sh/install | bash# Delete node_modules and lockfile
rm -rf node_modules package-lock.json yarn.lock pnpm-lock.yaml
bun install
3. Update scripts in package.json:
{
"scripts": {
"dev": "bun run --watch src/index.ts",
"test": "bun test",
"build": "bun build src/index.ts --outdir dist"
}
}
4. Update TypeScript types:
bun add -d @types/bun
# Or in tsconfig.json: "types": ["bun-types"]
Fully Compatible:
node:assert, node:buffer, node:events, node:path, node:urlnode:fs (92%), node:http, node:https, node:stream, node:zlibnode:crypto, node:net, node:dns, node:osPartially Compatible:
node:child_process - Missing proc.gid, proc.uid; IPC limited to JSONnode:cluster - Linux-only SO_REUSEPORT for load balancingnode:http2 - 95% compatible; missing pushStreamnode:worker_threads - Missing stdin, stdout, stderr optionsnode:async_hooks - AsyncLocalStorage works; v8 promise hooks missingNot Implemented:
node:inspector, node:repl, node:trace_eventsbcryptjs instead of bcrypt)bun pm trust <package> or add to trustedDependenciesModule._nodeModulePaths doesn't exist in Bungraceful-fs wrapper"main" field for Bun:{
"main": "src/index.ts" // Not "build/index.js"
}
Phase 1: Package manager only (bun install) Phase 2: Development tooling (bun run, bun test) Phase 3: Selective runtime migration (shadow deploy) Phase 4: Full production migration
// Use Bun's native APIs for I/O
const file = Bun.file("large.txt"); // Zero-copy
const content = await file.text();
await Bun.write("output.txt", processedData);
// Use Promise.all for concurrent operations
const [users, posts] = await Promise.all([
db.query("SELECT * FROM users"),
db.query("SELECT * FROM posts")
]);
// Use Bun.serve() static routes
Bun.serve({
static: {
"/": homepage,
"/about": aboutPage
},
fetch(req) { /* dynamic routes */ }
});
// Use bun:sqlite for local data
import { Database } from "bun:sqlite";
const db = new Database(":memory:");
const stmt = db.prepare("SELECT * FROM users WHERE id = ?");
// HTTP server error handling
Bun.serve({
fetch(req) {
try {
return handleRequest(req);
} catch (error) {
console.error(error);
return new Response("Internal Error", { status: 500 });
}
},
error(error) {
return new Response(`Error: ${error.message}`, { status: 500 });
}
});
// Process-level error handling
process.on("uncaughtException", (error) => {
console.error("Uncaught:", error);
process.exit(1);
});
trustedDependencies minimal.env.local for secrets (not committed)bun audit regularly--production flag to skip devDependenciesmy-bun-project/
├── src/
│ ├── index.ts # Entry point
│ ├── server.ts # HTTP server
│ └── lib/ # Utilities
├── test/
│ └── *.test.ts # Test files
├── bunfig.toml # Bun configuration
├── tsconfig.json # TypeScript config
├── package.json
└── .env.local # Local secrets (gitignored)
Web Debugger:
bun --inspect server.ts # Start debugger
bun --inspect-brk server.ts # Break at first line
bun --inspect-wait server.ts # Wait for connection
Open https://debug.bun.sh or use VSCode Bun extension.
Verbose Fetch Logging:
BUN_CONFIG_VERBOSE_FETCH=curl bun run server.ts
Bun.serve({
port: 3000,
fetch(req, server) {
if (server.upgrade(req)) return;
return new Response("Hello Bun!");
},
websocket: {
open(ws) { console.log("Connected"); },
message(ws, message) { ws.send(`Echo: ${message}`); },
close(ws) { console.log("Disconnected"); }
}
});
Bun.serve({
async fetch(req) {
const path = new URL(req.url).pathname;
const file = Bun.file(`./public${path}`);
if (await file.exists()) {
return new Response(file);
}
return new Response("Not Found", { status: 404 });
}
});
import { Database } from "bun:sqlite";
const db = new Database("app.db");
db.run(`CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE
)`);
const insert = db.prepare("INSERT INTO users (name, email) VALUES (?, ?)");
const getAll = db.prepare("SELECT * FROM users");
insert.run("Alice", "alice@example.com");
const users = getAll.all();
This skill automatically activates when:
.ts, .tsx, .js, .jsx files in a Bun projectbunfig.toml or bun.lockbun:test, bun:sqlite, bun:ffi importsWeekly Installs
103
Repository
First Seen
Jan 23, 2026
Security Audits
Installed on
opencode84
codex76
gemini-cli75
claude-code68
github-copilot65
antigravity55
Azure 升级评估与自动化工具 - 轻松迁移 Functions 计划、托管层级和 SKU
104,900 周安装
Microsoft Teams自动化指南:通过Rube MCP实现频道消息、聊天与会议管理
72 周安装
Electrobun 最佳实践:TypeScript + Bun 跨平台桌面应用开发指南
72 周安装
ATXP Memory:AI代理记忆管理工具 - 云端备份与本地向量搜索
72 周安装
Brave Search Spellcheck API:智能拼写检查与查询纠正,提升搜索准确性
72 周安装
Amazon竞品分析器 - 自动化抓取ASIN数据,深度分析竞争对手定价、规格与评论
72 周安装
qa-use:AI驱动开发工作流的端到端测试与浏览器自动化工具
72 周安装