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

22 lines
879 B
Markdown

# 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