16 lines
741 B
Markdown
16 lines
741 B
Markdown
# ADR-0001: Polyglot monorepo, TS for apps, Python for ML
|
|
|
|
## Status
|
|
Accepted — 2026-04-13
|
|
|
|
## Context
|
|
We ship web and mobile clients, backend services, and ML training/serving. Splitting into many repos early creates cross-repo PRs for every contract change and hurts velocity.
|
|
|
|
## Decision
|
|
One monorepo, managed with pnpm workspaces for TS and uv/poetry for Python. Shared contracts live in `packages/shared-types` generated from OpenAPI. ML is Python; everything else is TS.
|
|
|
|
## Consequences
|
|
- One CI system, one versioning flow, atomic cross-service PRs.
|
|
- Requires disciplined boundaries: services must still be independently deployable.
|
|
- Tooling complexity: two package managers, two lint stacks. Acceptable given the ML/app split.
|