> For the complete documentation index, see [llms.txt](https://ignitus-docs.gitbook.io/ignitus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ignitus-docs.gitbook.io/ignitus/documentation/contributing-guidelines.md).

# Guidelines

Before sending out your pull requests, make sure you followed this list.

## Contributing to Ignitus. [<img src="https://emojis.slackmojis.com/emojis/images/1542340471/4979/thinking.gif?1542340471" alt="thinking hd emojis" data-size="line">](https://slackmojis.com/emojis/4979-thinking/download)

We especially welcome contributions from people from groups underrepresented in free and open source software! 🏳️‍🌈.Our community aspires to be a respectful place, before proceeding please read and abide by our [Code of Conduct.](https://github.com/Ignitus/Ignitus-client/blob/master/.github/CODE_OF_CONDUCT/CODE_OF_CONDUCT.md)&#x20;

### How to create a pull request ? [<img src="https://emojis.slackmojis.com/emojis/images/1588315024/8823/hyperkitty.gif?1588315024" alt="hyperkitty random" data-size="line">](https://slackmojis.com/emojis/8823-hyperkitty/download)

Steps to follow before opening a pull request.

* Please follow the [template](https://github.com/Ignitus/Ignitus-client/blob/master/.github/PULL_REQUEST_TEMPLATE/PULL_REQUEST_TEMPLATE.md) to create a pull request.
* Make sure your PR's description contains GitHub's special keyword references that automatically close the related issue when the PR is merged. (Check [this](https://github.com/blog/1506-closing-issues-via-pull-requests) for more info)
* Create a new branch for the ticket you are willing to work on, rather than working directly on `master`.
* Rebase your work onto the latest version from `master` and resolve any merge conflicts.
* Check that only the relevant files are being changed, there should be no unintended changes to the schema or dependency files. 📄
* If you have added any external libraries through a package manager, ensure that you have updated the proper dependency list (`package.json`) and corresponding lock file.

Steps to follow after opening a pull request.

* Check the `travis-ci` continuous integration build once it completes. This usually takes about 10 minutes ⏱, and if any tests fail you can find details in the build log.
* If somehow build fails / not passing then:
  * Try to fix whatever caused it to fail if you can. [ ](https://slackmojis.com/emojis/4246-blob-sunglasses/download)<img src="https://emojis.slackmojis.com/emojis/images/1531849430/4246/blob-sunglasses.gif?1531849430" alt="blob sunglasses hangouts blob" data-size="line">
  * Ask for help if you cannot fix it. If a pull request build is failing but you have not asked for help, we will assume that you have seen the errors and are still working on them.&#x20;
* If you don't get reviewer feedback in couple of days ⏱, or you're waiting for followup, ping someone.

### **Do, we have to follow any code conventions?**

Yes, you do please refer to [Guidelines & Conventions](https://ignitus.gitbook.io/ignitus/documentation/coding-guidelines) 📜.

### Do, we have to write unit tests for every new feature we add?&#x20;

Ideally, pull requests should include new tests for any new features, as well, but it is an optional requirement.

### Do, we have our own design system?

We do, to keep our designs consistent, we have created UI kit that contain many of our commonly used styles. <http://www.ignitus.org/interface>, please use `buttons`, `typography`, `colors`, `navigation` `components` etc. defined in the design-kit. if you are building a whole new section, try to divide that into atoms, molecules, etc and add them in the design kit and use it from there.

{% hint style="info" %}
We are powered by [Netlify](https://app.netlify.com/) [<img src="https://emojis.slackmojis.com/emojis/images/1503640659/2833/netlify.png?1503640659" alt="netlify random" data-size="line">](https://slackmojis.com/emojis/2833-netlify/download)to generate previews for pull requests.
{% endhint %}
