Bessemer (bsmr) builds packages from your project files and reuses unchanged
work. Supported native packages do not need handwritten build rules.
Bessemer is a preview, and its interfaces may change. TypeScript with pnpm is the primary integration. See language support for Rust, Go, and Python preview requirements.
On macOS or Linux:
curl --proto '=https' --tlsv1.2 --fail --location \
https://github.com/dedalus-labs/bsmr/releases/latest/download/bsmr-installer.sh \
--output bsmr-installer.sh
sh bsmr-installer.shWindows users can download and run bsmr-installer.ps1 from the
latest GitHub release.
Every release also includes platform archives, SHA-256 checksums, and build
provenance attestations.
At your repository root:
bsmr init
bsmr build apps/api --show-outputReplace apps/api with your package's directory. BSMR creates the project marker,
builds the package and its dependencies, and prints the output path. Run the same
build command after an edit to reuse unchanged work.
The quick start covers setup. The TypeScript guide lists the required pnpm and compiler files. The Rust preview uses Cargo manifests and an exact toolchain pin. Custom recipes connect additional steps through their inputs and outputs.
Use the OCI rules to package a built application and its runtime files into a container image. Changing the entrypoint reuses the packed layers. For Dockerfile recipes that copy local files, select the BuildKit adapter. These interfaces are experimental.
bsmr --help
bsmr build --helpUse bsmr -h for the shortest command list. Each command's --help explains its
options. Run bsmr clean when you need to remove generated files and local state.
Read the quick start or the full documentation.
Build the documentation locally:
python -m pip install -r docs/requirements.txt
python -m mkdocs serve -f mkdocs.ymlcargo build --locked --bin bsmr
python3 test.py --ci --git --bsmr=target/debug/bsmr
pnpm install --frozen-lockfile --ignore-scripts
pnpm run ci checkBessemer began as an upstream fork and now has its own product interface, native
ecosystem adapters, cache policy, release process, and roadmap. See
NOTICE for upstream provenance.
Except where an inherited notice states otherwise, Bessemer is licensed under the Apache License 2.0.