Files
fleetforge/docs/adrs/003-agent-language.md
T

775 B

ADR-003: Go for Forge Agent

Status

Accepted

Context

The agent needs to run on Linux, Windows, and macOS with minimal dependencies and resource usage.

Decision

Write the agent in Go, producing statically-linked binaries for each platform.

Rationale

  • Go compiles to a single binary with no runtime dependencies
  • Excellent cross-compilation support (GOOS/GOARCH)
  • Small memory footprint suitable for resource-constrained devices
  • gopsutil library provides cross-platform system metrics
  • Strong standard library for HTTP, JSON, and OS interaction

Consequences

  • Agent is built separately from the TypeScript monorepo
  • Agent version is tracked in the source code and reported in heartbeats
  • Future: could use Go plugins for platform-specific adapters