# Packing projects into a package

> * Create projects.
* Run the CLI `exe` (for Windows) or `dll` (for Linux) file.
* Add the required Orchestrator [API access application scopes](https://docs.uipath.com/cicd-integrations/standalone/2023.10/user-guide/executing-uipath-cli-tasks).

## Prerequisites

* Create projects.
* Run the CLI `exe` (for Windows) or `dll` (for Linux) file.
* Add the required Orchestrator [API access application scopes](https://docs.uipath.com/cicd-integrations/standalone/2023.10/user-guide/executing-uipath-cli-tasks).

To pack a project into a package, take the following steps:

1. Run the `package` task, using `uipcli package`. You can see a list of the available sub-tasks.
2. Specify the required parameters and run the `pack` sub-task.
   See the list of parameters below.

:::note
Project validation is not performed by the Pack or Analyze tasks of UiPath CLI.
:::

**Legend**: (*) - Optional, useful only when you have dependencies from a library in Orchestrator.

| Parameter | Description |
| --- | --- |
| `-o`, or `--output` (**Required**) | The destination Orchestrator folder, where you want to package the projects. |
| `-v`, or `--version` | Set the package version. |
| `--autoVersion` | Auto-generates a package version. |
| `--outputType` | Forces the output to be a specific type. |
| `--splitOutput` | Enables the output split to runtime and design libraries. |
| `--repositoryUrl` | The repository URL where the project is versioned. |
| `--repositoryCommit` | The repository commit where the project was built from. |
| `--repositoryBranch` | The repository branch where the project was built from. |
| `--repositoryType` | VCS system repository type. |
| `--projectUrl` | Automation Hub idea URL. |
| `--releaseNotes` | Add release notes. |
| `--libraryOrchestratorUsername` (*)  (**Required** if you use **Basic Authentication**, through a username and a password) | The username used for authenticating to Orchestrator. You must pair it with the corresponding password.  This is required if your package references libraries from Orchestrator feed |
| `--libraryOrchestratorPassword` (*)  (**Required** if you use **Basic Authentication**, through a username and a password) | The password used for authenticating to Orchestrator. You must pair it with the corresponding username.  This is required if your package references libraries from Orchestrator feed |
| `--libraryOrchestratorAuthToken` (*)  (**Required** if you use [token-based authentication](https://docs.uipath.com/automation-cloud/automation-cloud/latest/api-guide/api-keys)) | The **OAuth2 refresh token** used for authenticating to Orchestrator. You must pair it with the **Account Name** and **Client ID**.  This is required if your package references libraries from Orchestrator feed |
| `--libraryOrchestratorAccountName` (*)  (**Required** if you use [token-based authentication](https://docs.uipath.com/automation-cloud/automation-cloud/latest/api-guide/api-keys)) | The Orchestrator CloudRPA account name. You must pair it with the **OAuth2 refresh token** and **Client ID**.  This is required if your package references libraries from Orchestrator feed |
| `--libraryOrchestratorAccountForApp` (*) | The Orchestrator CloudRPA account name(organization name). You must pair it with the **Application ID**,**Application Secret**, and **Application scope** for external application  This is required if your package references libraries from Orchestrator feed. |
| `--libraryOrchestratorApplicationId` (*)  (**Required** if you use [external application authentication](https://docs.uipath.com/automation-cloud/docs/managing-external-applications)) | The external Application ID. You must pair it with the **Application Account**, **Application Secret**, and **Application scope**. This is required if your package references libraries from Orchestrator feed. |
| `--libraryOrchestratorApplicationSecret` (*)  (**Required** if you use [external application authentication](https://docs.uipath.com/automation-cloud/docs/managing-external-applications)) | The external Application Secret. You must pair it with the **Application Account**, **Application ID**, and **Application scope**.  This is required if your package references libraries from Orchestrator feed. |
| `--libraryOrchestratorApplicationScope` (*)  (**Required** if you use [external application authentication](https://docs.uipath.com/automation-cloud/docs/managing-external-applications)) | The list of application scopes, separated by single spaces. You must pair it with the **Application Account**, **Application ID**, and **Application Secret** for external application.  This is required if your package references libraries from Orchestrator feed. |
| `--libraryOrchestratorFolder` (*) | The name of the target Orchestrator folder.  To input subfolders make sure to input both the parent folder name and the name of the subfolder. For instance, use `AccountingTeam\TeamJohn`. |
| `--libraryOrchestratorUrl` (*) | The URL of the Orchestrator instance. |
| `--libraryOrchestratorTenant` (*) | The tenant of the Orchestrator instance where you want to delete a machine. |
| `--libraryIdentityUrl`(**Required** for **PaaS** or **MSI** deployments) | The URL of your identity server. |
| `-y`, or `--disableTelemetry` | Disable telemetry data. |
| `--traceLevel` | Display the trace of the events. |
| `-l`, or `--language` | The language used in the Orchestrator user interface. |
| `--disableBuiltInNugetFeeds` | Disable built in nuget feeds. |
| `--help` | Displays the parameters and examples for this command. |
| `--version` | Display version information. |
| `Project(s) Path (pos. 0)` (**Required**) | The path to a `project.json` file, or to a folder that contains `project.json` files. |

## Usage

```
package pack <project_path> -o <destination_folder> [-v <version>] [--autoVersion] [--outputType <Process|Library|Tests|Objects>] [--libraryOrchestratorUrl <orchestrator_url> --libraryOrchestratorTenant <orchestrator_tenant>] [--libraryOrchestratorUsername <orchestrator_user> --libraryOrchestratorPassword <orchestrator_pass>] [--libraryOrchestratorAuthToken <auth_token> --libraryOrchestratorAccountName <account_name>] [--libraryOrchestratorFolder <folder>] [-l <language>]
```

## Examples

* `package pack "C:\UiPath\Project\project.json" -o "C:\UiPath\Package"`
* `package pack "C:\UiPath\Project\project.json" -o "C:\UiPath\Package" -v 1.0.6820.22047`
* `package pack "C:\UiPath\Project\project.json" -o "C:\UiPath\Package" --autoVersion`
* `package pack "C:\UiPath\Project" -o "C:\UiPath\Package"`
* `package pack "C:\UiPath\Project\project.json" -o "C:\UiPath\Package" --outputType Tests -l en-US`
