Building from source

Reettier is a Rust project (edition 2021). You only need this if you want to hack on Reettier itself or produce a binary for a platform that isn't in the prebuilt releases - most users should just follow Installation.

Prerequisites

Install Rust via rustup.

Build with cargo

Build directly with cargo for a release binary:

cargo build --release
# binary at ./target/release/reettier

Copy the result somewhere on your PATH to test it locally:

macOS / Linux
cp target/release/reettier ~/.local/bin/
Windows
Copy-Item .\target\release\reettier.exe ~\bin\

Release

Maintainers cut releases with release.sh from macOS. Reettier is pure Rust with no native dependencies, so a single run cross-compiles every supported target, bumps the version, tags it, and publishes them as one GitHub Release with gh - there is no per-platform release loop:

  • macOS (arm64, x64) - native cargo build
  • Linux (x64, arm64) - cargo zigbuild, which uses the Zig linker to handle glibc versioning
  • Windows (x64, arm64) - cargo xwin build, which downloads the MSVC SDK and CRT automatically
bash release.sh
FlagDescription
--draftCreate the release as a draft (default: published).
--minorBump the month component instead of the patch version.
--forceRelease the current Cargo.toml version even if it is ahead of the tag.

Version numbers are date-based: YY.MM.PATCH.

The release toolchain needs a few one-time installs:

brew install zig
cargo install cargo-zigbuild cargo-xwin
rustup target add x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu \
                  x86_64-pc-windows-msvc aarch64-pc-windows-msvc
gh auth login   # the gh CLI must be authenticated

Contributing

Issues and pull requests are welcome on GitHub. Reettier is part of the Reepolee toolchain - see reepolee.com for the wider project.