47 lines
986 B
Markdown
47 lines
986 B
Markdown
# 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
|
|
|