1. Monorepo Structure
Status: Accepted Date: 2025-06-28
Context
The Kaido project consists of multiple domains (Mercury, Arcana, Anytracker, Michi) and shared libraries that need to be developed and deployed together. We need to decide on the repository structure that will support our development workflow while maintaining clear boundaries between domains.
Decision
Use monorepo structure over multiple repositories.
Consequences
Positive:
- Simplified dependency management across domains
- Atomic commits across multiple services
- Shared tooling and CI/CD configuration
- Clear domain boundaries with shared utilities
Negative:
- Larger repository size
- Potential for tight coupling between domains
- More complex build orchestration
- Risk of monolithic thinking
Mitigation:
- Strict domain boundaries enforced by FDD documentation
- Nx project graph to visualize and control dependencies
- Clear ownership model for each domain