# modeler-sfdx-cli-plugin

This plugin is an enhancement of the salesforce cli and provide you features to customize the Consumer Goods Cloud Mobility application. This version will be the replacement for the Consumer Goods Mobile Modeler which was hosted on a Windows Server machine.

## Getting Started

```sh
# Install the plugin on your local system
$ sf plugins install @ind-rcg/modeler-sfdx-cli-plugin
# --- OR ---
$ sfdx plugins install @ind-rcg/modeler-sfdx-cli-plugin

# Verify that installation was successful
$ sf plugins
# --- OR ---
$ sfdx plugins
# Output: @ind-rcg/modeler-sfdx-cli-plugin xxx.xxxx.x (x being the version number which was installed)
...
```

## The plugin provides many commands you can use for your customization and simulation

In this section we will provide a quick overview about the existing commands

<!-- commands -->

-   [`sf mdl:add`](#sf-mdladd)
-   [`sf mdl:build`](#sf-mdlbuild)
-   [`sf mdl:clean`](#sf-mdlclean)
-   [`sf mdl:cleanup`](#sf-mdlcleanup)
-   [`sf mdl:package`](#sf-mdlpackage)
-   [`sf mdl:simulate`](#sf-mdlsimulate)
-   [`sf mdl:validate`](#sf-mdlvalidate)
-   [`sf mdl:ws:add`](#sf-mdlwsadd)
-   [`sf mdl:ws:build`](#sf-mdlwsbuild)
-   [`sf mdl:ws:clean`](#sf-mdlwsclean)
-   [`sf mdl:ws:cleanup`](#sf-mdlwscleanup)
-   [`sf mdl:ws:package`](#sf-mdlwspackage)
-   [`sf mdl:ws:server:start`](#sf-mdlwsserverstart)
-   [`sf mdl:ws:simulate`](#sf-mdlwssimulate)
-   [`sf mdl:ws:validate`](#sf-mdlwsvalidate)
-   [`sf modeler:workspace:add`](#sf-modelerworkspaceadd)
-   [`sf modeler:workspace:build`](#sf-modelerworkspacebuild)
-   [`sf modeler:workspace:cleanup`](#sf-modelerworkspacecleanup)
-   [`sf modeler:workspace:create`](#sf-modelerworkspacecreate)
-   [`sf modeler:workspace:package`](#sf-modelerworkspacepackage)
-   [`sf modeler:workspace:refreshLocale`](#sf-modelerworkspacerefreshlocale)
-   [`sf modeler:workspace:server:start`](#sf-modelerworkspaceserverstart)
-   [`sf modeler:workspace:upgrade`](#sf-modelerworkspaceupgrade)
-   [`sf modeler:workspace:utils:base64encode`](#sf-modelerworkspaceutilsbase64encode)
-   [`sf modeler:workspace:utils:importContracts`](#sf-modelerworkspaceutilsimportcontracts)
-   [`sf modeler:workspace:utils:migrateContracts`](#sf-modelerworkspaceutilsmigratecontracts)
-   [`sf modeler:workspace:validate`](#sf-modelerworkspacevalidate)

## `sf mdl:add`

Adds a new resource to a Modeler workspace.

```
USAGE
  $ sf mdl:add [--json] [--flags-dir <value>] [-p <value>] [-t <value>] [-m <value>] [-n <value>]

FLAGS
  -m, --module=<value>  Name of the module to which the resource should be added.
  -n, --name=<value>    Name of the resource to add.
  -p, --path=<value>    path to the Modeler workspace
  -t, --type=<value>    Type of the resource to add.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:add
  $ sf mdl:ws:add

EXAMPLES
  $ sf mdl:add

  $ sf mdl:add --type businessobject --module Visit --name VisitKpi

  $ sf mdl:add --path ./workspacePath --type businessobject --module Visit --name VisitKpi
```

## `sf mdl:build`

Build a Modeler workspace.

```
USAGE
  $ sf mdl:build [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:build
  $ sf mdl:build

EXAMPLES
  $ sf mdl:build

  $ sf mdl:build --path ./testWorkspace
```

## `sf mdl:clean`

Clean up an existing Modeler workspace.

```
USAGE
  $ sf mdl:clean [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:cleanup
  $ sf mdl:ws:clean
  $ sf mdl:cleanup
  $ sf mdl:clean

EXAMPLES
  $ sf mdl:clean

  $ sf mdl:clean --path ./workspacePath
```

## `sf mdl:cleanup`

Clean up an existing Modeler workspace.

```
USAGE
  $ sf mdl:cleanup [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:cleanup
  $ sf mdl:ws:clean
  $ sf mdl:cleanup
  $ sf mdl:clean

EXAMPLES
  $ sf mdl:cleanup

  $ sf mdl:cleanup --path ./workspacePath
```

## `sf mdl:package`

Create a deployment package of a Modeler workspace.

```
USAGE
  $ sf mdl:package [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:package
  $ sf mdl:package

EXAMPLES
  $ sf mdl:package

  $ sf mdl:package --path ./workspacePath
```

## `sf mdl:simulate`

Start the server

```
USAGE
  $ sf mdl:simulate [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:server:start
  $ sf mdl:ws:simulate
  $ sf mdl:simulate

EXAMPLES
  $ sf mdl:simulate

  $ sf mdl:simulate --path ./testWorkspace
```

## `sf mdl:validate`

Validate the contracts in a modeler workspace

```
USAGE
  $ sf mdl:validate [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:validate
  $ sf mdl:validate

EXAMPLES
  $ sf mdl:validate

  $ sf mdl:validate --path ./testWorkspace
```

## `sf mdl:ws:add`

Adds a new resource to a Modeler workspace.

```
USAGE
  $ sf mdl:ws:add [--json] [--flags-dir <value>] [-p <value>] [-t <value>] [-m <value>] [-n <value>]

FLAGS
  -m, --module=<value>  Name of the module to which the resource should be added.
  -n, --name=<value>    Name of the resource to add.
  -p, --path=<value>    path to the Modeler workspace
  -t, --type=<value>    Type of the resource to add.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:add
  $ sf mdl:ws:add

EXAMPLES
  $ sf mdl:ws:add

  $ sf mdl:ws:add --type businessobject --module Visit --name VisitKpi

  $ sf mdl:ws:add --path ./workspacePath --type businessobject --module Visit --name VisitKpi
```

## `sf mdl:ws:build`

Build a Modeler workspace.

```
USAGE
  $ sf mdl:ws:build [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:build
  $ sf mdl:build

EXAMPLES
  $ sf mdl:ws:build

  $ sf mdl:ws:build --path ./testWorkspace
```

## `sf mdl:ws:clean`

Clean up an existing Modeler workspace.

```
USAGE
  $ sf mdl:ws:clean [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:cleanup
  $ sf mdl:ws:clean
  $ sf mdl:cleanup
  $ sf mdl:clean

EXAMPLES
  $ sf mdl:ws:clean

  $ sf mdl:ws:clean --path ./workspacePath
```

## `sf mdl:ws:cleanup`

Clean up an existing Modeler workspace.

```
USAGE
  $ sf mdl:ws:cleanup [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:cleanup
  $ sf mdl:ws:clean
  $ sf mdl:cleanup
  $ sf mdl:clean

EXAMPLES
  $ sf mdl:ws:cleanup

  $ sf mdl:ws:cleanup --path ./workspacePath
```

## `sf mdl:ws:package`

Create a deployment package of a Modeler workspace.

```
USAGE
  $ sf mdl:ws:package [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:package
  $ sf mdl:package

EXAMPLES
  $ sf mdl:ws:package

  $ sf mdl:ws:package --path ./workspacePath
```

## `sf mdl:ws:server:start`

Start the server

```
USAGE
  $ sf mdl:ws:server:start [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:server:start
  $ sf mdl:ws:simulate
  $ sf mdl:simulate

EXAMPLES
  $ sf mdl:ws:server:start

  $ sf mdl:ws:server:start --path ./testWorkspace
```

## `sf mdl:ws:simulate`

Start the server

```
USAGE
  $ sf mdl:ws:simulate [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:server:start
  $ sf mdl:ws:simulate
  $ sf mdl:simulate

EXAMPLES
  $ sf mdl:ws:simulate

  $ sf mdl:ws:simulate --path ./testWorkspace
```

## `sf mdl:ws:validate`

Validate the contracts in a modeler workspace

```
USAGE
  $ sf mdl:ws:validate [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:validate
  $ sf mdl:validate

EXAMPLES
  $ sf mdl:ws:validate

  $ sf mdl:ws:validate --path ./testWorkspace
```

## `sf modeler:workspace:add`

Adds a new resource to a Modeler workspace.

```
USAGE
  $ sf modeler:workspace:add [--json] [--flags-dir <value>] [-p <value>] [-t <value>] [-m <value>] [-n <value>]

FLAGS
  -m, --module=<value>  Name of the module to which the resource should be added.
  -n, --name=<value>    Name of the resource to add.
  -p, --path=<value>    path to the Modeler workspace
  -t, --type=<value>    Type of the resource to add.

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:add
  $ sf mdl:ws:add

EXAMPLES
  $ sf modeler:workspace:add

  $ sf modeler:workspace:add --type businessobject --module Visit --name VisitKpi

  $ sf modeler:workspace:add --path ./workspacePath --type businessobject --module Visit --name VisitKpi
```

## `sf modeler:workspace:build`

Build a Modeler workspace.

```
USAGE
  $ sf modeler:workspace:build [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:build
  $ sf mdl:build

EXAMPLES
  $ sf modeler:workspace:build

  $ sf modeler:workspace:build --path ./testWorkspace
```

## `sf modeler:workspace:cleanup`

Clean up an existing Modeler workspace.

```
USAGE
  $ sf modeler:workspace:cleanup [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:cleanup
  $ sf mdl:ws:clean
  $ sf mdl:cleanup
  $ sf mdl:clean

EXAMPLES
  $ sf modeler:workspace:cleanup

  $ sf modeler:workspace:cleanup --path ./workspacePath
```

## `sf modeler:workspace:create`

Create a Modeler workspace.

```
USAGE
  $ sf modeler:workspace:create [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

EXAMPLES
  $ sf modeler:workspace:create

  $ sf modeler:workspace:create --path ./workspacePath
```

## `sf modeler:workspace:package`

Create a deployment package of a Modeler workspace.

```
USAGE
  $ sf modeler:workspace:package [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:package
  $ sf mdl:package

EXAMPLES
  $ sf modeler:workspace:package

  $ sf modeler:workspace:package --path ./workspacePath
```

## `sf modeler:workspace:refreshLocale`

Refresh locale translation in workspace.

```
USAGE
  $ sf modeler:workspace:refreshLocale [--json] [--flags-dir <value>] [-p <value>] [-c <value>]

FLAGS
  -c, --contract=<value>  path to the Modeler workspace
  -p, --path=<value>      path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.
```

## `sf modeler:workspace:server:start`

Start the server

```
USAGE
  $ sf modeler:workspace:server:start [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:server:start
  $ sf mdl:ws:simulate
  $ sf mdl:simulate

EXAMPLES
  $ sf modeler:workspace:server:start

  $ sf modeler:workspace:server:start --path ./testWorkspace
```

## `sf modeler:workspace:upgrade`

Upgrades a Modeler workspace.

```
USAGE
  $ sf modeler:workspace:upgrade [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

EXAMPLES
  $ sf modeler:workspace:upgrade

  $ sf modeler:workspace:upgrade --path ./workspacePath
```

## `sf modeler:workspace:utils:base64encode`

Returns a Base64-encoded string from a given input file.

```
USAGE
  $ sf modeler:workspace:utils:base64encode -i <value> [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -i, --input=<value>  (required) path to the input file for Base64 encoding
  -p, --path=<value>   path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

EXAMPLES
  $ sf modeler:workspace:utils:base64encode --input ./image.svg

  $ sf modeler:workspace:utils:base64encode --input ./c3js.zip
```

## `sf modeler:workspace:utils:importContracts`

Imports design contracts to the specified workspace.

```
USAGE
  $ sf modeler:workspace:utils:importContracts -i <value> [--json] [--flags-dir <value>] [-p <value>] [-c]

FLAGS
  -c, --core           Use the flag to import only the core contracts (.core.xml) from a custom Modeler Content Package
                       (MCP) zip. Custom
                       contracts are skipped during import. If this flag is not set, only the custom contracts (*.xml)
                       are imported from the
                       custom MCP.zip.
  -i, --input=<value>  (required) Path to the Modeler Content Package (MCP) zip.
  -p, --path=<value>   path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.
```

## `sf modeler:workspace:utils:migrateContracts`

Migrate existing contracts in your Modeler workspace to support the latest version of Modeler.

```
USAGE
  $ sf modeler:workspace:utils:migrateContracts [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.
```

## `sf modeler:workspace:validate`

Validate the contracts in a modeler workspace

```
USAGE
  $ sf modeler:workspace:validate [--json] [--flags-dir <value>] [-p <value>]

FLAGS
  -p, --path=<value>  path to the Modeler workspace

GLOBAL FLAGS
  --flags-dir=<value>  Import flag values from a directory.
  --json               Format output as json.

ALIASES
  $ sf mdl:ws:validate
  $ sf mdl:validate

EXAMPLES
  $ sf modeler:workspace:validate

  $ sf modeler:workspace:validate --path ./testWorkspace
```

<!-- commandsstop -->
