From f9b939eeeff2e83f43b8216fc474b33e11d13d4d Mon Sep 17 00:00:00 2001 From: Bilawal Sidhu Date: Sat, 12 Sep 2026 13:28:59 -0500 Subject: [PATCH] chore(issues): add issue forms and disable blank issues Bug reports now require reproduction steps, environment, the doctor report, and logs. Feature requests require a data source and license. Blank issues are disabled; security reports are routed to private vulnerability reporting via the contact links. --- .github/ISSUE_TEMPLATE/bug_report.yml | 68 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 11 ++++ .github/ISSUE_TEMPLATE/feature_request.yml | 39 +++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..1cd44a489 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,68 @@ +name: Bug report +description: Something is broken, fails to install, or renders wrong. +title: "bug: " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for the report. Issues without reproduction steps and logs get closed, so please fill in every required field. Redact API keys before pasting anything. + - type: textarea + id: what + attributes: + label: What happened + description: What you did, what you expected, and what you saw instead. + validations: + required: true + - type: textarea + id: steps + attributes: + label: Steps to reproduce + placeholder: | + 1. Fresh clone, `npm ci`, `npm run dev` + 2. Open http://localhost:4173, click LOCATION, type "London" + 3. See "Search failed" toast + validations: + required: true + - type: dropdown + id: install + attributes: + label: How you installed + options: + - Pinokio one-click + - Terminal (git clone + npm) + - Docker + - Other (say what in the description) + validations: + required: true + - type: input + id: env + attributes: + label: OS, Node version, browser + placeholder: "Windows 11, Node 24.14.0, Chrome 151" + validations: + required: true + - type: input + id: commit + attributes: + label: Version or commit + description: Output of `git rev-parse --short HEAD`, or the release tag. + placeholder: "aacfa06" + validations: + required: true + - type: textarea + id: doctor + attributes: + label: Output of `npm run doctor` + description: It reports which providers are configured without printing key values. + render: text + validations: + required: true + - type: textarea + id: logs + attributes: + label: Server log and browser console + description: Terminal output from the dev server (or the Pinokio log) plus browser console errors. Redact keys. + render: text + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..1900926c7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Security vulnerability + url: https://github.com/bilawalsidhu/gods-eye-view/security/advisories/new + about: Report anything exploitable privately. Do not open a public issue for it. + - name: Setup and quick start + url: https://github.com/bilawalsidhu/gods-eye-view#readme + about: Install paths (Pinokio, terminal), provider keys, and what runs keyless. + - name: Known issues + url: https://github.com/bilawalsidhu/gods-eye-view/blob/main/docs/KNOWN-ISSUES.md + about: Check here before filing. Your problem may already be tracked with a workaround. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..d381e366e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,39 @@ +name: Feature request +description: Propose a new layer, data source, tool, or UI capability. +title: "feat: " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + The project only ships public data with a license that allows redistribution, and it does not build features for identifying or tracking individuals. Read the "Responsible & Open" section of the README before proposing a data source. + - type: textarea + id: problem + attributes: + label: Problem + description: What can you not do today, and who needs it? + validations: + required: true + - type: textarea + id: proposal + attributes: + label: Proposal + description: What should it do? Keep the first version small. + validations: + required: true + - type: textarea + id: source + attributes: + label: Data source, license, and attribution + description: For anything that shows data, link the feed or API, name its license, and say whether it works without a key. Write "none" for pure UI changes. + validations: + required: true + - type: dropdown + id: contribute + attributes: + label: Will you build it? + options: + - Yes, I plan to open a PR + - No, this is a request for someone else + validations: + required: true