Skip to content

Installation ​

Stencil is written in Go with support for multiple platforms. The latest release can be found at stencil Releases.

Stencil releases are provided for most major platforms and architecture combinations.

Stencil may also be compiled from source wherever the Go toolchain can run; e.g., on other operating systems such as DragonFly BSD, OpenBSD, Plan 9, Solaris, and others. See https://golang.org/doc/install/source for the full set of supported combinations of target operating systems and compilation architectures.

Quick Install ​

Homebrew (macOS) ​

Stencil is installable via the official Homebrew formula

bash
brew install stencil

APT (Linux [Debian & Ubuntu]) ​

bash
# Ensure that we're ready to install APT keyrings and that we have
# some pre-req binaries for setting up custom repos.
sudo apt update -y
sudo apt install -y gpg sudo wget curl
sudo install -dm 755 /etc/apt/keyrings

# Trust our signing key
wget -qO - https://pkg.rgst.io/apt/gpg.key | gpg --dearmor | \
  sudo tee /etc/apt/keyrings/stencil-archive-keyring.gpg 1>/dev/null

# Register our package repository
echo "deb [signed-by=/etc/apt/keyrings/stencil-archive-keyring.gpg] https://pkg.rgst.io/apt /" | \
  sudo tee /etc/apt/sources.list.d/stencil.list

# Update package list and install 'stencil'
sudo apt update
sudo apt install stencil

Alpine (Linux [Alpine Linux]) ​

bash
apk add --no-cache sudo curl
echo "https://alpine.fury.io/rgst-io/" >> /etc/apk/repositories
curl https://alpine.fury.io/rgst-io/rgst-io@fury.io-946e9786.rsa.pub | sudo tee '/etc/apk/keys/rgst-io@fury.io-946e9786.rsa.pub' >/dev/null

Github Action ​

Quickstart:

yaml
- name: Install Stencil
  uses: rgst-io/stencil-action@latest
  with:
    github-token: ${{ github.token }}
    version: "latest"

Github Action Documentation

Winget ​

bash
winget install -e --id rgst-io.stencil

Binary (Cross-platform) ​

Download the appropriate version for your platform from Stencil Releases. Once downloaded, the binary can be run from anywhere. You don't need to install it into a global location. This works well for shared hosts and other systems where you don't have a privileged account.

Ideally, you should install it somewhere in your PATH for easy use. /usr/local/bin is the most probable location.

If you'd prefer to not download from the Forgejo (git) instance, you can also download any of the release binaries there from the following Cloudflare R2 bucket:

bash
# Get the latest or latest prerelease from either of these:
https://bins.rgst.io/rgst-io/stencil/LATEST
https://bins.rgst.io/rgst-io/stencil/LATEST_PRERELEASE

# Note: omit the "v" prefix from the version.
https://bins.rgst.io/rgst-io/stencil/<version>/<asset>

Release assets on Forgejo are links to this bucket, so both sources serve the same files.

Source ​

Stencil is quite easy to build from source as well, should you not wish to use pre-builts.

Prerequisite Tools ​

Fetch from Git ​

bash
git clone https://git.rgst.io/rgst-io/stencil.git
cd stencil
mise install
mise run build
cp ./bin/stencil "$(go env GOPATH)/bin/stencil"

Verifying Download Releases ​

Release assets are all signed with the following PGP key: 515E8B922886A22A485C1C9F2DCAE84699708BC6.

The full key is provided below:

text
-----BEGIN PGP PUBLIC KEY BLOCK-----

mDMEaj6BbxYJKwYBBAHaRw8BAQdAF5Kh2/vFQkWd51a8LY5axyMC7LjcL9ZQeToD
9pF23CW0JHJnc3QuaW8gUmVsZWFzZSBLZXkgPHJlbGVuZ0ByZ3N0LmlvPoi1BBMW
CgBdFiEEUV6LkiiGoipIXByfLcroRplwi8YFAmo+gW8bFIAAAAAABAAObWFudTIs
Mi41KzEuMTIsMCwzAhsDBQkSzAMABQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheA
AAoJEC3K6EaZcIvGxhIBAP1dPTvxqr8JwrjtGPv4y24k169rVJxmJNgRfBK27fJV
AQCLlrn7OO/mUVb7Xl60CN9q4pZJkpviSJqDARLjkQWDCA==
=wsD+
-----END PGP PUBLIC KEY BLOCK-----

Or, you can receive it from a keyserver:

bash
gpg --keyserver keys.openpgp.org --recv-keys  515E8B922886A22A485C1C9F2DCAE84699708BC6

To verify, download your desired release asset and the accompanying .sig file. Then, use gpg to verify it.

Example:

bash
$ wget -q https://git.rgst.io/rgst-io/stencil/releases/download/v3.0.1/stencil_3.0.1_darwin_arm64.tar.gz
$ wget -q https://git.rgst.io/rgst-io/stencil/releases/download/v3.0.1/stencil_3.0.1_darwin_arm64.tar.gz.sig
$ gpg --verify stencil_3.0.1_darwin_arm64.tar.gz.sig
gpg: assuming signed data in 'stencil_3.0.1_darwin_arm64.tar.gz'
gpg: Signature made Fri Sep 25 10:24:05 2026 PDT
gpg:                using EDDSA key 515E8B922886A22A485C1C9F2DCAE84699708BC6
gpg: Good signature from "rgst.io Release Key <releng@rgst.io>" [ultimate]

Upgrading Stencil ​

Upgrading Stencil is as easy as downloading and replacing the executable you’ve placed in your PATH, or updating with your favorite package manager that you used to install it.