Subo is the command-line tool for working with the Suborbital Extension Engine (SE2). Subo is used to build SE2 plugins, generate new projects and config files, and is also our mascot 🐼.

You do not need to install language-specific tools to get started with SE2 and Subo! A Docker toolchain is supported (see below) that can build your SE2 plugins without needing to install language toolchains.

Install Subo

The subo tool supports JavaScript/TypeScript, Rust, and Go on the following platforms and operating systems:

x86_64arm64
Mac
Linux
Windows🚫🚫

macOS (Homebrew)

If you’re on Mac (M1 or Intel), the easiest way to install is via brew:

brew tap suborbital/subo
brew install subo

Install from source (requires Go)

If you use Linux or otherwise prefer to build from source, simply clone this repository or download a source code release archive and run:

make subo

This will install subo into your GOPATH ($HOME/go/bin/subo by default) which you may need to add to your shell’s $PATH variable.

Subo does not have official support for Windows.

Verify installation

Verify subo was installed:

subo --help

Upgrade Subo

If you installed Subo through Homebrew, run the command below to upgrade:

brew upgrade subo

If you installed Subo from source, you can upgrade by building/installing the new binary on top of the old one.

Builders

This repo contains builders for the various languages supported by SE2 plugins. A builder is a Docker image that can build SE2 plugins into Wasm plugins, and is used internally by subo to build your code.