biu

⚡ zero-config bundler · powered by Bun

Build Web pages, not frameworks.

Put HTML, Javascript, TypeScript and CSS in src/.
Run: biu --serve
That's it.

No React.
No Vite config.
No framework.
Just the Web.

Install

$ curl -fsSL https://mindon.dev/biu/install | bash

Quick Start

# Place `biu` in your PATH, start with a starter project:
biu a hello
cd hello
biu ---serve # default on port 3000

# build or serve with following commands from a project directory:
# biu                     # Build ./src → ./dist
# biu ./src ./dist        # Explicit source & output dirs
# biu --serve 8080        # Dev server with live reload on port 8080

Note: if there's a ./backend directory, it will be used as Next.js-style backend.

Command Syntax

biu [options] [srcDir] [outDir]
ArgumentDefaultDescription
srcDir./srcSource directory
outDir./distOutput directory

Options

OptionDescription
--watchWatch mode — rebuild on file changes
--static <dir>Static assets directory (default: ./static)
--post-build <file>Run .sh/.ts/.js script after each build
--serve [port]Start dev server (default port: 3000, implies --watch)
--build [outfile]Self-compile to standalone binary (default: ./biu)
-v, --versionShow version
-h, --helpShow help

Options can appear in any order.

Examples

Basic build

biu ./src ./dist

Watch mode with dev server

biu --serve 8080

Custom static directory + post-build script

biu --static ./public --post-build ./scripts/deploy.sh

Smart Module Splitting

Environment Variables

VariableDescription
BIU_ASSETS_EXTSExtra asset extensions, e.g. "glb,gltf,hdr"
BIU_EXCLUDEDRegex pattern to exclude files, e.g. "test|spec"

More