Download
Zigapagos is a single standalone executable. Building a site needs no Zig toolchain — nothing in a Zigapagos project is compiled from Zig source. One command installs the binary and everything it shells out to.
Install
curl -fsSL https://valthon.github.io/zigapagos/install.sh | sh
The recommended install. It brings the zigapagos binary, the
@z/runtime tree it renders islands and SPAs through, and — only
if you don't already have them — Bun and ZigBase: everything islands, native
SPAs and zigapagos dev need. Everything lands under
~/.local/share/zigapagos with a launcher in
~/.local/bin: no sudo, no edits to your shell
startup files, and nothing written until each download has been checked
against the release's published SHA-256 sums.
Re-running it installs a new version alongside the old one and repoints the launcher. To uninstall, remove those two paths. Read the script before you pipe it anywhere — it is one file.
curl -fsSL https://valthon.github.io/zigapagos/install.sh | sh -s -- --help
--version installs a specific release, --prefix and
--bin-dir move where things go, and --no-bun /
--no-zigbase leave those two to you.
npm
The same complete install, if you would rather have it in a project's
node_modules than on your machine. This one needs Node 18 or
newer; the shell installer needs no Node at all.
npx zigapagos init # scaffold a site
npx zigapagos dev # dev loop at http://127.0.0.1:1990
npx zigapagos release --output=public --force # build it
zigapagos is an alias for the canonical
@zigapagos/cli, which ships the @z/runtime sources
and the Bun sidecar and declares Bun and ZigBase as optional dependencies.
Release binaries
Tagged builds — a statically-linked x86_64 Linux binary (musl), an x86_64
macOS binary, a runtime.tar.xz and a checksum file — are
published on
the releases page.
A per-target archive contains the binary and nothing else.
That is enough for a content-only site, and enough for
zigapagos dev (which fetches ZigBase itself). It is not
enough for islands or SPAs: those also need Bun, and the
@z/runtime tree out of runtime.tar.xz with
ZIGAPAGOS_RUNTIME_DIR pointed at it. Placing those pieces by
hand is exactly what the installer above does for you, so this route is for
people who want to place them themselves. See
runtime dependencies
for the per-command rule.
Platforms
Native x86_64 and arm64 releases are built and tested in CI for Linux and
macOS, including Apple Silicon. Both the installer and
npm install select the matching native architecture rather than
substituting an emulated binary. Windows remains unsupported: two inherited
source files do not compile on stable Zig 0.16, and support returns with the
Zig 0.17 port. See the
roadmap.
Start a project
mkdir my-site && cd my-site
zigapagos init # writes a complete sample site
zigapagos dev # dev server with live reload
The quick start walks
through it. Running zigapagos with no command prints the help
menu rather than starting anything.
Building from source
Only contributors need this. The repository pins its toolchain with mise; see CONTRIBUTING.md for the full setup.