Files
cms.fellies.org/docs/adr/0001-monorepo-foundation.md

987 B

ADR 0001: Monorepo Foundation

  • Status: Accepted
  • Date: 2026-02-10

Context

The CMS platform requires:

  • separate admin and public apps
  • shared domain contracts and data access
  • consistent tooling and CI quality gates
  • incremental delivery through MVP stages

A fragmented multi-repo setup would increase coordination overhead and duplicate shared contracts.

Decision

Adopt a Bun workspace monorepo with:

  • apps/admin and apps/web for runtime surfaces
  • shared packages (@cms/content, @cms/db, @cms/crud, @cms/ui, @cms/i18n)
  • shared quality tooling (Biome, TypeScript, Vitest, Playwright, Turbo)

Consequences

Positive

  • shared contract updates propagate in one change set
  • easier cross-app refactors and testing
  • single CI pipeline with consistent gates

Negative

  • stronger need for workspace discipline and clear boundaries
  • larger repository clone/build surface
  • potential for cross-package coupling if conventions are not enforced