Files
fleetforge/docs/adrs/001-monorepo-structure.md
T

879 B

ADR-001: Monorepo with pnpm Workspaces

Status

Accepted

Context

Fleet Forge requires multiple packages: API server, web dashboard, shared types, and the Go agent. We need a structure that supports shared code, independent builds, and a single repository.

Decision

Use pnpm workspaces for the TypeScript/Node.js packages. The Go agent lives in the same repo but is built independently.

Rationale

  • pnpm workspaces provide efficient dependency management with a single lockfile
  • Workspace references (workspace:*) enable local development without publishing
  • Compatible with Next.js, Express, and Drizzle ORM
  • The Go agent uses standard Go modules independently

Consequences

  • All TS packages share a common tsconfig.base.json
  • Build order is managed via workspace dependency graph
  • Go agent has its own go.mod and is not part of the pnpm workspace