987 B
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/adminandapps/webfor 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