You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+48-11Lines changed: 48 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,17 @@ Thank you for your interest in contributing. This document gives a short overvie
14
14
15
15
Before submitting, please read our [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you agree to uphold it.
16
16
17
+
## Development setup
18
+
19
+
This repository uses [pre-commit](https://pre-commit.com/) hooks to enforce code quality checks before each commit. Set it up once after cloning:
20
+
21
+
```bash
22
+
uv tool install pre-commit
23
+
pre-commit install --install-hooks
24
+
```
25
+
26
+
After this, every `git commit` will automatically validate your commit message format (see below).
27
+
17
28
## Linting and formatting
18
29
19
30
This project uses [ruff](https://docs.astral.sh/ruff/) for Python linting and formatting, and [markdownlint](https://github.com/DavidAnson/markdownlint) for Markdown linting. Both run as blocking CI checks on all pull requests via the `Code Quality` workflow.
@@ -44,18 +55,35 @@ Configuration is in [`.markdownlint.jsonc`](.markdownlint.jsonc) (rules) and [`.
44
55
45
56
## Commit message conventions
46
57
47
-
We encourage [Conventional Commits](https://www.conventionalcommits.org/) so that history and release notes stay clear.
58
+
This repository enforces the [Conventional Commits](https://www.conventionalcommits.org/) specification via a pre-commit hook. Commits that don't follow this format will be blocked locally by the pre-commit hook.
59
+
60
+
> **Tip:** To bypass the hook in rare cases (e.g., merge commits, emergency hotfixes): `git commit --no-verify`
61
+
62
+
### Format
48
63
49
-
Use one of these prefixes at the start of your commit message:
0 commit comments