# git-sumi ~ configuration file
# Config: https://sumi.rs/docs/configuration
# Rules: https://sumi.rs/docs/rules

# Suppresses progress messages.
quiet = false

# Displays parsed commit message.
display = true

# Sets display format: cli, json, table, toml.
format = "cli"

# Processes each non-empty line as an individual commit.
split_lines = false

# Rule: Include one valid Gitmoji.
# See https://gitmoji.dev/.
gitmoji = true

# Rule: Description must start with the specified case.
# Options: 'any', 'lower', 'upper'.
description_case = "lower"

# Rule: Use the imperative mood in the description.
# Example: 'Fix bug' instead of 'Fixed bug'.
imperative = true

# Rule: Do not end commit header with a period.
no_period = true

# Rule: Header length limit.
# A value of 0 disables the rule.
max_header_length = 55

# Rule: Body line length limit.
# A value of 0 disables the rule.
max_body_length = 80

# Rule: No leading, trailing, or consecutive spaces.
whitespace = true

# Rule: Follow Conventional Commits format.
# See https://www.conventionalcommits.org/.
conventional = true

# Rule: List of allowed commit scopes.
# An empty list allows all scopes. Example: ["docs", "cli"].
scopes_allowed = []

# Rule: List of allowed commit types.
# An empty list allows all types. Example: ["feat", "fix", "docs"].
types_allowed = ["feat", "fix", "docs", "refactor", "test", "chore", "misc", "style"]

# Rule: Header must match regex pattern.
# Example: '^JIRA-\d+:'.
header_pattern = '^([\p{Emoji_Presentation}\p{Extended_Pictographic}](?:\u{FE0F})?\u{200D}?) \w' # The first character must be an emoji.