Skip to content

Build your first package

Install Bessemer, then run these commands at your repository root:

bsmr init
bsmr build apps/api --show-output

Replace apps/api with the directory of the package you want to build. bsmr init creates .bsmr to mark the project root. The build command includes the package's dependencies and prints the output path.

Choose your project

For TypeScript, the package needs package.json, tsconfig.json, and tsdown.config.ts. The workspace root needs its package manifest, pnpm workspace file, and committed lockfile. The TypeScript guide explains the required tool versions and configuration.

Rust, Go, and Python have separate preview requirements. Check language support before using this workflow. The Rust preview infers packages directly. Go currently requires a synchronization step.

Build again

Run the same build command after an edit. BSMR reuses work whose inputs have not changed. You do not need to clean the project between builds.

Find an option

bsmr --help
bsmr build --help

The first command lists commands and global options. The second explains build options, including --show-output. Use bsmr -h for a shorter command list. The command-line reference contains the same parser's commands and defaults.

When your build needs an extra step, add a custom recipe. For cache behavior or advanced setup, see caching and configuration.