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 --versionYou 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 devIn 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.
$ bun create @brust/app@latest bulbasaur-dex --template blank
$ cd bulbasaur-dex && bun install
$ bun run devKeep the @latest. bun create caches the generator, and a stale cache gives you an old template.
3Generator options
| Option | Meaning |
|---|---|
<name> | Lowercase letters, digits, - and _; starts with a letter or digit; at most 50 characters. |
--template blank|pokedex | Skip the question. |
--dir <path> | Create the project somewhere other than ./<name>. The folder must be empty or missing. |
--yes | Take every default without asking. |
$ bun create @brust/app@latest pokedex --template pokedex --yes
$ bun create @brust/app@latest my-app --dir apps/webbun 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.
$ bun add @brust/core react react-domActions are optional. If you want them, add the two pinned Elysia packages too:
$ 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.