# Contributing
## Versioning
A version number tells a consumer what taking the update will do to them, so
each kind of change moves its own digit.
| breaks a consumer's build | the first non-zero digit: the minor while `0.x`, the major from `1.0` |
| changes a look | the minor |
| adds API | the patch |
| fixes a bug and changes no look | the patch |
A look change is anything a consumer would see differently on screen without
touching their own code: a derived colour, a spacing, a default. Its commit
subject starts `look:` and names its before/after render, which the
`commit-msg` hook in `scripts/githooks/` enforces for the paths listed in
`scripts/githooks/look-paths`.
The minor moves for looks and breaks and never for additions, so a consumer
who sees it move knows to look.