[![CI Checks](https://github.com/Salable/gds/actions/workflows/ci.yml/badge.svg)](https://github.com/Salable/gds/actions/workflows/ci.yml)&nbsp;
[![License Checker](https://github.com/Salable/gds/actions/workflows/license-checker.yml/badge.svg)](https://github.com/Salable/gds/actions/workflows/license-checker.yml)&nbsp;
[![Release](https://github.com/Salable/gds/actions/workflows/release.yml/badge.svg)](https://github.com/Salable/gds/actions/workflows/release.yml)&nbsp;
<img src="https://img.shields.io/npm/v/@salable/gds">

# Salable-GDS

This monorepository contains all of the core Salable components, known as the Salable Global Design System (Abbreviated to `Salable GDS` or just `GDS`).

## Getting Started

In this section is everything you need to do and know about to get the Salable GDS up and running on your local machine.

### Prerequisites

Before starting the setup of the Salable GDS on your local machine, there are a few housekeeping tasks that need to be sorted first.

> **NOTE**: This README has been written from the perspective of a macOS user, if you are configuring this on a different OS such as Windows or Linux then you will likely need to find/use equivalents for things like Brew and folder directories like root (`~`) (windows).

#### Node/NPM

As with most projects nowadays we need Node and NPM installed on our machine for the app to run. I won't go into the details of installing Node.js here but instead will refer you to using `NVM` to [install Node](https://github.com/nvm-sh/nvm)

At the time of writing we don't have an agreed-upon version of Node to run but as a rule of thumb, for now, install Node LTS or higher.

> **TODO:** Update the above statement once we have an agreed version of Node and everyone is using it. Then bump accordingly as we update.

### Repo Setup

To get started with configuring the repo locally, clone it from [GitHub](https://github.com/Salable/gds) to a location of your choosing on your machine. Once the clone is complete, open the directory in your favourite IDE.

#### Installing Dependencies

Now we are ready to install packages and get the app up and running. 🙌

First of all, we need to run `npm install` in the root directory to install all of the dependencies for all of the depdencdencies

The Salable GDS should now be installed and ready to go. 🎉

## Running Salable GDS Locally

Everything you need to know about running the Salable GDS locally from your first time to your n<sup>th</sup> time.

### Initial Setup

To run the Salable GDS locally, you will need one terminal window open.

In the terminal window, run the command `npm run storybook` in the `salable-gds` folder to start the development server. At this point, a new browser window should open to `http://localhost:6006/`.

You will now have access to the Salable GDS.

## Conventions

> **NOTE**: commits to this repository must follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) git commit specification, this is handled automatically by the `npm run commit` script

- The repository implements `commitizen` for conventional commits
- The `npm run commit` command must be run in order to create a commit first
