Files
docs/decisions/0001-use-monorepo-structure.md
2026-02-09 21:51:46 -08:00

986 B

ADR-0001: Use Monorepo Structure for Related Projects

Status: Accepted Date: 2025-01-27 Deciders: Workspace maintainers


Context

We have multiple related projects that share code, dependencies, and infrastructure. Managing them as separate repositories creates:

  • Duplication of shared code
  • Complex dependency management
  • Difficult cross-project refactoring
  • Inconsistent tooling

Decision

We will use monorepo structures for related projects, organizing them with:

  • Git submodules for external/existing repositories
  • Workspace packages for shared code
  • Unified tooling and CI/CD
  • Coordinated releases

Consequences

Positive

  • Shared code and types
  • Simplified dependency management
  • Easier cross-project refactoring
  • Unified tooling
  • Coordinated releases

Negative

  • ⚠️ Larger repositories
  • ⚠️ More complex initial setup
  • ⚠️ Requires monorepo tooling knowledge

Status: Accepted