Zum Inhalt springen

Monorepo

oder auch Monorepository

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 08.11.2026

Ein Monorepo ist ein einzelnes Repository, in dem mehrere Projekte oder Pakete gemeinsam liegen, etwa eine Website, eine App und die Bibliotheken, die beide nutzen. Das Gegenstück sind getrennte Repositories für jedes Projekt.

Monorepo

Ein gemeinsames Repository für mehrere Projekte oder Pakete, die zusammen versioniert werden.
Beispiel: „Website, App und die gemeinsame Komponentenbibliothek liegen in einem Monorepo, eine Änderung am Button erreicht alle drei mit einem Commit.“

Auch: Monorepository.

Verwandt: Repository, der Speicherort für Code und seine Geschichte.

Was für ein Monorepo spricht

Änderungen, die mehrere Projekte betreffen, landen in einem Schritt. Wer eine gemeinsame Bibliothek ändert, sieht sofort, welche Projekte davon betroffen sind, und passt sie im selben Commit an.

Dazu kommen einheitliche Werkzeuge. Codestil, Tests und Abhängigkeiten werden einmal festgelegt und gelten für alle. Google arbeitet bekanntermaßen mit einem riesigen Monorepo, und auch Symfony entwickelt alle Komponenten in einem Repository und verteilt sie automatisch in einzelne Pakete.

Werkzeuge für ein Monorepo

Ab einer gewissen Größe braucht es Hilfe, damit nicht jeder Test und jeder Bau alles neu anfasst. Werkzeuge wie Turborepo, Nx oder die Workspaces von npm und pnpm erkennen, welche Pakete sich geändert haben, und bauen nur diese.

Wann ein Monorepo nicht passt

Wenn Projekte nichts miteinander zu tun haben oder unterschiedlichen Teams mit getrennten Rechten gehören. Dann bringt ein Monorepo nur Größe und lange Ladezeiten in Git, ohne dass die Projekte etwas teilen.

Auch das Deployment wird anspruchsvoller, weil eine Änderung im Repository nicht jedes Projekt betrifft und die Pipeline das erkennen muss.

Siehe auch:

Repository

Der Ort, an dem ein Projekt samt seiner gesamten Geschichte liegt.

#Deployment & Versionierung

Git

Das Werkzeug, das jede Änderung an einem Projekt festhält und mehrere Stände nebeneinander erlaubt.

#Deployment & Versionierung

Micro-Frontend

Ein Architekturansatz, der ein großes Frontend in unabhängige Teile verschiedener Teams zerlegt.

#Programmiersprachen

Symfony

Ein PHP-Framework aus wiederverwendbaren Komponenten, auf dem viele andere Systeme aufbauen.

#Programmiersprachen

Boilerplate-Projekt (Starter Kit)

Ein vorbereitetes Projektgerüst, mit dem neue Anwendungen nicht bei null beginnen.

#Programmiersprachen

Deployment

Das Ausrollen eines neuen Stands auf den Server, auf dem die Website läuft.

#Deployment & Versionierung