-
-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Damir Mukimov edited this page May 31, 2026
·
7 revisions
Thank you for your interest in contributing to ZoneKit!
# Fork and clone
git clone https://github.com/YOUR_USERNAME/zonekit.git
cd zonekit
# Install dependencies
go mod download
# Setup development tools
make dev-setup
# Verify setup
make test
make lint-
Create a branch:
git checkout -b feature/your-feature-name
-
Make changes:
- Write code
- Add tests
- Update documentation
-
Test:
make test make lint -
Commit using Conventional Commits:
git commit -m "feat: add your feature" -
Push and create PR:
git push origin feature/your-feature-name
- Follow Effective Go guidelines
- Use
gofmtfor formatting - Run
golangci-lintbefore committing
- Write tests for new features
- Maintain or improve test coverage
- Use
testify/suitefor test organization
| Type | Description | Example |
|---|---|---|
feat: |
New feature | feat: add SRV record support |
fix: |
Bug fix | fix: handle API timeouts |
docs: |
Documentation | docs: update installation guide |
style: |
Code style | style: format with gofmt |
refactor: |
Refactoring | refactor: simplify config loading |
test: |
Tests | test: add DNS service tests |
chore: |
Maintenance | chore: update dependencies |
Features:
- New DNS record types
- Additional plugins
- Bulk operation improvements
- Provider integrations
Documentation:
- Wiki improvements
- Code examples
- Tutorials
Testing:
- Additional test coverage
- Integration tests
- Performance tests
Bug Fixes:
- Check Issues
- Look for "good first issue" labels
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass
- Run linter and fix issues
- Create PR with clear description
- Code follows project style
- Tests added/updated
- Documentation updated
- Linter passes
- All tests pass
- No breaking changes (or documented)
See:
- Open an issue for discussion
- Check existing issues and PRs
- Review the codebase
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing!