- Read the repository's README
- Review the CONTRIBUTING.md file (if available)
- Check existing issues and pull requests
- Ensure the project license allows contributions
- Fork the repository
- Clone your fork locally
- Create a new branch with a clear name
- Install dependencies and set up the dev environment
- Write clean and well-documented code
- Run tests and ensure they pass
- Commit with clear and descriptive messages
- Push your branch to your fork
- Open a pull request with a clear description
- Link related issues if applicable
- Respond to maintainer feedback
- Make requested changes promptly
- Celebrate your contribution!