もう少し詳しく

モノレポものれぽ(Monorepo、Monolithic Repositoryの略)とは、複数のソフトウェアプロジェクトやサービスのソースコードを、分割せずに1つの大きなリポジトリりぽじとり(ソースコードの保管庫)にまとめて管理する開発手法のことです。対になる考え方は「マルチレポ」で、プロジェクトやサービスごとに別々のリポジトリを用意する方式を指します。

モノレポのメリットは、複数のプロジェクトをまたいだコードの変更を1回の作業でまとめて行いやすいこと、共通の部品(ライブラリ)を複数のプロジェクトで使い回しやすいことなどです。一方で、リポジトリの規模が大きくなるほど、変更履歴の取得やコードの検索、ビルド(コードを実行可能な形に組み立てる作業)にかかる時間が増えるという課題もあります。

どこで使われるか

モノレポは、Google・Meta(旧Facebook)など、非常に大規模な組織で広く採用されてきた管理手法です。多数のサービスを少人数で開発するスタートアップから、数万人規模のエンジニアを抱える企業まで、規模にかかわらず採用例があります。近年は、AIがコードを書く速度や量が増えたことで、モノレポの規模がさらに大きくなり、リポジトリを扱う基盤そのものの性能が課題になる場面も出てきています。

身近な例

1つの会社が、スマートフォン向けアプリ・Webサイト・社内管理システムという3つの別々のサービスを持っている場合を考えます。マルチレポであれば、3つのサービスはそれぞれ別のリポジトリで管理されますが、モノレポであれば、3つのサービスのコードを1つのリポジトリにまとめて管理します。共通で使う部品(たとえばログイン機能)を変更したいときに、関係する3つのサービス分のコードを同じリポジトリ内で一度に確認・変更できるという利点があります。

注意点

モノレポは万能の解決策ではありません。リポジトリの規模が大きくなるほど、変更履歴の検索やコードのダウンロードに時間がかかるようになり、何らかの工夫が必要になります。多数のAIエージェントが同時にコードを書くような特殊な環境では、従来のモノレポの運用方法そのものが追いつかなくなり、専用の仕組みを新たに作る企業も出てきています。自社にモノレポが向いているかどうかは、プロジェクトの数や規模、チームの体制によって異なります。