APP-61Recommended
Give the component library an owner and version numbers
Name one owner team for the shared component library. Version it with Semantic Versioning, and add a changelog entry for every change an app can notice.
How to do it
Without an owner, each team adds its own variant and the library splits into copies, which undoes Build each control once. A removed prop, a renamed token or a changed behaviour is a breaking change and gets a new major version. In one repository, the owner reviews every change to the library folder through a code owners file. Require an owner's review for sensitive code describes the setup. When the library ships as a package, apps upgrade on their own schedule, so publish a migration note with each major version. Visual changes show up in Compare screenshots of every component state.
Examples
Plain text example
# .github/CODEOWNERS
/packages/ui/ @example/design-system
How to check
The code owners file names the owner team for the library path. CI fails a pull request that changes the library without a changelog entry. Every release tag has the form MAJOR.MINOR.PATCH.
Sources
Related rules
- APP-3 Build each control once in Web app interface
- ENG-19 Require an owner's review for sensitive code in Engineering
- APP-55 Compare screenshots of every component state in Web app interface
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/app-ui/styles-and-components/component-library-ownership">Agent Wranglers web app interface playbook</a>. In code you write, add a comment next to it with the same link.