AphrodyBun GitHub
Aphrody

Aphrody Labs

Bun OS

The Bun runtime of Aphrody. JavaScript and TypeScript runtime, package manager, test runner and bundler in one executable, with Aphrody's native system integrations.

aphrody-labs/bun builds on oven-sh/bun 1.4.4. Source version and published executables are tracked separately; published release: bun-v1.4.4.

Install a published runtime:

One executable for your workflow

Use the tools individually in an existing project, or build your application around Bun.

Runtime

Run JavaScript, TypeScript and JSX on JavaScriptCore. Explore the documented Node.js and Web APIs.

bun run index.tsx
Runtime docs

Package manager

Install npm packages, manage workspaces and keep dependencies in a Bun lockfile.

bun install
Package manager docs

Test runner

Write tests with assertions, mocks and snapshots from bun:test.

bun test
Test runner docs

Bundler

Bundle JavaScript, TypeScript, JSX and CSS for browser or runtime targets.

bun build ./app.tsx --outdir dist
Bundler docs

Native integrations from Aphrody Labs

System modules, Python and .NET hosting, graph APIs and desktop integration live alongside the Bun toolkit. Platform requirements and source inventory are documented in the runtime reference.

Packages use the @aphrody npm scope. Built-in imports keep their identities: bun, bun:sqlite, bun:test and platform modules. Rust crates retain their manifest and ABI names.

The Bun OS stable release is pending native factory build and test qualification. See published releases and checksums for the executables currently available.

Current versions

ItemVersionSource
Published runtime1.4.4bun-v1.4.4
Source1.4.4 · 42a7772e0d94 (2026-10-12)aphrody-labs/bun
Upstreamlast merge c1de6f2335 (2026-10-09)oven-sh/bun
Fork commits743 since 2026-10-02 (merge commits excluded)Runtime
npm@aphrody/bun-runtime 1.4.3-aphrody.2npmjs.com

Role in Aphrody

aphrody-labs/bun is the runtime component of Aphrody. Every runtime change Aphrody needs is made in this repository, as a commit on main. The Aphrody product repository (aphrody-labs/aphrody) has no Bun patch queue, no vendored copy of Bun and no Rust copy of Bun code. It uses the artifacts below.

The runtime also owns the system layer. That covers Windows and Linux APIs, FFI, native libraries, the system Rust crates, and .NET, C and C++ interop. The product consumes this layer; it does not keep its own copy (docs/aphrody/LAYERS.md).

ArtifactSource in this repositoryConsumer in Aphrody
Runtime binaryaphrody-v* GitHub releases; npm @aphrody/bun-runtime (scripts/aphrody/publish-runtime.ts)the distribution's Bun pin (tools/config/update/pins.json follows these releases)
Installersscripts/aphrody/install.sh, install.ps1, served as aphrody.app/install (.sh) and /install.ps1every runtime install in Aphrody: bootstrap, Docker images, yolo update, hosts
Container imageghcr.io/aphrody-labs/bun (private), from scripts/aphrody/deploy/docker/build and production hosts (docs/project/auto-deploy.mdx)
Types and tooling packagesnpm @aphrody/bun-types, @aphrody/bun-inspector-protocol, … (scripts/aphrody/publish-npm.ts)workspaces
Rust cratescrates.io aphrody-bun-native-plugin, aphrody-bun-macro (scripts/aphrody/publish-crates.ts)native plugins
Documentationdocs/, published at aphrody.app by scripts/aphrody/site/docs/reference/upstream-bun (bun run docs:bun:update), MCP bun_docs_*
Source checkoutAPHRODY_BUN_CHECKOUT, else C:\bun on WindowsMCP bun_docs_*, training corpora

Patches

The Aphrody commits on top of upstream that merges keep. Each one has its test.

The other additions (bun:* modules, CLI commands, packages, documentation pages) are listed with their sources on aphrody.app/runtime, generated from the Git history.

Governance

  • Maintainers. The aphrody-labs organization maintains this component. Maintainers merge changes into main and publish releases.
  • Decisions. Design decisions that affect the distribution are recorded in docs/aphrody/.
  • Contributions. Contributions arrive as pull requests against main (CONTRIBUTING.md). Every change comes with a test. Tests for code that exists only in this component go in test/js/first_party/.
  • Security reports. Handled as described in SECURITY.md.
  • Code of conduct. CODE_OF_CONDUCT.md.

Branches

  • main. The only working branch.
  • bun. Every aphrody-labs repository that ports a project to Bun (tailwindcss, base-ui, next.js, shenron) publishes the port on a bun branch. Here that branch is an alias of main. It never receives direct commits; it only moves by fast-forward (git push origin main:bun).

Upstream

Upstream oven-sh/bun changes arrive only by merge: bun scripts/aphrody/sync-upstream.ts [--push].

  • Package renames to the @aphrody scope are resolved during the merge by scripts/aphrody/scope.ts.
  • On a conflict, the files this repository owns keep its version: README.md, SECURITY.md, CODE_OF_CONDUCT.md, CONTRIBUTING.md and docs/installation.mdx (OWNED in sync-upstream.ts).
  • Any other conflict stops the sync.

The workflows under .github/workflows/aphrody-*.yml describe the automated version of this process. GitHub Actions is disabled on this repository, so maintainers run the sync by hand.

Releases

A release is the aphrody-v<base>-aphrody.<n> tag. Its notes are in RELEASES.md. Maintainers publish a release by hand, in these steps:

  1. Build each target with bun scripts/build.ts --profile=release --lto=off --canary=off --version-tag=aphrody.<n>. Windows builds run on Windows. Linux builds use the aphrody/build-linux:26.04 (glibc) and aphrody/build-alpine:3.24 (musl) images.
  2. Check every binary: bun --version must print <base>-aphrody.<n>, bun --revision must show the release commit, and a smoke test must pass.
  3. Package each binary under the upstream archive names (bun-<os>-<arch>[-musl].zip, each containing bun-<os>-<arch>[-musl]/bun[.exe]). Write SHA256SUMS.txt with LF line endings; the installers check archives against it.
  4. Publish the release with gh release create aphrody-v<version> --repo aphrody-labs/bun, then publish npm with bun scripts/aphrody/publish-runtime.ts publish --version <version> --assets <dir>.

Generated on 2026-10-12 from aphrody-labs/bun at 42a7772e0d94, the public repositories of aphrody-labs.