# Enigen Oracle Commerce Cloud CLI

A simple CLI to help with your daily OCC development.

# Installation

```sh
npm install -g enigen-occ-commerce-cli
```

# Getting Started

After installing the CLI you need to start your project using `enigen --start`

```sh
mkdir MyProject
cd MyProject
enigen --start
? Select an environment: DEV
? Admin URL: <Admin URL> (Required)
? Storefront Url: <Storefront Url>(Required)
? AppKey: <KEY>(Required)
? Git Repo:<repo url for project>(Optional)
Your project is ready!


--This will install and create all necessary stuff.
--Folder structure
DesignCodeUtility
src
.env

if you have a Git repo for project, git will initialize in your project and pull the develop branch after grab.

```

Your folder structure should be

After this, you can use everything on this CLI.

**Note:** You only need to do this once, after that if you need to update, change or configure an environment, please use the Environment Manager (`enigen --env <operation>`).

# Options

The following table describes the options you can use with `enigen`.

| Option                  | Description                                                                                      |
| :---------------------- | :----------------------------------------------------------------------------------------------- |
| `-h, --help`            | Provides usage information for the CLI                                                           |
| `-V, --version`         | Provides the CLI's version                                                                       |
| `-s, --start`           | Starts the project setup                                                                         |
| `-l, --local`           | Starts local proxy server                                                                        |
| `-co, --compile <type>` | Compile the local less files , type is site name of your project'                                |
| `-d, --dev`             | Starts Watcher + Browsersync.                                                                    |
| `-c, --create <type>`   | Creates widget or element. <br><br> **Options:** `widget`, `element`.                            |
| `-r, --refresh <path>`  | Refreshes content from the Commerce instance within the specified directory.                     |
| `-p, --putAll <path>`   | Sends everything from the specified directory.                                                   |
| `-e, --env <operation>` | Starts the Environment Manager. <br><br> **Options:** `current`, `config`, `change`.             |
| `-t, --transfer <path>` | Transfers things between current and selected environment.                                       |
| `-x, --sse <operation>` | Starts the Server-side Extension Manager.<br><br> **Options:** `download`, `upload`, `transfer`. |
| `-g, --grab <path>`     | Starts grabbing everything from current environment.                                             |
