# Project Manifest

### Manifest

The `project` command is based on a `manifest.json` file. This definition document lets you define the contents of your WorkflowGen project and set your processes, sub-processes, custom applications, global lists, and custom assets (JavaScript, CSS, `.cs` files, etc.).

```json
{
  "version": "1.0",
  "tag": "1.1.0",
	"processes":[
    {
      "name":"PARENT_PROCESS2",
      "version":1,
      "folder":"DEFAULT"
    },
    {
      "name":"PARENT_PROCESS1",
      "version":1,
      "folder":"DEFAULT"
    }
  ],
  "subProcesses":[
    {
      "name":"SUBPROCESS",
      "version":1,
      "folder":"DEFAULT"
    }
  ],
  "globalLists": [
    "GLOBAL_LIST_DATA"
  ],
  "customApplications": [
    "MY_CUSTOM_APP"
  ],
  "webformAssets": [ 
    "js/myProcess/test.js",
    "js/global.js",
    "css/test.css",
    "appCode/Tools.cs",
    "img/logo.png"
  ]
}
```

| Parameter            | Description                                                                                                                     |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `version`            | Represents the manifest version; should always be `1.0`                                                                         |
| `tag`                | Represents your project version                                                                                                 |
| `processes`          | You can set zero or more processes in this array; for each item you should specify the `name` and the `version` of your process |
| `subProcesses`       | You can set zero or more processes in this array; for each item you should specify the `name` and the `version` of your process |
| `globalLists`        | You can set zero or more global lists in this array; you only need to specify the global list name                              |
| `customApplications` | You can set zero or more custom applications in this array; you only need to specify the custom application name                |
| `webformAssets`      | You can set zero or more assets in this array; for each asset, set the relative path to your asset based on your webform path   |

{% hint style="info" %}
During an import, the CLI will proceed in the following order:

* Custom applications
* Global lists
* Sub-processes
* Processes
* Webform assets

All items will be imported into the array in this order. Make sure that the link between processes is correct.
{% endhint %}

{% hint style="info" %}
You can use the [`project init`](https://docs.workflowgen.com/cli/1.0.0/list-of-commands#init) command to generate your manifest interactively.
{% endhint %}
