Radek Musil
About meSkills
Services
My Projects
AI news
Contact me
Zpět na slovník

Monorepo

Vývoj

Také známo jako Monorepository, Monorepo, Monolitické repo

Stručně

Několik aplikací a sdílených balíčků v jednom repozitáři — jedna verze každé knihovny a jedna změna na funkci.

Monorepo dá webovou aplikaci, mobilní aplikaci, administraci a sdílené balíčky — typy, UI komponenty, validaci, API klienty — do jednoho repozitáře. Změna sdíleného pravidla pro ceny přistane společně s frontendem, který ho používá, v jednom review a jednom nasazení, místo dvou pull requestů ve dvou repozitářích, které se musí sloučit ve správném pořadí.

Co to přinese

Atomické změny. Přejmenujete pole ve sdíleném typu, upravíte všechny obrazovky, které ho používají, a nasadíte společně — a když testy napříč repozitářem neprojdou, změna se nikdy nedostane ven. Se samostatnými repozitáři je stejná úprava týden koordinace a období, kdy produkce běží na nekompatibilní verzi.

Jeden toolchain, jedno CI pro všechno, jedno místo pro konvence. Sdílená UI komponenta, kterou používá e-shop i klientský portál, se opraví jednou a otestuje proti oběma. To je skutečná výhra pro malý tým: méně věcí udržovat v souladu, ne méně složek.

Cena je v koordinaci, ne v místě na disku

Z monorepa vyroste pravidla, o která nikdo nežádal: který balíček smí importovat který, kdo vlastní sdílenou složku, kdy změna design systému potřebuje schválení, které pipeline běží na jakou změnu. Bez těch pravidel se sdílený balíček stane všech, pak nikoho a repozitář se změní v lepidlo, na kterém visí všechno a které nikdo neudržuje.

Pozornost si žádá i nástrojář. Monorepo s deseti balíčky a naivním buildem kompiluje všechno při každé změně; potřebujete inkrementální build, task runner a vzdálenou cache, aby CI zůstalo pod deseti minutami. Nad zhruba třiceti balíčky a více týmy ty náklady obvykle převáží — samostatné repozitáře s pořádně verzovaným balíčkem se snáz vysvětlují.

Kdy to je špatná volba

Dva projekty, které nesdílí nic než logo, jeden repozitář nepotřebují. Knihovna od dodavatele, jednorázový skript nebo služba s úplně jiným cyklem nasazení jsou jednodušší ve vlastním domově. A projekt jednoho člověka tooling většinou vůbec nepotřebuje — stačí běžná složka se sdíleným balíčkem, který se prostě importuje přes cestu.

Poctivý argument je nudný: monorepo se vyplatí, když aplikace skutečně sdílí kód a vlastní je jeden tým. Když ne, zaplatili jste koordinaci a nedostali ani jednu atomickou změnu.

Zdroje

  • Nx — Why a monorepo

Související pojmy

Refaktoring

Změna uspořádání kódu, která nemění jeho chování — stejná funkčnost, ale struktura, která přežije další úpravu.

Code review

Druhý pár očí nad změnou, než se dostane do produkce — nachytá chyby, designové problémy i nepříjemná překvapení včas.

Technická specifikace

Krátká písemná dohoda o tom, co se staví, co ne a co se počítá za hotové — dřív než padne první řádek kódu.

Zpět na slovník
Mobile-firstMVP (minimální životaschopný produkt)
Radek Musil|Product Engineer
·
|Helper·Privacy Policy·Cookies·Terms of Use|

© 2026 Radek Musil. All rights reserved.