Build from Source

Everything needed to build Zeo lives in one public monorepo: zeo. This includes the KiCad fork (src/zeo), the kipy Python bindings (src/zeo-python), and the per-platform build scripts (dev/). There is no separate repository to clone.

Prerequisites

KiCad's upstream build documentation is the source of truth for compilers, system dependencies, and platform-specific setup: dev-docs.kicad.org/en/build.

Beyond what KiCad needs:

  • Python 3.10 or later (for the kipy bindings).
  • protoc (Protocol Buffers compiler), version 25.3 or older. From your package manager, or the protobuf releases page if a newer version is installed system-wide.

Clone

Clone with submodules (the build pulls a custom wxWidgets fork and the KiCad libraries):

git clone --recurse-submodules https://github.com/zeodotdev/zeo.git
cd zeo

If you already cloned without --recurse-submodules:

git submodule update --init --recursive

Build

The dev/ scripts wrap the full CMake build, the kipy build, and packaging. Run them from the monorepo root:

./dev/setup-upstreams.sh    # one-time: configure upstream remotes
./dev/mac_build.sh          # full build + install

Substitute the platform script:

OSScript
macOS./dev/mac_build.sh
Linux./dev/appimage_build.sh (Docker-based)
Windows./dev/win_build_installer.ps1

Pass --python to rebuild the kipy bindings, --package to produce a distributable (.dmg / AppImage / installer), and --fast for incremental rebuilds after the first build. Run any script with --help for the full flag set, or see dev/README.md.

Launching

Run the built binary (Zeo.app on macOS, zeo on Linux, zeo.exe on Windows). Enable the API server in Preferences → Plugins so the agent and kipy can connect.