name: commit-style description: Crafts and generates professional conventional commit messages following Angular/Conventional Commits format. Use when committing changes, writing git commit messages, or when user mentions commit message. format: 2025-10-02 version: 1.0.0 status: ACTIVE updated: 2026-04-15 triggers:
- "committing changes, writing git commit messages, or when user mentions commit message"
Commit Style — Conventional Commits
Generates commit messages following the Conventional Commits / Angular convention for clear, consistent version history.
Format
<type>(<scope>): <subject>
[optional body]
[optional footer]
Types
| Type | Use |
|---|---|
feat | New feature |
fix | Bug fix |
docs | Documentation only changes |
style | Formatting, whitespace, no logic change |
refactor | Neither fix nor feature |
perf | Performance improvement |
test | Adding or updating tests |
build | Build system or external dependencies |
ci | CI/CD configuration changes |
chore | Other maintenance tasks |
revert | Reverting a previous commit |
Rules
- Subject: ≤72 chars (50 preferred), lowercase, imperative mood, no trailing period.
- Imperative test: "If applied, this commit will [subject]".
- Scope: Specific module/component in lowercase — e.g.
feat(auth),fix(api),docs(readme),refactor(core). - Body: Optional. Explain WHY/WHAT, not HOW. Wrap at 72 chars. Blank line between subject and body.
- Footer: Optional.
BREAKING CHANGE: …,Closes #N,Co-Authored-By: ….
Atomic Commits
One logical change per commit. Split unrelated changes into separate commits — this makes surgical rollback and git bisect possible.
Examples
Simple feature:
feat(auth): add password reset functionality
Bug fix with issue reference:
fix(api): handle null response from user endpoint
The /users/:id endpoint could return null for deleted users,
causing a crash in the profile component.
Closes #456
Breaking change:
feat(api): change authentication to JWT
Migrate from session-based auth to JWT tokens for better
scalability and stateless operation.
BREAKING CHANGE: All API clients must now include JWT token
in Authorization header. Session cookies no longer accepted.
Documentation update:
docs(readme): update installation instructions
Add troubleshooting section for common npm issues
and clarify Node.js version requirements.
Anti-Patterns
- Vague subjects: "fix bug", "update stuff"
- Past/present tense: "added", "adds" — use the imperative "add"
- Multiple changes in one commit: "add login and fix navbar"
- Implementation trivia: "change line 47"
- Emotional language: "finally fixed!!!"