Installation
bext ships as a single statically-linked Rust binary (bext-server,
typically aliased as bext). There is no Node runtime requirement on
the server — the binary embeds V8, Bun, and the Turbopack bundler.
Install script (recommended)
The fastest way:
curl -fsSL https://bext.dev/install | sh
The script detects your platform, downloads the latest binary from
GitHub Releases, verifies the SHA256 checksum, and installs to
/usr/local/bin (or ~/.local/bin if you don't have sudo).
Environment variables:
| Variable | Default | Purpose |
|---|---|---|
BEXT_VERSION |
latest | Pin to a specific version (0.1.2) |
BEXT_INSTALL |
/usr/local/bin |
Override install directory |
BEXT_NO_MODIFY_PATH |
unset | Skip PATH modification |
To upgrade an already-running server with zero downtime (socket hand-off, no dropped connections):
curl -fsSL https://bext.dev/install | sh && bext upgrade
See Zero-downtime upgrades for details.
From source (Cargo)
If you need a custom feature combination, build from source:
# Clone and build with default features
git clone https://github.com/benfavre/bext
cd bext
cargo build --release -p bext-server
# Or directly via cargo install
cargo install --git https://github.com/benfavre/bext bext-server
The default-features build links V8, Turbopack, the Tailwind v4 engine, and the React Compiler — enough to run PRISM and Next.js sites out of the box. See Architecture overview → Feature flags for the full feature matrix and minimal-build commands.
Docker
docker pull ghcr.io/bext-dev/bext:latest
docker run -p 3000:3000 -v ./my-site:/app ghcr.io/bext-dev/bext:latest
The image is ~25 MB (statically linked, stripped). Mount your site
directory at /app and bext will serve it.
Verify
bext --version
# bext 0.x.y
Scaffold a project
bext doesn't ship with a Bun-style create-app template generator —
PRISM is small enough that the
Quickstart walks you through the three
files needed (page.tsx, bext.config.toml, tsconfig.json) by
hand. Once you've done it once, copy that directory as the template
for new sites.
For an existing project (Next.js, Hono, etc.), run bext init from
inside the project directory — it scaffolds a sensible
bext.config.toml based on the framework it detects:
cd my-existing-app
bext init # interactive
bext init --yes # use defaults
Then start the server:
bext run .
Next steps
- Quickstart — build your first PRISM site in under 5 minutes - Frameworks → PRISM — full reference for bext's native framework - Frameworks overview — pick the right path for your stack