diff --git a/.github /pull_request_template.md b/.github /pull_request_template.md new file mode 100644 index 000000000000..70d2edb991cf --- /dev/null +++ b/.github /pull_request_template.md @@ -0,0 +1,139 @@ +# ๐Ÿ› ๏ธ Pull Request Template + +## ๐Ÿท๏ธ PR Type + + +--- + +## ๐Ÿ”— Related Issue + +- Closes #. + +--- + +## ๐Ÿ“ Rationale / Motivation + + +--- + +## โœจ Description of Changes + + +- **Frontend** + - Component A updated + - Component B refactored +- **Backend / API** + - Endpoint X optimized + - Validation added +- **Documentation** + - Updated README / Added usage example + +--- + +## ๐Ÿงช Testing Instructions + + +1. Pull branch and run `npm install` +2. Start local server with `npm start` +3. Navigate to `/feature-page` and verify functionality +4. Run tests: `npm test` (all should pass) +5. Verify edge cases + +--- + +## ๐Ÿ‘€ Impact Assessment + + +--- + +## ๐Ÿ–ผ๏ธ Screenshots / GIFs (if applicable) + + +--- + +## โšก Checklist +- [ ] Code follows projectโ€™s coding style and guidelines +- [ ] Changes are tested locally +- [ ] Automated tests added/updated +- [ ] Documentation updated (if applicable) +- [ ] User-facing changes are documented +- [ ] Related issue linked +- [ ] No new warnings/errors introduced +- [ ] All reviewers guidance addressed + +--- + +## ๐Ÿ”– Reviewer Notes + + +--- + +## โš ๏ธ Breaking Changes + + +--- + +## ๐Ÿ† Optional Enhancements / Future Work + + +--- + +## ๐ŸŽฏ Priority / Impact Level + +- Priority: High +- Impact: Medium diff --git a/README.md b/README.md index 182d36a8d905..6d1dffe7d563 100644 --- a/README.md +++ b/README.md @@ -50,3 +50,39 @@ We are on [Discord](https://the-algorithms.com/discord) and [Gitter](https://git ## ๐Ÿ“œ List of Algorithms See our [directory](DIRECTORY.md) for easier navigation and a better overview of the project. +## ๐Ÿค Contributing + +We welcome contributions from the community! +Whether youโ€™re fixing a typo, improving documentation, or adding new algorithms, every contribution is valuable. + +Before contributing, please make sure to: + +1. Read our full [Contributing Guidelines](./CONTRIBUTING.md). +2. Ensure your code follows our style guide: + - Python 3.13+ compatible + - Uses descriptive variable and function names + - Includes type hints and docstrings with doctests +3. Run the following tools locally before submitting a pull request: + ```bash + # Format your code + black . + + # Lint and style checks + ruff check + + # Run doctests + python3 -m doctest -v your_file.py + + # Run mypy type checking + mypy --ignore-missing-imports . + ``` +4. Make sure your pull request is original and not a duplicate implementation. + +If you want to fix an existing issue, just open a PR. thereโ€™s no need to ask for assignment. +For new algorithms, please go straight to submitting a pull request rather than opening an issue. + +For more details, check the full [Contributing Guide](./CONTRIBUTING.md). + +## ๐Ÿงพ License + +This project is licensed under the [MIT License](./LICENSE).