Bit is similar in idea, but stands as the opposite for the "Monorepo" approach, which aims to center all code under a central repository. Instead, Bit is bringing simplicity for distribution of source code into independently versioned components, depending on each other.
Using the composable model allows for a higher level of granularity, promoting the modularity, sharing, reuse, and maintainability of your software. It also preserves great, everlasting developer experience and keeping your codebase small.
If you are looking to build a unified platform, you should head to Composable Platforms.
You can use Bit to run a Monorepo. It facilitates the build, development, and release of modular architecture, allowing you to handle multiple packages in a single repository.
When a repository expands to encompass several hundred components, many often transition to a Polyrepo approach.
The polyrepo approach involves utilizing multiple repositories where components are interdependent. With Bit, transitioning components and splitting them across repositories becomes seamless. Components can be effortlessly 'Ejected' from one repository and 'Imported' into another.
Typically, developers pivot to a polyrepo setup when a monorepo expands to the point where maintenance, onboarding, and collaboration become challenging. Here is a chart demonstrating a Polyrepo setup with Bit:
Bit makes it easy to contribute to components even from a different repositories. Components are no longer limited to maintained from just a single Workspace:
After expanding to multiple repositories, many often adopt a distributed approach. In this setup, some of the components are maintained in temporary workspaces tailored for specific tasks or initiatives.
Using Bit in a Distributed approach, you can imports the requisite components for a particular task or initiative into a disposable workspace, presents the modifications, and then proceeds to release. It preserves a great overlasting developer experience keeping your codebase small.
It is useful to conbine approaches and maintain some of the compoennts in this approach, which keeping other in repositories.
You can find useful links to distributed workflows below:
You may have observed that this site is composable. As we expanded our documentation, our team also grew, prompting the need for an internal wiki—a consolidated hub for all Bit-related internal information, ensuring alignment among team members. We opted to chronicle this journey to illustrate the essence of composable thinking.
Using the Component Highligther in the example below, you can see how components maintained across various workspaces, business domains and repositories are effortlessly combined into a single performant and composable application, that can be deployed, or used as a package.
If you are ready to give Bit a try, head back to Quick start and kickoff you component-driven journey!