diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..4da0459e9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,62 @@ +name: Bug Report +description: Report a bug in the application +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Please fill in all fields carefully. This helps us reproduce and fix the bug efficiently. + + - type: textarea + id: given + attributes: + label: Given + description: What is the initial context or state? + placeholder: "e.g. A secretary is logged in and viewing the competition list" + validations: + required: true + + - type: textarea + id: when + attributes: + label: When + description: What action triggers the bug? + placeholder: "e.g. They try to book more places than they have points for" + validations: + required: true + + - type: textarea + id: then + attributes: + label: Then (actual behavior) + description: What actually happens? + placeholder: "e.g. A confirmation message is shown and points go negative" + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What should happen instead? + placeholder: "e.g. An error message is shown and points remain unchanged" + validations: + required: true + + - type: textarea + id: relevant_code + attributes: + label: Relevant code / route + description: Which function or route is affected? + placeholder: "e.g. purchasePlaces() in server.py" + validations: + required: false + + - type: input + id: branch + attributes: + label: Branch name + description: Follow the naming convention + placeholder: "fix/descriptive-name" + validations: + required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..d608fe40e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,62 @@ +name: Feature Request +description: Propose a new feature to implement +labels: ["feature"] +body: + - type: markdown + attributes: + value: | + Describe the feature clearly using the Given/When/Then format. + + - type: textarea + id: given + attributes: + label: Given + description: What is the context in which this feature is needed? + placeholder: "e.g. A secretary is logged into the application" + validations: + required: true + + - type: textarea + id: when + attributes: + label: When + description: What does the user do? + placeholder: "e.g. They navigate to the points board page" + validations: + required: true + + - type: textarea + id: then + attributes: + label: Then (current behavior) + description: What currently happens (or doesn't exist yet)? + placeholder: "e.g. The page does not exist" + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What should the feature do? + placeholder: "e.g. A public read-only table shows all clubs and their current points balance, no login required" + validations: + required: true + + - type: textarea + id: performance + attributes: + label: Performance requirements + description: Any specific performance constraints? + placeholder: "e.g. Page must load in under 5 seconds, updates in under 2 seconds" + validations: + required: false + + - type: input + id: branch + attributes: + label: Branch name + description: Follow the naming convention + placeholder: "feature/descriptive-name" + validations: + required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/improvement.yml b/.github/ISSUE_TEMPLATE/improvement.yml new file mode 100644 index 000000000..e82cb7ccf --- /dev/null +++ b/.github/ISSUE_TEMPLATE/improvement.yml @@ -0,0 +1,62 @@ +name: Improvement +description: Code quality, style, or non-breaking enhancement +labels: ["improvement"] +body: + - type: markdown + attributes: + value: | + Use this template for refactoring, PEP8 compliance, or any improvement that doesn't fix a bug or add a feature. + + - type: textarea + id: given + attributes: + label: Given + description: What is the current state of the code? + placeholder: "e.g. Function and variable names use camelCase throughout server.py" + validations: + required: true + + - type: textarea + id: when + attributes: + label: When + description: When is this a problem? + placeholder: "e.g. Another developer reads the code or a linter is run" + validations: + required: true + + - type: textarea + id: then + attributes: + label: Then (current behavior) + description: What is the current undesirable outcome? + placeholder: "e.g. The code violates PEP8 naming conventions" + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What should the improved code look like? + placeholder: "e.g. All functions and variables renamed to snake_case per PEP8" + validations: + required: true + + - type: textarea + id: relevant_code + attributes: + label: Relevant code / route + description: Which parts of the codebase are affected? + placeholder: "e.g. loadClubs → load_clubs, listOfClubs → list_of_clubs in server.py" + validations: + required: false + + - type: input + id: branch + attributes: + label: Branch name + description: Follow the naming convention + placeholder: "improvement/descriptive-name" + validations: + required: true \ No newline at end of file