meta(meta): document commit types and scopes

Define the Conventional Commits types currently used by the project.
Document the initial scope vocabulary for APT integration, hook wiring,
ZFS behavior, configuration, and documentation.

Require every future commit to carry a scope and keep verbose commit body
lines within the repository's 72-character limit. Require new types and
scopes to be documented before they are used.
This commit is contained in:
2026-09-16 09:05:08 +02:00
parent f59d67fc90
commit aa420d3507

30
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,30 @@
# Contributing
## Commit conventions
This project uses Conventional Commits. Every commit must have a scope:
```text
type(scope): imperative summary
```
The project currently uses these commit types:
- `feat`: adds user-visible functionality
- `fix`: corrects an incorrect or unsafe behavior
- `refactor`: changes internal structure without changing intended behavior
- `docs`: changes documentation only
- `meta`: changes project conventions, repository metadata, or contribution files
- `build`: changes installation, packaging, or deployment integration
The project currently uses these scopes:
- `apt`: APT and Debian package-manager behavior
- `hook`: APT hook configuration and invocation wiring
- `zfs`: ZFS selection, snapshot naming, and retention behavior
- `conf`: Runtime configuration parameters and defaults
- `docs`: README and explanatory documentation
Add a new type or scope to this document before using it. Keep commit subjects
concise and imperative. Commit bodies should explain the motivation and the
resulting behavior, with body lines no longer than 72 characters.