diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4ebc00ed..5b1f9377 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,37 +1,59 @@ -# Description +# 📝 Description - +**Provide a thorough overview of the changes introduced in this pull request.** +Include a detailed explanation of what the change entails, the problem it solves, and how it relates to the relevant issue. Additionally, clarify any dependencies or external systems that this change impacts or interacts with. Include background context for reviewers to fully understand the motivation behind the changes. -Fixes # (issue) +Fixes: `#(Issue Number)` + -## Type of change +**Relevant Motivation & Context:** +*Explain why this change is necessary and what outcomes you are aiming to achieve. If the change is associated with a specific project goal, describe how this fits into the larger picture. If applicable, provide any trade-offs or alternatives considered.* - +--- -- [ ] Optimization (the change is only an optimization) -- [ ] Style (the change is only a code style for better maintenance or standard purpose) -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -- [ ] This change requires a documentation update +## ⚙️ **Type of Change** +Please indicate the nature of the change by selecting the appropriate options below. (Delete options that do not apply). -# How Has This Been Tested? +- [ ] **Optimization:** Improving the performance or efficiency of existing code without changing functionality. +- [ ] **Code Style:** Modifying code style or structure for better readability and maintainability without altering behavior. +- [ ] **Bug Fix:** A non-breaking change that resolves an issue. +- [ ] **New Feature:** Introducing new functionality that does not break existing features. +- [ ] **Breaking Change:** A modification that affects existing functionality and may require changes to dependent modules or projects. +- [ ] **Documentation Update:** Changes or additions that affect project documentation. - +--- -- [ ] Test A -- [ ] Test B +## 🧪 **How Has This Been Tested?** +*Provide a detailed description of the testing strategies and methodologies you have used to validate this change. Include step-by-step instructions to reproduce the issue (if applicable), as well as how your modifications have been verified. If this change impacts multiple areas of the project, be sure to cover all relevant use cases.* -**Test Configuration**: +**Testing Approach:** +- **Test A:** [Briefly explain the purpose of Test A, including specific inputs, procedures, and expected outcomes.] +- **Test B:** [Briefly explain the purpose of Test B, including specific inputs, procedures, and expected outcomes.] -# Checklist: +### **Test Configuration** +*Mention any specific environments, settings, or dependencies required for the testing to work effectively.* + +- **Operating System:** [e.g., macOS Monterey, Windows 11, Ubuntu 22.04] +- **Software Version:** [e.g., EpicChain v2.0.0] +- **Hardware Configuration:** [e.g., Intel i7, 32GB RAM, Nvidia GTX 3080] +- **Network Configuration (if applicable):** [e.g., Peer-to-Peer, RPC Server] + +--- + +## ✅ **Checklist** +Before submitting the pull request, please ensure that all items listed below have been completed: + +- [ ] My code adheres to the project’s coding style and guidelines. +- [ ] I have conducted a thorough self-review of my code to identify potential issues. +- [ ] I have added comments to the code, particularly in complex or hard-to-understand areas. +- [ ] I have updated any relevant documentation to reflect these changes. +- [ ] My changes do not introduce any new warnings or errors during compilation or runtime. +- [ ] I have written and included tests that validate my changes and ensure their effectiveness. +- [ ] All existing and new unit tests pass successfully with my changes. +- [ ] Any downstream dependencies affected by this change have been updated and published. + +--- + +Thank you for your contribution! This checklist helps ensure quality and maintainability in the project. Please feel free to reach out if you have questions or need further assistance with any of the items listed above. -- [ ] My code follows the style guidelines of this project -- [ ] I have performed a self-review of my code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have made corresponding changes to the documentation -- [ ] My changes generate no new warnings -- [ ] I have added tests that prove my fix is effective or that my feature works -- [ ] New and existing unit tests pass locally with my changes -- [ ] Any dependent changes have been merged and published in downstream modules