Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 139 additions & 0 deletions .github /pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# 🛠️ Pull Request Template

## 🏷️ PR Type
<!--
Select the type of PR (check one):
- [ ] 🐞 Bug Fix
- [ ] ✨ Feature
- [ ] 🛠️ Improvement / Refactor
- [ ] 📚 Documentation
-->

---

## 🔗 Related Issue
<!--
Link the GitHub issue this PR closes (if applicable).
Example: `Closes #123`
-->
- Closes #.

---

## 📝 Rationale / Motivation
<!--
Explain why this change is necessary.
- What problem does it solve?
- How does it improve the project?
- Any relevant context for reviewers.
-->

---

## ✨ Description of Changes
<!--
Summarize changes with details:
- What files/components were modified
- Any new functionality added
- Refactoring, cleanup, or optimizations
- Nested bullet points for clarity
-->

- **Frontend**
- Component A updated
- Component B refactored
- **Backend / API**
- Endpoint X optimized
- Validation added
- **Documentation**
- Updated README / Added usage example

---

## 🧪 Testing Instructions
<!--
Step-by-step guide to test this PR:
1. Setup or dependencies needed
2. Actions to perform
3. Expected results
4. Mention automated tests coverage
-->

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
<!--
Analyze the impact of this PR:
- User-facing changes (UI / UX)
- Backend/API changes
- Performance considerations
- Security implications
- Cross-browser / device impact
-->

---

## 🖼️ Screenshots / GIFs (if applicable)
<!--
Add screenshots or GIFs demonstrating user-facing changes
-->

---

## ⚡ 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
<!--
Tips for reviewers to focus on critical areas:
- Areas with complex logic
- Known limitations or trade-offs
- Optional testing scenarios
-->

---

## ⚠️ Breaking Changes
<!--
Document any backward-incompatible changes:
- Public APIs
- Config / env variables
- Existing workflows
-->

---

## 🏆 Optional Enhancements / Future Work
<!--
Ideas or improvements that can be implemented later:
- UI improvements
- Additional validations
- Performance optimizations
- Feature expansions
-->

---

## 🎯 Priority / Impact Level
<!--
Indicate the priority and expected impact:
- Low / Medium / High
- Helps maintainers understand urgency and importance
-->
- Priority: High
- Impact: Medium
36 changes: 36 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).