Skip to content

Ask HN: What is the best way to split an evergrowing Git monorepo?

1 pointmartibravodiscuss
On HN

I am building a big project for Deno/Node (compatible with both) and the project has different parts I would like to split into their own repos. I have never built a project as complex as this (nowhere near alpha release but 10K LOC as of right now). It is a passion and learning project of mine.

I'm looking for a way to split the monorepo into "packages" so that it's easier to work on one area at a time, and also allows other devs in the future to work on it without having to git clone the whole repo.

I would also like to know if there's a magic way to keep releases, version tags and such in sync between all the repos, so in the end it looks like a monorepo but allows for better modularity.

Turning it into a modular codebase is kind of important, because the project is able self-update modules (it has its own small package manager separate from NPM that downloads and installs tarballs)

What is your approach to the mono/multirepo problem? Any advice, personal experiences or nice blog posts you can share? Better to use git subtree or submodule?

Thanks in advance, fellow hackers!

Comments

No comments yet.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.