- Conventional Commits: All commits must follow Conventional Commits:
<type>(<scope>): <description> - Types:
feat,fix,docs,style,refactor,perf,test,build,ci,chore - Scopes:
(procmond),(agent),(cli),(lib),(security),(ipc),(detection),(alerting),(storage),(crypto),(config),(telemetry),(kernel),(network), etc. Required for all commits. - Description:
- Imperative mood ("add", not "added")
- No period at the end
- ≤72 characters, capitalized, clear and specific
- Body (optional):
- Start after a blank line
- Use itemized lists for multiple changes
- Explain what/why, not how
- Footer (optional):
- Start after a blank line
- Use for issue refs (
Closes #123) or breaking changes (BREAKING CHANGE:)
- Breaking Changes:
- Add
!after type/scope (e.g.,feat(api)!: ...) or useBREAKING CHANGE:in footer
- Add
- Examples:
feat(procmond): add process enumeration with privilege separationfix(security): prevent credential leakage in error messagesdocs(readme): update installation instructions for Rust 1.85+refactor(ipc): simplify protobuf message framing interfacetest(detection): add SQL injection prevention validation testschore(deps): update tokio to v1.40 for security patchesperf(storage): optimize redb write operations for 10k+ processesfeat(alerting): add multi-channel alert delivery with circuit breakers
- CI Compatibility:
- Use
chore:for meta or maintenance changes - Use
security:scope for security-related changes
- Use