From e1afdc096e0deaa2bce8eb32dced0ce4fa32ba26 Mon Sep 17 00:00:00 2001 From: abusalah0 <109g83@gmail.com> Date: Mon, 3 Aug 2026 02:31:26 +0300 Subject: [PATCH 1/6] docs: add a pull request template --- .github/pull_request_template.md | 61 ++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..58b86bd --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,61 @@ +## Summary + +Describe what changed. + +## Motivation + +Explain the problem this change solves and why this approach was chosen. + +## Related issues + + + +## Compatibility impact + +Describe any effect on: + +- Public Rust APIs +- Supported ESP chips or boards +- Cargo features +- Device-to-host protocols +- Serialized CSI or configuration formats +- Firmware, server, or client compatibility + +Write "None" when there is no compatibility impact. + +## Testing + +List the exact commands, targets, features, and configurations used to verify +the change. + +```sh +# Examples — replace these with the commands you actually ran: +# cargo fmt --all -- --check +# cargo check --workspace +# cargo test --workspace +# cargo clippy --workspace --all-targets --all-features -- -D warnings +```` + +## Hardware validation + +For embedded or device-dependent changes, include: + +- ESP chip and board +- Rust target +- Enabled Cargo features +- Flashing method +- Test setup +- Observed result + +Write "Not applicable" when no hardware validation is required. + +## Checklist + +- [ ] The change is focused and contains no unrelated edits. +- [ ] `cargo fmt --all -- --check` passes. +- [ ] Relevant build, Clippy, and test commands pass for the affected targets and features. +- [ ] New behavior is covered by tests or a focused reproducer where practical. +- [ ] Relevant ESP hardware was tested, or hardware testing is not applicable. +- [ ] Public API, protocol, or data-format changes are documented, or this is not applicable. +- [ ] User-facing and contributor documentation was updated where necessary. +- [ ] Logs, examples, and fixtures contain no credentials or sensitive information. From 0b4c94d66e619f1017c6cb15d1a8b60865dd63d3 Mon Sep 17 00:00:00 2001 From: abusalah0 <109g83@gmail.com> Date: Mon, 3 Aug 2026 02:31:51 +0300 Subject: [PATCH 2/6] docs: add a bug reporting template --- .github/ISSUE_TEMPLATE/bug_report.yml | 225 ++++++++++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..1243f58 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,225 @@ +name: Bug report +description: Report reproducible incorrect behavior in a csi-rs project +title: "[Bug]: " +labels: + - bug + +body: + - type: markdown + attributes: + value: | + Thanks for reporting a bug. + + Please provide the smallest practical reproduction and enough environment + information for someone else to reproduce the problem. + + Do not publicly report security vulnerabilities here. Follow the + organization security policy instead. + + - type: checkboxes + id: preliminary-checks + attributes: + label: Before submitting + options: + - label: I searched the existing issues for the same problem. + required: true + - label: This report does not disclose a security vulnerability. + required: true + + - type: textarea + id: description + attributes: + label: Description + description: Clearly describe the incorrect behavior. + placeholder: What went wrong? + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Reproduction + description: | + Provide the smallest program, configuration, input, and sequence of + commands that reproduces the problem. Link to a minimal repository when + multiple files are required. + placeholder: | + 1. Build with ... + 2. Flash or run ... + 3. Send or collect ... + 4. Observe ... + validations: + required: true + + - type: textarea + id: expected-behavior + attributes: + label: Expected behavior + description: What did you expect to happen? + validations: + required: true + + - type: textarea + id: actual-behavior + attributes: + label: Actual behavior + description: What happened instead? + validations: + required: true + + - type: input + id: version + attributes: + label: Version or commit + description: Provide the affected release, crate version, or commit SHA. + placeholder: v0.3.0, esp-csi-rs 0.3.0, or commit 0123abcd + validations: + required: true + + - type: input + id: rust-version + attributes: + label: Rust toolchain + description: Paste the output of `rustc --version --verbose` when possible. + placeholder: rustc 1.xx.x or esp toolchain version + validations: + required: true + + - type: input + id: operating-system + attributes: + label: Host operating system + placeholder: Fedora 44, Ubuntu 24.04, macOS 15, Windows 11, etc. + validations: + required: true + + - type: textarea + id: embedded-environment + attributes: + label: ESP hardware and embedded environment + description: Complete this section when the issue involves an ESP device. + placeholder: | + Chip: ESP32-C6 + Board: ESP32-C6-DevKitC-1 + Rust target: riscv32imac-unknown-none-elf + Framework/HAL: esp-hal ... + Enabled Cargo features: ... + Flashing tool: espflash ... + Wi-Fi mode and relevant configuration: ... + + - type: textarea + id: logs + attributes: + label: Logs and diagnostic output + description: | + Include relevant compiler output, panic messages, backtraces, serial + output, server logs, or packet/data details. Remove credentials and + sensitive information before submitting. + placeholder: Paste logs here or attach a log file. + + - type: textarea + id: additional-context + attributes: + label: Additional context + description: | + Add anything else that may help, such as screenshots, traces, hardware + wiring, related issues, or whether the problem is a regression. +``` + +### `.github/ISSUE_TEMPLATE/feature_request.yml` + +```yaml +name: Feature request +description: Propose an improvement or new capability for a csi-rs project +title: "[Feature]: " +labels: + - enhancement + +body: + - type: markdown + attributes: + value: | + Thanks for proposing an improvement. + + Describe the underlying problem before describing a particular + implementation. This helps us consider alternative solutions and the + effect on the wider csi-rs ecosystem. + + - type: checkboxes + id: preliminary-checks + attributes: + label: Before submitting + options: + - label: I searched the existing issues and discussions for a similar proposal. + required: true + + - type: textarea + id: problem + attributes: + label: Problem + description: What limitation, use case, or developer problem should be addressed? + placeholder: Explain who encounters the problem and under what circumstances. + validations: + required: true + + - type: textarea + id: proposal + attributes: + label: Proposed change + description: Describe the behavior, API, protocol, or capability you are proposing. + validations: + required: true + + - type: dropdown + id: affected-areas + attributes: + label: Affected areas + description: Select every part of the ecosystem that may be affected. + multiple: true + options: + - Embedded library or driver + - ESP firmware or CLI + - Host-side library or application + - Device-to-host protocol + - CSI data format or storage + - Public Rust API + - Documentation or examples + - Build, CI, or development tooling + - Other + validations: + required: true + + - type: textarea + id: compatibility + attributes: + label: Compatibility impact + description: | + Describe any effect on existing APIs, firmware, clients, servers, + serialized data, supported chips, feature flags, or stored datasets. + placeholder: State "No expected compatibility impact" when appropriate. + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Describe other approaches, workarounds, or designs you considered. + + - type: dropdown + id: implementation + attributes: + label: Implementation interest + description: Would you be interested in implementing this change? + options: + - Yes, I can submit a pull request + - Yes, with design or implementation guidance + - No, I am only proposing the feature + + - type: textarea + id: additional-context + attributes: + label: Additional context + description: | + Add relevant examples, research, protocol diagrams, API sketches, + hardware constraints, or links to related work. \ No newline at end of file From e1a936e74be9535f2d5acc3ecd7a5641611a6110 Mon Sep 17 00:00:00 2001 From: abusalah0 <109g83@gmail.com> Date: Mon, 3 Aug 2026 02:32:37 +0300 Subject: [PATCH 3/6] docs: add config allowing blank issues, and security policy link --- .github/ISSUE_TEMPLATE/config.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/config.yml diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..a27711d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,6 @@ +blank_issues_enabled: true + +contact_links: + - name: Security vulnerability + url: https://github.com/csi-rs/.github/security/policy + about: Read the private vulnerability reporting instructions. \ No newline at end of file From 1c7d8710c6fb67ab91cb85d3fbda2708788385a4 Mon Sep 17 00:00:00 2001 From: abusalah0 <109g83@gmail.com> Date: Mon, 3 Aug 2026 02:32:59 +0300 Subject: [PATCH 4/6] docs: add a feature request template --- .github/ISSUE_TEMPLATE/feature_request.yml | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..50e5afa --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,94 @@ +name: Feature request +description: Propose an improvement or new capability for a csi-rs project +title: "[Feature]: " +labels: + - enhancement + +body: + - type: markdown + attributes: + value: | + Thanks for proposing an improvement. + + Describe the underlying problem before describing a particular + implementation. This helps us consider alternative solutions and the + effect on the wider csi-rs ecosystem. + + - type: checkboxes + id: preliminary-checks + attributes: + label: Before submitting + options: + - label: I searched the existing issues and discussions for a similar proposal. + required: true + + - type: textarea + id: problem + attributes: + label: Problem + description: What limitation, use case, or developer problem should be addressed? + placeholder: Explain who encounters the problem and under what circumstances. + validations: + required: true + + - type: textarea + id: proposal + attributes: + label: Proposed change + description: Describe the behavior, API, protocol, or capability you are proposing. + validations: + required: true + + - type: dropdown + id: affected-areas + attributes: + label: Affected areas + description: Select every part of the ecosystem that may be affected. + multiple: true + options: + - Embedded library or driver + - ESP firmware or CLI + - Host-side library or application + - Device-to-host protocol + - CSI data format or storage + - Public Rust API + - Documentation or examples + - Build, CI, or development tooling + - Other + validations: + required: true + + - type: textarea + id: compatibility + attributes: + label: Compatibility impact + description: | + Describe any effect on existing APIs, firmware, clients, servers, + serialized data, supported chips, feature flags, or stored datasets. + placeholder: State "No expected compatibility impact" when appropriate. + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Describe other approaches, workarounds, or designs you considered. + + - type: dropdown + id: implementation + attributes: + label: Implementation interest + description: Would you be interested in implementing this change? + options: + - Yes, I can submit a pull request + - Yes, with design or implementation guidance + - No, I am only proposing the feature + + - type: textarea + id: additional-context + attributes: + label: Additional context + description: | + Add relevant examples, research, protocol diagrams, API sketches, + hardware constraints, or links to related work. \ No newline at end of file From 2246c26a8d14e91661285585188661e74a38f192 Mon Sep 17 00:00:00 2001 From: abusalah0 <109g83@gmail.com> Date: Mon, 3 Aug 2026 02:43:06 +0300 Subject: [PATCH 5/6] docs: add security policy --- SECURITY.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..c54cc0c --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,21 @@ +# Security policy + +## Supported versions + +Security fixes are provided for the latest version of each csi-rs project. + +## Reporting a vulnerability + +Do not report security vulnerabilities through public GitHub issues. + +Report a vulnerability privately through GitHub's private vulnerability +reporting feature. Include: + +- a description of the vulnerability, +- steps to reproduce it, +- the affected version or commit, +- its potential impact, +- and any known mitigation. + +The maintainers will review the report and respond when more information or +a fix is available. From 628ffda020c14e75b42525dd8b7d23b8b2195494 Mon Sep 17 00:00:00 2001 From: abusalah0 <109g83@gmail.com> Date: Mon, 3 Aug 2026 02:52:13 +0300 Subject: [PATCH 6/6] Revert "docs: add security policy" This reverts commit 2246c26a8d14e91661285585188661e74a38f192. --- SECURITY.md | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index c54cc0c..0000000 --- a/SECURITY.md +++ /dev/null @@ -1,21 +0,0 @@ -# Security policy - -## Supported versions - -Security fixes are provided for the latest version of each csi-rs project. - -## Reporting a vulnerability - -Do not report security vulnerabilities through public GitHub issues. - -Report a vulnerability privately through GitHub's private vulnerability -reporting feature. Include: - -- a description of the vulnerability, -- steps to reproduce it, -- the affected version or commit, -- its potential impact, -- and any known mitigation. - -The maintainers will review the report and respond when more information or -a fix is available.