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.