Monorepo

The Rocket.Chat Fuselage Design System is a collection of components for building user interfaces in Rocket.Chat. It offers flexibility, extensibility, and thorough documentation, enabling the creation of high-quality interfaces. With Fuselage, you can swiftly design custom components and themes to align with your brand's aesthetics and develop reusable components for multiple projects. This system is suitable for versatile and expandable design needs and is particularly advantageous for cost-effective projects due to its open-source nature.

The term Fuselage has three distinct meanings in Rocket.Chat:

  • The design system for all Rocket.Chat projects

  • The set of components and assets that make up the design system

  • The name of the monorepo that contains all of the above and other related resources.

To avoid confusion, we will use the term "Fuselage Monorepo" to specifically refer to the monorepository containing all Fuselage-related components, assets, and additional elements within Rocket.Chat.

Why a monorepo?

From inception, Rocket.Chat adopted a strategy of splitting the codebase into multiple packages, similar to the Meteor community's approach. This segmentation was implemented to organize the codebase according to specific features, enabling a more targeted approach to development. It proved particularly effective in addressing issues arising from stagnant dependencies that lacked updates. Initially, the Fuselage Monorepo aimed to bridge the void left by old packages, while introducing a separate design system implementation. Its success is evident through the repository's diverse contents, extending beyond components and assets to include a wide array of packages beneficial for front-end development.

Last updated

Rocket.Chat versions receive support for six months after release.