From 33fab611762b487639ab9d23968cfdc5976d47c5 Mon Sep 17 00:00:00 2001 From: Marcus Messer Date: Wed, 29 Jul 2026 18:33:02 +0100 Subject: [PATCH] Added GitHub issue and PR templates for bugs, docs, and feature requests --- .github/ISSUE_TEMPLATE/bug-report.yml | 47 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/docs-issue.yml | 31 ++++++++++++++ .github/ISSUE_TEMPLATE/feature-request.yml | 33 +++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 11 +++++ 4 files changed, 122 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug-report.yml create mode 100644 .github/ISSUE_TEMPLATE/docs-issue.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 0000000..5c09827 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,47 @@ +name: "Bug Report" +description: "Report an expression that isn't being parsed, compared, or graded correctly." +title: "Bug: " +labels: + - bug +assignees: [] +body: + - type: textarea + id: description + attributes: + label: Description of the bug + description: "What's going wrong?" + placeholder: | + e.g. sec^2(x) is rejected as an invalid expression instead of being parsed as sec(x)**2. + validations: + required: true + + - type: textarea + id: expressions + attributes: + label: Expression(s)/input that trigger it + description: "The response and/or answer expression(s) that reproduce the issue." + placeholder: | + - Response: sec^2(x) + - Answer: sec(x)**2 + render: markdown + validations: + required: true + + - type: textarea + id: expected_actual + attributes: + label: Expected vs. actual result + description: "What did you expect to happen, and what actually happened instead?" + placeholder: | + - Expected: marked as correct + - Actual: raised a parsing error / marked as incorrect + validations: + required: true + + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce / where it was used + description: "Optional: how you triggered it, e.g. via the eval function directly, a specific set/question, params used." + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/docs-issue.yml b/.github/ISSUE_TEMPLATE/docs-issue.yml new file mode 100644 index 0000000..0b2e4aa --- /dev/null +++ b/.github/ISSUE_TEMPLATE/docs-issue.yml @@ -0,0 +1,31 @@ +name: "Docs Issue" +description: "Report missing or incorrect documentation." +title: "Docs: " +labels: + - documentation +assignees: [] +body: + - type: textarea + id: issue + attributes: + label: What's missing or incorrect + description: "Describe the gap or error in the documentation." + validations: + required: true + + - type: input + id: location + attributes: + label: Location + description: "Where is this? e.g. app/docs.md, README, user-documentation site." + placeholder: "app/docs.md" + validations: + required: false + + - type: textarea + id: suggested_fix + attributes: + label: Suggested fix + description: "Optional: what should it say instead?" + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml new file mode 100644 index 0000000..4100a9b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -0,0 +1,33 @@ +name: "Feature Request" +description: "Propose new functionality or an improvement to how expressions are compared." +title: "Feature: " +labels: + - enhancement +assignees: [] +body: + - type: textarea + id: problem + attributes: + label: Problem / use case + description: "What can't you currently do, and why does it matter?" + placeholder: | + e.g. Custom multi-character variable names aren't supported, so questions using + variables like `V_max` can't be graded correctly. + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed solution + description: "What would you like to see happen?" + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: "Optional: any workarounds or other approaches you've considered." + validations: + required: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..25f9438 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,11 @@ +## Problem + + +## Changes + + +## Checklist +- [ ] Tests added/updated +- [ ] Docs updated (`app/docs.md`) if user-facing behaviour changed + +Closes #