From 3f1f41168a7e22b229522274dbd59ceab00e99dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20NEDJAR?= Date: Tue, 24 Mar 2026 06:05:07 +0100 Subject: [PATCH 1/2] tooling: Add GitHub issue and PR templates. --- .github/ISSUE_TEMPLATE/bug_report.yml | 81 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 5 ++ .github/ISSUE_TEMPLATE/documentation.yml | 68 ++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.yml | 67 ++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 18 +++++ 5 files changed, 239 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/documentation.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..56623953 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,81 @@ +name: Bug Report +description: Report a bug in a driver or module. +title: ": " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for reporting a bug! Please fill in the details below. + + - type: textarea + id: description + attributes: + label: Description + description: What happened? What did you expect instead? + placeholder: | + When I call `sensor.temperature()`, the returned value is always 0.0. + I expected a plausible room temperature (~20-30°C). + validations: + required: true + + - type: textarea + id: steps + attributes: + label: Steps to reproduce + description: Minimal code or steps to trigger the bug. + placeholder: | + ```python + from machine import I2C + from hts221 import HTS221 + sensor = HTS221(I2C(1)) + print(sensor.temperature()) # always 0.0 + ``` + validations: + required: true + + - type: dropdown + id: component + attributes: + label: Driver / Component + description: Which driver or module is affected? + options: + - apds9960 + - bme280 + - bq27441 + - daplink_flash + - gc9a01 + - hts221 + - im34dt05 + - ism330dl + - lis2mdl + - mcp23009e + - ssd1327 + - steami_config + - vl53l1x + - wsen-hids + - wsen-pads + - Other + validations: + required: true + + - type: textarea + id: environment + attributes: + label: Environment + description: MicroPython version, board revision, firmware version. + placeholder: | + - MicroPython: v1.24.1 + - Board revision: 3 + - DAPLink firmware: 0259 + validations: + required: false + + - type: textarea + id: logs + attributes: + label: Logs / Output + description: Paste any relevant error messages or output. + render: text + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..5c5c3b65 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: STeaMi Website + url: https://www.steami.cc/ + about: Visit the STeaMi website for general information. diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml new file mode 100644 index 00000000..66b9533b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -0,0 +1,68 @@ +name: Documentation +description: Report missing or incorrect documentation. +title: "docs: " +labels: ["documentation"] +body: + - type: markdown + attributes: + value: | + Help us improve the documentation! + + - type: textarea + id: what + attributes: + label: What needs documentation + description: What is missing, unclear, or incorrect? + placeholder: | + The APDS9960 README does not document the gesture recognition methods + (gesture(), set_gesture_gain(), etc.). + validations: + required: true + + - type: dropdown + id: component + attributes: + label: Driver / Component + description: Which driver or module is concerned? + options: + - apds9960 + - bme280 + - bq27441 + - daplink_flash + - gc9a01 + - hts221 + - im34dt05 + - ism330dl + - lis2mdl + - mcp23009e + - ssd1327 + - steami_config + - vl53l1x + - wsen-hids + - wsen-pads + - README / CONTRIBUTING + - Wiki (wiki.steami.cc) + validations: + required: true + + - type: textarea + id: current + attributes: + label: Current state + description: What documentation exists now? + placeholder: The README only has a basic "Installation" section. + validations: + required: false + + - type: textarea + id: desired + attributes: + label: Desired state + description: What should be added or changed? + placeholder: | + Add a "Gesture Recognition" section with: + - Method signatures and return values + - Example code + - Supported gestures list + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..4878ab1b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,67 @@ +name: Feature Request +description: Suggest a new feature or improvement. +title: ": " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Describe the feature you'd like and why it would be useful. + + - type: textarea + id: description + attributes: + label: Description + description: What do you want and why? + placeholder: | + I would like a `heading()` method on LIS2MDL that returns the compass + bearing in degrees (0-360), so I can build a digital compass without + computing atan2 manually. + validations: + required: true + + - type: dropdown + id: component + attributes: + label: Driver / Component + description: Which driver or module is concerned? + options: + - apds9960 + - bme280 + - bq27441 + - daplink_flash + - gc9a01 + - hts221 + - im34dt05 + - ism330dl + - lis2mdl + - mcp23009e + - ssd1327 + - steami_config + - vl53l1x + - wsen-hids + - wsen-pads + - New driver + - Project-wide + validations: + required: true + + - type: textarea + id: api + attributes: + label: Proposed API + description: Show how you would like to use this feature. + render: python + placeholder: | + mag = LIS2MDL(I2C(1)) + print("Heading:", mag.heading(), "°") + validations: + required: false + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Any workarounds or other approaches you've thought of? + validations: + required: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..4dd29546 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,18 @@ +## Summary + + + +## Changes + + + +- + +## Checklist + +- [ ] `ruff check` passes +- [ ] `pytest tests/ -k mock` passes (no mock test broken) +- [ ] Tested on hardware (if applicable) +- [ ] README updated (if adding/changing public API) +- [ ] Examples added/updated (if applicable) +- [ ] Commit messages follow `: ` format From 04e52f7c3578d6f8566ecf7339106e4e0092d4eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20NEDJAR?= Date: Tue, 24 Mar 2026 06:39:35 +0100 Subject: [PATCH 2/2] tooling: Address PR review comments on templates. --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yml | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 56623953..2f0d2c4f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,6 +1,6 @@ name: Bug Report description: Report a bug in a driver or module. -title: ": " +title: ": " labels: ["bug"] body: - type: markdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 4878ab1b..9cc1ad82 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,6 +1,6 @@ name: Feature Request description: Suggest a new feature or improvement. -title: ": " +title: ": " labels: ["enhancement"] body: - type: markdown diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4dd29546..db288275 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -11,7 +11,7 @@ ## Checklist - [ ] `ruff check` passes -- [ ] `pytest tests/ -k mock` passes (no mock test broken) +- [ ] `python -m pytest tests/ -k mock -v` passes (no mock test broken) - [ ] Tested on hardware (if applicable) - [ ] README updated (if adding/changing public API) - [ ] Examples added/updated (if applicable)