Building from Source
Prerequisites
Section titled “Prerequisites”- Go 1.26.6 or later
- Make
- (Optional)
go-winresfor Windows resource embedding - (Optional) WiX Toolset + PowerShell for MSI packaging
Build Commands
Section titled “Build Commands”cd agent
# Build for current platformmake build
# Build for all platforms (Linux, macOS, Windows)make build-all
# Build for specific platformsmake build-linux # linux/amd64 + linux/arm64make build-darwin # darwin/amd64 + darwin/arm64make build-windows # windows/amd64Output binaries are placed in agent/bin/.
Cross-Platform Builds
Section titled “Cross-Platform Builds”| Target | Command | Output |
|---|---|---|
| Linux amd64 | make build-linux |
bin/breeze-agent-linux-amd64 |
| Linux arm64 | make build-linux |
bin/breeze-agent-linux-arm64 |
| macOS Intel | make build-darwin |
bin/breeze-agent-darwin-amd64 |
| macOS Apple Silicon | make build-darwin |
bin/breeze-agent-darwin-arm64 |
| Windows amd64 | make build-windows |
bin/breeze-agent-windows-amd64.exe |
Other Agent Binaries
Section titled “Other Agent Binaries”make build (and plain make build-all) compiles the main breeze-agent binary plus its companion processes in one pass. Each companion also has its own current-platform and all-platforms targets:
| Binary | Purpose | Current-platform target | All-platforms target |
|---|---|---|---|
breeze-desktop-helper |
The end-user Helper process (AI chat, screenshots, tray icon) – see Helper | make build-desktop-helper |
make build-all-desktop-helper |
breeze-backup |
Runs backup, restore, and verify jobs dispatched by the agent – see Backup Management | make build-backup |
make build-all-backup |
breeze-watchdog |
Restarts the agent service if it stops responding | make build-watchdog |
make build-watchdog-linux / -darwin / -windows |
breeze-user-helper |
Windows-only sibling of breeze-agent that launches into the logged-in user’s session (an asInvoker manifest, so it isn’t blocked by UAC token filtering) |
make build-windows-user-helper |
– (Windows-only) |
Windows MSI Installer
Section titled “Windows MSI Installer”To build an MSI installer for enterprise deployment:
# On Windows with WiX installed:make build-windows-msi VERSION=0.2.0This produces dist/breeze-agent.msi for silent deployment via GPO or SCCM.
Version Embedding
Section titled “Version Embedding”The build embeds the version number via linker flags:
VERSION ?= 0.5.0LDFLAGS := -ldflags "-X main.version=$(VERSION)"Override at build time:
make build VERSION=1.0.0Project Structure
Section titled “Project Structure”agent/├── cmd/breeze-agent/ # Entry point├── internal/│ ├── agent/ # Core agent loop│ ├── commands/ # Command execution│ ├── config/ # Configuration management│ ├── discovery/ # Network discovery scanner│ ├── heartbeat/ # Telemetry collection│ ├── ipc/ # Inter-process communication│ ├── mtls/ # mTLS certificate management│ ├── pty/ # Terminal PTY handling│ ├── sessionbroker/ # User session management│ ├── transfer/ # File transfer│ └── userhelper/ # User-mode helper process├── scripts/install/ # Service installation scripts├── service/ # systemd/launchd unit files└── MakefileRunning in Development
Section titled “Running in Development”cd agentmake runThis runs the agent directly without installing it as a service. Useful for testing against a local Breeze server.
Testing
Section titled “Testing”cd agentmake test # Run all testsmake test-ipc # Run IPC and session broker testsmake lint # Run golangci-lintmake fmt # Format code