Skip to content

Latest commit

 

History

History
88 lines (63 loc) · 3.4 KB

CONTRIBUTING.md

File metadata and controls

88 lines (63 loc) · 3.4 KB

The Atsign FoundationThe Atsign Company

Contributing guidelines

We 💙 Pull Requests for fixing issues or adding features. Thanks for your contribution!

Please read our code of conduct, which is based on Contributor Covenant

For small changes, especially documentation, you can simply use the "Edit" button to update the Markdown file, and start the pull request process. Use the preview tab in GitHub to make sure that it is properly formatted before committing. Please use conventional commits and follow the semantic PR format as documented here. A pull request will cause integration tests to run automatically, so please review the results of the pipeline and correct any mistakes that are reported.

If you plan to contribute often or have a larger change to make, it is best to setup an environment for contribution, which is what the rest of these guidelines describe. The atsign-foundation GitHub organization's conventions and configurations are documented here.

Development Environment Setup

Prerequisites

You'll need to have Docker installed if you'd like to build images locally.

GitHub Repository Clone

To prepare your dedicated GitHub repository:

  1. Fork in GitHub https://github.com/atsign-company/at_c_buildimage

  2. Clone your forked repository (e.g., git clone [email protected]:yourname/at_c_buildimage)

  3. Set your remotes as follows:

    cd REPO
    git remote add upstream [email protected]:atsign-company/at_c_buildimage.git
    git remote set-url upstream --push DISABLED
    

    Running git remote -v should give something similar to:

    origin  [email protected]:yourname/at_c_buildimage.git (fetch)
    origin  [email protected]:yourname/at_c_buildimage.git (push)
    upstream        [email protected]:atsign-company/at_c_buildimage.git (fetch)
    upstream        DISABLED (push)
    

    The use of upstream --push DISABLED is to prevent those with write access to the main repository from accidentally pushing changes directly.

Development Process

  1. Fetch latest changes from main repository:

    git fetch upstream
    
  2. Reset your fork's main branch to exactly match upstream main:

    git checkout master
    git reset --hard upstream/master
    git push --force
    

    IMPORTANT: Do this only once, when you start working on new feature as the commands above will completely overwrite any local changes in main content.

  3. Edit, edit, edit, and commit your changes to Git:

    # edit, edit, edit
    git add *
    git commit -m 'A useful commit message'
    git push
    
  4. Open a new Pull Request to the main repository using your main branch