---
title: "Give the component library an owner and · Agent Wranglers"
url: https://agentwranglers.se/playbook/app-ui/styles-and-components/component-library-ownership
id: APP-61
level: Recommended
applies: team
updated: 2026-10-22
tokens: 858
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Give the component library an owner and version numbers

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Styles and components](https://agentwranglers.se/playbook/app-ui/styles-and-components.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-22.

- ID: APP-61
- Level: Recommended
- Chapter: [Styles and components](https://agentwranglers.se/playbook/app-ui/styles-and-components.md)
- Rule: 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.
- 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`.
- Applies when: The project has two or more developers.
- How: Without an owner, each team adds its own variant and the library splits into copies, which undoes [Build each control once](https://agentwranglers.se/playbook/app-ui/styles-and-components/shared-components.md). 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](https://agentwranglers.se/playbook/engineering/version-control-and-review/code-owners.md) 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](https://agentwranglers.se/playbook/app-ui/tests-and-budgets/visual-regression.md).

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### Plain text example

```text
# .github/CODEOWNERS
/packages/ui/  @example/design-system
```

## Sources

- [Semantic Versioning 2.0.0](https://semver.org/)

## Related rules

- APP-3 [Build each control once](https://agentwranglers.se/playbook/app-ui/styles-and-components/shared-components.md) in Web app interface
- ENG-19 [Require an owner's review for sensitive code](https://agentwranglers.se/playbook/engineering/version-control-and-review/code-owners.md) in Engineering
- APP-55 [Compare screenshots of every component state](https://agentwranglers.se/playbook/app-ui/tests-and-budgets/visual-regression.md) in Web app interface

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/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.

- Previous: [Show every component state in a catalogue](https://agentwranglers.se/playbook/app-ui/styles-and-components/component-catalogue.md)
- Next: [Retire components with a warning and a removal date](https://agentwranglers.se/playbook/app-ui/styles-and-components/component-deprecation.md)
- [Styles and components](https://agentwranglers.se/playbook/app-ui/styles-and-components.md)
