# 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