# <type>(<scope>): <subject>
#
# [Optional] <BREAKING CHANGE>: <description>
#
# <body>
#
# [Optional] <footer>
#
# Examples:
# - feat(auth): add login functionality
# - fix(cart): resolve issue with cart not updating total (fixes #123)
# - chore(deps): update dependency axios to v0.21.1
# - refactor(utils): restructure date utility for performance improvement
# - BREAKING CHANGE: change API endpoint from /v1/users to /v2/accounts
#
# Rules:
# - "type" must be one of the following:
#   - feat: A new feature
#   - fix: A bug fix
#   - docs: Documentation only changes
#   - style: Changes that do not affect the meaning of the code (e.g., formatting)
#   - refactor: A code change that neither fixes a bug nor adds a feature
#   - perf: A code change that improves performance
#   - test: Adding or updating tests
#   - build: Changes affecting the build system or external dependencies
#   - chore: Maintenance or tasks not affecting the code (e.g., version bumps)
#   - ci: Changes to CI configuration files or scripts
# - "scope" is optional but helps provide context (e.g., module, feature, or component).
# - "subject" should be concise and imperative (e.g., "add feature for user profile").
# - Body provides additional detail, if needed (wrap at 72 characters per line).
# - Footer includes references to issues or tickets (e.g., "Closes #123").
# - Use "BREAKING CHANGE:" in the body or footer for any breaking changes.
