# Linways UI Project

### Get Started

* Clone this repository by `git clone git@gitlab.com:linways/ui-project.git`
* Open your terminal and install `npm run bootstrap`
* Create your development branch and complete your task
* To publish the code to npm registry use `npm run publish`

Note: 
> If you want to test the publishing features locally, you should set up a local private registry
>in your system. [Verdaccio](https://verdaccio.org/) is a lightweight open source private npm proxy register.   

#### Verdaccio Installation and package publishing

* Run `npm install --global verdaccio`
* Run `verdaccio` then check this url `http://localhost:4873/`
* Run npm set registry http://localhost:4873/
* The Run `npm adduser --registry http://localhost:4873` command to add your local registry path to the npm  
* To reset your npm registry `npm config set registry https://registry.npmjs.org/`

Here we using conventional commits, it provides an easy set of rules for creating an explicit commit history; which make it easier 
 to write automated tools on top of. For more details [Click Here](https://www.conventionalcommits.org/en/v1.0.0/)
 
The commit message should be structured as follows:
 
```
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]

```

To prevent bad `git commit`, `git push` we used Husky tool. [Refer the documentation](https://github.com/typicode/husky)

Another tool we used to manage this multi-packages project is `Lerna`. [Refer the documentation](https://github.com/lerna/lerna)