Thank you for considering contributing to WooDns! 🎉 Contributions help make this project better, and we welcome all types of help — whether it’s fixing bugs, adding new features, improving documentation, or sharing ideas.
-
Search the issues to make sure it hasn’t already been reported.
-
If not found, open a new issue and include:
- A clear title and description.
- Steps to reproduce the issue.
- Expected vs actual behavior.
- Environment details (OS, version, etc.).
-
Check if there is an existing feature request.
-
Clearly describe:
- The problem your feature solves.
- How it would work.
- Possible alternatives.
- Fix typos, grammar, or clarity.
- Add examples, tutorials, or detailed explanations.
- Pick an open issue or create one for discussion.
- Make sure the change aligns with the project’s goals.
-
Fork the repository.
-
Clone your fork:
git clone https://github.com/<your-username>/WooDns.git cd WooDns
-
Create a new branch for your work:
git checkout -b feature/my-feature
-
Install dependencies (if any).
-
Make your changes.
- Keep commits small and focused.
- Regularly sync with
mainto avoid conflicts. - Write tests when possible.
- Run all tests before pushing changes.
- Follow Rust guidelines.
- Use
cargo fmtto format code. - Run
cargo clippyto check for common mistakes.
We use conventional commits for clarity:
feat:– A new feature.fix:– A bug fix.docs:– Documentation updates.style:– Code style changes (formatting, etc.).refactor:– Code refactoring.test:– Adding/updating tests.chore:– Maintenance tasks.
Example:
git commit -m "feat: add support for AAAA DNS record"- Ensure your code follows style and passes tests.
- Update documentation if needed.
- Link related issues in your PR description.
- Request a review from maintainers.
- Be open to feedback and iterate.
- Be respectful and constructive.
- Encourage newcomers.
- Collaborate with kindness.
WooDns requires Rust 1.89.0 or later. Please ensure your Rust toolchain is up to date:
rustup updateYou can check your version with:
rustc --version💡 Tip: Start with issues labeled good first issue or help wanted.
Thank you for contributing to WooDns! 🚀