# Step1: Clone Repo

Make a [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) of the [Repo](https://github.com/js-kingdata/indicators_factory). Including cloning locally and adding an upstream.

Review Github’s [instructions](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) on how to make a pull request from a fork.

After that, you will get the following directory structure：

![](https://1423041546-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRdsuMamDl5gKestkuSr%2Fuploads%2F6iMrqRXxq2BJjLyY0AVc%2Fimage.png?alt=media\&token=5df53018-f6c6-4bc8-b2cd-51f3e5717421)    &#x20;

### crawlers/indicators/spiders

One indicator corresponds to one file, and the original files of all indicators are placed in it.

### crawlers/utils

Many public methods that crawlers need to use are placed here. Such as data formatting, Redis tools, etc.

## Create new indicator

We need create a new folder in `crawlers/indicators/spiders`

For Example: `mainstream_coin_long_short_ratio.`

This folder needs to contain thress basic files:

* Definition.md - This file contains background information about the indicator.
* indicator\_name.py - This file contains indicator logic code.
* \_\_init\_\_.py - This file is to config your inidicator spider.
