# Contribute to the ITK Software Guide on GitHub

**URL:** <https://discourse.itk.org/t/contribute-to-the-itk-software-guide-on-github/695>\
**Category:** Community\
**Tags:** software-guide, github\
**Created:** [February 21, 2018, 2:51pm UTC](https://discourse.itk.org/t/contribute-to-the-itk-software-guide-on-github/695 "2018-02-21T14:51:42Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![matt.mccormick](https://discourse.itk.org/user_avatar/discourse.itk.org/matt.mccormick/32/7_2.png) [@matt.mccormick](https://discourse.itk.org/u/matt.mccormick)\
**Post date:** [February 21, 2018, 2:51pm UTC](https://discourse.itk.org/t/contribute-to-the-itk-software-guide-on-github/695/1 "2018-02-21T14:51:43Z")

</div>

A major milestone in our transition to GitHub, migration of the contribution process for the [ITKSoftwareGuide](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide) is now complete! 🐙 😻 🎆

### Documentation

An overview of the contribution process can be found in the [README](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide):

```auto
   $ git clone https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide.git
   $ cd ITKSoftwareGuide
   $ ./Utilities/SetupForDevelopment.sh
   $ git checkout -b my-topic
   # make changes to local file(s)
   $ git add -- changedFileName
   $ git commit
   $ git review-push

```

More details can be found in [CONTRIBUTING.md](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/blob/master/CONTRIBUTING.md). Once `ITK` has transitioned, this will also be augmented by more detailed guidance in ITK’s _CONTRIBUTING.md_ and the ITK Software Guide documentation, but this should be sufficient documentation if you already have basic familiarity with Git.

### Git Hooks

The Git client side hooks have been updated for GitHub. Specifically,

- The Gerrit Change-Id hook is disabled, if present.
- The `SetupForDevelopment.sh` guides the contributor through setting up their GitHub account.
- `upstream` and `origin` Git remotes are configured for development with GitHub forks.
- `git review-push` and `git pr` aliases are configured to expedite the process of creating a pull request and checking it out locally, respectively.

### CI Builds

We now have a [CircleCI continuous integration build](https://circleci.com/gh/InsightSoftwareConsortium/ITKSoftwareGuide) that will build your pull request and catch any build errors.

Once the build is complete, it is pushed to CDash. There is also a [CDash status link available](https://discourse.itk.org/t/github-status-cdash-link-now-available-for-itk-module-repositories/598). Click on the _Details_ link

 ![image](https://discourse.itk.org/uploads/default/original/1X/a744aa61968a5d38173a167fe04915eccf29242b.png)

It will bring us to the CDash build description.

 ![image](https://discourse.itk.org/uploads/default/original/1X/41351efa73f16e888d745030ed02fe55756498c0.png)

Here, we can check the build for configuration errors or build warnings or errors.

Click the yellow package icon, and it provides links to the generated PDFs for inspection.

 ![image](https://discourse.itk.org/uploads/default/original/1X/979dcb97496df828f455c9a57851ba100e15dfc8.png)

### Docker Image

To avoid installation of the Software Guide’s build dependencies and its initial build time, a Docker image is available to quickly get started. More details on its use can be found in the [README](https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide). This image is based on [JupyterLab](https://jupyterlab.readthedocs.io/en/latest/). It contains a browser interface to a console shell, text editor, and PDF previewer, so everything is available in the browser.

 ![image](https://discourse.itk.org/uploads/default/original/1X/5ea46e509ce70a2744059969087a517f41db0860.png)

Instructions are also available in the README to set up a local, native build.

---

<div class="post-metadata">

**Author:** ![jhlegarreta](https://discourse.itk.org/user_avatar/discourse.itk.org/jhlegarreta/32/476_2.png) [@jhlegarreta](https://discourse.itk.org/u/jhlegarreta)\
**Post date:** [February 21, 2018, 4:04pm UTC](https://discourse.itk.org/t/contribute-to-the-itk-software-guide-on-github/695/2 "2018-02-21T16:04:33Z")

</div>

It indeed is.

Thanks @matt.mccormick for pushing this forward !
