Customizing Prompts
CommitBee generates messages according to the Conventional Commits specification by default.
However, you can tailor its behavior to match your team’s specific conventions.
Global Configuration
You can adjust formatting rules in your config.toml.
[format]
include_body = true
lowercase_subject = true
Multi-Language Commits
By default, CommitBee generates messages in English according to the specification. You can instruct the LLM to output the subject and body in a specific language (while retaining the English feat/fix type prefix) by defining the locale in your root configuration:
# Write commit subject and body in German
locale = "de"
You can also override this on the fly: commitbee --locale fr.
System Prompts
Advanced users can override the default LLM system prompts. Create a prompt.md file in your repository’s .commitbee/ directory:
You are an expert developer writing commit messages for our repository.
Our team requires the `JIRA-123:` prefix in the summary line for all commits.
CRITICAL:
- Do not use markdown backticks in the summary line.
- Always include a "Why" in the body.
When a custom prompt is detected, CommitBee will merge it with its semantic context (like tree-sitter symbols) before sending it to the LLM.
Overriding Commit Types
If your repository uses custom types beyond feat, fix, docs, chore, etc., you can define them in your config:
[conventions.types]
wip = "Work in progress (do not merge)"
perf = "Performance improvements"
hotfix = "Emergency production fixes"
CommitBee’s validation pipeline will automatically learn these new types and ensure the LLM uses them correctly.