Files
DocsGPT/CONTRIBUTING.md
2023-10-12 14:32:44 +05:30

4.4 KiB

Welcome to DocsGPT Contributing Guidelines

Thank you for choosing to contribute to DocsGPT! We are all very grateful!

🎉 Join the Hacktoberfest with DocsGPT and Earn a Free T-shirt! 🎉

We accept different types of contributions

📣 Discussions - Engage in conversations, start new topics, or help answer questions.

🐞 Issues - This is where we keep track of tasks. It could be bugs,fixes or suggestions for new features.

🛠️ Pull requests - Suggest changes to our repository, either by working on existing issues or adding new features.

📚 Wiki - This is where our documentation resides.

🐞 Issues and Pull requests

We value contributions in the form of discussions or suggestions. We recommend taking a look at existing issues and our roadmap.

If you're interested in contributing code, here are some important things to know:

We have a frontend built with React (Vite) and a backend in Python.

If you are looking to contribute to frontend (⚛️React, Vite):

  • The current frontend is being migrated from /application to /frontend with a new design, so please contribute to the new one.
  • Check out this milestone and its issues.
  • The Figma design can be found here.

Please try to follow the guidelines.

If you are looking to contribute to Backend (🐍 Python):

  • Review our issues and contribute to /application or /scripts (please disregard old ingest_rst.py ingest_rst_sphinx.py files; they will be deprecated soon).
  • All new code should be covered with unit tests (pytest). Please find tests under /tests folder.
  • Before submitting your Pull Request, ensure it can be queried after ingesting some test data.

Testing

To run unit tests from the root of the repository, execute:

python -m pytest

Workflow 📈

Here's a step-by-step guide on how to contribute to DocsGPT:

  1. Fork the Repository:

    • Click the "Fork" button at the top-right of this repository to create your fork.
  2. Create and Switch to a New Branch:

    • Create a new branch for your contribution using:
      git checkout -b your-branch-name
      
  3. Make Changes:

    • Make the required changes in your branch.
  4. Add Changes to the Staging Area:

    • Add your changes to the staging area using:
      git add .
      
  5. Commit Your Changes:

    • Commit your changes with a descriptive commit message using:
      git commit -m "Your descriptive commit message"
      
  6. Push Your Changes to the Remote Repository:

    • Push your branch with changes to your fork on GitHub using:
      git push origin your-branch-name
      
  7. Submit a Pull Request (PR):

    • Create a Pull Request from your branch to the main repository. Make sure to include a detailed description of your changes and reference any related issues.
  8. Collaborate:

    • Be responsive to comments and feedback on your PR.
    • Make necessary updates as suggested.
    • Once your PR is approved, it will be merged into the main repository.
  9. Testing:

    • Before submitting a Pull Request, ensure your code passes all unit tests.
    • To run unit tests from the root of the repository, execute:
      python -m pytest
      
  10. Questions and Collaboration:

    • Feel free to join our Discord. We're very friendly and welcoming to new contributors, so don't hesitate to reach out.

Thank you for considering contributing to DocsGPT! 🙏

Questions/collaboration

Feel free to join our Discord. We're very friendly and welcoming to new contributors, so don't hesitate to reach out.

Thank you so much for considering contributing to DocsGPT!🙏