Hello community! I need your help to understand if I’m taking the right approach to solve a problem.
We have a UIKIT composed of: foundations (using styles, not variables yet), components, widgets (i.e., groups of components with functionality), and pages (i.e., groups of widgets). We have two design teams using it in parallel:
- Team A - Product: Updates the UIKIT regularly and provides Team B with new features.
- Team B - Internal Agency: Uses the “pages” of the UIKIT and modifies the foundations to resemble the customer’s brand.
Currently, Team B forks the UIKIT to work locally, changing styles and so on, always in local. The problem is they lose all opportunities to receive product updates.
The solution I propose is to have two kits: one for foundations, components, and widgets (Main) and a second for Pages. Both should share the same variable names for color, fonts, spacing, radius, etc. The Pages kit will consume the Main kit. Then Team B will fork the Pages kit locally and work on it. If the Main kit has an update, the Pages kit will receive the update notifications. In case there is a need to include a new widget in the local file, the overriding of the variables could be done with a plugin.
What do you think? Does anyone have a better solution?