Central monorepo for the development team. All frontend microfrontends, backend services, infrastructure configs, and shared documentation live here.
- frontend — Frontend projects (microfrontends and host app)
- backend — Backend services
- libs — Internal shared libraries (UI primitives, API clients, common middleware)
- infra — Infrastructure configuration and GitOps
- docs — Shared team documentation
- scripts — Workspace automation scripts
- configs — Workspace-level configuration files
- frontend/README.md — Overview of all frontend projects
- users-frontend — Microfrontend: Users domain UI
- products-frontend — Microfrontend: Products domain UI
- host-frontend — Main React host app that composes all microfrontends
- backend/README.md — Overview of all backend services
- users-service — REST API: Users domain
- products-service — REST API: Products domain
- infra/README.md — Infrastructure overview
- git-ops — GitOps deployment manifests
- libs/README.md — Internal shared libraries
- tw-common-frontend — Shared React hooks, context providers, and UI primitives
- tw-api-client — Typed HTTP client wrappers for all internal REST APIs
- tw-common-backend — Shared Express middleware, JWT utilities, and error helpers
- tw-config — Centralised environment variable loader and schema validation
- scripts/README.md — Workspace automation scripts
- setup-workspace.mjs — First-time setup: installs the git hook and clones missing repos
- update-workspace.mjs — Sync: pulls updates in existing repos, clones any that are missing
- .githooks/post-merge — Git hook activated by
yarn setup; runsyarn updateautomatically after everygit pull - configs/workspace-repos.json — List of repos to clone and sync (frontends, backends, libs)
- docs/README.md — Documentation hub
- Architecture — System architecture overview
- Onboarding — Getting started guide for new team members
- API Contracts — Shared API conventions
# 1. Clone all repos listed in configs/workspace-repos.json and install the git hook
yarn setup
# 2. Install all workspace dependencies
yarn install
# Run the host frontend in development mode
yarn dev:host
# Run a specific backend service
yarn dev:users-be
# Pull updates in all nested repos (also runs automatically after git pull)
yarn updateAfter running yarn setup once, a post-merge git hook is active. Every subsequent git pull on the workspace will automatically call yarn update to keep all nested repos in sync.
Refer to each project's own README for detailed instructions.
A .vscode/settings.json file is committed to this repository. Do not remove it.
The most important setting it enforces is:
"git.detectSubmodules": falseVS Code's Source Control panel continuously scans for Git repositories inside the workspace. With a large number of nested repos cloned by yarn setup, this background scanning becomes extremely resource-intensive — slowing down the editor and flooding the Source Control view with unrelated repo states. Disabling submodule detection stops this entirely without affecting any other Git functionality.