Skip to main content

Monorepo Overview

What This Repository Is

qb-monorepo is a single repository that hosts multiple related projects:

  • product/prototype apps in apps/
  • shared internal packages in packages/
  • central documentation in docs/

This structure is managed with PNPM workspaces and supports nested apps.

Why Monorepo Here

Advantages:

  • easier code sharing across apps (workspace:*)
  • centralized dependency management
  • simpler cross-project refactors
  • unified CI/CD and release workflows

Tradeoffs:

  • larger repository size
  • potentially more complex build/test orchestration
  • requires discipline to keep workspace boundaries clean

Workspace Layout

Typical pattern in this repo:

apps/*              # top-level apps
apps/*/* # nested apps (for example android/monitor)
apps/*/apps/* # nested app groups (for example ai-rag-agent/apps/*)
packages/* # shared packages
packages/ui/* # nested shared packages

Current config is defined in pnpm-workspace.yaml.

Folder Responsibilities

  • apps/: deployable applications and runnable tools
  • packages/: reusable internal libraries/components
  • docs/: monorepo and project documentation
  • Setup: docs/monorepo/setup.md
  • Commands: docs/monorepo/workspace-commands.md
  • Git subtree history/sync: docs/monorepo/git-subtree.md
  • FAQ: docs/monorepo/faq.md