986 B
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