Skip to content

Latest commit

 

History

History
158 lines (113 loc) · 4.71 KB

File metadata and controls

158 lines (113 loc) · 4.71 KB

Contributing to DNSMadeEasy Open Source Projects

Thank you for your interest in contributing to DNSMadeEasy open source projects! We welcome contributions from the community and appreciate your time and effort.

Getting Started

Prerequisites

Before contributing, please ensure you have:

  1. Read and agreed to our Code of Conduct
  2. Familiarized yourself with the project you want to contribute to
  3. Set up your development environment according to the project's requirements

Finding a Project

Browse our repositories to find a project that interests you. Look for issues labeled with:

  • good first issue - Great for newcomers
  • help wanted - Issues that need community help
  • bug - Issues that need fixing
  • enhancement - New features or improvements

How to Contribute

1. Fork and Clone

  1. Fork the repository you want to contribute to
  2. Clone your fork locally:
    git clone https://github.com/YOUR_USERNAME/REPOSITORY_NAME.git
    cd REPOSITORY_NAME
  3. Add the original repository as an upstream remote:
    git remote add upstream https://github.com/DNSMadeEasy/REPOSITORY_NAME.git

2. Create a Branch

Create a new branch for your changes:

git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix

3. Make Your Changes

  • Follow the project's coding standards and style guidelines
  • Write clear, descriptive commit messages
  • Include tests for new functionality
  • Update documentation as needed
  • Keep your changes focused and atomic

4. Test Your Changes

Before submitting, make sure to:

  • Run the project's test suite
  • Ensure all tests pass
  • Test your changes manually if applicable
  • Check that your code follows the project's linting rules

5. Commit Your Changes

Write clear, descriptive commit messages:

git commit -m "Add feature: brief description of changes

- Detailed explanation of what was changed
- Why the change was made
- Any breaking changes or considerations"

6. Push and Create a Pull Request

  1. Push your branch to your fork:

    git push origin feature/your-feature-name
  2. Create a pull request from your fork to the original repository

  3. Fill out the pull request template completely

  4. Link any related issues in your pull request description

Pull Request Guidelines

Before Submitting

  • I have read and followed the Code of Conduct
  • My code follows the project's style guidelines
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the documentation as necessary
  • My changes generate no new warnings
  • I have tested my changes thoroughly

Pull Request Process

  1. Review: Your pull request will be reviewed by maintainers
  2. Feedback: You may receive feedback requesting changes
  3. Updates: Make any requested changes and push updates to your branch
  4. Approval: Once approved, your pull request will be merged

Code Style and Standards

General Guidelines

  • Write clear, readable code
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Follow the existing code style in the project
  • Keep functions small and focused

Language-Specific Guidelines

Each project may have specific guidelines. Check the project's README or CONTRIBUTING file for:

  • Linting rules and configuration
  • Testing frameworks and conventions
  • Documentation standards
  • Build and deployment processes

Reporting Issues

When reporting issues, please include:

  1. Clear description of the problem
  2. Steps to reproduce the issue
  3. Expected behavior vs actual behavior
  4. Environment details (OS, version, etc.)
  5. Screenshots or logs if applicable

Getting Help

If you need help with your contribution:

  1. Check the project's documentation
  2. Look at existing issues and pull requests
  3. Ask questions in the project's discussions or issues
  4. Contact the project maintainers

Recognition

Contributors will be recognized in:

  • The project's README or CONTRIBUTORS file
  • Release notes for significant contributions
  • The project's community acknowledgments

License

By contributing to DNSMadeEasy open source projects, you agree that your contributions will be licensed under the same license as the project you're contributing to.

Questions?

If you have questions about contributing, please:

Thank you for contributing to DNSMadeEasy open source projects!