Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器unknown未标认证来源可访问许可证需确认审计通过

bunBun 运行时

Agent Skill

bun 用于查找、检索和筛选相关信息,适合在 Local Agent 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

47,520

周安装

1,955

下载量

16,640
Local Agent

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:bun(Bun 运行时)
来源仓库:https://bun.sh
仓库路径:bun
安装命令:
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。当前暂无明确安装命令,请以来源页面说明为准。

简介

用于查找、检索和筛选 Bun 运行时相关信息。bun 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合在 Local Agent 中根据关键词或任务场景快速定位候选结果。
  • 支持直接运行脚本、安装依赖、构建和测试等一体化工具链。
  • 相比 Node.js 启动速度快 4 倍,npm 安装快 25 倍。
  • 安装前建议确认权限范围和维护状态,避免触发联网或文件读写。

SKILL.md

Bun Skill Reference

Product Summary

Bun is a unified JavaScript runtime, package manager, bundler, and test runner written in Zig. It replaces Node.js, npm, esbuild, and Jest with a single fast binary. Key files: bunfig.toml (configuration), bun.lock (lockfile), package.json (project metadata). Primary commands: bun run, bun install, bun build, bun test. Bun is 4x faster than Node.js on startup and 25x faster than npm for installations. Visit https://bun.com/docs for comprehensive documentation.

When to Use

Use Bun when:

  • Running scripts: Execute TypeScript/JavaScript files directly without compilation steps (bun run file.ts)
  • Managing dependencies: Install, add, remove, or update packages faster than npm/yarn/pnpm (bun install, bun add)
  • Bundling code: Build JavaScript/TypeScript for browser or server targets with bun build
  • Testing: Run Jest-compatible tests with built-in test runner (bun test)
  • Building full-stack apps: Bundle server and client code together into single executables
  • Monorepo workflows: Use workspaces and filtering to manage multiple packages
  • Replacing Node.js: Run any Node.js-compatible code with better performance

Do not use Bun for: type checking (use tsc separately), generating type declarations, or projects requiring exact Node.js compatibility for native modules.

Quick Reference

Essential Commands

TaskCommandNotes
Run TypeScript filebun run file.tsTranspiles on-the-fly; omit run for short form
Run package scriptbun run devExecutes script from package.json
Install dependenciesbun installCreates bun.lock lockfile
Add packagebun add reactAdds to dependencies; use -d for dev
Remove packagebun remove reactRemoves from package.json and node_modules
Run testsbun testFinds *.test.ts, *.spec.ts files automatically
Build bundlebun build./src/index.ts --outdir./distBundles with tree-shaking, minification optional
Watch modebun --watch run file.tsRe-runs on file changes
Create projectbun initScaffolds new project with templates

Configuration File: bunfig.toml

Located at project root or ~/.bunfig.toml (global). Optional but useful for customization.

[install]
dev = true                    # Install devDependencies
optional = true               # Install optionalDependencies
peer = true                   # Install peerDependencies
linker = "hoisted"           # "hoisted" or "isolated" (pnpm-style)
saveTextLockfile = true      # Use text bun.lock instead of binary

[serve]
port = 3000                  # Default port for Bun.serve()

[test]
root = "."                   # Test root directory
coverage = false             # Enable coverage reporting
timeout = 5000               # Per-test timeout in ms
preload = ["./setup.ts"]     # Scripts to run before tests

[run]
shell = "system"             # "system" or "bun" (Windows defaults to "bun")
bun = true                   # Auto-alias node to bun in scripts

File Types Supported

Bun natively handles: .js, .jsx, .ts, .tsx, .json, .jsonc, .toml, .yaml, .html, .css, .wasm, .node. No configuration needed—just import and use.

Key Bun APIs

APIPurposeExample
Bun.serve()Start HTTP serverBun.serve({port: 3000, fetch: handler})
Bun.file()Read/write filesawait Bun.file("path.txt").text()
Bun.write()Write to diskawait Bun.write("out.txt", data)
Bun.build()Bundle codeawait Bun.build({entrypoints, outdir})
Bun.TranspilerTranspile codenew Bun.Transpiler({loader: "tsx"})
Bun.spawn()Run child processBun.spawn(["ls", "-la"])

Decision Guidance

When to Use Hoisted vs Isolated Linker

ScenarioUseReason
New monorepo/workspacesisolatedPrevents phantom dependencies, stricter isolation
New single-package projecthoistedTraditional npm behavior, simpler
Existing project (pre-v1.3.2)hoistedBackward compatibility
Migrating from pnpmisolatedMatches pnpm's approach

Set in bunfig.toml: linker = "isolated" or via CLI: bun install --linker isolated

When to Use bun build vs bun run

Use CaseToolWhy
Execute TypeScript directlybun runFast transpilation, no output files
Prepare for productionbun buildMinification, tree-shaking, bundling
Ship single executablebun build --compileCreates standalone binary
Development serverbun run + Bun.serve()Hot reload, fast iteration

When to Use --concurrent in Tests

ScenarioUse --concurrentReason
Independent async testsYesParallel execution speeds up suite
Tests with shared stateNoUse test.serial() for order-dependent tests
Database/API testsMaybeOnly if tests don't interfere
Unit testsYesUsually safe and faster

Workflow

1. Initialize a Project

bun init my-app
cd my-app

Choose template: Blank, React, or Library. Creates package.json, tsconfig.json, .gitignore.

2. Install Dependencies

bun install

Reads package.json, downloads packages, creates bun.lock. Much faster than npm.

3. Add Packages

bun add react
bun add -d @types/react typescript

Updates package.json and bun.lock automatically.

4. Write and Run Code

# Create index.ts
echo "console.log('Hello Bun!')" > index.ts

# Run it
bun run index.ts

Bun transpiles TypeScript on-the-fly; no build step needed.

5. Create HTTP Server

// server.ts
const server = Bun.serve({
  port: 3000,
  fetch(req) {
    return new Response("Hello!");
  },
});
console.log(`Listening on ${server.url}`);
bun run server.ts

6. Write Tests

// math.test.ts
import { test, expect } from "bun:test";

test("2 + 2 = 4", () => {
  expect(2 + 2).toBe(4);
});
bun test

Finds and runs all *.test.ts files automatically.

7. Bundle for Production

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

Outputs optimized bundle to dist/. Use --target browser|node|bun to control output format.

8. Create Standalone Executable

bun build ./cli.ts --outfile mycli --compile
./mycli

Bundles code + Bun runtime into single executable; no dependencies needed.

Common Gotchas

  • Lifecycle scripts disabled by default: Bun doesn't run postinstall scripts for security. Add trusted packages to trustedDependencies in package.json to allow them.
  • bun run vs bun <script>: If a built-in Bun command exists with the same name, use bun run <script> explicitly to run package.json scripts.
  • Watch mode flag placement: Use bun --watch run file.ts, not bun run file.ts --watch. Flags after the filename are passed to the script itself.
  • TypeScript errors on Bun global: Install @types/bun and add "lib": ["ESNext"] to tsconfig.json compilerOptions.
  • Lockfile format: Bun v1.2+ uses text bun.lock by default (not binary bun.lockb). Commit to version control.
  • Auto-install disabled in CI: Set install.auto = "disable" in bunfig.toml for production to prevent unexpected package downloads.
  • Node.js compatibility: Bun implements most Node.js APIs but not all. Check docs for node: module support before relying on Node-specific code.
  • Bundler always bundles: Unlike esbuild, bun build always bundles by default. Use Bun.Transpiler to transpile individual files without bundling.
  • No type checking in bundler: bun build does not type-check. Run tsc --noEmit separately for type validation.
  • Peer dependencies installed by default: Unlike npm, Bun installs peer dependencies automatically. Set peer = false in bunfig.toml to disable.

Verification Checklist

Before submitting work with Bun:

  • Run bun install to verify dependencies resolve without errors
  • Run bun run <script> to test main entry point
  • Run bun test and verify all tests pass
  • Run bun build and check output files exist in outdir
  • Verify bun.lock is committed to version control (not .gitignored)
  • Check bunfig.toml for any environment-specific settings that should be removed
  • Confirm no node_modules folder is committed (should be in .gitignore)
  • Test with --production flag if building for deployment: bun install --production
  • Verify TypeScript files have no type errors: bun run tsc --noEmit (if tsc installed)
  • Check that package.json "type": "module" is set for ESM projects

Resources

Comprehensive navigation: https://bun.com/docs/llms.txt — Page-by-page listing of all Bun documentation.

Critical pages:

  1. Bun Runtime — Execute files, scripts, and manage the runtime
  2. Package Manager — Install, add, remove packages and manage dependencies
  3. Bundler — Bundle JavaScript/TypeScript for production
  4. Test Runner — Write and run Jest-compatible tests
  5. bunfig.toml — Configure Bun's behavior

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

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Local Agent

93.2%
按下载量换算15,508

安全审计

Socket

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills