Skip to content

Support monorepo layout as alternative to multi-repo #4

@nakurian

Description

@nakurian

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions