Bun
Status
Section titled “Status”Version: 1.5.0 | Tests: Passing
{
"features": {
"ghcr.io/infrashift/trusted-devcontainer-features/bun:latest": {
"target_version": "1.4.4"
}
}
} Options
Section titled “Options”| Option | Type | Default | Description |
|---|---|---|---|
target_version | string | 1.4.4 | Select a supported Bun version |
target_checksum | string | "" | SHA256 checksum for the Bun binary |
Dependencies
Section titled “Dependencies”None — this feature is independent and has no dependencies.
How It Works
Section titled “How It Works”This feature downloads the Bun binary from the official GitHub releases for the target architecture (x64 or aarch64, derived from the container platform). Bun is a fast all-in-one JavaScript runtime, bundler, test runner, and package manager designed as a drop-in replacement for Node.js.
The Ansible playbook creates ~/.local/bin if it does not already exist, downloads the Bun tarball for the specified version, and verifies the SHA256 checksum against the pinned per-architecture digest, or against an explicit target_checksum if one is provided. Once verified, the binary is extracted and placed on PATH so the bun command is immediately available.
Bun serves as the runtime for installing Node.js-based CLI tools like Claude Code and OpenAI Codex in this feature set. Because Bun has a significantly faster package installation process than npm, it provides a better devcontainer build experience when installing global npm packages. Features that depend on Bun will automatically trigger its installation as part of the dependency chain.