brust 2.0.0-alpha.5
Guide / Installation

Installation

brust needs Bun and nothing else: the Rust server ships prebuilt inside the npm package for your platform.

1Check the requirements

Bun 1.4 or newer, on macOS (arm64 or x64) or Linux (arm64 or x64, glibc or musl). There is no Windows build.

~/
$ bun --version

You do not need a Rust toolchain. @brust/core lists one optional dependency per platform (@brust/native-darwin-arm64, @brust/native-linux-x64-gnu, and so on), and your package manager installs only the one that matches the machine.

2Create a project

The generator copies a template into a new folder. It has no dependencies of its own, so running it downloads nothing else.

~/
$ bun create @brust/app@latest my-app
$ cd my-app && bun install
$ bun run dev

In a terminal it asks for one thing, the template: blank (a starter page with the brust mark, a native counter and links to these docs, plus an Elysia hello action) or pokedex. An empty answer picks blank. Pick a starter below to see the commands for your own project.

The blank starter is styled with Tailwind CSS v4: an app.css at the root, with tailwindcss, @tailwindcss/node and @tailwindcss/oxide as dev dependencies.

Live demoStarterPicker · native
Starter
Template
$ bun create @brust/app@latest bulbasaur-dex --template blank
$ cd bulbasaur-dex && bun install
$ bun run dev
Note

Keep the @latest. bun create caches the generator, and a stale cache gives you an old template.

3Generator options

OptionMeaning
<name>Lowercase letters, digits, - and _; starts with a letter or digit; at most 50 characters.
--template blank|pokedexSkip the question.
--dir <path>Create the project somewhere other than ./<name>. The folder must be empty or missing.
--yesTake every default without asking.
~/
$ bun create @brust/app@latest pokedex --template pokedex --yes
$ bun create @brust/app@latest my-app --dir apps/web

bun create rejects the short forms -t and -y; they only work through bunx.

4Add brust to an existing project

Install the core package and React 19.

~/my-app
$ bun add @brust/core react react-dom

Actions are optional. If you want them, add the two pinned Elysia packages too:

~/my-app
$ bun add [email protected] @elysia/[email protected]

Then write a routes.tsx as in the Quickstart, and see Project structure for where each file goes.