Skip to content

Latest commit

 

History

History
107 lines (68 loc) · 3.7 KB

File metadata and controls

107 lines (68 loc) · 3.7 KB

Contributing to QuizBot

We welcome contributions to QuizBot! Whether you're fixing bugs, adding new features, improving documentation, or helping in any other way, your input is greatly appreciated. Follow the guidelines below to ensure that your contributions are smooth and effective.


🛠 How to Contribute

1. Fork the Repository

  • First, fork the QuizBot GitHub repository to your own GitHub account.

  • Clone your fork locally:

    git clone https://github.com/your-username/quizbot.git
    cd quizbot

2. Create a New Branch

  • Always make sure to work on a new branch for your contributions:

    git checkout -b your-branch-name
  • Make sure your branch name is descriptive of the changes you are making. For example:

    • fix-typos-in-readme
    • add-quiz-category-feature
    • refactor-database-module

3. Make Your Changes

  • Ensure your code is clean and well-documented. Use comments where necessary to explain complex logic.
  • Stick to the existing code style and naming conventions.

4. Commit Your Changes

  • Commit your changes with clear and concise commit messages:

    git add .
    git commit -m "Add description of your changes"
  • Try to group related changes into single commits and ensure each commit represents a meaningful step.

5. Push to Your Fork

  • Push your changes to your fork on GitHub:

    git push origin your-branch-name

6. Open a Pull Request

  • Once your changes are pushed, open a pull request to the main branch of the original repository:
    • Go to the original QuizBot repository and click the "New Pull Request" button.
    • Select your branch as the source and main as the destination.
    • Provide a detailed description of the changes you’ve made, referencing any related issues or feature requests.
    • Follow the pull request template, if provided.

💡 Guidelines for Contributions

Code Quality

  • Maintain a consistent style across the codebase. QuizBot adheres to PEP 8 for Python code style.
  • Break code into small, modular, and reusable components.
  • Avoid duplicating code; if a similar piece of logic is used multiple times, refactor it into a separate function or class.
  • Write descriptive commit messages. Each message should explain what was changed and why.

Bug Fixes

  • If you find a bug, feel free to fix it and submit a pull request. When doing so:
    • Ensure your fix doesn't break existing functionality.
    • Include a clear description of the bug and how your fix resolves it.

Feature Requests

  • If you're interested in adding a new feature, open an issue first to discuss your idea. Once approved, follow the process above to implement it.
  • Make sure the feature is aligned with the project’s goals, and keep it as modular as possible.

Documentation

  • Documentation is crucial! If you're introducing new features or changing existing functionality, update or create relevant documentation.
  • Keep the README.md file updated with any new feature additions or changes.
  • If you're improving the docs, feel free to submit corrections or enhancements.

📄 License

By contributing, you agree that your contributions will be licensed under the project's MIT License.


🤝 Need Help?

If you need help with contributing or understanding how something works, feel free to:

  • Open an issue on the GitHub repository.
  • Reach out to the maintainers via the GitHub Issues page.

We appreciate all kinds of contributions, whether it's code, documentation, or feedback. Thank you for helping improve QuizBot!