Problem
The framework assumes each service is in its own repo/directory. Many teams use monorepos where all services live under one repository:
my-monorepo/
├── packages/
│ ├── web-ui/
│ ├── bff-gateway/
│ └── order-service/
├── shared/
│ └── common-types/
└── package.json # workspace root (pnpm/yarn/npm workspaces)
Proposed solution
Add layout option to manifest:
project:
layout: "monorepo" # multi-repo (default) | monorepo
monorepo_root: "../my-app" # where the monorepo lives
packages_dir: "packages" # subdirectory for services
When layout: monorepo:
- Builder creates services under
<monorepo_root>/<packages_dir>/<service-name>/
- Shared workspace config (tsconfig, eslint, package.json) generated at root
shared-lib type services go in a shared/ directory
- Single docker-compose at monorepo root
- Single CI pipeline with per-service change detection
Problem
The framework assumes each service is in its own repo/directory. Many teams use monorepos where all services live under one repository:
Proposed solution
Add
layoutoption to manifest:When
layout: monorepo:<monorepo_root>/<packages_dir>/<service-name>/shared-libtype services go in ashared/directory