# Configuration for lukaszraczylo/semver-generator.
# Reference: https://github.com/lukaszraczylo/semver-generator
#
# Word matching is fuzzy + case-insensitive. The keywords below mirror
# Conventional Commits prefixes used in this repo's git history.

version: 1

# Respect existing v* tags as the version baseline. semver-generator finds
# the highest existing tag and bumps from there.
force:
  existing: true

# Skip merge commits and machine-generated traffic that would otherwise
# spuriously bump the version.
blacklist:
  - "Merge branch"
  - "Merge pull request"
  - "Merge remote-tracking branch"
  - "go mod tidy"

# NOTE: do not configure tag_prefixes here. The action's behaviour with
# that option present is to FILTER tags down to those matching the
# listed prefixes — meaning v0.x.y / v1.x.y tags get ignored and version
# numbering restarts from zero. The bot-api-vX.Y tag is created by a
# separate workflow step and does not need to participate in version
# selection.

wording:
  patch:
    - "fix"
    - "chore"
    - "docs"
    - "test"
    - "style"
    - "refactor"
    - "build"
    - "ci"
    - "perf"
  minor:
    - "feat"
  major:
    # Match only the canonical Conventional Commits trailer. The bare
    # word "breaking" is too greedy under semver-generator's fuzzy match —
    # it triggers on substrings like "breaking-value drift" inside a
    # commit body and wrongly produces a major bump.
    - "BREAKING CHANGE"
