Building from Source

agentty builds with CMake and a C++26 toolchain. The release binaries are built locally with one script — no CI in the loop.

Requirements

  • GCC 14+ / Clang 18+ / MSVC 14.40+ (/std:c++latest)
  • CMake 3.28+
  • OpenSSL and nghttp2 (FetchContent pulls maya automatically)

WarningAppleClang tops out at C++23 — building the tests (AGENTTY_BUILD_TESTS) requires g++ or stock LLVM clang++ on macOS, not Xcode's bundled toolchain.

Basic build

git clone --recursive git@github.com:1ay1/agentty.git
cd agentty
cmake -B build
cmake --build build -j
./build/agentty

Standalone (static) build

cmake -B build -DAGENTTY_STANDALONE=ON

Statically links OpenSSL + nghttp2 + libstdc++ + libgcc when their .a archives are installed. libc stays dynamic on Linux/macOS (fully-static glibc breaks getaddrinfo and the NSS resolver). For a 100% static binary, pass -DAGENTTY_FULLY_STATIC=ON with a musl toolchain.

Accurate one-liner: statically linked except libc and (usually) OpenSSL. The latest release ships pre-built agentty-linux-x86_64 and agentty-linux-aarch64 with zero shared-library dependencies (Alpine + musl + GCC 14.2).

Cutting a release (maintainers)

scripts/bump.sh 0.2.0        # bump CMakeLists, build everything, tag, upload via gh

# or step-by-step
scripts/release.sh                  # build every artifact into dist/, no upload
scripts/release.sh --tag v0.2.0     # build + tag + upload via gh

Single source of truth: CMakeLists.txt's project(agentty VERSION …) line. bump.sh rewrites it, commits, builds deb/rpm/pkg.tar.zst/tarball/binaries/Homebrew/Scoop/AUR manifests, tags, pushes, and creates the GitHub release with every artifact attached.