## Severity Levels
| error | Commit Format, Types, Scopes, Subject Line, Accuracy, Breaking Changes |
| warning | Body Guidelines |
| info | Subject Line Style |
## Commit Format
Use conventional commit format:
```
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
```
## Types
Required. Must be one of:
| `feat` | New features or enhancements to existing features |
| `fix` | Bug fixes |
| `docs` | Documentation changes only |
| `refactor` | Code refactoring without behavior changes |
| `chore` | Maintenance tasks, dependency updates, config changes |
| `test` | Test additions or modifications |
| `ci` | CI/CD pipeline changes |
| `build` | Build system or external dependency changes |
| `perf` | Performance improvements |
| `style` | Code style changes (formatting, whitespace) |
## Scopes
Use meaningful scopes that describe the area of code affected.
## Subject Line
- Keep under 72 characters total
- Use imperative mood: "add feature" not "added feature" or "adds feature"
- Be specific: avoid vague terms like "update", "fix stuff", "changes"
## Subject Line Style
- Use lowercase for the description
- No period at the end
## Accuracy
The commit message must accurately reflect the actual code changes:
- **Type must match changes**: Don't use `feat` for a bug fix, or `fix` for new functionality
- **Scope must match files**: The scope should reflect which area of code was modified
- **Description must be truthful**: Don't claim changes that weren't made
- **Mention significant changes**: If you add error handling, logging, or change behavior, mention it
## Body Guidelines
For significant changes (>50 lines or architectural changes), include a body:
- Explain what was changed and why
- Describe the approach taken
- Note any breaking changes or migration requirements
- Use bullet points for multiple related changes
- Reference issues in footer: `Closes #123` or `Fixes #456`
## Breaking Changes
For breaking changes:
- Add `!` after type/scope: `feat(api)!: change response format`
- Include `BREAKING CHANGE:` footer with migration instructions