The repo guide already prescribed the seven-rules format but did not rule out the Conventional-Commits alternative, and recent history has drifted into mixing both styles. Several existing commits use a "fix(scope): ..." prefix that the project does not consume for any tooling (no changelog generator, no semantic release, no commit-lint), so the prefix only adds noise and hurts log readability. Add an alwaysApply Cursor rule that explicitly bans Conventional Commits and restates the seven-rules format with concrete good and bad examples. Update contrib/claude/commit.md with the same prohibition so the documentation and the rule agree, and cross-link both from the existing signing rule so an agent reading git-commit-signing.mdc lands on the style rule too. Signed-off-by: Émile Ré <emile@probo.com>
1.9 KiB
Commit Messages
Follow the seven rules of a great Git commit message:
- Separate subject from body with a blank line
- Limit the subject line to 50 characters
- Capitalize the subject line
- Do not end the subject line with a period
- Use the imperative mood in the subject line
- Wrap the body at 72 characters
- Use the body to explain what and why vs. how
The subject line should complete the sentence: "If applied, this commit will your subject line here".
Add third-party assessment agent for third-party reviews
The existing changelog generator only covers internal changes.
This introduces a dedicated agent that evaluates third-party
thirdParties against our compliance criteria, producing a structured
risk report.
Not every commit needs a body -- a single line is fine when the change is self-explanatory:
Fix typo in third-party assessment prompt
No Conventional Commits
This repository does not use Conventional Commits (type(scope): summary). The seven-rules style above is the only accepted format. Existing Conventional-Commits-style messages in the history are drift and must not be used as precedent.
# GOOD
Disconnect observer in cookie-banner load() error path
# BAD -- Conventional Commits prefix
fix(cookie-banner): disconnect observer in load() error path
The project does not consume the type(scope): prefix for any tooling (no changelog generator, no semantic-release, no commit-lint), so the prefix only adds noise. If a future need for machine-readable commit types arises, raise it in a separate change that updates this document first.
Signing and Authorship
All commits must be signed (-s -S):
-sadds aSigned-off-bytrailer (DCO).-Screates a GPG/SSH signature.
The commit author must be the human responsible for the change, not the AI assistant. Do not add Co-Authored-By trailers crediting bots.