# models

Conventional-commit type system: type taxonomies, breaking-change models, factories, and semver-bump derivation.

[`ConventionalCommit`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-ConventionalCommit) and [`CommitFooter`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-CommitFooter) are the structured shapes produced by the parser; [`createConventionalCommit`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-createConventionalCommit) and [`createCommitFooter`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-createCommitFooter) are the canonical factories. The [`BreakingChange`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-BreakingChange) model captures whether a commit declared a breaking change via `!` syntax or a `BREAKING CHANGE:` footer ([`createBreakingFromFooter`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-createBreakingFromFooter), [`createBreakingFromSubject`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-createBreakingFromSubject), [`createNonBreaking`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-createNonBreaking), [`isBreakingFooterKey`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-isBreakingFooterKey)). The [`CommitType`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-CommitType) taxonomy plus [`COMMIT_TYPES`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-COMMIT_TYPES), [`MINOR_TYPES`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-MINOR_TYPES), [`PATCH_TYPES`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-PATCH_TYPES), [`RELEASE_TYPES`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-RELEASE_TYPES), [`isStandardType`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-isStandardType), and [`isReleaseType`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-isReleaseType) answer the "what kind of commit is this?" questions, while [`getSemverBump`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-getSemverBump) maps a `(type, breaking)` pair to the corresponding [`BumpType`](https://www.hyperfrontend.dev/docs/libraries/versioning/semver/models/#api-BumpType).

---

Canonical page: https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/
This file: https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models.md
Documentation index: https://www.hyperfrontend.dev/llms.txt
