Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

CLI

Install the brink binary from crates.io:

cargo install brink-cli

The crate is named brink-cli; the command it installs is brink.

brink --help

Prebuilt binaries are not published yet. The release pipeline (cargo-dist, targeting macOS on Apple Silicon and Intel, Linux x86-64, and Windows x86-64) is configured but runs only on a manual dispatch, so for now every install builds from source.

To track the development branch instead of a release:

cargo install --git https://github.com/Syynth/brink brink-cli

Rust library

Add the runtime to your project:

[dependencies]
brink-runtime = "0.0.9"

brink-runtime is the primary library interface. It depends only on brink-format — the binary interface between the two halves of the toolchain — and pulls in no compiler code, which is what keeps embedded builds small. See Architecture & the Firewall.

If you also need to compile .ink source (at build time, or at runtime for a live-reloading editor), add the compiler alongside it:

[dependencies]
brink-compiler = "0.0.9"
brink-runtime = "0.0.9"

The brink crate on crates.io is a name reservation and ships no code. Depend on brink-runtime and brink-compiler directly.

For the Bevy integration, see Bevy:

[dependencies]
bevy-brink = "0.0.9"

JavaScript packages

The browser toolchain is published to npm. See Web & WASM for what each one exposes.

npm install @brink-lang/web       # compiler + runtime + IDE queries, via WASM
npm install @brink-lang/editor    # the CodeMirror 6 ink editor

@brink-lang/studio is the reference authoring app rather than a library — see Studio for how to run it.