# Guidelines

## 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ignitus-docs.gitbook.io/ignitus/documentation/contributing-guidelines.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
