From 5eb1df86b5bf100e854b1cbb62a503cb58d4b96a Mon Sep 17 00:00:00 2001 From: Mykhailo Shevchuk Date: Sun, 26 Jul 2026 12:34:40 +0300 Subject: [PATCH] Tighten issue and PR templates Bug report: - Require reproduction steps. A bug report without them is rarely actionable, and the field was optional. - Add a required "App version" field for the app's own fap_version. The firmware version alone does not identify which build of an app broke. - Split the old catch-all in two: a "Logs" box rendered as a code block so pasted output survives, and a plain "Anything else?" box that still accepts file attachments. render disables attachments, so putting it on the catch-all would have left nowhere to attach a photo of the screen. New app: - Require the app's license up front, with "No license file / unclear" as an explicit option. The pack ships under GPLv3, so license compatibility decides whether a request can be accepted at all, and until now the form never asked. Pull request: - Add "No AI assistance" to the disclosure section. With only the two AI options, a hand-written PR left everything blank, which was indistinguishable from skipping the section. - Add checklist items for bumping fap_version and adding a CHANGELOG.md entry, which is the convention for app changes but was written down nowhere a contributor would see it. Co-Authored-By: Claude Opus 5 (1M context) --- .github/ISSUE_TEMPLATE/01_bug_report.yml | 25 +++++++++++++++++++++++- .github/ISSUE_TEMPLATE/02_new_app.yml | 22 +++++++++++++++++++++ .github/pull_request_template.md | 5 +++++ 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/01_bug_report.yml b/.github/ISSUE_TEMPLATE/01_bug_report.yml index bd54c7d1..29e7b538 100644 --- a/.github/ISSUE_TEMPLATE/01_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/01_bug_report.yml @@ -14,6 +14,17 @@ body: description: Which app is affected? (name as it appears in the app menu) validations: required: true + - type: input + id: app-version + attributes: + label: App version + description: > + The app's own version, not the firmware version. Read `fap_version` from + the app's `application.fam` - in its folder in this repo, or in the app's + folder on your microSD. + placeholder: e.g. 1.4 + validations: + required: true - type: textarea id: description attributes: @@ -30,13 +41,25 @@ body: 1. Open the app... 2. Press '...' 3. See the issue + validations: + required: true - type: input id: version attributes: label: Firmware version description: Which Unleashed firmware version are you running? + - type: textarea + id: logs + attributes: + label: Logs + description: Paste any logs or other text output here. + # Rendered as a code block so logs arrive intact instead of being reflowed + # as Markdown. This is the only field with `render`: it also disables file + # attachments, which is a fair trade for logs but not for anything else - + # hence the separate catch-all below, where photos of the screen can go. + render: Text - type: textarea id: anything-else attributes: label: Anything else? - description: Logs, photos, or anything else that helps. + description: Screenshots, photos of the Flipper screen, or anything else that helps. diff --git a/.github/ISSUE_TEMPLATE/02_new_app.yml b/.github/ISSUE_TEMPLATE/02_new_app.yml index a41ffb33..fb67f808 100644 --- a/.github/ISSUE_TEMPLATE/02_new_app.yml +++ b/.github/ISSUE_TEMPLATE/02_new_app.yml @@ -6,6 +6,10 @@ body: attributes: value: | Use this to request a new app be added to the pack. + + The pack is redistributed under GPLv3, so an app can only be included if its + license allows that. Please check the source repo before opening the request - + it is the most common reason one can't be accepted. - type: input id: app attributes: @@ -19,6 +23,24 @@ body: description: Link to the app's source code. validations: required: true + - type: dropdown + id: license + attributes: + label: License + description: > + What license is the app's source published under? Pick "No license file" if + the repo has none - that means it is not redistributable by default, however + permissive it looks. + options: + - GPL-3.0 + - GPL-2.0 + - MIT + - Apache-2.0 + - BSD (2- or 3-clause) + - Other (please say which below) + - No license file / unclear + validations: + required: true - type: textarea id: description attributes: diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9ef181b1..c6af873a 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -11,9 +11,14 @@ - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] My code is released under GPLv3 license and can be edited, or published according to the opensource license +- [ ] I have bumped `fap_version` in the app's `application.fam` +- [ ] I have added an entry to the app's `CHANGELOG.md` describing the change # AI usage disclosure (Fill this out): +Tick exactly one - leaving all three blank reads as "not filled out" rather than "no AI". + +- [ ] No AI assistance. - [ ] Partially AI assisted (clarify below which code was AI assisted and briefly explain what it does). - [ ] Fully AI generated (explain what all the generated code does in moderate detail).