GitHub Guide

Learn how to navigate and contribute to the Generate repository on GitHub.

Contributing to Generate

We welcome contributions from the community to help improve Generate and its functionality. Whether you're fixing bugs, adding new features, or improving documentation, your contributions are essential to the growth and maintenance of the project. Below is a detailed guide to help you understand how to contribute and collaborate effectively.

General Guidelines for Contributions

Before starting your contribution, we recommend engaging with the community. The CEDS Community of Practice website is a great place to ask questions, suggest new features, or discuss potential enhancements. Engaging with others helps ensure that your contribution aligns with the goals of the project and meets the needs of other users.


Submitting Code Changes

Contributing code to Generate follows a straightforward process. Here's how you can submit your changes:

  1. Fork the Repository

    • Start by forking the repository to your own GitHub account. This creates a copy of the project where you can freely make changes.

    • To fork the repository, go to the project’s GitHub page and click the “Fork” button in the upper right corner. This will create a copy of the repository under your GitHub username.

  2. Clone Your Fork

    • Once you've forked the repository, clone your copy to your local machine to begin working on it.

  3. Create a Branch

    • Before making any changes, create a new branch for your work. This helps keep your contributions organized and ensures you can submit a clean pull request later.

  4. Make Your Changes

    • Make the necessary code or documentation changes within your branch. Be sure to follow the project's coding standards and guidelines. If you're unsure, refer to existing code for examples.

  5. Test Your Changes

    • Run the existing test suite to make sure your changes don't break anything. If you're adding new functionality, consider writing new tests to cover it.

  6. Commit Your Changes

    • Commit your changes with a clear and concise message explaining what you’ve done. If your commit relates to an issue, include the issue number in your commit message.

  7. Push Your Branch

    • Push your branch to your forked repository.

  8. Create a Pull Request (PR)

    • Go to the original repository on GitHub and click the “New Pull Request” button. Select your branch from the dropdown list and provide a description of your changes.

    • Ensure your PR description includes:

      • A brief summary of the changes

      • The issue(s) your changes address, if applicable

      • Any relevant details or use cases to help the reviewer understand your changes

  9. Link to a Use Case Ticket

    • In addition to submitting a pull request, we require the creation of a use case ticket that outlines the reasoning and context behind your contribution.

    • Your use case ticket should include:

      • A description of the problem or enhancement your changes address

      • The parameters and details of your proposed solution

      • Any relevant test cases or examples

    • Use case tickets are valuable for documenting the purpose of changes and ensuring alignment with the project's goals.

  10. Code Review and Approval

    • Once your pull request is submitted, it will be reviewed by project maintainers. They may request changes or provide feedback before your contribution is merged. Please be patient and responsive to any questions or updates during the review process.


Submitting Issues

If you’ve found a bug, or if you have a feature request, you can submit an issue. Before submitting an issue, please review the existing issues to see if someone has already reported it.

  1. Go to the Issues Tab

    • Navigate to the “Issues” tab of the repository and click on “New Issue.”

  2. Provide a Detailed Description

    • When submitting an issue, please be as detailed as possible. Provide steps to reproduce the bug, relevant logs, and any other information that might help in diagnosing the problem.

  3. Tagging and Labels

    • Assign appropriate labels, such as bug, enhancement, or question to help maintainers quickly categorize and prioritize your issue.

    • If your issue is related to a specific part of the project, mention that in the description.

  4. Follow Up

    • Engage in the issue’s discussion, provide further clarifications if needed, and be available to test any potential fixes or updates.


Documentation Contributions

In addition to code, you can contribute to the project’s documentation. Well-written documentation is essential for helping new users and contributors understand the project and its functionality.

  1. Edit or Create Documentation Files

    • Documentation is stored in the docs/ folder of the repository. You can edit existing pages or add new ones as needed.

  2. Follow Documentation Style

    • Ensure that your contributions maintain the existing tone and structure of the documentation. Clarity and conciseness are key.

  3. Submit Documentation Changes

    • Once your edits are complete, follow the same process outlined for submitting code changes by creating a branch, committing your changes, and submitting a pull request.

Last updated