diff --git a/.github/PULL_REQUEST_TEMPLATE/bug_fix.md b/.github/PULL_REQUEST_TEMPLATE/bug_fix.md new file mode 100644 index 00000000..16da9011 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/bug_fix.md @@ -0,0 +1,19 @@ +--- +name: Bug Fix +about: Fix an existing bug in the codebase. +title: "Fix: " +labels: "bug" +--- + +## Linked Issue (Required) +Fixes # + +## The Fix +Explain what the bug was and how you fixed it. Provide details about the changes made to the codebase. + +## Verification +- [ ] `ruff check` passes on my code +- [ ] `ty check` passes on my code +- [ ] The bug is reproducible on the `master` branch. +- [ ] The bug is NO LONGER reproducible on this branch. +- [ ] All tests in the `tests` directory are passing. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/enhancement.md b/.github/PULL_REQUEST_TEMPLATE/enhancement.md new file mode 100644 index 00000000..be71df7b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/enhancement.md @@ -0,0 +1,31 @@ +--- +name: Enhancement +about: Improve existing code or add minor features. +title: "Enhancement: " +labels: "enhancement" +--- + +## Linked Issue (Required) +Closes # + +## Summary +Provide a brief summary of the enhancement being proposed. Include its purpose, key features, and any relevant background information. + +## Proposed Changes +Detail the specific changes you are proposing in this enhancement. Explain how these changes improve the codebase or add new functionality. + +## Impact +- [ ] Performance improvement +- [ ] Code cleanup / Refactoring +- [ ] Documentation update + +## Breaking Changes +- [ ] No +- [ ] Yes (Explain: ) + +## Checklist +- [ ] `ruff check` passes on my code +- [ ] `ty check` passes on my code +- [ ] My code follows the project's style guidelines +- [ ] I have updated documentation as needed +- [ ] I have added tests to cover the new logic \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/internal.md b/.github/PULL_REQUEST_TEMPLATE/internal.md new file mode 100644 index 00000000..c1f6703a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/internal.md @@ -0,0 +1,24 @@ +--- +name: Release / Internal Merge +about: Merge `dev` -> `master` (Release), `hotfix` -> `master` (Hotfix), or `master` -> `dev` (Sync) +title: "[] " +labels: "internal" +--- + +**INTERNAL USE ONLY** + +## Release Type +- [ ] **Release:** Merging `dev` into `master` +- [ ] **Hotfix:** Merging `hotfix` into `master` +- [ ] **Sync:** Back-merging `master` into `dev` + +## Summary +A brief description of the changes made in this PR. + +## Versioning & Metadata +- [ ] Bumped version in `pyproject.toml` +- [ ] Bumped version in `docs/source/conf.py` +- [ ] Bumped version in `CITATION.cff` + +## Post-Merge Reminder +- [ ] After merging, create a new GitHub Release / Tag matching the version number. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/new_model_problem.md b/.github/PULL_REQUEST_TEMPLATE/new_model_problem.md new file mode 100644 index 00000000..8987e7dc --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/new_model_problem.md @@ -0,0 +1,21 @@ +--- +name: New Model/Problem +about: Add a new model/problem to the codebase. +title: "New Model/Problem: " +labels: "enhancement" +--- + +## Linked Issue (Optional) +Closes # + +## Model/Problem Overview +Provide a brief overview of the new model/problem being added. Include its purpose, key features, and any relevant background information. + +## Gap Analysis +Describe the gaps in existing models/problems that this new model/problem addresses. Explain why this model/problem is necessary and how it improves upon or complements existing solutions. + +## Checklist +- [ ] `ruff check` passes on my code +- [ ] `ty check` passes on my code +- [ ] I have included model/problem documentation in `docs/source/models/` based on the `model_template.rst` file and confirmed the documentation builds without warnings/errors +- [ ] I have included results generated via the `scripts/generate_experiment_results.py` script \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/new_solver.md b/.github/PULL_REQUEST_TEMPLATE/new_solver.md new file mode 100644 index 00000000..9812106e --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/new_solver.md @@ -0,0 +1,21 @@ +--- +name: New Solver +about: Add a new solver to the codebase. +title: "New Solver: " +labels: "enhancement" +--- + +## Linked Issue (Optional) +Closes # + +## Solver Overview +Provide a brief overview of the new solver being added. Include its purpose, key features, and any relevant background information. + +## Gap Analysis +Describe the gaps in existing solvers that this new solver addresses. Explain why this solver is necessary and how it improves upon or complements existing solutions. + +## Checklist +- [ ] `ruff check` passes on my code +- [ ] `ty check` passes on my code +- [ ] I have included solver documentation in `docs/source/solvers/` based on the `solver_template.rst` file and confirmed the documentation builds without warnings/errors +- [ ] I have included results generated via the `scripts/generate_experiment_results.py` script \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..3f238af0 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,7 @@ +Please go to the `Preview` tab and select the appropriate sub-template: + +* [Bug Fix](?expand=1&template=bug_fix.md) +* [Enhancement](?expand=1&template=enhancement.md) +* [New Model/Problem](?expand=1&template=new_model_problem.md) +* [New Solver](?expand=1&template=new_solver.md) +* [Release/Internal Merge (Internal Use Only)](?expand=1&template=internal.md) \ No newline at end of file