Ship internal tools in hours, not weeks. Real auth, users, jobs, audit logs, and cohesive UI included. Early access $249 $499 → [Get it now]

How to manage monorepo with Git

Managing a monorepo in Git requires strategies that keep clone times fast, working directories focused, and commits attributable to specific packages — problems that become severe as the repository grows. As the creator of CoreUI with 25 years of open-source development experience, I manage a monorepo with multiple framework packages and rely on sparse checkout, shallow clones, and conventional commits to keep the workflow efficient. The key techniques are: sparse checkout to only fetch files you need, partial clone to avoid downloading all objects, and conventional commit prefixes to identify which package each commit affects. Git’s built-in tools handle all of this — no third-party tooling required for the Git layer itself.

Read More…

How to split repository in Git

Splitting a monorepo into separate repositories is a common scaling decision when a codebase grows and different teams need independent release cycles. As the creator of CoreUI with 25 years of open-source development experience, I split the CoreUI monorepo into framework-specific packages and preserved the commit history for each component, which was essential for tracking bug history and attribution. The tool for this is git filter-repo, which can extract a subdirectory into a new repository with its full commit history. The result is a standalone repository containing only the commits that touched the extracted directory.

Read More…
Subscribe to our newsletter
Get early information about new products, product updates and blog posts.
What are the three dots `...` in JavaScript do?
What are the three dots `...` in JavaScript do?

How to force a React component to re-render
How to force a React component to re-render

How to validate an email address in JavaScript
How to validate an email address in JavaScript

How to get element ID in JavaScript
How to get element ID in JavaScript

Answers by CoreUI Core Team