AphrodyBun GitHub

Runtime docs · Runtime · Standards & Compatibility

Bun OS feature catalog

Every feature that Bun OS adds to upstream Bun: CLI commands, Bun APIs, built-in modules, packages, agent tools, skills, crates and apps, with the source that owns each.

This page is the single catalog of what the Bun OS fork adds to upstream oven-sh/bun. It was built from the source (CLI dispatch in src/runtime/cli/mod.rs, the built-in module registry, packages/*/package.json, src/agent_tools, .claude/skills) and a diff against the upstream merge base, not from memory. A declaration here shows that the source exists; it does not qualify behavior on a given executable or platform. Check the linked page for each feature's limits.

Agents: load the bun-fork-features skill (or the bun-fork-features memory note of the agent plugin) before concluding that Bun lacks a capability. Search this catalog, then rg the source, before writing a dependency or a script.

CLI commands

Upstream commands (run, test, build, install, add, remove, update, audit, outdated, link, publish, patch, pm, init, create, x/bunx, repl, upgrade, why, info) keep their behavior. The fork adds or replaces the following.

CommandWhat it doesOwner and docs
bun checkNative TypeScript type checker (port of typescript-go, bun_sema); --check on bun run type checks before runningsrc/sema, TypeScript
bun lintNative lint engine with lint-rule plugins and rule docssrc/quality, src/lint, Lint, plugins
bun fmtNative formattersrc/quality, Format
bun n2b / bun migrateScan, rewrite and migrate Node.js projects to Bun; n2b plugin for load and build timesrc/migrate, packages/bun-n2b, n2b
bun wasm build <crate>Build a Rust crate into a WebAssembly ES module; bun build --target=wasmsrc/runtime/cli/toolchain_command.rs, src/wasm
bun rename --from a --to bRename identifiers and paths across a git repositorysrc/runtime/cli/devtools_command.rs
bun docs [query]Search the embedded Bun documentationdevtools_command.rs
bun parse <file...>Lines, bytes, hash, imports and exports of JS/TS files from the transpiler scandevtools_command.rs
bun benchBenchmark helper of the devtools setdevtools_command.rs
bun video metadata | frameNative video metadata, frames, audio, GIF and MP4 remuxvideo_command.rs, Video
bun just [recipe]Run justfile recipes (embedded just)src/just, just
bun mcp [install]Model Context Protocol server for coding agents (stdio and HTTP)src/mcp, mcp, agent tools
bun agent-plugin [install]Install the plugin into Claude Code, Codex, Antigravity, Gemini CLI and OpenCodepackages/bun-agent-plugin, agent plugin
bun lsp [query]One language server for TypeScript, JavaScript, Python, Rust, C, C++ and C#src/lsp, lsp
bun ssh <host> [command]SSH client, copy, forwards, server and connection pool, via system OpenSSH or the built-in clientsrc/ssh, ssh
bun git, bun rclone, bun rsyncPinned installed tools; bun rsync --native uses the built-in delta copytools_command.rs, packages/bun-tools
bun dockerNative Docker Engine client (version, info, ps, images, start, stop; plan unless --apply)src/docker
bun vpnEmbedded Mullvad VPN: daemon, status, connect, disconnect, login --stdin and login --from-env NAMEsrc/bun_vpn, vpn
bun hostResource inventory of a machine and a signed registry shared between machines: collect, schema, push, sync, list, findsrc/host, host
bun msvcResolve and cache Visual Studio, MSVC and the Windows SDK; cross-compile for Windowsmsvc_command.rs, msvc
bun winmdGenerate Rust or bun:ffi bindings from Windows metadatawinmd_command.rs, msvc
bun dotnetRun the .NET SDK inside Bun, run C# files, call assemblies from bun:dotnetdotnet_command.rs, dotnet
bun python, bun uvCPython host, bun compile for Python, embedded UV package managerpython_command.rs, uv_command.rs, python, buv
bun searchGoogle search owner (SERP, discovery, cache, browser fallback)search_command.rs, src/google, packages/bun-google
bun env, bun cookie.env files (list, get, set, unset, check, files; secrets hidden) and cookie jars (import, jars, list, get, header, rm, check)env_command.rs, cookie_command.rs, src/env_cookie, bun env, bun cookie
bunsh (argv0)Bun Shell as a system shell: -c, script, interactive, --rootsrc/runtime/cli/bunsh.rs
Coreutils appletsuutils coreutils linked in; bun run under an applet name (head, sort, ...) runs that utility, Bun Shell uses themsrc/coreutils
bun bd, bun factoryBuild the checkout (bun bd [command]), drive the VPS build factory (sync, gen, build, all, slots, run -- <cmd>)scripts/build.ts, scripts/factory/factory.ts, VPS factory

Bun APIs added to the Bun global

Upstream APIs are in Bun APIs. The fork adds:

APIPurposeDocs
Bun.VideoMetadata, frames, audio, GIF, MP4 remux, with the Bun.Image pipelinevideo
Bun.HTMLNative HTML parser, CSS parser, readability and structured extractionreadability
Bun.BrowserRealmDOM realm over a parsed HTML documentpackages/bun-types/bun.d.ts
Bun.Crawl, Bun.CurlNative crawler and curl-style clientpackages/bun-types/bun.d.ts
Bun.WebDetectOffline technology and anti-bot detection of a fetched response; SSRF deny-setweb-detect
Bun.VectorIndexPersistent native vector search with filtered nearest neighborsvector-index
Bun.Terminal, Bun.TerminalScreenInteractive processes and a headless VT screen (cell grid, scrollback)terminal
Bun.Archivetar and zip input and outputpackages/bun-types/bun.d.ts

Built-in modules (bun:*)

Fork-only modules, from the module registry diffed against upstream.

ModulePurposeDocs
bun:yoloTyped judgments: yes/no, choice and score with confidence and abstentionyolo, decisions
bun:graph, bun:graph-index, bun:graph-native, bun:graphxCode graphs of Rust, TypeScript, JavaScript and Markdowngraph
bun:pythonEmbed CPython in the JavaScript processpython
bun:dotnetCall .NET assembliesdotnet
bun:windows, bun:winrt, bun:winuiWin32/COM/NT, WinRT projections, native WinUI 3 windows with Fluent 2 tokenswindows, winrt, winui
bun:linuxNamespaces, cgroups, seccomp, io_uring, eBPF, netlink, perf_eventlinux
bun:cosmicCOSMIC desktop and text stackcosmic
bun:nginxValidate, start, reload and stop a pinned NGINXnginx
bun:chromiumChromium and Chrome CDPpackages/bun-chromium
bun:googleGoogle search and project contractpackages/bun-google
bun:adblockBrave adblock-rust engine, attachWebViewadblock
bun:privacySTAR, Privacy Pass, OPAQUEprivacy
bun:rioRio-backed virtual terminal screen (Bun.RioTerminal)packages/bun-types/rio.d.ts, src/rio
bun:obscuraChromium launcher sharing the bun:chromium ownerpackages/bun-types/obscura.d.ts
bun:wasmWebAssembly surface of the Rust cratessrc/wasm
bun:vitestVitest compatibility for bun testpackages/bun-types

Agent tools (bun mcp)

Run bun mcp install, or bun agent-plugin install, to expose these tools. See agent tools for schemas.

  • Files and edits: read_file, write_file, edit_file (guarded by a revision), vfs_find, vfs_grep, vfs_edit, vfs_apply.
  • Dependencies: deps_list, deps_info, deps_tree, deps_read, deps_search, deps_docs, git_ingest.
  • Code intelligence: lsp_definition, lsp_diagnostics, lsp_hover, lsp_references, lsp_rename, lsp_symbols, and the graph tools graph_symbols, graph_callers, graph_impact, graph_path, graph_community, graph_query.
  • Bun knowledge: docs_search, docs_read, examples_search, skills_list, skill_read.
  • Execution: run, test, shell (embedded Bun Shell).
  • Parsing: html_parse, css_parse.
  • Memory: memory_search, memory_read, memory_write, memory_import.
  • Hosts and decisions: host_inventory, host_find, yolo_decide.

Skills

Sources live in .claude/skills; entries listed in src/agent_tools/skills.json are generated by src/codegen/generate-agent-tools.ts (bun src/codegen/generate-agent-tools.ts, --check to verify). The agent plugin installs them for every harness.

  • Fork features and routing: bun-fork-features, bun-apis, bun-deps, bun-graph, bun-yolo, bun-rust-first, work, verify.
  • Domains: bun-video, video-pixel-perfect, bun-vpn, bun-nginx, n2b, pyjs, win32, linux-kernel, webkit, cpp-bun.
  • Implementation guides: implementing-jsc-classes-cpp, implementing-jsc-classes-rust, javascriptcore-garbage-collector, rust-system-calls, sync-react-compiler.
  • Tests: writing-bundler-tests, writing-dev-server-tests, slowest-tests.

Packages

Directory packages/ (scope @aphrody unless noted).

PackagePurpose
bun-typesType definitions, including every fork module
bun-agent-pluginPlugin for Claude Code, Codex, Antigravity, Gemini CLI, OpenCode and local harnesses: MCP, hooks, skills, memory
bun-videoVideo protocols, native capture, Remotion and HyperFrames, WebGPU compute (bun-video-webgpu)
bun-web, bun-webview-core, bun-webview-pageBrowser SDK over Bun.WebView, Playwright-shaped pages and locators, web service (fetch, scrape, crawl)
bun-chromium, bun-googleChromium and Chrome CDP SDK; Google REST and Cloud Code SDK
bun-cloudflareWorkers with bindings, REST API, Wrangler
bun-nextNext.js on Bun, App Router on Bun.build and Bun.serve
bun-plugin-tailwind, bun-plugin-svelte, bun-plugin-yaml, bun-icons, bun-fluent, bun-m3Build plugins, Fluent 2 tokens, Material 3 preset
bun-plugin-neon, bun-plugin-supabasePostgres clients and migrations on Bun.SQL
bun-oxcOxc parser, transformer, minifier, resolver, oxlint and oxfmt
bun-n2bNode.js to Bun migration plugin and CLI
bun-dotnet, bun-dotnet-native, bun-winsvc.NET payload, Windows service host
bun-python-toolchain, bun-python-native, bun-python-conformance, buv, bun-runtime-sdkPython, UV and PyJS runtime and C ABI
bun-llamallama.cpp through bun:ffi
bun-nginxTyped NGINX controller
bun-supervisor, bun-tools, bun-timelineProcess supervision, native tool distribution and metadata, timeline projections
bun-x, bun-qr, bun-fuzzyX client and tools, QR encoder, Bitap fuzzy search
webaphrody.app site, Cloudflare Worker and the self-hosted server (aphrody-server)
aphrody-migrated, aphrody-pkg-systemMigrated Aphrody sources and package system

Native crates

Fork crates under src/: adblock, agent_tools, browser, bun-os, bun_vpn, coreutils, cosmic, docker, env_cookie, file_tools, google, graph, host, just, lint, lsp, mcp, migrate, no_window, privacy, quality, react_compiler, readability, rio, sema, ssh, text_diff, vfs, vt, wasm, workflow, workspace, x. Plugin crates aphrody-bun-native-plugin and aphrody-bun-macro, and crates/aphrody-jev, are published separately.

Apps and deliverables

  • apps/desktop (@aphrody/desktop): Bun WebOS, a browser desktop with browser-permission probes, WebAssembly modules and a loopback host server (bun run apps/desktop/server.ts --port 3000).
  • apps/mobile (@aphrody/mobile): mobile shell over the desktop and web packages.
  • aphrody-server: one executable serving the aphrody.app site and API with the same handler as the Cloudflare Worker (aphrody-server).
  • Static site, llms.txt and llms-full.txt: generated from docs/ by packages/web/site/build.ts, so this page appears in both.

Keeping this page true

When a command, module, package, tool or skill is added or removed, update this page, the bun-fork-features skill (src/agent_tools/sections/bun-fork-features.md) and the plugin memory note in the same change. Do not edit llms.txt, llms-full.txt, README.md or .claude/skills/* generated files by hand; their generators are packages/web/site/build.ts, scripts/aphrody/release-surfaces.ts and src/codegen/generate-agent-tools.ts.