| name | commit |
| description | Commit message convention for this repo (gitmoji + scope + capitalized message) enforced by the danger CI bot. Use whenever creating commits, when the user invokes /commit, or when fixing commit messages that failed CI. |
| alwaysApply | false |
How to commit
We use gitmoji for commit messages to standardize and improve readability.
Commit message rules
The rules are enforced by the danger CI bot. Make sure each commit message follows all of these requirements:
- Start with a gitmoji (which can be viewed with
pnpm gitmoji --list)
- Follow with a space
- Specify a scope in parentheses, all in lowercase
Example:
(signer-eth)
(context-module)
(chore)
(release)
(ci)
- Do not repeat JIRA ticket tags (e.g.
[DSDK-1234], [NO-ISSUE]) in your commit message—these tags are optional for commits and required in PR titles.
- Add a colon
: and a space
- Write a message that starts with a capital letter
Pattern:
<gitmoji> (scope): Description starting with capital letter
Examples:
💚 (api): Add new endpoint
✨ (cli): Support new flags
🐛 (parser): Fix buffer overflow
Special notes:
If you're unsure which gitmoji to use, you can list all available emojis with:
pnpm gitmoji --list
You can also see commit message examples by running:
git log --oneline
Refer to these resources to help you select appropriate emojis and follow the commit convention.
For more details or troubleshooting, see CONTRIBUTING.md.
Commits that don't follow this convention will fail CI and block merging.
Signed commits
All commits must be signed to be merged into protected branches (develop and main). This is enforced by GitHub branch rulesets.
Make sure you have commit signing configured:
git config --global commit.gpgsign true
If you have unsigned commits, re-sign them before pushing:
git rebase -i HEAD~N --exec "git commit --amend --no-edit -S"
git push --force-with-lease
See CONTRIBUTING.md for setup instructions.