Contributing to dnsweaver¶
Thank you for your interest in contributing to dnsweaver! This section provides everything you need to get started.
Ways to Contribute¶
-
Report Bugs
File issues with clear reproduction steps on GitHub.
-
Suggest Features
Open discussions for new ideas and enhancements.
-
Submit Code
Fix bugs, add features, improve performance.
-
Add Providers
Integrate new DNS services.
Quick Links¶
| Guide | Description |
|---|---|
| Development Setup | Set up your local environment |
| Adding a Provider | Implement a new DNS provider |
| Adding a Source | Implement a new hostname source |
Getting Started¶
- Fork the repository on GitHub
- Clone your fork locally
- Create a branch for your changes
git clone https://github.com/your-username/dnsweaver.git
cd dnsweaver
git checkout -b feature/your-feature-name
Pull Request Process¶
- Create a focused PR — One feature or fix per PR
- Write descriptive commits — Follow conventional commit format
- Update documentation — If your change affects user-facing behavior
- Add tests — For new functionality
- Ensure CI passes — All checks must be green
Commit Message Format¶
Types: feat, fix, docs, test, refactor, chore
Examples:
feat(provider): add AdGuard Home provider support
fix(docker): handle container restart events correctly
docs: update Technitium configuration examples
Reporting Issues¶
When filing an issue, please include:
- Bug reports: Logs (redacted), configuration, steps to reproduce
- Feature requests: Use case description and proposed solution
- Questions: Check the FAQ first
Code of Conduct¶
Be respectful, inclusive, and constructive. We're all here to build something useful together.
License¶
By contributing, you agree that your contributions will be licensed under the project's MIT License.