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

23 lines
775 B
Markdown

# 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