Build your first package¶
Install Bessemer, then run these commands at your repository root:
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¶
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.