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
tooling: Add Makefile and npm hooks for dev workflow. (#229)
* tooling: Add Makefile and npm hooks for dev workflow.
* tooling: Add external config files and Makefile targets.
* tooling: Add dynamic test targets, dev dependencies and update docs.
* tooling: Address Copilot review feedback.
* tooling: Fix dynamic test targets and address Codex review.
* tooling: Document naming convention for dynamic test targets.
* tooling: Address second round of Copilot review.
"changelogTitle": "# Changelog\n\nAll notable changes to this project will be documented in this file. See\n[Conventional Commits](https://conventionalcommits.org) for commit guidelines."
errorMsg: "🤨 La branche que tu essaies de pusher ne respecte pas nos conventions, tu peux la renommer avec `git branch -m <nom-actuel> <nouveau-nom>`",
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+18-17Lines changed: 18 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,46 +48,46 @@ lib/<component>/
48
48
49
49
## Linting
50
50
51
-
The project uses `ruff` for linting.
52
-
53
51
```bash
54
-
ruff check .
52
+
make lint
55
53
```
56
54
57
55
To automatically fix issues:
58
56
59
57
```bash
60
-
ruff check . --fix
58
+
make lint-fix
61
59
```
62
60
63
61
## Commit messages
64
62
65
-
Use the following format:
63
+
Commit messages follow the [Conventional Commits](https://www.conventionalcommits.org/)format, enforced by commitlint via a git hook:
66
64
67
65
```
68
-
<scope>: <Description starting with a capital letter ending with a period.>
66
+
<type>[(<scope>)]: <Description starting with a capital letter ending with a period.>
69
67
```
70
68
71
-
The scope is the driver name or domain (`hts221`, `ism330dl`, `docs`, `tests`, `ci`...). There is no predefined list of types — the scope is free-form.
**Scopes** (optional): driver names (`hts221`, `ism330dl`, `wsen-pads`...) or domains (`ci`, `docs`, `style`, `tests`, `tooling`). The scope is recommended for driver-specific changes but can be omitted for cross-cutting changes.
72
72
73
73
### Examples
74
74
75
75
```
76
-
hts221: Fix missing self parameter in get_av method.
77
-
ism330dl: Add driver support for temperature reading.
78
-
wsen-pads: Correct pressure conversion formula.
76
+
fix(hts221): Fix missing self parameter in get_av method.
77
+
feat(ism330dl): Add driver support for temperature reading.
# Uses 'driver' field for driver scenarios, filename stem for board scenarios.
39
+
# Convention: for board scenarios, the YAML 'name' field must match the filename.
40
+
SCENARIOS := $(shell python3 -c "import yaml,glob,os; [print(d.get('driver',os.path.basename(f).replace('.yaml',''))) for f in sorted(glob.glob('tests/scenarios/*.yaml')) for d in [yaml.safe_load(open(f))]]" 2>/dev/null)
0 commit comments