Skip to main content

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