Commits (and issue/pull request titles) should follow the conventional commits specification with the format:
<type>: <subject>
<type>
must be one of:
Type | Description |
---|---|
feat |
New features |
fix |
Bug fixes |
refactor |
Refactors (rewriting/restructuring code without changing behaviour) |
perf |
Refactors specifically to improve performance |
style |
Code formatting, whitespace etc |
test |
New tests or changes to existing tests |
docs |
Changes to documentation |
build |
Changes to build system, compilation, toolchain |
chore |
Chores (internal/organisational changes, updating .gitignore, etc) |
misc |
Anything which absolutely does not match any of the other types |
<subject>
should written as "lowercase, imperative, present tense" (e.g. 'create control thread' or 'add init.c to Makefile').
Branches should be named beginning with the <type>
for the corresponding issue, followed by a /
and a dash-separated title briefly describing the overall purpose of the branch:
<type>/dash-separated-title
Code should be formatted before committing using trunk
with the command:
trunk fmt
Install trunk
for Linux or macOS with:
curl https://get.trunk.io -fsSL | bash
Alternatively, install the VS Code extension.