Documentation channel: current development main at compiler checkpoint 1d7e15e. The latest tagged release is v0.0.3; pages identify APIs that are not yet released.

Install & build

Install the latest stable Strut release without sudo:

curl -fsSL https://strut-labs.github.io/install.sh | sh

The installer preserves Strut's relocatable bin/share layout under ~/.local/opt/strut, links the command at ~/.local/bin/strut, verifies the compiler, and prints PATH guidance when needed.

strut --version

Update

curl -fsSL https://strut-labs.github.io/update.sh | sh

Update exits cleanly when already current and atomically replaces only the managed Strut installation.

Uninstall

curl -fsSL https://strut-labs.github.io/uninstall.sh | sh

Uninstall requires the installation manifest and removes only the exact Strut tree and matching command link. It never recursively removes ~/.local.

Download only

curl -fsSL https://strut-labs.github.io/download.sh -o download-strut.sh
sh download-strut.sh
sh download-strut.sh 0.0.3 ./downloads

This selects the correct archive without installing it. Archives are also available from GitHub Releases.

Custom locations

curl -fsSL https://strut-labs.github.io/install.sh | \
STRUT_INSTALL_DIR="$HOME/tools/strut" STRUT_BIN_DIR="$HOME/bin" sh

Use the same variables for update and uninstall. Paths containing spaces are supported.

The scripts live at site-root paths and can move unchanged to strut.cx once that custom domain's DNS and GitHub Pages configuration are active.

Supported platforms

Unsupported systems fail explicitly. Scripts verify the published SHA256SUMS; version 0.0.1 predates checksums and remains available over verified HTTPS.

Toolchain requirement

The compiler invokes a native C++20 toolchain to produce executables, so install GCC or Clang on Linux, Apple Clang on macOS, or Visual Studio 2022/MSVC on Windows.

Build from source

Configure

cmake -S . -B build -G Ninja

Build

cmake --build build

Run compiler tests

ctest --test-dir build --output-on-failure

Install a source build

cmake --install build --config Release --prefix ./strut-0.0.3

Compiler dependencies

JSONIC is embedded for Strut's built-in JSON implementation. libcurl is approved for HTTP/client TLS and OpenSSL is approved for server-side TLS work. Additional third-party components are not added implicitly.