diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index b3036b4a4..aa837521c 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -8,14 +8,6 @@ body: value: | Please fill out the details below so we can investigate and fix the issue. - - type: checkboxes - id: prerequisites - attributes: - label: Quick Check - options: - - label: I've searched existing issues and this bug hasn't been reported yet - required: true - - type: textarea id: description attributes: @@ -77,3 +69,11 @@ body: validations: required: true + - type: checkboxes + id: prerequisites + attributes: + label: Before Submitting + description: Please confirm you've completed this step + options: + - label: I've searched existing issues and confirmed this bug hasn't been reported yet + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 978446bcd..659af2d94 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -8,14 +8,6 @@ body: value: | Please share as much detail as you can to help us understand your suggestion. - - type: checkboxes - id: prerequisites - attributes: - label: Quick Check - options: - - label: I've searched existing issues and this feature hasn't been requested yet - required: true - - type: textarea id: description attributes: @@ -57,3 +49,18 @@ body: - "Just sharing the idea for now" validations: required: true + + - type: textarea + id: alternatives + attributes: + label: Have You Considered Any Alternatives? (Optional) + description: Are there other ways to achieve what you want? Tell us about them + + - type: checkboxes + id: prerequisites + attributes: + label: Before Submitting + description: Please confirm you've completed this step + options: + - label: I've searched existing issues and confirmed this feature hasn't been requested yet + required: true diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 5e394a91e..cfeb61041 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,35 +1,59 @@ -# ๐Ÿš€ Pull Request +## ๐Ÿš€ Pull Request + +### ๐Ÿ“ Description -## ๐Ÿ“ Description +### ๐Ÿ› ๏ธ Changes Implemented -## ๐Ÿ› ๏ธ Changes Implemented - +### ๐Ÿงช Testing Strategy -## ๐Ÿงช Testing Strategy +### ๐Ÿ“ธ Visual Changes _(if applicable)_ -## ๐Ÿ“ธ Visual Changes _(if applicable)_ +--- + ## โš ๏ธ Required Pre-Submission Checklist - - -- [ ] Code adheres to project style guidelines and conventions -- [ ] Branch synchronized with latest `develop` branch -- [ ] Automated unit/integration tests added/updated to cover changes -- [ ] All tests pass locally (`./gradlew test` for backend) -- [ ] Manual testing completed in local development environment -- [ ] Flyway migration versioning follows correct sequence _(if database schema modified)_ -- [ ] Documentation pull request submitted to [booklore-docs](https://github.com/booklore-app/booklore-docs) _(required for features or enhancements that introduce user-facing or visual changes)_ +### **Please Read - This Checklist is Mandatory** + +> **Important Notice:** We've experienced several production bugs recently due to incomplete pre-submission checks. To maintain code quality and prevent issues from reaching production, we're enforcing stricter adherence to this checklist. +> +> **All checkboxes below must be completed before requesting review.** PRs that haven't completed these requirements will be sent back for completion. + +#### **Mandatory Requirements** _(please check ALL boxes)_: + +- [ ] **Code adheres to project style guidelines and conventions** +- [ ] **Branch synchronized with latest `develop` branch** _(please resolve any merge conflicts)_ +- [ ] **๐Ÿšจ CRITICAL: Automated unit/integration tests added/updated to cover changes** _(MANDATORY for ALL backend changes - this is non-negotiable)_ +- [ ] **๐Ÿšจ CRITICAL: All tests pass locally** _(run `./gradlew test` for backend - NO EXCEPTIONS)_ +- [ ] **๐Ÿšจ CRITICAL: Manual testing completed in local development environment** _(verify your changes work AND no existing functionality is broken - test related features thoroughly)_ +- [ ] **Flyway migration versioning follows correct sequence** _(if database schema was modified)_ +- [ ] **Documentation PR submitted to [booklore-docs](https://github.com/booklore-app/booklore-docs)** _(required for features or enhancements that introduce user-facing or visual changes)_ + +#### **Why This Matters:** + +Recent production incidents have been traced back to: + +- **Incomplete testing coverage (especially backend)** +- Merge conflicts not resolved before merge +- Missing documentation for new features + +**Backend changes without tests will not be accepted.** By completing this checklist thoroughly, you're helping maintain the quality and stability of Booklore for all users. + +**Note to Reviewers:** Please verify the checklist is complete before beginning your review. If items are unchecked, kindly ask the contributor to complete them first. + +--- + +### ๐Ÿ’ฌ Additional Context _(optional)_ -## ๐Ÿ’ฌ Additional Context _(optional)_